Transformieren Sie die Virtual Agent-API-Anforderung und -Antwort

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • 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

    1. 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.
    2. Wenn Sie die Nutzlast der Anforderung 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 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
        Skriptbasierter Erweiterungspunkt für die Transformation der Anforderungsnutzlast
      4. Klicken Sie auf Aktualisieren.
    3. Wenn Sie die Nutzlast der Antwort 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 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
        Skriptbasierter Erweiterungspunkt für die Transformation der Nutzlast der Antwort
      4. Klicken Sie auf Aktualisieren.