Ce webhook est appelé à chaque événement de notification d'un message texte, d'un courriel ou d'un message WhatsApp lié à une demande de paiement ou à un abonnement : lorsqu'il est envoyé, livré, lu, retardé ou qu'il échoue, et lorsque le client clique sur le lien de paiement. Le format de données suivant sera envoyé par POST à l'URL du webhook fournie.
Dans la version 4.0 du webhook, les références site et d'enregistrement sont de simples identifiants. Les versions antérieures envoient plutôt un objet contenant les identifiants externes destinés au marchand; un site migré vers la version 4.0 verra donc cette structure changer.
Le champ message est une phrase lisible par un humain plutôt qu'un code, et sa formulation ne fait pas partie du contrat de l'API. Un envoi se lit comme « Payment Request sent to customer@example.com », une mise à jour d'état ultérieure comme « Sms to +15555550100 delivered » et un clic comme « Customer clicked the text link ». Basez votre intégration sur le booléen error et sur les identifiants des enregistrements, pas sur la formulation.
Chacun de ces événements envoie son propre webhook. La charge utile ne nomme pas l'événement : error vaut true pour une livraison échouée ou partiellement échouée et false pour tout autre événement, et message décrit l'événement pour qu'une personne puisse le lire.
sentfalsedeliveredfalsereadfalsedelayedfalseclickedfalsepartialtruefailedtrue
{
"action": "notification",
"data": {
"site": "6201825a0cf5e23261a08646",
"invoice": "649dc5bb468bd5b5d863c7d2",
"message": "Customer clicked the text link",
"error": false
}
}
{
"action": "notification",
"data": {
"site": "6201825a0cf5e23261a08646",
"invoice": "649dc5bb468bd5b5d863c7d2",
"message": "Text to 18001231245 failed",
"error": true
}
}