Onde configurar
A primeira configuração acontece no passo de Callbacks do onboarding. Depois, o gerenciamento fica em Configurações → Callbacks.Como funciona
Você expõe um endpoint no seu SaaS
Um endpoint HTTPS que aceita
POST com JSON. Ele vai receber as ações que o agente pedir para executar.Registra a URL e um secret no Retuno
Em Callbacks, informe a URL do endpoint e, opcionalmente, um secret para assinar as requisições. Marque quais ações o Retuno pode executar no seu sistema.
Testa a conexão
O botão Testar conexão envia uma requisição de teste ao seu endpoint e valida a resposta. Se houve sucesso, a configuração fica marcada como Verificado.
Ações suportadas
| Ação | Descrição |
|---|---|
apply_discount | Aplicar um desconto no plano do cliente. |
extend_trial | Estender o período gratuito do cliente. |
Formato da requisição
- Método:
POSTna URL do callback. Content-Type:application/json.- Header
X-Retuno-Signature(quando há secret): formatosha256=<hmac>— HMAC-SHA256 do corpo da requisição, calculado com o secret configurado. - Timeout: 5 segundos.
action—apply_discountouextend_trial.userId— identificador do cliente final dentro do Retuno.value— valor da oferta: percentual quandoapply_discount, dias quandoextend_trial.conversationId— identificador da conversa em que a ação foi decidida. Útil para rastrear no seu lado.
Resposta esperada
2xx— o Retuno considera que a ação foi aplicada com sucesso. O agente confirma ao cliente na conversa.- Qualquer outra resposta ou timeout após 5 segundos — o Retuno considera falha; o agente não confirma ao cliente e a conversa tende a escalar para humano, conforme os guardrails e o Modo Supervisão.
Assinatura e segurança
Quando você configura um secret, toda requisição inclui o headerX-Retuno-Signature com o HMAC do corpo. No seu endpoint, recalcule o HMAC com o mesmo secret e compare — se não bater, rejeite. Isso garante que só o Retuno consegue disparar ações no seu sistema.
Sem secret, a assinatura não é enviada. Nesse caso, proteja o endpoint por outros meios (IP allowlist, token em rota secreta, etc.).
Boas práticas
- Torne o endpoint idempotente — o Retuno pode retentar em caso de timeout, e você não quer aplicar o mesmo desconto duas vezes. Use
conversationIdcomo chave de deduplicação. - Responda rápido — o agente está esperando para confirmar ao cliente na conversa. Mais de 5 segundos e a ação é considerada falha.
- Valide a assinatura se usar secret. Nunca aceite cegamente.
- Habilite apenas as ações que seu sistema sabe executar — se seu produto não tem trial, não habilite
extend_trial.
Teste e verificação
Na tela de Callbacks, o botão Testar conexão envia um payload especial (action: "test") ao seu endpoint. O status do último teste aparece como Conectado, Timeout ou Falha, com a mensagem de erro quando houver. Use esse botão depois de cada alteração no seu endpoint para confirmar que a integração segue saudável.