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:
- Acesse o Builder na plataforma Zenvia NLU;
- Crie um nó que será responsável pela transferência;
- Configure uma ação do tipo “
product_info” dentro deste nó; - Clique no Helper (?) e selecione a opção Informação de produto Zenvia;
- Preencha as informações necessárias no novo template iniciado na etapa anterior.
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": {}