Webhooks

Configure webhooks para receber notificacoes HTTP em tempo real quando eventos ocorrem.

Para guia detalhado de implementacao, veja o Guia de Webhooks.

GET/api/v1/accounts/{account_id}/webhooks

Lista todos os webhooks configurados na conta.

bash
curl -s "https://chat.seudominio.com/api/v1/accounts/1/webhooks" \
  -H "api_access_token: YOUR_TOKEN" | jq .
200Lista de webhooks
json
{
  "payload": [
    {
      "id": 1,
      "account_id": 1,
      "url": "https://meuapp.com/webhooks/chat",
      "subscriptions": [
        "conversation_created",
        "message_created",
        "contact_created"
      ]
    }
  ]
}
POST/api/v1/accounts/{account_id}/webhooks

Registra um novo webhook para receber eventos.

Body (envolto em objeto webhook)

NomeTipoObrigatorioDescricao
urlstringSimURL HTTPS que recebera os eventos via POST
subscriptionsarraySimLista de eventos para receber (ver tabela de Eventos Disponiveis)
namestringNaoNome descritivo do webhook
inbox_idintegerNaoID da inbox para webhooks do tipo inbox

Parametros aninhados

Os campos do webhook devem ser enviados dentro de um objeto webhook: { "webhook": { "url": "...", "subscriptions": [...] } }.

curl -X POST "https://chat.seudominio.com/api/v1/accounts/1/webhooks" \
  -H "api_access_token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "webhook": {
      "url": "https://meuapp.com/webhooks/noovichat",
      "subscriptions": [
        "conversation_created",
        "conversation_status_changed",
        "message_created",
        "contact_created"
      ]
    }
  }'
200Webhook criado
json
{
  "id": 2,
  "url": "https://meuapp.com/webhooks/noovichat",
  "subscriptions": ["conversation_created", "message_created"]
}
PATCH/api/v1/accounts/{account_id}/webhooks/{webhook_id}

Atualiza a URL ou subscriptions de um webhook.

Body

NomeTipoObrigatorioDescricao
urlstringNaoNova URL do webhook
subscriptionsarrayNaoNova lista de eventos
bash
curl -X PATCH "https://chat.seudominio.com/api/v1/accounts/1/webhooks/2" \
  -H "api_access_token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "webhook": {
      "subscriptions": [
        "conversation_created",
        "message_created",
        "contact_updated"
      ]
    }
  }'
DELETE/api/v1/accounts/{account_id}/webhooks/{webhook_id}

Remove um webhook. Eventos nao serao mais enviados para a URL.

bash
curl -X DELETE "https://chat.seudominio.com/api/v1/accounts/1/webhooks/2" \
  -H "api_access_token: YOUR_TOKEN"

Eventos Disponiveis

EventoDescricao
conversation_createdNova conversa criada
conversation_updatedConversa atualizada
conversation_status_changedStatus da conversa alterado
conversation_typing_onIndicador de digitacao iniciado
conversation_typing_offIndicador de digitacao encerrado
message_createdNova mensagem recebida ou enviada
message_updatedMensagem atualizada
contact_createdNovo contato criado
contact_updatedDados do contato atualizados
webwidget_triggeredWidget de chat acionado no site
inbox_createdNova inbox criada
inbox_updatedInbox atualizada

Payload do Webhook

Cada evento envia um payload JSON com os dados do evento. O campo event identifica o tipo de evento. Veja exemplos no Guia de Webhooks.

Eventos de Atendimentos

Requer feature flag appointments_module ativa.

Evento (campo event no payload)Descricao
appointment_createdNovo atendimento agendado
appointment_updatedDados do atendimento atualizados
appointment_confirmedAtendimento confirmado
appointment_completedAtendimento marcado como realizado
appointment_cancelledAtendimento cancelado
appointment_no_showCliente nao compareceu
appointment_rescheduledReagendamento realizado
reminder_sentLembrete enviado com sucesso
reminder_failedFalha no envio do lembrete
professional_createdProfissional criado
professional_updatedProfissional atualizado
service_createdServico criado
service_updatedServico atualizado

Nomes de subscription para eventos de atendimento

Os eventos de atendimento sao entregues com o campo event no formato sublinhado (ex: appointment_created), mas a validacao de subscriptions no cadastro do webhook aceita esses eventos no formato com ponto (ex: appointment.created). Os eventos professional.created, professional.updated, service.created e service.updated tambem sao suportados na validacao. Nao existem eventos de exclusao (professional_deleted / service_deleted).

Payloads de Lembrete

Os eventos reminder_sent e reminder_failed sao entregues com um payload simples (campos diretos, sem objetos aninhados).

Payload — reminder_sent

json
{
  "event": "reminder_sent",
  "account_id": 1,
  "reminder_id": 88,
  "appointment_id": 42,
  "sent_at": "2026-06-14T10:00:00.000Z"
}

Payload — reminder_failed

json
{
  "event": "reminder_failed",
  "account_id": 1,
  "reminder_id": 88,
  "appointment_id": 42,
  "last_error": "Numero invalido ou fora de cobertura"
}