ID du message (anciennement SMS ID)
Chaque message envoyé via BulkGate reçoit son propre ID du message. C'est la seule valeur qui nous permet de retrouver un message précis — dans le portail, dans la réponse de l'API et chez le prestataire de livraison. Il s'appelait auparavant SMS ID ; il s'agit de la même valeur, simplement renommée entre-temps, car nous n'envoyons plus seulement des SMS depuis longtemps.
Qu'est-ce que l'ID du message
L'ID du message est un identifiant textuel d'un message destiné à un destinataire.
- BulkGate l'attribue automatiquement dès qu'il accepte le message. Vous ne pouvez ni le choisir, ni le modifier par la suite.
- Il correspond à un message pour un numéro. L'envoi d'une campagne à mille numéros crée mille valeurs d'
ID du messagedifférentes, et non une seule valeur commune. - Sa forme varie selon l'interface par laquelle vous envoyez. Considérez-le comme une chaîne opaque — n'en déduisez ni la date, ni le canal, ni quoi que ce soit d'autre, et n'essayez jamais d'en construire un vous-même.
Si vous devez marquer des messages avec une valeur qui vous est propre — un numéro de commande, un identifiant client — c'est à cela que sert l'Étiquette (TAG), et non l'ID du message. La différence est décrite dans En quoi il diffère des autres identifiants.
Pourquoi il s'appelait auparavant SMS ID
Le nom SMS ID date de l'époque où BulkGate n'envoyait que des SMS. Aujourd'hui, Viber, WhatsApp et RCS empruntent le même chemin, l'identifiant s'appelle donc ID du message — dans le portail et dans les interfaces plus récentes.
Les anciennes API n'ont toutefois pas renommé leur champ, afin de ne pas casser les intégrations existantes :
| Où | Nom du champ |
|---|---|
| Portail | ID du message |
Simple API, Advanced API version 1.0 |
sms_id |
Advanced API version 2.0, Integration API, mots de passe à usage unique |
message_id |
| Confirmation de livraison (webhook) | smsID |
Dans tous les cas, il s'agit de la même valeur. Si vous prenez le sms_id d'une réponse de la Simple API et que vous le recherchez dans l'historique sous ID du message, vous trouverez exactement ce message.
Où trouver l'ID dans le portail
- Dans le menu, cliquez sur
Rapports - Cliquez sur
Historique - Cliquez sur la ligne du message — le détail se déplie
- L'
ID du messagese trouve à droite du détail ; un clic sélectionne toute la valeur pour que vous puissiez la copier
Cela fonctionne aussi dans l'autre sens : si vous avez déjà l'ID du message et souhaitez retrouver le message correspondant, ouvrez Filtre au-dessus du tableau et collez la valeur dans le champ ID du message. La même valeur figure dans l'export de l'historique au format CSV.
Ce qu'affiche l'historique et comment le filtrer est décrit dans Historique.
Le texte du message n'est pas conservé indéfiniment dans l'historique — pour les enregistrements plus anciens, Le texte du message a expiré s'affiche à sa place. L'ID du message et les autres informations sont conservés.
Où trouver l'ID dans la réponse de l'API
Les interfaces renvoient l'ID du message directement dans la réponse à la requête d'envoi — c'est le seul moment où vous l'obtenez par programmation, enregistrez-le donc dès cette étape.
| Interface | Nom du champ |
|---|---|
| Simple API | sms_id |
| Advanced API `1.0` | sms_id |
| Advanced API `2.0` | message_id |
| Integration API | message_id |
| Mots de passe à usage unique | message_id |
En plus, chacune d'elles renvoie aussi un tableau part_id — décrit dans Qu'est-ce que part_id.
Lors d'un envoi en masse, la réponse contient un tableau response avec un enregistrement distinct pour chaque destinataire. L'ID du message se termine alors par le numéro d'ordre du message dans le lot :
Qu'est-ce que part_id
Un SMS long n'est pas transmis au réseau de l'opérateur d'un seul tenant — il est divisé en plusieurs messages distincts que le téléphone du destinataire rassemble ensuite. Chacune de ces parties a son propre ID, et part_id en est la liste. Quand et pourquoi un message est divisé est décrit dans Concaténation des messages.
Le tableau suit trois règles :
- Le dernier élément correspond toujours à l'
ID du message— il n'a pas de suffixe. - Les parties précédentes portent le suffixe
_1,_2et ainsi de suite, dans l'ordre d'assemblage du message. - Un message qui n'a pas été divisé a un seul élément dans
part_id, identique à l'ID du message. C'est le cas de chaque SMS en une seule partie ainsi que de tous les messages Viber, WhatsApp et RCS — ceux-ci ne sont jamais divisés en parties.
La réponse pour un SMS divisé en trois parties ressemble donc à ceci :
Chaque partie est facturée comme un SMS distinct. Le nombre d'éléments dans part_id correspond donc aussi au nombre de messages que vous payez — trois dans l'exemple ci-dessus, alors que vous n'en avez envoyé qu'un.
Pour associer les réponses et les confirmations de livraison, l'ID du message suffit. Le part_id est utile lorsque vous voulez savoir, dès l'envoi, en combien de parties le message a été divisé, sans attendre qu'il apparaisse dans l'historique.
Où trouver l'ID dans un webhook
La confirmation de livraison arrive à l'adresse que vous avez définie, et l'ID du message se trouve dans son paramètre smsID. Utilisez-le pour associer la confirmation au message que vous avez envoyé.
- Individuellement, la requête arrive en
GETavec les valeurs dans la chaîne de requête (query string) — voir Confirmation de livraison. - En masse, une seule requête
POSTarrive avec un tableau d'enregistrements enJSON— voir Confirmation de livraison groupée.
L'endroit où définir l'adresse de confirmation de livraison est décrit dans Webhooks.
Un même message peut déclencher plusieurs confirmations avec le même smsID — le statut 2 signifie que le message est en file d'attente chez l'opérateur et que le résultat arrivera plus tard. Attendez-vous à voir la même valeur plus d'une fois.
Les messages entrants et les réponses, que vous reconnaissez au status de valeur 10, ne comportent pas de paramètre smsID. Il ne s'agit pas d'une confirmation pour un message que vous avez envoyé, mais d'un nouveau message du destinataire.
À quoi sert l'ID du message
- Signaler un problème de livraison. Sans l'
ID du message, nous ne pouvons pas retrouver un message précis chez le prestataire de livraison. La procédure complète est décrite dans Le message n'a pas été remis — vous pouvez joindre jusqu'à trois valeurs d'ID du messagedifférentes à un même signalement. - Association dans votre propre système. Enregistrez l'
ID du messageissu de la réponse de l'API avec la commande ou le client, et faites-y correspondre les confirmations de livraison entrantes grâce au paramètresmsID. - Retrouver un message dans l'historique. L'
ID du messageest le seul filtre qui mène à exactement un message ; par numéro ou par campagne, vous en trouverez plusieurs.
En quoi il diffère des autres identifiants
Le détail du message dans l'historique affiche d'autres identifiants à côté de l'ID du message. Ils sont faciles à confondre, mais chacun répond à une question différente :
| Identifiant | Ce qu'il identifie | Qui le définit |
|---|---|---|
ID du message |
Un message pour un destinataire | BulkGate |
ID de la campagne |
Toute une campagne, c'est-à-dire tous les messages envoyés ensemble | BulkGate |
Étiquette (TAG) |
Tout ce que vous marquez vous-même — une commande, un client, une exécution de script | Vous |
Application ID |
L'application depuis laquelle le message a été envoyé | BulkGate |
L'Étiquette (TAG) est le seul d'entre eux que vous définissez vous-même. Si vous la renseignez lors de l'envoi, vous pourrez ensuite filtrer l'historique en fonction d'elle sans connaître aucun ID du message — pratique lorsque vous devez retrouver tous les messages liés à une même commande.
Merci pour votre retour.