Aperçu de l'api webhook : intégration et automatisation

Webhooks

Utilisez les webhooks pour recevoir immédiatement les événements de messages dans votre système.

Deux types de webhooks sont disponibles :

  1. Webhook de statut de livraison pour les messages sortants.
  2. Webhook de messages entrants pour les SMS et les autres canaux pris en charge.

1. Webhook du statut de livraison

Configurez ce webhook dans les paramètres de l'appareil pour recevoir les mises à jour de statut sans interroger l'API.

{
  "sms_id": int,
  "status_id": int,
  "status_message": string,
  "sendto": string,
  "senttime": datetime,
  "channel_id": int,
  "device_id": int
}
  • 1 - SMS en attente
  • 2 - SMS pris en charge par le téléphone
  • 3 - En file d'attente pour l'envoi. 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 entrants
  • 6 - SMS envoyés par le téléphone
  • 7 - Le SMS a été livré
  • 8 - Le SMS n'a PAS été livré
  • 9 - Le SMS n'a pas été envoyé du tout — Generic Failure. (Découvrez quoi faire face à cette erreur ici)
  • Autres erreurs, moins fréquentes:
  • 10 - SMS non envoyé - No Service
  • 11 - SMS non envoyé - Null PDU
  • 12 - SMS non envoyé - Radio Off
  • 100, 101 - SMS non envoyé - NOT ALLOWED. (Les autorisations d'envoi de SMS n'ont pas été accordées à l'application)

2. Webhook de messages entrants

Configurez ce webhook pour transférer les messages entrants vers votre CRM, votre helpdesk ou votre backend.

La charge utile comprend un champ « type » indiquant si le message entrant est un texte ou une image (par ex. depuis WhatsApp).

Message texte (type = « text »)

Envoyé pour les SMS entrants et les messages texte entrants de 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"
}

Message image (type = « img »)

Envoyé pour les images entrantes de WhatsApp / WhatsApp Business. L'image est déjà téléversée sur notre stockage S3 — votre backend n'a qu'à stocker l'URL, sans télécharger ni re-téléverser le fichier.

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

Remarques :

  • « img_url » est un lien public permanent vers l'image stockée dans notre bucket S3.
  • Pour les messages image, « body » est vide et « internal_id » vaut null — utilisez « sms_id » comme identifiant unique.
  • L'URL du webhook provient du même paramètre d'emplacement de canal que pour les messages texte (WhatsApp = emplacement 3, WhatsApp Business = emplacement 2).
La disponibilité des webhooks dépend de votre formule d'abonnement.