Enviar um evento de teste
POST/v1/webhooks/{hook_id}/test
Envia agora para a URL um evento messages de exemplo, real e assinado, com os headers do webhook — para conferir a assinatura e a leitura do payload antes do tráfego de verdade. Uma tentativa só, com X-Synergy-Delivery-Id: test-<uuid>. O evento usa um número que o webhook cobre.
Requer#
- Escopo da chave
- Gerenciar webhooks
managementComo os escopos funcionam - Recurso do plano
- API e webhooks
apiVer os planos que incluem - Formato
- Próprio do Synergy. Erros em
{ "error": "…" }.
Parâmetros#
No caminho#
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| hook_id | string | obrigatório | O id do webhook. |
Cabeçalhos#
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Authorization | string | obrigatório | Sua chave de API, no formato Bearer <chave>. Veja Autenticação. |
Respostas#
| Status | Código | Quando acontece |
|---|---|---|
| 200 | — | Teste entregue |
| 401 | — | Chave revogada ou desconhecida |
| 401 | 190 | Chave malformada ou forjada |
| 403 | — | A chave não tem o escopo management |
| 403 | — | O plano da organização não inclui a API |
| 403 | — | A conta está em modo leitura ou suspensa por falta de pagamento |
| 404 | — | Webhook não encontrado |
| 413 | — | Corpo grande demais |
| 429 | — | Limite de taxa |
| 502 | — | A URL respondeu 500 |
Os erros no formato da Meta trazem o código em error.code. Ver todos os erros.
Corpo da resposta 200#
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| ok | true | obrigatório |
Limites de taxa#
- Gestão: 30 requisições a cada 60 s por chave (API_MGMT_LIMIT).
Notas#
- O teste é enviado mesmo que o webhook não assine
messages, e mesmo desativado. - Sem nenhum número ativo coberto, o evento sai com
phone_number_id000000000000000,entry[].id"0"e semX-Synergy-Instance-Id.
Requisição
curl
curl -X POST 'https://api.synergyconnect.com.br/v1/webhooks/7c1f0c7e-4b53-4c7b-9a51-3f6f0a2d9e10/test' \
-H "Authorization: Bearer $SYNERGY_API_KEY"JavaScript
const res = await fetch('https://api.synergyconnect.com.br/v1/webhooks/7c1f0c7e-4b53-4c7b-9a51-3f6f0a2d9e10/test', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SYNERGY_API_KEY}`,
},
});
console.log(res.status, await res.json());Python
import os
import requests
res = requests.post(
"https://api.synergyconnect.com.br/v1/webhooks/7c1f0c7e-4b53-4c7b-9a51-3f6f0a2d9e10/test",
headers={
"Authorization": f"Bearer {os.environ['SYNERGY_API_KEY']}",
},
)
print(res.status_code, res.json())Resposta
200
{
"ok": true
}401
{
"error": "Invalid or revoked key"
}Há 2 casos com este status; veja a tabela de respostas.
403
{
"error": "This key lacks the management scope"
}Há 3 casos com este status; veja a tabela de respostas.
404
{
"error": "Webhook not found"
}413
{
"error": "The body is too large (16 KB max)"
}429
{
"error": "Rate limit hit"
}502
{
"error": "The URL refused the test: HTTP 500"
}Ficou com dúvida? Escreva para suporte@synergyconnect.com.br.