Synergy Connect

Documentação

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#

No caminho
NomeTipoObrigatórioDescrição
hook_idstringobrigatórioO id do webhook.

Cabeçalhos#

Cabeçalhos
NomeTipoObrigatórioDescrição
AuthorizationstringobrigatórioSua chave de API, no formato Bearer <chave>. Veja Autenticação.

Respostas#

Respostas
StatusCódigoQuando acontece
200—Teste entregue
401—Chave revogada ou desconhecida
401190Chave 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#

Campos da resposta 200
NomeTipoObrigatórioDescrição
oktrueobrigató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_id 000000000000000, entry[].id "0" e sem X-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.