La vie d'un message
Après votre envoi, chaque destinataire est mis en file d'attente et facturé, puis confié à une route opérateur (envoyé). L'opérateur indique ensuite si le téléphone l'a reçu (remis) ou non (échoué).
Quand arrivent les rapports
La plupart des rapports arrivent en quelques secondes ou quelques minutes. Certains opérateurs les transmettent tard, voire jamais ; un message sans rapport reste au statut envoyé.
Remboursements
Un message échoué est automatiquement remboursé sur votre solde. Chaque remboursement apparaît dans l'historique de votre solde, avec l'identifiant du message.
Recevoir les webhooks
Ajoutez une adresse https sur la page de la clé API. Lorsqu'un message est remis ou échoue, nous envoyons en POST un corps JSON contenant l'identifiant du message, le numéro, le statut, le prix et votre ref. Répondez avec n'importe quel statut 2xx ; sinon, nous réessayons jusqu'à 8 fois sur environ deux heures.
Vérifier la signature
Chaque webhook contient X-PortSMS-Signature: t=<time>,v1=<hex>. Calculez le HMAC-SHA256 du texte t.body avec votre secret de signature et comparez-le à v1. Refusez les requêtes de plus de cinq minutes afin qu'une ancienne requête ne puisse pas être rejouée.