Como podemos ajudar?

24. Transferência de produto Zenvia
16 min
Criado por Ligia Sarmento em 09/08/2023 08:36
Atualizado por Maria Malheiro em 02/10/2024 11:58

Ação utilizada para transferência entre soluções Zenvia dentro da plataforma Zenvia NLU.

Poderá ser utilizada quando desejar transferir o atendimento pelo bot para plataformas de atendimento humano da Zenvia, como Zenvia Conversion e Zenvia Chat.

⚠️Atenção:: para realizar a transferência, o contato deve estar utilizando uma integração Zenvia via Stargate.

Siga as orientações abaixo para efetivar a ação:

  1. Acesse o Builder na plataforma Zenvia NLU;
  2. Crie um nó que será responsável pela transferência;
  3. Configure uma ação do tipo “product_transfer” dentro deste nó;
  4. Clique no Helper (?) e selecione a opção Transferência de produto Zenvia;
  5. Preencha as informações necessárias no novo template iniciado na etapa anterior.

transf.01.jpgtransf.02.jpg

💡 Dica: para saber como criar um nó ou configurá-lo, acesse nossa documentação Configurações do nó

Estrutura

Agora que você já sabe como iniciar o processo de transferência para um produto Zenvia, vamos mostrar como se dá a estrutura desta ação.

Esta etapa está dividida entre a transferência para o Zenvia Chat e para o Zenvia Conversion.

Exemplo de payload da ação de transferência para o Zenvia Chat

{ 
"name": "product_transfer",
"parameters": {
"product": "livechat",
"access_token": "meu_token_de_acesso",
"department_id": 123,
"agent_id": 123456,
"customer": {
"name": "Cesar Augusto",
"email": "cesar.augusto@mail.com",
"phone": "+5535988001122",
"document": null
},
"extra": {
"name": "Cesar Augusto",
"user_id": 123,
"active": true
},
"session": {
"properties": {
"name": "Cesar Augusto",
"user": {
"id": 123
},
"active": true
}
},
"before_action_messages": [
"Estamos transferindo para o Zenvia Chat",
"Aguarde..."
]
},
"result_variable": "zenvia_transfer_response"
}

Atributos:

  • version (opcional): versão de transferência de produto. Possíveis valores: “v1”, “v2”. Produto “livechat” aceita apenas o valor “v2”
  • product: produto de destino para o qual será feita a transferência do contato. Possíveis valores: “livechat” (Zenvia Chat) e conversion (Conversion)
  • access_token: token de acesso do produto de destino
  • department_id: id do departamento(habilidade/skill) que deve realizar o atendimento do usuário
  • agent_id (opcional): id do atendente que deve realizar o atendimento do usuário
  • customer (opcional): informações pessoais do contato. É possível definir:
  • name (opcional): nome do contato
  • email (opcional): email do contato
  • phone (opcional): telefone do contato
  • document (opcional): cpf ou cnpj do contato
  • extra (opcional): informações extras que se deseja enviar. Extra deve ser um objeto JSON
  • session (opcional):
  • properties (opcional): informações a serem definidas na sessão do contato antes da transferência. Properties deve ser um objeto JSON.

💡 Dica: após a transferência do atendimento pelo bot, a conversa cairá em uma fila de atendimento no Zenvia Chat. Para prosseguir, acesse o artigo sobre Dashboard, aonde fala sobre a fila de espera e saiba mais.

Exemplo de payload da ação de transferência para o Zenvia Conversion

{
"name": "product_transfer",
"parameters": {
"version": "v1",
"product": "conversion",
"apiKey": "minha_chave_de_api",
"groupId": "62d9557abe28c50018fef98b",
"userId": null,
"industry": "vehicle",
"lead": {
"firstName": "Cesar"
"email": "cesar.augusto@mail.com",
},
"session": {
"properties": {
"name": "Cesar Augusto",
"user": {
"id": 123
},
"active": true
}
},
"before_action_messages": [
"Estamos transferindo para o Conversion",
"Aguarde..."
]
},
"result_variable": "zenvia_transfer_response"
}

O resultado da transferência estará disponível na variável de contexto definida em “result_variable”. Estrutura da variável de resposta:

{ 
"status": "ok | error"
}

Response:

status: status do resultado da transferência. Possíveis valores:

ok: a transferência foi realizada com sucesso
error: houve um erro durante a transferência

⚠️Atenção: na ação de transferência do builder, os produtos “conversion” e “livechat” se referem à Zenvia Conversion e Zenvia Chat, respectivamente.

Após uma transferência com sucesso, o contato não acessará mais o bot do Zenvia NLU. A conversa ocorrerá diretamente entre o contato e o produto de destino.

Ao finalizar o atendimento no produto de destino, há a possibilidade de o contato ser transferido de volta para o bot do Zenvia NLU. Os produtos Conversion e Livechat sempre devolverão o contato.

Aqui, é necessário criar um nó no builder que irá esperar pela volta do contato.

Neste nó, configure o input da seguinte forma:

transf.05.jpg

O input de recebimento de transferência possui a seguinte estrutura a seguir e pode ser usado para, por exemplo, definir fluxo de encerramento do bot, salvar dados do agente, entre outros.

{ 
"product_transfer": {
"success": true,
"state": "ENDED",
"department": {
"id": 16251,
"name": "Atendimento"
},
"agent": {
"id": 28078,
"name": "Isaias Valle",
"email": "isaias.valle@corp.com"
},
"transfer_id": "63c34e7b-ceae-4586-939a-5b4418786ff4"
}
}

Atributos:

  • success: define se o produto de destino conseguiu atender o usuário. Possíveis valores: true, false
  • state: . Possíveis valores:
  • ENDED: atendimento realizado
  • MISSED: atendimento não realizado por falta de atendentes.
  • Department: último departamento que realizou atendimento ao cliente.
  • Agent: último agente humano que realizou atendimento ao cliente (opcional)
  • transfer_id: id único da transferência que foi realizada e finalizada. Atualmente usamos este valor para avaliar uma transferência após o contato ter sido devolvido ao bot. É utilizada na ação do bot "product_info" quando "action" é "update_transfer". 

Ação de Informação de Produto

Antes de realizar uma transferência, algumas informações podem ser necessárias para decidir se a transferência será realizada e para direcionar uma transferência para um departamento ou atendente específico.

Zenvia NLU permite consultar informações de outros produtos, como departamentos, atendentes e horários de atendimento, além de permitir avaliar uma transferência.

Para isso, siga as instruções abaixo:

  1. Acesse o Builder na plataforma Zenvia NLU;
  2. Crie um nó que será responsável pela transferência;
  3. Configure uma ação do tipo “product_info” dentro deste nó;
  4. Clique no Helper (?) e selecione a opção Informação de produto Zenvia;
  5. Preencha as informações necessárias no novo template iniciado na etapa anterior.

transf.03.jpgtransf.04.JPG

 

Exemplo de payload da ação de troca de informações com soluções Zenvia

{ 
"name": "product_info",
"parameters": {
"product": "livechat",
"access_token": "Token de acesso",
"action": "list_departments | list_agents | get_office_hours | has_agent "department_id": "Id do departamento",
"agent_id": "Id do agente",
"transfer_id": "Id da transferência",
"nps": "0 - 10",
"stars": "1 - 5",
"rating": "POSITIVE | NEGATIVE"
"before_action_messages": [
"Aguarde, estamos buscando as informações..."
]
},
"result_variable": "product_transfer_response"

Atributos:

  • product: produto com o qua será feita a troca de informações. Possíveis valores: “livechat”;
  • access_token: token de acesso do produto de destino;
  • action: tipo de informação que será trocada. Possíveis valores:
  • list_departments: listar todos os departamentos disponíveis em um produto;
  • list_agents: listar os agentes de um determinado departamento. Campos obrigatórios: “department_id”
  • get_office_hours: verificar se um departamento está em horário de atendimento ou se é feriado. Campos obrigatórios: “department_id”
  • has_agent_online: verificar se um atendente está disponível ou se há atendentes de um determinado departamento disponíveis. Campos opcionais: “department_id”, “agent_id”;
  • update_transfer: fornecer a avaliação do usuário sobre um atendimento após este ter sido finalizado. Campos obrigatórios: “transfer_id”, uma opção entre (“nps”, “stars”, “rating”)
  • department_id (opcional): id de um departamento disponível no produto requisitado;
  • agent_id (opcional): id de um atendente disponível no produto requisitado;
  • transfer_id (opcional): id de uma transferência já finalizada;
  • nps (opcional): avaliação NPS de uma transferência já finalizada. Possíveis valores: número inteiro entre 0 e 10;
  • stars (opcional): avaliação em estrelas de uma transferência já finalizada. Possíveis valores: número inteiro entre 1 e 5;
  • rating (opcional): avaliação positiva ou negativa de uma transferência já finalizada. Possíveis valores: “POSITIVE”, “NEGATIVE”

Após a execução da ação, o resultado da transferência estará disponível na variável de contexto definida em “result_variable”. Estrutura da variável de resposta:

{ 
"status": "ok | error",
"type": "params | request | timeout",
"message": "mensagem de erro"
}

Response:

status: status do resultado da ação. Possíveis valores:

ok: a troca de informações foi realizada com sucesso
error: houve algum erro de validação de parâmetros ou a resposta não foi recebida em tempo hábil

Campos presentes caso status seja “ok”:

  • info: informação recebida do produto requisitado

Campos presentes caso status seja “error”:

  • type: tipo de erro caso o status da ação seja “error”. Possíveis valores:
  • params: um ou mais parâmetros da ação não foram fornecidos adequadamente. Um parâmetro pode estar com um tipo ou valor não esperado ou um parâmetro obrigatório não foi fornecido;
  • request: o produto de destino processou a requisição mas retornou um erro;
  • timeout: nenhuma resposta foi recebida em tempo hábil;
  • message: mensagem descritiva do erro ocorrido.

Exemplo de informações presentes no campo “info” para cada tipo “action”:

01. Action “list_departments”

"info": { 
"departments": [
{
"id": 17935,
"name": "Vendas"
},
{
"id": 17937,
"name": "Suporte"
},
{
"id": 18232,
"name": "Recepção"
}
]
}

02. Action “list_agents”

"info": { 
"agents": [
{
"id": 22748,
"name": "Ana Maria Macedo"
},
{
"id": 22749,
"name": "João Pedro Silva"
},
{
"id": 18232,
"name": "Recepção"
}
]
}

03. Action “get_office_hours”

"info": { 
{
"office_hours_info": "",
"in_office_hours": true,
"holiday": false
}
}

04. Action “has_agent_online”

"info": { 
{
"online": true
}
}

05. Action “update_transfer”

"info": {}
Este artigo resolveu sua dúvida?
Últimos artigos visitados