Traduite de l'anglais. En cas de différence, la page en anglais fait foi. Lire en anglais
Expédier les commandes
Récupérez les commandes avec l'adresse de livraison complète, marquez-les comme expédiées, ajoutez le suivi et informez la marketplace.
La boucle des commandes pour une intégration WMS/ERP (nécessite orders:read +
orders:write) :
Chaque commande contient number, le numéro que le marchand voit sur le canal
(Shopify « #1011 » → "1011") : recherchez et affichez les commandes avec ce
numéro. Quand le canal le fournit, la commande contient aussi le détail des
montants : subtotal, shipping, discount, tax, tax_remitted_by
(marketplace quand le canal collecte et reverse la taxe) et le total du
canal, les mêmes chiffres que dans l'export des commandes. Comptabilisez
l'expédition, les remises et les taxes à partir de ces champs ; quand ils sont
null, le canal n'a fourni aucun détail et total est la somme des lignes.
1. Recevoir les commandes dès leur arrivée
Abonnez-vous à order.created, ou interrogez l'API :
curl "https://api.nembol.com/rest/v1/orders?limit=50" \
-H "Authorization: Bearer $NEMBOL_API_KEY"Chaque commande est normalisée dans un format unique quel que soit le canal :
status, fulfillment_status, lines[], tracking, et buyer avec
l'adresse de livraison (buyer.address).
2. L'expédier
curl -X POST https://api.nembol.com/rest/v1/orders/{id}/fulfillment \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: ship-EBAY-12345" \
-d '{
"mark_shipped": true,
"tracking": {"number": "1Z999...", "carrier": "UPS", "url": "https://..."}
}'Quand un suivi est présent, Nembol informe aussi la marketplace d'origine
par défaut (eBay, Etsy, Shopify, WooCommerce, Amazon, TikTok Shop, OnBuy,
Square, Squarespace), et l'acheteur reçoit la notification d'expédition du
canal lui-même. Désactivez-la avec "notify_channel": false.
Stock et annulations
Quand une commande est annulée sur son canal avant l'expédition et que sa
vente avait retiré les unités du stock Nembol, Nembol les remet en stock,
une fois par ligne de commande, et envoie la nouvelle quantité à chaque canal
où se trouve le produit (comme pour une vente). Vous recevez
inventory.updated avec data.source: "order",
data.reason: "order_canceled", data.channel, data.order_id_on_channel,
data.variant_id, data.sku et un data.quantity_change positif.
Aucune remise en stock n'a lieu quand :
- la vente n'a pas modifié le stock Nembol : « quantité depuis les
commandes » (
sync.quantity_from_orders) était désactivé pour ce compte, la commande provenait du premier import des commandes passées, ou elle a été expédiée par Amazon (FBA) ; - la commande était déjà expédiée ou livrée ;
- les variations de quantité propres au canal se synchronisent dans Nembol
(
sync.quantity_from_channel_editsactivé : Shopify, WooCommerce, Amazon) : la remise en stock du canal arrive par cette synchronisation, et l'ajouter à nouveau compterait les unités deux fois ; - la commande est seulement remboursée : un remboursement n'indique pas
que la marchandise est revenue. Ajustez le stock vous-même
(
POST /inventory/batch) quand un retour arrive.
Les commandes reçues avant le 2026-10-17 ne sont pas remises en stock automatiquement.
Pièges à éviter
- Une commande par commande du canal. Une commande avec plusieurs lignes
est une seule commande (toutes ses
lines, letotalcomplet) ; l'expédition expédie toutes ses lignes. - Pas de suivi, pas de notification.
mark_shippedseul ne met à jour que Nembol. Envoyez le suivi (maintenant ou plus tard) pour informer la marketplace. - Un suivi ne peut pas être corrigé via Nembol une fois que la
marketplace en a un : le nouveau numéro est enregistré dans Nembol et la
réponse indique
channel_already_notified. Corrigez-le sur la marketplace. - Renvoyer est sans risque. Le même suivi renvoyé n'envoie rien (un seul
e-mail à l'acheteur, jamais plus) : la réponse indique
attempted: false,already_notified_same_tracking. Les champs omis gardent leur valeur. urldoit être une URL http(s), sinon l'appel répond422.- Les champs de suivi qui dépassent leur limite sont refusés (
numberetcarrier64,url512 caractères), jamais tronqués. - Les annulations faites sur le canal arrivent en moins de 10 minutes
(statut
canceled,order.status_changed). - La notification à la marketplace est unique par commande, avec une idempotence stricte. Relancer l'appel ne notifie (ni n'envoie d'e-mail à) l'acheteur jamais deux fois.
- Les commandes à l'état final refusent l'expédition : les commandes
annulées/remboursées renvoient
422 order_not_fulfillable. - Les données de l'acheteur sont des données personnelles. Elles sont
protégées par
orders:read; traitez-les conformément à la loi et ne stockez que le nécessaire. channel_notificationdans la réponse vous dit exactement ce qui s'est passé :{attempted, delivered, error}.
Dernière mise à jour le 20 octobre 2026
Besoin d'aide ?
Écrivez-nous et une personne vous répond, généralement sous un jour ouvré.