No detalhe técnico abaixo, você encontrará os diferentes endpoints disponíveis para enfileirar, fechar uma conversa no Live ou manter diálogo com agentes. Em seguida, neste material, você pode ver mais informações sobre como receber as respostas.
Tenha em mente que você deve ter previamente o botId e o botToken para começar a usar o Live externamente. Você solicitará ambos por meio de Service Request.
Os dados que estão em vermelho serão considerados obrigatórios a partir de agora.
1. Enfileirar: neste endpoint, precisaremos do id do grupo alvo pertencente ao Live e dos dados do usuário que deseja falar com um agente.
● Endpoint: POST https://gateway.aivo.co/api/v1/live-handler/queue/external
● Body
{ "botId": INT, "groupsId": [INT], "botToken": "STRING", "protocolId": 28, "user": { "hash": "STRING", "firstname": "STRING", "lastname":"STRING", "email":"STRING", "phone": "STRING", "extra": [ "Dato A": "STRING", "Dato B": "INT" ] }, "status": "queued", "lastSender": "user" } |
● Dados chave
- O campo groupsId deve conter a ID do grupo ao qual a conversa deve ser vinculada. Isso será obtido no ponto de extremidade GET https://live-public-api.agentbot.net/group.
- O hash deve ser exclusivo por usuário e recomendamos que seja alfanumérico, como visto neste exemplo, b9e8f46b56efbacea7a6a4cdab3.
- Vamos associar _botToken ao hash enviado. Tenha isso em mente para o restante dos endpoints.
- Os campos protocolId, status e lastSender devem ser fixados, seguindo o exemplo do corpo do item: 28, "queued" e "user".
- O campo extra na matriz do usuário é usado para adicionar quaisquer dados que o agente queira observar ao atender, por exemplo, um número de ticket, e deve ter o seguinte formato:
|
● Resposta: o ponto de extremidade, em caso de sucesso, retornará um conversationId, que permanecerá em estado de fila até ser atendido, na seção.
{ "conversationId": "e169f21f-6f7e-44cd-9bf5-dd6b51d8b24b", "customToken": “token”, "messageQueueId": 0, "notAttended": 0 } |
● Curl exemplo
curl --location 'https://live-handler.agentbot.net/conversations/queue/external' \ --header 'Content-Type: application/json' \ --data '{ "botId": 1000, "groupsId": [ 2179 ], "botToken": "7114636682f3c091557758286be4a94c", "protocolId": 1, "user": { "hash": "b9e8f46b56efbacea7a6a4cdab", "firstname": "Brian", "lastname": “Rodriguez”, "email": null, "phone": "5492236638596", "username": null, "picture": null, "extra": [ ] }, "status": "queued", "lastSender": "user" }' |
2. Mensagem para o agente: quando a conversa for conduzida por um agente, será necessário comunicar o que o cliente escreve para o agente.
● Endpoint: POST https://gateway.aivo.co/api/v1/live-handler/{{conversationId}}/client/message
● Body
|
● Dados chave
- A conversaçãoId deve ser a obtida no endpoint da emenda.
- O campo de ação determinará o tipo de mensagem que foi enviada, que pode ser texto, arquivo ou imagem.
- No campo de valor, no caso de um arquivo ou imagem, você deve inserir o endereço do S3 ou onde os dados estão armazenados.
● Curl example
curl --location 'https://live-handler.agentbot.net/conversations/16d1e0f9-6243-4284-8a57-16460a265908/client/message' \ --header 'Content-Type: application/json' \ --data '{ "message": [ { "action": "text", "value": "Olá, meu nome é Tomas e preciso saber o saldo da minha conta.", "source": "user" } ] }' |