Définir les webhooks
En suivant le cycle de vie d'un objet (commande, enregistrement, remboursement...), vous êtes ainsi à même de réagir en déclenchant de nouveaux événements, de nouveaux appels, etc.
Les webhooks vous permettent d'être automatiquement notifié lors du changement de statut de l’objet concerné, sans passer par des requêtes GET régulières.
Pour des raisons de sécurité, le webhook est réduit à sa plus simple expression, inexploitable en l'absence d'un accès authentifié à l'API. Il s'agit d'une requête POST dont le corps s'exprime de la manière suivante :
{"order":"dd5e4c4c-2c07-4af8-ae30-15f4c6d5b5e5"}
Il vous appartient, à la réception de ce webhook, d'interroger l'objet en question depuis la ressource correspondante mise à votre disposition, et de prendre ainsi connaissance du nouveau statut.
Par exemple, à la suite du webhook ci-dessus qui signale une évolution du statut de la commande (order) dd5e4c4c-2c07-4af8-ae30-15f4c6d5b5e5, vous pourrez appeler et obtenir le nouveau statut par la requête :
En temps normal, le webhook parvient au serveur de la marketplace quelques secondes après la mutation de l'état. En cas d'erreur à l'envoi (réseau indisponible, par exemple), il peut être réexpédié jusqu'à 2 fois supplémentaires, soit, 3 fois en tout, à 15 minutes d'intervalle.
Le webhook n'est pas répété en cas d'erreur à la réception (par exemple: si votre serveur renvoie un statut 400, 404, 500, etc.). Pour éviter les erreurs les plus courantes, un contrôle d'envoi et de réception est effectué au moment de l'enregistrement du webhook.
- définir le (ou les) adresse(s) qui recevront la notification ;
- connaître les webhooks accessibles, et ceux actuellement définis sur votre marketplace ;
- enregistrer, modifier et supprimer vos webhooks.