O cadastro do webhook é feito dentro da Nupapia, em Configurações → Integrações, junto com o token — não existe endpoint de API pra configurar isso. Cada token de integração tem seu próprio webhook (URL e segredo), então se você tem mais de um sistema integrado, cada um recebe só o que é dele.
O que você recebe
Toda mensagem nova gera umPOST pra sua URL:
direction é inbound (mensagem do cliente) ou outbound (mensagem do atendente/IA da empresa) — filtre do seu lado se só precisar de um dos dois sentidos.
Verificando a assinatura
Todo envio vem com o cabeçalhoX-Nupapia-Signature: sha256=<hash>, calculado sobre o corpo exato da requisição (a string, não o objeto já reinterpretado) usando o segredo gerado quando o webhook foi criado:
Timeout e reentrega
O envio tem timeout de 10 segundos. Se sua URL não responder (ou responder com erro), essa entrega específica não é reenviada automaticamente — o polling (GET /chat/conversations?...&updated_at) continua funcionando como rede de segurança se você precisar reconciliar mensagens perdidas.