Codage du formulaire URI (URL) pour les actions sur les données
Certaines API, en particulier les API de connexion, ont besoin d'un encodage de formulaire d'URL pour les requêtes HTTP. Pour configurer une action de données Genesys Cloud pour l'encodage URI :
-
Create a
Content-Type
request header with the valuex-www-form-urlencoded
. -
Set the Request Body Template in the UI, or
requestTemplate
in JSON or Terraform with the parameters as key-value pairs separated by ampersand (&). For example,key1=value1&key2=value2
.Remarque : Le corps de la requête n'est pas JSON, c'est une chaîne formatée comme des arguments de requête URL. -
Use
$esc.uriEncode()
around values or variables that contain any URL reserved characters, such as / ? : @ – . _ ! ~ $ & ‘ ( ) * + , ; =.
Exemple JSON
"config": { "request": { "requestTemplate": "grant_type=client_credentials&scope=customers_read_write&audience=$esc.uriEncode(\"https://api.example.com/v1/customers\")", "headers": { "Authentication": "Basic $encoding.base64(\"${credentials.clientid}:${credentials.clientSecret}\"", "Content-Type": "application/x-www-form-urlencoded" }, "requestType": "POST", "requestUrlTemplate": "${credentials.loginUrl}" } }
L'exemple suivant montre les valeurs d'entrée de l'utilisateur qui ont les caractères réservés :
"config": { "request": { "headers": { "Content-Type": "application/x-www-form-urlencoded" }, "requestUrlTemplate": "https://api.example.com/v1/customers", "requestTemplate": "description=$esc.uriEncode(\"${input.DESCRIPTION}\")&email=$esc.uriEncode(\"${input.EMAIL}\")", "requestType": "POST" } }
$esc.uriEncode()
function with the user input. Because the data actions cannot automatically escape the user input with special characters, you have to use the function where applicable for security purposes. Though the data comes from an entity that is invoked includes Architect or Script, escaping must be done when handling the URLs and URL forms. Pour plus d’informations sur l’intégration, voir À propos de l’intégration des actions de données Zendesk.