Transformar solicitação e resposta da API do Virtual Agent
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 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.
-
Se você quiser transformar a carga da 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 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 - Clique em Atualizar.
-
Se você quiser transformar a carga da 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 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 - Clique em Atualizar.