Pular para o conteúdo
GET/webhooks

Listar webhooks

webhooks:gerir

GET /webhooks

curl "https://chat.forsi.com.br/api/v1/webhooks" \
  -H "Authorization: Bearer $FORSI_CHAVE"
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}
    }
  ]
}

Resposta#

200 com {"dados": ...}: uma lista de Webhook.

  • iduuidopcional
    —
  • nomestringopcional
    —
  • urlstringopcional
    —
  • eventoslista de "mensagem.recebida" | "mensagem.enviada" | "mensagem.status" | "conversa.criada" | "conversa.atribuida" | "conversa.encerrada" | "contato.criado" | "negocio.criado" | "negocio.movido" | "negocio.ganho" | "negocio.perdido" | "agendamento.criado" | "agendamento.remarcado" | "agendamento.cancelado" | "agendamento.confirmado" | "membro.convidado" | "membro.entrou" | "membro.alterado" | "membro.removido"opcional
    —
  • ativobooleanopcional
    —
  • segredo_dicastringopcional
    • ex.: …a1B2c3
  • segredo_anterior_atedata e hora ISO 8601 ou nullopcional
    —
  • falhas_seguidasintegeropcional
    —
  • falhando_desdedata e hora ISO 8601 ou nullopcional
    —
  • desativado_emdata e hora ISO 8601 ou nullopcional
    —
  • motivo_desativacaostring ou nullopcional
    —
  • ultima_entrega_emdata e hora ISO 8601 ou nullopcional
    —
  • ultimo_statusinteger ou nullopcional
    —
  • criado_emdata e hora ISO 8601opcional
    —
  • atualizado_emdata e hora ISO 8601opcional
    —
  • entregas_24hobjectopcional
    —
  • entregas_24h.entreguesintegeropcional
    —
  • entregas_24h.falhasintegeropcional
    —
  • entregas_24h.pendentesintegeropcional
    —

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.
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.