URI-Formularkodierung (URL) für Datenaktionen
Einige APIs, insbesondere Anmelde-APIs, benötigen eine URL-Formularkodierung für HTTP-Anfragen. So konfigurieren Sie eine Genesys Cloud-Datenaktion für die URI-Kodierung:
-
Erstellen Sie ein
Content-Type
Request-Header mit dem Wertx-www-form-urlencoded
. -
Legen Sie die Anforderungstext-Vorlage in der Benutzeroberfläche oder
requestTemplate
in JSON oder Terraform mit den Parametern als Schlüssel-Wert-Paare, getrennt durch ein Et-Zeichen (&). Zum Beispiel,key1=value1&key2=value2
.Hinweis: Der Anfragekörper ist kein JSON, sondern eine als URL-Abfrageargumente formatierte Zeichenfolge. -
Verwenden
$esc.uriEncode()
um Werte oder Variablen, die für URLs reservierte Zeichen enthalten, wie etwa / ? : @ – . _ ! ~ $ & ' ( ) * + , ; =.
JSON-Beispiel
"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}" } }
Das folgende Beispiel zeigt die Benutzereingabewerte, die die reservierten Zeichen enthalten:
"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()
Funktion mit der Benutzereingabe. Da die Datenaktionen die Benutzereingaben nicht automatisch mit Sonderzeichen maskieren können, müssen Sie aus Sicherheitsgründen ggf. die Funktion verwenden. Obwohl die Daten von einer aufgerufenen Entität wie Architect oder Script stammen, muss beim Verarbeiten der URLs und URL-Formulare eine Escape-Sequenz verwendet werden. Weitere Informationen zu den Integrationen finden Sie unter Über die Integrationen von Datenaktionen.