Codificación de formularios URI (URL) para acciones de datos
Algunas API, especialmente las de inicio de sesión, necesitan codificación de formulario URL para las solicitudes HTTP. Para configurar una acción de datos de Genesys Cloud para la codificación URI:
-
Cree una cabecera de petición
Content-Type
con el valorx-www-form-urlencoded
. -
Establezca Request Body Template en la interfaz de usuario, o
requestTemplate
en JSON o Terraform con los parámetros como pares clave-valor separados por ampersand (&). Por ejemplo,key1=value1&key2=value2
.Nota: El cuerpo de la petición no es JSON, es una cadena formateada como argumentos de consulta URL. -
Utilice
$esc.uriEncode()
alrededor de valores o variables que contengan cualquier carácter reservado de URL, como / ? : @ - . ¡_ ! ~ $ & ' ( ) * + , ; =.
Ejemplo 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}" } }
El siguiente ejemplo muestra los valores de entrada del usuario que tienen los caracteres reservados:
"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()
con la entrada del usuario. Dado que las acciones de datos no pueden escapar automáticamente de la entrada del usuario con caracteres especiales, debe utilizar la función cuando proceda por motivos de seguridad. Aunque los datos provienen de una entidad que es invocada incluye Architect o Script, el escapado debe hacerse cuando se manejan las URLs y los formularios URL. Para obtener más información sobre las integraciones, consulte Acerca de las integraciones de acciones de datos.