Les Webhooks sont la solution parfaite pour recevoir des informations en temps réel. ShippyPro vous offre la possibilité de recevoir des étiquettes, des mises à jour de suivi et des messages d'erreur de commande presque instantanément. ✨
Sommaire:
Apprenez-en davantage sur nos API dans notre documentation sur les API.
1. Connecter le Webhook
Tout d'abord, allez dans Intégrations et API > API et cliquez sur Ajouter un Webhook.
Saisissez ensuite l'URL du serveur sur lequel vous souhaitez recevoir toutes les informations relatives à l'événement ou aux événements spécifiques de la liste ci-dessous.
Vous pourrez choisir entre : Commande expédiée, Erreur de commande et Mises à jour du suivi.
Ensuite, saisissez votre nom d'utilisateur et votre mot de passe pour l'authentification côté serveur de votre Webhook. Note : l'authentification n'est pas une étape obligatoire.
Si votre serveur ne l'a pas, vous pouvez décider de ne pas l'inclure.
Une fois ajouté, décidez si vous voulez activer l'option Réessayer en cas d'échec des Webhooks.
Vous pouvez également définir jusqu'à 10 tentatives de renvoi.
Enfin, décidez d'appliquer un en-tête personnalisé : qu'est-ce que c'est ?
💡 Les en-têtes personnalisés donnent la possibilité d'authentifier vos demandes de Webhooks et de rejeter celles qui ne contiennent pas ces en-têtes personnalisés.
Activez cette option si vous souhaitez une mesure de sécurité supplémentaire.
Définissez ensuite une clé et une valeur de l'en-tête pour terminer la configuration.
Lorsque votre Webhook sera connecté, vous pourrez soit le modifier, le supprimer ou le tester.
En cliquant sur Test, vous pourrez afficher toutes les informations transmises :
{
"Event": "TRACKING_UPDATE",
"tracking": "WZ116539070",
"date": 1622671204,
"message": "Shipment delivered,
"city": "Florence",
"est_delivery_date": "0",
"first_status_date": "1622152801",
"late": "0",
"code": 6,
"OrderID": "24957298",
"TransactionID": "48572_1",
"TrackingCarrier": "FedEx",
"MarketplaceID": "0",
"MarketplacePlatform": "Manual shipment",
"ExternalLink": "",
"FromAddressCompany": "John Doe srl.",
"ToAddressCompany": "",
"FromAddressCountry": "IT",
"ToAddressCountry": "IT"
}
📌 À la première connexion d'un nouveau endpoint, ShippyPro envoie toujours le webhook order_shipped, même si l'event choisi est différent.
En cliquant sur Afficher les connexions des Webhooks, vous trouverez une liste de toutes vos connexions. Pour les filtrer par Point d'accès, Événement, Résultat ou Renvoi, vous n'aurez qu'à cliquer sur les filtres spécifiques.
Voici les informations que vous pourrez afficher dans cette section :
Date
Date de fin
ID Commande
ID Transaction
Transporteur
Point d'accès
Événement
Résultat
Renvoi
Délai écoulé
Requête
Réponse
📌 Remarque : les Webhooks fonctionnent aussi sur les retours !
📌 Les fichiers de Webhooks sont au format Json.
2. Erreurs & Troubleshooting
Je suis en train de connecter des webhooks et je reçois "HTTP response must be in JSON format. Please Retry" dans la réponse
Généralement, l'erreur apparaît si le type de contenu de la réponse n'a pas été défini comme application/json. Vous devez vous assurer que la réponse est formatée en application/json ou bien renvoyer un code HTTP 204 sans corps de réponse.
Lorsque j'envoie un webhook à mon serveur, je reçois la réponse suivante : {"success":false, "reason" : "CSRF token mismatch"}
Il s'agit d'une erreur généralement causée par un pare-feu qui a bloqué la réception du webhook.
Assurez-vous d'avoir supprimé le blocage de notre IP et essayez de faire un nouvel appel API.
En général, le test du webhook ne passe que si :
code HTTP entre 200 et 300 + réponse en json
ou
code HTTP 204 (pas de résultat) et réponse non json
Vous trouverez ici une liste des statuts qui peuvent être affichés ainsi que leur signification:
1×× Information
2×× Succès
3×× Redirection
4×× Erreur Client
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Payload Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed
418 I'm a teapot
421 Misdirected Request
422 Unprocessable Entity
423 Locked
424 Failed Dependency
426 Upgrade Required
428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
444 Connection Closed Without Response
451 Unavailable For Legal Reasons
499 Client Closed Request
5×× Erreur Serveur
Si l'erreur que vous recevez est le code de réponse HTTP response code is 500, it must be 200, l'erreur 500 indique que le webhook ajouté est inaccessible.
Le code de statut HTTP 500 est une réponse d'erreur générique. Cela signifie que le serveur a rencontré une condition inattendue qui l'a empêché de répondre à la demande, c'est-à-dire que le serveur est inaccessible.
Si vous avez besoin de plus d'informations sur le fonctionnement de la tarification, consultez notre page de tarification. 🚀