Scripts de ação do Virtual Agent
Você precisa gravar um conjunto de scripts de ação e subfluxo obrigatórios Workflow Studio para passar os dados do usuário para o VACS, aplicar transformações e enviar a resposta de volta para o endpoint da interface de bate-papo.
Provedor e scripts de entrada/saída
Um provedor, como a Twilio, fornece o recurso de bate-papo. Os scripts de ação do usuário executam ações do provedor, bem como a configuração de integração de bate-papo personalizada de conversação para ações de transformador de entrada e de saída para o chatbot ou para conversas personalizadas. São fornecidos exemplos de cada um dos scripts. Eles incluem descrições do que cada script faz, bem como a ação de entrada e a ação de saída. Também são exibidos exemplos do script JSON.
Use Workflow Studio para criar esses scripts para transformar mensagens do servidor e do cliente. O provedor, o remetente e os scripts do transformador de entrada/saída são necessários. Você pode usar os scripts adicionais para acrescentar funcionalidade ao bate-papo.
| Nome do script | Finalidade | Obrigatório (S/N) |
|---|---|---|
| Atributo do provedor | Contém um token de autenticação do provedor, um identificador do usuário, uma entrada do usuário e variáveis de contexto. | S |
| Ação do remetente | Agrupa a solicitação e envia uma resposta de forma assíncrona por meio de Workflow Studio ou do Hub de integração. |
S |
| Processador de resposta | Executa ações da plataforma, como um status de mensagem de atualização, baseadas em uma resposta recebida para uma mensagem de saída. | N |
| Ação contextual | Oferece suporte a ações contextuais. | N |
| Ação vincular à conta | Fornece um retorno de chamada relacionado ao sucesso ou ao insucesso da vinculação da conta. | N |
| Transformador de saída | Transforma o controle compatível de um servidor de bate-papo em renderização específica da interface de bate-papo. | S |
| Transformador de entrada | Opcional. Você pode usar os controles avançados padrão se eles se aplicarem ao seu provedor de bate-papo. Você não precisa fornecer uma transformação de entrada separada para cada controle de entrada. Se um comportamento padrão não funcionar, é possível substituir o padrão pela sua própria transformação de entrada para um controle de servidor do Virtual Agent específico. | S |
Script de ação de atributos do provedor.
| Entrada | Saída |
|---|---|
|
|
Exemplo: script de ação de atributos do provedor.
(function execute(inputs, outputs) {
var headers = (inputs.headers);
var payload = (inputs.payload);
// check if an authentication token was included. this is optional.
var smsUtil = new VASMSTwilioUtil();
outputs.token = JSON.stringify(smsUtil.getToken(headers, payload));
var data = payload.data;
var request_context = {};
// inspect the actual message. it could be an MMS (attachment) or raw text
if (data['MediaUrl0']) {
var attachment_value = {};
attachment_value.url = data['MediaUrl0'];
attachment_value.content_type = data['MediaContentType0'];
attachment_value.name = smsUtil.getFileName(attachment_value.url , attachment_value.content_type);
request_context.attachment_value = attachment_value;
} else {
request_context.typed_value = data['Body'];
}
// set the mandatory outputs
outputs.request_context = request_context;
outputs.provider_user_id = data.From;
})(inputs, outputs);
Script de ação do remetente (desativado no Quebec, verifique o subfluxo do remetente)
O script de ação do remetente sabe como enviar uma mensagem ao provedor. O script deve invocar de forma assíncrona um subfluxo Workflow Studio ou IntegrationHub. O Virtual Agent está liberado para continuar processando mensagens em vez de tentar enviar solicitações externas.
| Entrada | Saída |
|---|---|
|
Nenhum |
Exemplo: script de ação do remetente.
(function execute(inputs, outputs) {
var results = inputs.results;
// transform the inputs to something this custom subflow knows about
var sendInputs = {
app_inbound_id : inputs["app_inbound_id"],
channel_user_id: inputs["channel_user_id"],
messages: JSON.stringify(results)
};
// invoke an asynchronous subflow which will send the external request. so this sender script will immediately return,
// freeing up the chat server thread to do further message processing while putting the external request work on the
// Workflow Studio/Integration Hub
sn_fd.FlowAPI.startSubflowQuick('sn_va_sms_twilio.va_sms_twilio_adapter_send_sms', sendInputs);
})(inputs, outputs);
Subfluxo do remetente
Em vez de um script, o subfluxo do remetente lida com o processo de envio de uma mensagem para um provedor. A mensagem está contida em um payloadcadeia de caracteres como parte do subfluxo. O remetente tem um service_urle. origin_service_urlEnquanto o URL de saída varia dependendo do provedor. Por exemplo, uma mensagem enviada por meio do MS Teams usa o valor tenant_id. Quando o Virtual Agent envia a mensagem que contém opções, o destinatário seleciona uma opção. O subfluxo atualiza a exibição da mensagem com base em sua escolha e remove as opções. A conversa continua com base na opção selecionada pelo usuário. O Virtual Agent está liberado para continuar processando mensagens em vez de tentar enviar solicitações externas. Ao criar um subfluxo, não há uma chamada de ação dentro do subfluxo. Para obter mais informações sobre subfluxos, consulte Subflows and actions.
Script de ação contextual
O script de ação contextual executa ações especiais de palavra-chave, como digitar agente estando em um tópico Virtual Agent para ser imediatamente entregue a um agente dinâmico.
| Entrada | Saída |
|---|---|
|
Nenhum |
Exemplo: script de ação contextual.
(function execute(inputs, outputs) {
var contextual_action = inputs.request_context.contextual_action;
if (contextual_action === "END_CONVERSATION") {
sn_cs.VASystemObject.endConversation(inputs.conversation_id);
} else if (contextual_action === "AGENT") {
sn_cs.VASystemObject.switchToLiveAgent(inputs.conversation_id);
} else if (contextual_action === "START_CONVERSATION") {
sn_cs.VASystemObject.startConversation(inputs.conversation_id);
}
})(inputs, outputs);
Script de ação vincular à conta
O script de ação vincular à conta contém identificadores para o usuário que está fazendo a vinculação. O script também contém a conta à qual está vinculado.
| Entrada | Saída |
|---|---|
|
Nenhum |
Exemplo: script de ação vincular à conta.
(function execute(inputs, outputs) {
var richControl = (inputs.rich_control);
var value = richControl.value;
outputs.result = richControl.header + ': ' + value.action;
})(inputs, outputs);
Script de ação do processador de resposta
O script de ação do processador de resposta executa ações especializadas baseadas na resposta a uma solicitação de envio de mensagem. A estrutura já faz o rastreamento básico de status de mensagens.
| Entrada | Saída |
|---|---|
|
Nenhum |
Exemplo: script de ação do processador de resposta.
(function execute(inputs, outputs) {
gs.debug("Response from provider: message_id = " + inputs.message_id + ", status_code = " +
inputs.status_code + ", headers = " + JSON.stringify(inputs.headers) + ", body = " + inputs.body);
})(inputs, outputs);
Scripts do transformador de saída
Os scripts do transformador de saída convertem as mensagens Virtual Agent de saída em um protocolo relacionado à integração do bate-papo personalizada de conversação.
Entrada.
- rich_controls (JSON): componente de controle avançado do servidor do Virtual Agent que será transformado.
- carga (JSON): última resposta recebida de um solicitante.
Saída.
resultado (cadeia de caracteres) - Mensagem do componente apropriado ao provedor a ser enviada.
| Nome do transformador de saída | Exemplo de script. |
|---|---|
| Virtual Agent - Transformador de saída de texto padrão do adaptador da Twilio para SMS | |
| Virtual Agent - Transformador de saída do link padrão do adaptador da Twilio para SMS | |
| Virtual Agent - Transformador de saída do seletor padrão do adaptador da Twilio para SMS | |
| Virtual Agent - Transformador de saída de multilink padrão do adaptador da Twilio para SMS | |
| Virtual Agent - Transformador de saída do cartão padrão do adaptador da Twilio para SMS. | |
Scripts do transformador de entrada
Os scripts do transformador de entrada convertem as mensagens de integração de bate-papo padronizadas de conversação em um protocolo que é reconhecido por Virtual Agent. Ele determina o valor obrigatório a ser injetado ao controle avançado que é apresentado ao usuário.
Entrada.
- request_context (JSON) - A solicitação aprovada pelo script de Atributo do provedor.
- rich_control (JSON) - O último controle avançado enviado ao solicitante que contém a "pergunta" original.
Saída.
- valor - sys_id ou valor de texto.
- search_text - Texto usado se o solicitante selecionar algo inesperado. Por exemplo, um usuário digitou algo com o qual o NLU pode ajudar, como "Nenhuma dessas opções corresponde ao que quero" em resposta a um componente de seletor de tópico.
| Nome do transformador de entrada | Exemplo de script |
|---|---|
| Virtual Agent - Transformador de entrada de texto padrão do adaptador da Twilio para SMS. Finalidade: encontrar a resposta em texto para a pergunta InputText apresentada |
|
| Virtual Agent - Transformador de entrada do seletor padrão do adaptador do Twilio para SMS Objetivo: encontrar o sys_id da opção selecionada pelo usuário para essa pergunta do seletor. Esse script usa o mesmo algoritmo do transformador de saída. Se nenhuma opção estiver selecionada e o usuário tiver digitado algo, "search_text" será definido e alimentado no NLU, se estiver habilitado nesta instância. |
|