Skip to main content

Webhooks

Webhooks permitem que você receba callbacks HTTP em tempo real quando eventos ocorrem nas suas instâncias WhatsApp. Em vez de fazer polling na API, a Wappfy envia os eventos para o seu servidor conforme eles acontecem.

Eventos Suportados

A Wappfy suporta 12 tipos de eventos de webhook:

Criar um Webhook

Registre um endpoint de webhook para começar a receber eventos.
Resposta:

Opções de Configuração

O campo instance_id é opcional. Se omitido, o webhook receberá eventos de todas as instâncias da sua conta.

Listar Webhooks

Resposta:

Atualizar um Webhook

Atualize a URL, eventos ou configuração de um webhook existente.

Excluir um Webhook


Formato do Payload de Entrega

Quando um evento ocorre, a Wappfy envia uma requisição POST para a URL do seu webhook com a seguinte estrutura:

Campos do Payload


Verificação de Assinatura HMAC

Se você fornecer um secret ao criar um webhook, cada entrega incluirá um header X-Wappfy-Signature contendo uma assinatura HMAC-SHA256 do corpo da requisição. Sempre verifique esta assinatura para garantir que a requisição veio da Wappfy e não foi adulterada.

Exemplos de Verificação

Sempre use comparação em tempo constante (como timingSafeEqual ou hmac.compare_digest) ao verificar assinaturas para prevenir ataques de temporização.

Comportamento de Retentativas

Se o seu servidor não responder com um código de status 2xx dentro do timeout_ms configurado, a Wappfy tentará reenviar a entrega.
As retentativas param quando uma resposta 2xx é recebida ou o retry_count é esgotado. O número padrão de retentativas é 3.

Visualizando o Histórico de Entregas

Consulte o log de entregas de um webhook para ver tentativas passadas e seus resultados.
Resposta:

Exemplos de Payload por Evento


Boas Práticas

Responda rapidamente

Retorne um status 200 em até 5 segundos. Processe o evento de forma assíncrona para evitar timeouts.

Deduplique

Use o id da entrega para detectar e ignorar entregas duplicadas causadas por retentativas.

Verifique assinaturas

Sempre valide o header X-Wappfy-Signature se você configurou um segredo.

Use HTTPS

URLs de webhook devem usar HTTPS. Endpoints HTTP serão rejeitados.