Transformação Virtual Agent API solicitação e resposta
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
-
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 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.
-
Se você quiser transformar a carga de solicitação, conclua as etapas a seguir.
- Selecione o ponto de extensão sn_va_as_service.va_api_payload_transformation
- Na seção Links relacionados, clique em Criar implementação .
-
Atualize o script do 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 de 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 - Clique em Atualizar.
-
Se você quiser transformar a carga de resposta, conclua as etapas a seguir.
- Selecione o ponto de extensão sn_va_as_service.va_api_output_transformation
- Na seção Links relacionados, clique em Criar implementação .
-
Atualize o script do 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 de 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 - Clique em Atualizar.