Transformieren Sie die Anforderung und Antwort der Virtual Agent-API

  • Freigeben Version: Washingtondc
  • Aktualisiert 19. Februar 2024
  • 2 Minuten Lesedauer
  • Sie können die Anforderung und Antwort der Virtual Agent-API über die in der Virtual Agent-API bereitgestellten geskripteten Erweiterungspunkte in unterstützte Formate umwandeln.

    Vorbereitungen

    Erforderliche Rolle: admin

    Prozedur

    1. Navigieren zu Alle > Systemerweiterungspunkte > Skriptbasierte Erweiterungspunkte
      • Der Erweiterungspunkt sn_va_as_service.va_api_payload_transformation transformiert die primäre Bot-Nutzlast in ein von der Virtual Agent-API unterstütztes Standardformat, bevor die Anforderung verarbeitet wird. Der Erweiterungspunkt sn_va_as_service.va_api_output_transformation transformiert die Antwort der Virtual Agent-API in ein Format, das vom primären Bot unterstützt wird.
      • Beide geskripteten Erweiterungspunkte haben zwei Parameter: shouldTransform und transform. shouldTransform wird verwendet, um zu bestimmen, ob die Implementierung ausgeführt wird. transform wird verwendet, um die Anforderung oder Antwort umzuwandeln.
    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 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 die vom primären Bot empfangene Anforderungsnutzlast und headers die in der Anforderungsnutzlast gesendeten Header sind. Das Folgende ist 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 Payload 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 „true“ oder „false“ zurückgegeben werden soll. Das Folgende ist 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.