Transformer la demande et la réponse d’API d’Agent virtuel

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • Vous pouvez transformer la demande et la réponse d’API d’Agent virtuel dans des formats pris en charge via les points d’extension scriptés fournis dans l’API d’Agent virtuel.

    Avant de commencer

    Rôle requis : admin

    Procédure

    1. Accédez à la Tous > Points d’extensions système > Points d'extension scriptés
      • Le point d’extension sn_va_as_service.va_api_payload_transformation transforme la charge utile du bot primaire au format standard pris en charge par l’API d’Agent virtuel avant de traiter la demande. Le point d’extension sn_va_as_service.va_api_output_transformation transforme la réponse API de l’Agent virtuel dans un format pris en charge par le bot primaire.
      • Les deux points d’extension scriptés ont deux paramètres : shouldTransform et transform. shouldTransform est utilisé pour déterminer si l’implémentation est exécutée. transform est utilisé pour transformer la demande ou la réponse.
    2. Si vous souhaitez transformer la charge utile de la demande, procédez comme suit.
      1. Sélectionner le point d’extension sn_va_as_service.va_api_payload_transformation
      2. Dans la section Liens connexes, cliquez sur Créer une implémentation.
      3. Mettez à jour le script du point d’extension en fonction de vos besoins.
        Dans le point d’extension sn_va_as_service.va_api_payload_transformation, le paramètre de demande est un objet avec deux clés : payload et headers. payload est la charge utile de la demande reçue du bot primaire et headers sont les en-têtes envoyés dans la charge utile de la demande. Voici un exemple d’implémentation.
        
        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
            };
        },
        
        Figure 1. Point d’extension sn_va_as_service.va_api_payload_transformation
        Point d’extension scripté pour la transformation de la charge utile de la demande
      4. Cliquez sur Mettre à jour.
    3. Si vous souhaitez transformer la charge utile de la réponse, procédez comme suit.
      1. Sélectionner le point d’extension sn_va_as_service.va_api_output_transformation
      2. Dans la section Liens connexes, cliquez sur Créer une implémentation.
      3. Mettez à jour le script du point d’extension en fonction de vos besoins.
        Dans le point d’extension sn_va_as_service.va_api_output_transformation, le paramètre de réponse est un objet avec deux clés : inputPayload et responsePayload. inputPayload est la charge utile de la demande reçue de l’API Agent virtuel, et responsePayload est la réponse de l’API Agent virtuel que vous pouvez utiliser pour construire la réponse transformée. Utilisez le champ appInboundId de la charge utile de la demande pour déterminer s’il faut renvoyer vrai ou faux. Voici un exemple d’implémentation.
        
        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'
        };
        
        Figure 2. Point d’extension sn_va_as_service.va_api_output_transformation
        Point d’extension scripté pour la transformation de la charge utile de la réponse
      4. Cliquez sur Mettre à jour.