N’enregistrez que les événements dont vous avez besoin
Créez un endpoint avecPOST /v3/webhooks. Abonnez-vous uniquement aux événements documentés qui pilotent votre intégration. Cet exemple utilise transfer.state_changed.
data.id de la réponse en tant que WEBHOOK_ID. Ouvrez le portail renvoyé par GET /v3/webhooks/portal, récupérez le secret de signature de cet endpoint et stockez-le séparément de votre clé API dans un gestionnaire de secrets.
Vérifier avant l’analyse
Swipelux livre les nouvelles intégrations de webhooks via Svix. Vérifiez le corps brut de la requête avec le secret de signature de votre endpoint et ces en-têtes :svix-idsvix-timestampsvix-signature
Persister, acquitter, puis traiter
Placez une contrainte d’unicité sur l’id de l’enveloppe. Persistez l’enveloppe vérifiée, renvoyez 2xx rapidement, puis traitez-la de manière asynchrone.
Si l’ID d’événement existe déjà, acquittez la livraison sans répéter les effets secondaires terminés. Reprenez le travail local en attente ou en échec via votre propre file d’attente de nouvelles tentatives. N’utilisez pas le champ attempt de l’enveloppe comme clé de déduplication ou compteur de nouvelles tentatives de transport.
Récupérer l’état actuel
L’ordre des webhooks n’est pas un historique de ressources faisant autorité. Utilisezresource.type et resource.id pour localiser l’objet, puis récupérez son état actuel avant de mettre à jour votre système.
Pour un événement de transfert, appelez GET /v3/transfers/{transferId} :
Récupérer les livraisons
UtilisezGET /v3/webhooks/portal pour ouvrir les journaux de livraison, réessayer les livraisons ayant échoué ou démarrer une relecture manuelle.
Chaque relecture doit passer par la même vérification de signature et par la même boîte de réception durable. Pour récupérer après une panne, relisez la fenêtre affectée et récupérez chaque ressource référencée. Les IDs d’événements terminés restent sans effet ; les enregistrements incomplets reprennent de manière asynchrone.
Ensuite, vérifiez les livraisons dupliquées et hors ordre en sandbox, puis complétez la checklist Mise en production.