Integração de Chatbots de terceiros com a plataforma HiSocial


Introdução

Para clientes que já possuem integração de suas páginas com outra solução de bot, a Hi oferece uma API que pode ser utilizada para facilitar o trabalho de seus atendentes.

POST /api/forward_conversation_to_human.json POST 

POST /api/forward_conversation_to_human.xml

Fluxo

O fluxo de um atendimento com bot é muito simples. Conversas que são atendidas pelo bot sem necessitar de intervenção humana não passam pelo nosso fluxo de integração.

Assim que o bot encaminhar a conversa para um atendente, deve ser feita uma chamada para a nossa API avisando que essa conversa deve ser atendida por uma pessoa. Durante esse período, o bot não deve responder as mensagens recebidas. Porém, a cada nova mensagem recebida, o bot deve chamar nossa API para verificar o status da conversa. Caso o chamado já tenha sido finalizado pelo atendente, o bot pode voltar a responder e o fluxo se repete.

Liberar Conversa para Atendente

Esse método pega o chamado referente a esse thread id, que anteriormente estava oculto no sistema, e disponibiliza para um atendente. A partir desse momento o chamado é de responsabilidade do atendente até que seja finalizado.

Parâmetro obrigatório:
search_id: ID do Projeto onde está sendo feito o atendimento. Ver endpoint “searches” em nossa API.
thread_id: Thread ID da conversa no Facebook.

Retorno em JSON: 
{
"response": {
"status": "200 OK",
"code": 200
}
}

Retorno em XML:

<?xml version="1.0" encoding="UTF-8"?>
<seekr>
<response>
<status>200 OK</status>
<code type="integer">200</code>
</response>
</seekr>

Verificar Status da Conversa

GET /api/conversation_status.json 

GET /api/conversation_status.json GET /api/conversation_status.xml

Pega o status do chamado referente a esse thread ID. Caso o status dele seja finalizado (“F”), o bot pode voltar a responder as mensagens desse usuário, e avisar o sistema novamente caso um atendente seja requisitado. Outros status possíveis são null, onde o chamado ainda não foi atribuido a nenhum atendente; aberto (“A”), onde o chamado já foi aberto e encaminhado; e respondido (“R”), onde o atendente já está se comunicando com o consumidor.

Parâmetro obrigatório:
search_id: ID do Projeto onde está sendo feito o atendimento. Ver endpoint “searches” em nossa API.
thread_id: Thread ID da conversa no Facebook.

Retorno em JSON:  
{
"response": {
"status": "200 OK",
"code": 200
}
"status": "F"
}

Retorno em XML:

<?xml version="1.0" encoding="UTF-8"?>
<seekr>
<response>
<status>200 OK</status>
<code type="integer">200</code>
</response>
<status>F</status>
</seekr>