Pular para o conteúdo

Provedores

O provedor de uma fonte decide como a assinatura do que chega é conferida. Você o escolhe pelo código, no campo provider, e guarda o segredo com PUT /v1/ingest/sources/{id}/secret.

A lista também está na API, com as instruções completas de cada painel:

Janela do terminal
curl https://api.notyfacil.com.br/v1/ingest/providers \
-H "Authorization: Bearer $NOTYFACIL_KEY"
Código Provedor O segredo
mercadopago Mercado Pago A chave secreta do webhook, em Suas integrações, na aplicação, em Webhooks.
stripe Stripe O signing secret (whsec_…) do endpoint, revelado no Workbench, em Webhooks.
asaas Asaas O token de autenticação que você define ao cadastrar o webhook, de 32 a 255 caracteres.
iugu iugu A chave que você grava no campo authorization do gatilho.
pagarme Pagar.me (v4) A sua chave de API (ak_live_… ou ak_test_…), que a v4 usa para assinar os postbacks.
github GitHub O secret que você define ao criar o webhook.
generic Genérico Um segredo HMAC compartilhado. Veja abaixo.
none Sem verificação Nenhum.

Três observações que vêm dos próprios provedores:

  • Asaas interrompe a fila de envio depois de 15 falhas seguidas e descarta eventos retidos há mais de 14 dias. Com a fonte no meio, falha sua não conta para ele: ele recebe 202.
  • iugu e Pagar.me v4 mandam o corpo em application/x-www-form-urlencoded, e é assim que ele chega aos seus destinos.
  • Pagar.me v5 não assina os webhooks, e por isso não há verificação para ela.

Um provedor que assina precisa do segredo para conferir. Se a fonte tem o provedor configurado e não tem segredo, a URL de ingestão responde 503 a tudo, e nada é aceito. É de propósito: aceitar sem conferir, só porque a configuração ficou pela metade, deixaria a porta aberta sem ninguém saber.

Para provedores que assinam com HMAC-SHA256 do corpo e não estão na lista. A fonte calcula o HMAC do corpo cru com o segredo, em hexadecimal, e compara com o valor de um header.

Janela do terminal
curl -X PATCH https://api.notyfacil.com.br/v1/ingest/sources/src_01JB8Z2R4K7M1QX5VN3HT9WCDF \
-H "Authorization: Bearer $NOTYFACIL_KEY" \
-H "Content-Type: application/json" \
-d '{"provider":"generic","providerConfig":{"header":"X-Hub-Signature-256","prefix":"sha256="}}'
Configuração
header O header que traz a assinatura. O padrão é X-Signature.
prefix Um prefixo que o provedor põe antes do hexadecimal, como sha256=. O padrão é nenhum.

As mensagens de uma fonte sem verificação ficam com verificação not_configured.