Transformar solicitação e resposta da API do Virtual Agent

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • Você pode transformar a solicitação e a resposta da API do Virtual Agent em formatos compatíveis por meio dos pontos de extensão com script fornecidos na API do Virtual Agent.

    Antes de Iniciar

    Função necessária: administrador

    Procedimento

    1. Navegar até Tudo > Pontos de extensões do sistema > Pontos de Extensão com Script
      • O ponto de extensão sn_va_as_service.va_api_payload_transformation transforma a carga do bot primário em um formato padrão compatível com a API do Virtual Agent antes de processar a solicitação. O ponto de extensão sn_va_as_service.va_api_output_transformation transforma a resposta da API do Virtual Agent em um formato padrão compatível com o bot primário.
      • Ambos os pontos de extensão com script têm dois parâmetros: shouldTransform e transform. shouldTransform é usado para determinar se a implementação é executada. transform é usado para transformar a solicitação ou a resposta.
    2. Se você quiser transformar a carga da solicitação, conclua as etapas a seguir.
      1. Selecione o ponto de extensão sn_va_as_service.va_api_payload_transformation
      2. Na seção Links relacionados, clique em Criar implementação.
      3. Atualize o script de ponto de extensão de acordo com seus requisitos.
        No ponto de extensão sn_va_as_service.va_api_payload_transformation, o parâmetro de solicitação é um objeto com duas chaves: payload e headers. payload é a carga da solicitação recebida do bot primário e headers são os cabeçalhos enviados na carga da solicitação. A seguir está um exemplo de implementação.
        
        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
            };
        },
        
        Figura 1. Ponto de extensão sn_va_as_service.va_api_payload_transformation
        Ponto de extensão com script para a transformação da carga de solicitação
      4. Clique em Atualizar.
    3. Se você quiser transformar a carga da resposta, conclua as etapas a seguir.
      1. Selecione o ponto de extensão sn_va_as_service.va_api_output_transformation
      2. Na seção Links relacionados, clique em Criar implementação.
      3. Atualize o script de ponto de extensão de acordo com seus requisitos.
        No ponto de extensão sn_va_as_service.va_api_output_transformation, o parâmetro de resposta é um objeto com duas chaves: inputPayload e responsePayload. inputPayload é a carga da solicitação recebida da API do Virtual Agent e responsePayload é a resposta da API do Virtual Agent que você pode usar para criar a resposta transformada. Use o campo appInboundId da carga da solicitação para determinar se deve retornar as opções "verdadeiro" ou "falso". A seguir está um exemplo de implementação.
        
        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'
        };
        
        Figura 2. Ponto de extensão sn_va_as_service.va_api_output_transformation
        Ponto de extensão com script para a transformação da carga de resposta
      4. Clique em Atualizar.