Visão geral da api de webhooks: integração e automação

Webhooks

Use webhooks para receber imediatamente os eventos de mensagens no seu sistema.

Estão disponíveis dois tipos de webhook:

  1. Webhook do estado de entrega para mensagens enviadas.
  2. Webhook de mensagens recebidas para SMS e outros canais suportados.

1. Webhook do estado de entrega

Configure este webhook nas definições do dispositivo para receber atualizações de estado sem consultar a API.

{
  "sms_id": int,
  "status_id": int,
  "status_message": string,
  "sendto": string,
  "senttime": datetime,
  "channel_id": int,
  "device_id": int
}
  • 1 - SMS pendentes
  • 2 - SMS recolhidos pelo telemóvel
  • 3 - Em fila para envio. Certainly, it would have been more logical to place the status "queued for sending" before "SMS taken by phone," but for backward compatibility, the statuses are in the following order: 1, 3, 2."
  • 5 - SMS recebidos
  • 6 - SMS enviados pelo telemóvel
  • 7 - O SMS foi entregue
  • 8 - O SMS NÃO foi entregue
  • 9 - O SMS não chegou a ser enviado - Generic Failure. (Leia o que fazer com este erro aqui)
  • Outros erros, menos frequentes:
  • 10 - SMS não enviado - No Service
  • 11 - SMS não enviado - Null PDU
  • 12 - SMS não enviado - Radio Off
  • 100, 101 - SMS não enviado - NOT ALLOWED. (Não foram concedidas à aplicação as permissões para enviar SMS)

2. Webhook de mensagens recebidas

Configure este webhook para encaminhar as mensagens recebidas para o seu CRM, helpdesk ou backend.

O payload inclui um campo "type" que indica se a mensagem recebida é um texto ou uma imagem (por ex., do WhatsApp).

Mensagem de texto (type = "text")

Enviado para os SMS recebidos e as mensagens de texto recebidas do WhatsApp / WhatsApp Business / RCS.

{
  "address": string,
  "date": datetime,
  "date_sent": datetime,
  "body": string,
  "internal_id": int,
  "channel_id": int,
  "sms_id": int,
  "device_id": int,
  "device_name": string,
  "type": "text"
}

Mensagem com imagem (type = "img")

Enviado para as imagens recebidas do WhatsApp / WhatsApp Business. A imagem já está carregada no nosso armazenamento S3 — o seu backend só precisa de guardar o URL, sem transferir e voltar a carregar o ficheiro.

{
  "address": string,
  "date": datetime,
  "date_sent": datetime,
  "body": "",
  "internal_id": null,
  "sim": int,
  "sms_id": int,
  "type": "img",
  "img_url": "https://smsgateway24.s3.eu-central-1.amazonaws.com/..."
}

Notas:

  • "img_url" é uma ligação pública permanente para a imagem armazenada no nosso bucket S3.
  • Nas mensagens com imagem, "body" está vazio e "internal_id" é null — use "sms_id" como identificador único.
  • O URL do webhook é obtido da mesma definição de ranhura de canal que as mensagens de texto (WhatsApp = ranhura 3, WhatsApp Business = ranhura 2).
A disponibilidade dos webhooks depende do seu plano de subscrição.