Como disparar ativos no WhatsApp com a API da Huggy?
Este guia prático te auxiliará no envio de mensagens ativas do WhatsApp com a API v3.
Configuração do Flow
O envio de mensagens ativas pela API da Huggy é feito por meio do Flow. No caso do WhatsApp, o fluxo deve incluir as ações Enviar modelo de mensagem e Aguardar interação, além de outras conforme a estratégia escolhida.
Observe o exemplo abaixo:
Opções de disparo do fluxo pela API
Existem dois recursos disponíveis para o envio de mensagens ativas no WhatsApp:
- Você pode usar a API para disparar o flow para um contato, caso queira iniciar uma nova conversa;
- E pode disparar para um chat que esteja ativo, caso deseje retomar uma conversa.
A configuração do Flow é similar nos dois cenários. Os detalhes sobre as requisições específicas para cada situação serão mostrados neste artigo.
Efetuando as requisições
Todas as requisições à API v3 devem ser feitas para a URL https://api.huggy.app/v3
, contendo os seguintes cabeçalhos:
Content-Type: application/json
Accept: application/json
Authorization: Bearer xxxxxxx
Executando um flow para um contato
Veja como configurar uma requisição para executar um flow para um contato:
Método: PUT
Endpoint: contacts/{contactId}/execFlow
Body: Deve informar os campos uuid
e flowId
:
{
"uuid": "a12cal3r-4a14-8826-d50ad7e9ccc",
"flowId": 35504
}
Propriedades
uuid
: identificador do canal em que a comunicação vai acontecer. Para localizá-lo, acesse Configurações > Canais > WhatsApp e escolha o canal desejado.
flowId
: valor numérico único pelo qual identificamos o fluxo que será executado. Esse valor pode ser encontrado na URL do flow, como destacado na imagem:
contactId
: identificador do contato. Para acessá-lo, vá para o módulo Contatos e clique no contato desejado. O ID estará à direita, logo abaixo do nome do contato. Você pode também utilizar a API para obter dados de contatos.
Propriedades opcionais
Algumas propriedades podem ser incluídas na requisição para personalização adicional:
{
"uuid": "a12cal3r-4a14-8826-d50ad7e9ccc",
"flowId": 35504,
"whenInChat": true,
"whenWaitForChat": true,
"whenInAuto": true,
"variables":
{ "data": "15/10/2019",
"inscricao": "confirmada"
}
}
whenInChat
: define o comportamento quando o atendimento está em chat com um agente.
- true: O agente é removido e o fluxo é acionado.
- false: O fluxo não é executado.
whenWaitForChat
: define o comportamento quando o atendimento está aguardando na fila.
- true: O fluxo não é executado.
- false: O atendimento retorna para a camada automática e o fluxo é executado.
whenInAuto
: define o comportamento quando o atendimento está na camada automática, ou com outro flow em processamento.
- true: O fluxo em execução é abortado e o novo fluxo é iniciado.
- false: O fluxo não é executado.
Obs.: Quando essas propriedades não são especificadas, o valor padrão é false
.
variables
: permite a definição de variáveis de contexto personalizadas para incorporar novas informações ao chat.
As variáveis data
e inscricao
, exemplificadas abaixo, podem ser utilizadas de modo que, após uma resposta positiva do cliente, a confirmação da inscrição e a data de um evento sejam informadas pelo Flow:
"variables": {
"data": "15/10/2019",
"inscricao": "confirmada"
}
Executando um flow em um chat
Veja agora como configurar uma requisição para executar um flow em um chat em andamento:
Método: POST
Endpoint: /chats/{chatId}/flow
Para encontrar o chatId
, acesse o atendimento desejado e localize o valor na seção Detalhes do atendimento, presente na lateral direita da tela.
Body: Deve informar o flowId
para indicar qual flow executar:
{
"flowId": 142714
}
Se outro flow estiver em execução no chat, ele será abortado para iniciar o novo fluxo.
Personalize seu flow
O Flow tem um recurso que vai te ajudar a explorar as propriedades opcionais mencionadas aqui: a ação Condicional.
Clique aqui para acessar um conteúdo exclusivo sobre a Condicional e aprenda a deixar seu fluxo de mensagens ainda mais inteligente.