Pular para o conteúdo
POST/webhooks/{id}/rotacionar

Trocar o segredo

webhooks:geriraceita Idempotency-Key

Gera um segredo novo (mostrado uma vez; repetir com a mesma Idempotency-Key não gira de novo nem repete o segredo). Durante a graça as entregas levam as duas assinaturas.

POST /webhooks/{id}/rotacionar

curl -X POST "https://chat.forsi.com.br/api/v1/webhooks/506b7dac-d0bc-4954-8d45-0015588d64b5/rotacionar" \
  -H "Authorization: Bearer $FORSI_CHAVE" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: pedido-4821" \
  -d '{"horas":24}'
Resposta 200
{
  "dados": {
    "id": "506b7dac-d0bc-4954-8d45-0015588d64b5",
    "nome": "CRM",
    "url": "https://seu-sistema.com.br/webhooks/forsi",
    "eventos": ["mensagem.recebida"],
    "ativo": true,
    "segredo_dica": "…a1B2c3",
    "segredo_anterior_ate": "2026-10-04T13:05:12.481Z",
    "falhas_seguidas": 0,
    "falhando_desde": "2026-10-04T13:05:12.481Z",
    "desativado_em": "2026-10-04T13:05:12.481Z",
    "motivo_desativacao": "falhas_seguidas",
    "ultima_entrega_em": "2026-10-04T13:05:12.481Z",
    "ultimo_status": 200,
    "criado_em": "2026-10-04T13:05:12.481Z",
    "atualizado_em": "2026-10-04T13:05:12.481Z",
    "entregas_24h": {"entregues":42,"falhas":0,"pendentes":0},
    "segredo": "whsec_EXAMPLE"
  }
}

Parâmetros no caminho#

  • iduuidobrigatório

    No caminho da URL.

Corpo da requisição#

JSON, opcional. Mande com Content-Type: application/json.

  • horasintegeropcional

    Quanto tempo o segredo antigo ainda assina junto (0 a 168, padrão 24).

Resposta#

200 com {"dados": ...}: WebhookComSegredo.

Erros#

Todo erro vem como {"erro": {"codigo", "mensagem"}}. Trate pelo codigo: ele não muda.

Status de erro desta operação
StatusQuando
401Chave ausente ou inválida (resposta igual para qualquer motivo).
403Plano sem API, escopo insuficiente ou https/origem recusados.
404Não existe nesta organização.
409Conflito (repetido, Idempotency-Key com outro corpo).
422Dados inválidos ou regra de negócio (ex.: janela_fechada; conta_restrita = a Meta restringiu a conta por spam: erro traz os campos de RestricaoMeta, como ate, escopo, motivo e retry_after_s).
429Limite de requisições. Veja Retry-After.
Códigos de erro que esta área pode devolver12
  • webhook_inexistenteWebhook não encontrado.
  • entrega_inexistenteEntrega não encontrada.
  • webhook_desativadoEste webhook está desativado. Reative com PATCH {"ativo": true}.
  • entrega_em_andamentoEsta entrega ainda está em andamento.
  • entrega_ja_despachadaEsta entrega já saiu uma vez e não é repetida (entrega única, sem duplicar). Só entregas que nunca saíram podem ser reenviadas.
  • url_invalidaURL inválida: use https://, porta 443 e um nome de domínio público.
  • destino_bloqueadoEsse endereço aponta para uma rede interna ou reservada. Use um endereço público.
  • dns_falhouNão conseguimos resolver esse domínio. Confira o endereço.
  • eventos_invalidosAlgum evento não existe. Veja a lista na documentação.
  • limite_de_webhooksLimite de 10 webhooks por organização.
  • nome_invalidoNome deve ter de 1 a 60 caracteres.
  • graca_invalidahoras deve ser de 0 a 168.

Os erros que valem para qualquer rota (chave, limite, JSON) estão em Erros.