Parar a conversa do Treble e aguardar a resposta do seu servidor
Normalmente, o Treble espera que a resposta do seu servidor a um webhook seja menos de 10 segundos. Se você precisar de mais tempo, pode parar a conversa do Treble e aguardar a resposta do seu servidor com a opção [REQUEST_TRIGGER]
. Aprenda a configurá-la neste artigo.
Request Trigger
Todo webhook do Treble espera uma resposta do seu servidor em menos de 10 segundos. Se o tempo exceder, o webhook será marcado como timeout e a conversa do fluxo no Treble continuará.
No entanto, há momentos em que a conversa do WhatsApp do Treble deve aguardar a resposta do seu servidor. Por exemplo, quando um cliente envia uma foto de sua identidade nacional para validar sua conta e seu servidor precisa processar e validar a imagem. Isso pode levar mais de 10 segundos.
Para isso, você pode parar a conversa do Treble e aguardar a resposta do seu servidor com a opção [REQUEST_TRIGGER]
. Com a opção [REQUEST_TRIGGER]
, o Treble aguardará que seu servidor chame o endpoint POST /session/{session_external_id}/update
para continuar a conversa.
Como configurar um request trigger?
A configuração de um request trigger consiste em duas partes:
- A configuração do webhook que é feita no caminho que conecta ao nó (bloco de mensagem) onde você deseja parar a conversa.
- A configuração do bloco de mensagem que tem uma única opção de resposta, que é o texto:
[REQUEST_TRIGGER]
.
Na imagem a seguir, você pode ver como deve configurar seu fluxo de mensagem para parar e aguardar a resposta do seu servidor.
Observe que o bloco de mensagem que você deve usar para parar a conversa e aguardar a resposta do seu servidor deve ser um bloco de mensagem não interativo. Ou seja, escolha a opção Mensagem com opções e não Botões Interativos.
Depois de fazer isso, quando seu usuário passar pelo caminho que conecta ao bloco de mensagem com o texto [REQUEST_TRIGGER]
, o Treble parará a conversa e aguardará a resposta do seu servidor.
Como continuar a conversa?
Para continuar a conversa, você precisa obter o session_id
da sessão do Treble que vem como parte do corpo da solicitação do webhook.
Por exemplo:
Aqui precisamos extrair o session_id
e usá-lo para chamar o endpoint POST /session/{session_external_id}/update
.
Atualizar uma sessão
Atualizar uma sessão para continuar a conversa.
Lembre-se que ao fazer a chamada para o endpoint POST /session/{session_external_id}/update
, você também pode incluir no corpo da solicitação o user_session_keys
, ou seja, variáveis de sessão que podem ser usadas para continuar a conversa.
Pronto! Você configurou com sucesso um request trigger em seu fluxo de mensagem.