Transformieren Sie die Anforderung und Antwort der Virtual Agent-API
Sie können Virtual Agent-API-Anforderungen und -Antworten ü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 das von Virtual Agent API unterstützte Standardformat um, bevor die Anforderung verarbeitet wird. Der Erweiterungspunkt sn_va_AS_Service.va_api_output_Transformation wandelt die Virtual Agent-API-Antwort in ein vom primären Bot unterstütztes Format um.
- Beide geskripteten Erweiterungspunkte haben zwei Parameter: shouldTransformUnd transform. shouldTransformWird verwendet, um zu bestimmen, ob die Implementierung ausgeführt wird. transformWird verwendet, um die Anforderung oder Antwort zu transformieren.
-
Wenn Sie die Anforderungsnutzlast 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 entsprechend Ihren Anforderungen.
Im Erweiterungspunkt „sn_va_AS_Service.va_api_Payload_Transformation“ ist der Anforderungsparameter ein Objekt mit zwei Schlüsseln: payloadUnd headers. payloadIst die vom primären Bot empfangene Anforderungsnutzlast, und headersWerden die in der Anforderungsnutzlast gesendeten Header? 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 Antwortnutzlast 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 entsprechend Ihren Anforderungen.
Im Erweiterungspunkt sn_va_AS_Service.va_api_output_Transformation ist der Antwortparameter ein Objekt mit zwei Schlüsseln: InputPayload und responsePayload. inputPayloadIst die von der Virtual Agent-API empfangene Anforderungsnutzlast, und responsePayloadIst die Antwort aus der Virtual Agent-API, mit der Sie die transformierte Antwort erstellen können. Verwenden Sie das Feld „appInlimitId“ 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.