Skip to main content
Un canal personnalisé permet à votre propre boutique en ligne, à votre ERP ou à toute autre source de commandes que vous contrôlez d’envoyer des commandes dans Zippendo, quand il n’existe pas de connexion prête à l’emploi. Il fonctionne dans les deux sens :
  • Envoyer les commandes : votre système envoie des événements webhook signés à l’URL d’ingestion propre au canal, ou appelle l’API REST (SDK officiels disponibles).
  • Recevoir les retours : abonnez-vous aux webhooks sortants de Zippendo (shipment.dispatched, tracking.updated et d’autres) pour recevoir les numéros de suivi et les changements de statut.

1. Créer le canal

Dans app.zippendo.com, cliquez sur Canaux de vente, ouvrez l’onglet Catalogue et cliquez sur Créer un canal sur la carte Canal personnalisé. Ou créez-le via l’API :

2. Générer le secret de signature

Sur la page des paramètres du canal, cliquez sur Générer un secret, ou appelez POST /orgs/{orgId}/order-channels/{channelId}/webhook-secret. La réponse contient l’URL d’ingestion et le secret :
Le secret n’est affiché qu’une seule fois. Stockez-le dans la configuration de votre système. Remplacer le secret en crée un nouveau et arrête immédiatement l’ancien. Le révoquer fait rejeter chaque envoi par l’URL d’ingestion jusqu’à ce qu’un nouveau secret existe.

3. Envoyer des commandes

Envoyez un POST à l’URL d’ingestion avec deux en-têtes :

Contenu d’une commande (order.created / order.updated)

Les deux sujets se comportent de la même façon : la commande est créée ou mise à jour (upsert) sur externalId, les renvois et les mises à jour dans le désordre sont donc sans risque. Envoyez celui que votre système trouve le plus simple.

Annulation (order.cancelled)

Test de connectivité (ping)

Tout corps signé avec X-Zippendo-Topic: ping renvoie 200 { "received": true } sans modifier aucune donnée. Utilisez-le pour vérifier votre code de signature.

Réponses

Ce qui arrive à une commande envoyée

  1. La commande est créée ou mise à jour (upsert) dans le canal (en héritant de la marque du canal, le cas échéant).
  2. Une règle d’expédition est déterminée : le serviceCode explicite, sinon les correspondances de modes de livraison du canal comparées à shippingMethodTitle.
  3. Une expédition est créée. Les expéditions avec une règle correspondante sont prêtes à être envoyées. Avec seulement une Adresse de l’expéditeur par défaut définie, un brouillon est créé à la place.
  4. Si Envoyer les expéditions automatiquement est activé pour le canal, une expédition avec une règle correspondante est envoyée immédiatement au transporteur, et l’étiquette d’expédition arrive dans Zippendo (l’impression automatique de la règle s’applique).

Alternative REST

Si vous préférez requête/réponse aux webhooks, créez les commandes via l’API avec un jeton d’API :
  • Un externalId en double sur le même canal renvoie 409 ORDER_EXISTS. Traitez-le comme « déjà reçu ».
  • Passer shippingRuleId ou shippingMethodTitle (ou activer Envoyer les expéditions automatiquement pour le canal) crée l’expédition dans le même appel, exactement comme un envoi.
  • Les canaux de vente font partie de l’API publique, les SDK couvrent donc chaque étape : créer le canal, générer le secret, envoyer des commandes et lister les expéditions.

Récupérer le suivi

Zippendo prévient votre système via les webhooks sortants : abonnez-vous à shipment.dispatched et tracking.updated dans Paramètres → Webhooks. Les expéditions portent votre numéro de commande comme reference, et le contenu inclut l’orderId pour les recherches.

Étapes suivantes

Webhooks sortants

Recevez les événements de suivi et de statut, et vérifiez nos signatures.

Référence de l'API

Chaque point de terminaison de canal de vente et de commande, avec des exemples.