Panoramica dell'api webhook: integrazione e automazione

Webhook

Usa i webhook per ricevere subito nel tuo sistema gli eventi dei messaggi.

Sono disponibili due tipi di webhook:

  1. Webhook dello stato di consegna per i messaggi in uscita.
  2. Webhook dei messaggi in arrivo per SMS e altri canali supportati.

1. Webhook dello stato di consegna

Configura questo webhook nelle impostazioni del dispositivo per ricevere aggiornamenti di stato senza interrogare l'API.

{
  "sms_id": int,
  "status_id": int,
  "status_message": string,
  "sendto": string,
  "senttime": datetime,
  "channel_id": int,
  "device_id": int
}
  • 1 - SMS in sospeso
  • 2 - SMS prelevati dal telefono
  • 3 - In coda per l'invio. 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 in arrivo
  • 6 - SMS inviati dal telefono
  • 7 - L'SMS è stato consegnato
  • 8 - L'SMS NON è stato consegnato
  • 9 - L'SMS non è stato inviato affatto - Generic Failure. (Leggi cosa fare con questo errore qui)
  • Altri errori, meno frequenti:
  • 10 - SMS non inviato - No Service
  • 11 - SMS non inviato - Null PDU
  • 12 - SMS non inviato - Radio Off
  • 100, 101 - SMS non inviato - NOT ALLOWED. (All'applicazione non sono state concesse le autorizzazioni per inviare SMS)

2. Webhook dei messaggi in arrivo

Configura questo webhook per inoltrare i messaggi in arrivo al tuo CRM, helpdesk o backend.

Il payload include un campo "type" che indica se il messaggio in arrivo è un testo o un'immagine (ad es. da WhatsApp).

Messaggio di testo (type = "text")

Inviato per gli SMS in arrivo e i messaggi di testo in arrivo da 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"
}

Messaggio con immagine (type = "img")

Inviato per le immagini in arrivo da WhatsApp / WhatsApp Business. L'immagine è già caricata sul nostro storage S3: il tuo backend deve solo salvare l'URL, senza scaricare e ricaricare il file.

{
  "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/..."
}

Note:

  • "img_url" è un link pubblico permanente all'immagine archiviata nel nostro bucket S3.
  • Nei messaggi con immagine "body" è vuoto e "internal_id" è null: usa "sms_id" come identificatore univoco.
  • L'URL del webhook viene presa dalla stessa impostazione di slot del canale usata per i messaggi di testo (WhatsApp = slot 3, WhatsApp Business = slot 2).
La disponibilità dei webhook dipende dal tuo piano di abbonamento.