Transformieren Sie die Anforderung und Antwort der Virtual Agent-API

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 2 Minuten Lesedauer
  • 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

    1. 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.
    2. Wenn Sie die Anforderungsnutzlast transformieren möchten, führen Sie die folgenden Schritte aus.
      1. Wählen Sie den Erweiterungspunkt sn_va_AS_Service.va_api_Payload_Transformation aus
      2. Klicken Sie im Abschnitt zugehörige Links auf Implementierung erstellen .
      3. 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
        Geskripteter Erweiterungspunkt für die Transformation der Anforderungsnutzlast
      4. Klicken Sie auf Aktualisieren.
    3. Wenn Sie die Antwortnutzlast transformieren möchten, führen Sie die folgenden Schritte aus.
      1. Wählen Sie den Erweiterungspunkt sn_va_AS_Service.va_api_output_Transformation aus
      2. Klicken Sie im Abschnitt zugehörige Links auf Implementierung erstellen .
      3. 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
        Geskripteter Erweiterungspunkt für die Transformation der Antwortnutzlast
      4. Klicken Sie auf Aktualisieren.