Synergy Connect

Documentação

Trocar o segredo de um webhook

POST/v1/webhooks/{hook_id}/rotate-secret

Gera um segredo novo para a assinatura das entregas — para quando o atual vazou. A resposta é a única vez em que ele aparece. O anterior deixa de valer assim que cada número recebe a troca (pending). Aceito também com a conta em modo leitura ou suspensa.

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—Segredo trocado
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
404—Webhook não encontrado
413—Corpo grande demais
429—Limite de taxa

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
secretstringobrigatórioO segredo novo. O anterior deixa de assinar assim que cada número recebe a alteração.
pendingintegerobrigatórioQuantos números ainda não receberam esta alteração. A Synergy repete o envio sozinha; 0 = já vale em todos.

Limites de taxa#

  • Gestão: 30 requisições a cada 60 s por chave (API_MGMT_LIMIT).

Notas#

  • A troca conta como alteração do webhook: recomeça a saúde dele em cada número (um webhook suspenso volta a receber).
Requisição

curl

curl -X POST 'https://api.synergyconnect.com.br/v1/webhooks/7c1f0c7e-4b53-4c7b-9a51-3f6f0a2d9e10/rotate-secret' \
  -H "Authorization: Bearer $SYNERGY_API_KEY"

JavaScript

const res = await fetch('https://api.synergyconnect.com.br/v1/webhooks/7c1f0c7e-4b53-4c7b-9a51-3f6f0a2d9e10/rotate-secret', {
  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/rotate-secret",
    headers={
        "Authorization": f"Bearer {os.environ['SYNERGY_API_KEY']}",
    },
)
print(res.status_code, res.json())
Resposta

200

{
  "secret": "1a3c5e7f9b0d2f4a6c8e0b2d4f6a8c0e",
  "pending": 0
}

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á 2 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"
}

Ficou com dúvida? Escreva para suporte@synergyconnect.com.br.