---
sourceDocument: Interfaces conversacionais de Yokohama
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/conversational-interfaces

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Interfaces conversacionais de Yokohama

ft:clusterId :

    - convint

bundleId :

    - convint

workflow :

    - Platform


---

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

# Transformar solicitação e resposta da API do Virtual Agent {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 30 de jan. de 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 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é TudoPontos de extensões do sistemaPontos de Extensão com Script  
   * O ponto de extensão sn_va_as_service.va_api_payload_transformation transforma a carga primária do bot em um formato compatível com a API do Virtual Agent padrão 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 compatível com o bot primário.
   * Ambos os pontos de extensão com script têm dois parâmetros: shouldTransforme. transform. shouldTransformé usado para determinar se a implementação foi executada. transformé usado para transformar a solicitação ou resposta.
   {#transform-virtual-agent-api-request-and-response__ul_kdv_gqk_n1c}
2. Se você quiser transformar a carga de 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: payloade. headers. payloadé a carga de solicitação recebida do bot primário, e. headerssão os cabeçalhos enviados na carga da solicitação. A seguir está uma implementação de exemplo.


          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
   4. Clique em Atualizar.
   {#transform-virtual-agent-api-request-and-response__substeps_g1w_pqk_n1c}
3. Se você quiser transformar a carga de 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 de 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 verdadeiro ou falso. A seguir está uma implementação de exemplo.


          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
   4. Clique em Atualizar.
   {#transform-virtual-agent-api-request-and-response__substeps_bqw_rrk_n1c}

