Como podemos ajudar?

23. Informação de produto Zenvia
7 min
Criado por Ligia Sarmento em 09/08/2023 10:03
Atualizado por Ligia Sarmento em 09/08/2023 11:50

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