Transformieren Sie die Virtual Agent-API-Anforderung und -Antwort
Sie können die Virtual Agent-API-Anforderung und -Antwort über die in der Virtual Agent-API bereitgestellten geskripteten Erweiterungspunkte in unterstützte Formate umwandeln.
Vorbereitungen
Erforderliche Rolle: Administrator
Prozedur
-
Navigieren zu Alle > Systemerweiterungspunkte > Skriptbasierte Erweiterungspunkte
- Der Erweiterungspunkt sn_va_as_service.va_api_payload_transformation wandelt die primäre Bot-Nutzlast in ein von der Virtual Agent-API unterstütztes Standardformat um, bevor die Anforderung verarbeitet wird. Der Erweiterungspunkt sn_va_as_service.va_api_output_transformation wandelt die Antwort der Virtual Agent-API in ein Format um, das vom primären Bot unterstützt wird.
- Beide geskripteten Erweiterungspunkte haben zwei Parameter: shouldTransform und transform. Mit shouldTransform wird ermittelt, ob die Implementierung ausgeführt wird. transform wird zum Transformieren der Anforderung oder Antwort verwendet.
-
Wenn Sie die Nutzlast der Anforderung transformieren möchten, führen Sie die folgenden Schritte aus.
- Wählen Sie den Erweiterungspunkt sn_va_as_service.va_api_payload_transformation aus
- Klicken Sie im Abschnitt „Zugehörige Links“ auf Implementierung erstellen.
-
Aktualisieren Sie das Erweiterungspunktskript gemäß Ihren Anforderungen.
Im Erweiterungspunkt sn_va_as_service.va_api_payload_transformation ist der Anforderungsparameter ein Objekt mit zwei Schlüsseln: payload und headers. payload ist die vom primären Bot empfangene Anforderungsnutzlast, und headers sind die Header, die in der Anforderungsnutzlast gesendet werden. Im Folgenden finden Sie eine Beispielimplementierung.
var va_api_payload_transformation = Class.create(); va_api_payload_transformation.prototype = { initialize: function() {}, shouldTransform: function(request) { return request.payload.caller === "examplebot"; }, /* return object for transform function should be in the following format transformedRequest = { payload: request.payload, headers: request.headers }; */transform: function(request) { var payload = request.payload; var headers = request.headers; var vaAPIPayload = { "userId": payload.userId, "emailId": payload.email, "message": { "text": payload.message, "typed": true }, "contextVariables": { "requester_session_language": payload.user_language }, "appInboundId": "custom_1" }; return { payload: vaAPIPayload, headers: headers }; },Abbildung : 1. Erweiterungspunkt sn_va_as_service.va_api_payload_transformation - Klicken Sie auf Aktualisieren.
-
Wenn Sie die Nutzlast der Antwort transformieren möchten, führen Sie die folgenden Schritte aus.
- Wählen Sie den Erweiterungspunkt sn_va_as_service.va_api_output_transformation aus
- Klicken Sie im Abschnitt „Zugehörige Links“ auf Implementierung erstellen.
-
Aktualisieren Sie das Erweiterungspunktskript gemäß Ihren Anforderungen.
Im Erweiterungspunkt sn_va_as_service.va_api_output_transformation ist der Antwortparameter ein Objekt mit zwei Schlüsseln: inputPayload und responsePayload. inputPayload ist die von der Virtual Agent-API empfangene Anforderungsnutzlast, und responsePayload ist die Antwort von der Virtual Agent-API, die Sie zum Erstellen der transformierten Antwort verwenden können. Verwenden Sie das Feld „appInboundId“ der Anforderungsnutzlast, um zu bestimmen, ob „wahr“ oder „falsch“ zurückgegeben werden soll. Im Folgenden finden Sie eine Beispielimplementierung.
var va_api_output_transformation = Class.create(); va_api_output_transformation.prototype = { initialize: function() {}, shouldTransform: function(response) { return (response.inputPayload.appInboundId === 'custom_1'); }, /* input object param for transform function should be in the following format response = { inputPayload: response.inputPayload, responsePayload: response.responsePayload }; */ transform: function(response) { //return only transformed payload return { 'custom_structure': response.responsePayload }; }, type: 'va_api_output_transformation' };Abbildung : 2. Erweiterungspunkt sn_va_as_service.va_api_output_transformation - Klicken Sie auf Aktualisieren.