Zippendo

Gérerlescommandesdeplusieurscanauxdevente

Vendre sur Shopify, WooCommerce et un système personnalisé, c'est trois listes de commandes et trois façons de se tromper. Comment les canaux de vente les réunissent en une seule.

tutorials
Cartons ouverts disposés en grille serrée, vus du dessus

Photo de Luke Heibert sur Unsplash

La plupart des boutiques avec lesquelles nous échangeons n'avaient pas prévu de vendre à trois endroits. C'est arrivé comme ça. Shopify d'abord, puis un site WooCommerce pour une deuxième marque, puis une marketplace ou un portail B2B qui envoie un tableur par e-mail le mardi.

Chacun tient sa propre liste de commandes. Chacun a sa propre idée de ce qu'est une commande. Et c'est la personne qui emballe qui doit garder les trois en tête.

Ce qu'est un canal de vente

Dans Zippendo, chaque commande arrive par un canal de vente, et un canal est la connexion à un système source. Il en existe quatre types :

  • Shopify. Vous installez l'application et les commandes arrivent au moment où elles sont passées. Les traitements et les numéros de suivi font le chemin inverse.
  • WooCommerce. La même chose via notre plugin, avec en plus les tarifs en temps réel et les points relais en caisse.
  • Personnalisé. Votre propre boutique en ligne, votre ERP ou votre passerelle de marketplace nous envoie les commandes via un webhook signé.
  • Manuel. Aucun système source. Des commandes que vous saisissez vous-même, ou que l'outil d'import a créées lors de votre migration depuis un autre outil.

Quel que soit le canal, la commande a le même aspect lorsqu'elle arrive côté expédition. C'est tout l'intérêt de l'abstraction.

Le canal personnalisé, parce que tout le monde pose la question

Si nous n'avons pas d'intégration pour votre système, vous obtenez un canal avec son propre secret de signature et une URL d'ingestion. Votre système envoie la commande, signe le corps avec HMAC-SHA256 et définit un en-tête de sujet pour une création, une mise à jour ou une annulation.

La vérification est fermée par défaut (fail-closed). Pas de secret, pas de signature, ou une signature qui ne correspond pas, et vous recevez une 401 au lieu de nous voir deviner ce que vous vouliez dire.

Le champ le plus important est externalId, votre propre identifiant pour la commande. C'est notre clé. Envoyez deux fois la même commande, et la seconde met à jour la première au lieu de créer un doublon. Ainsi, quand votre boucle de nouvelles tentatives se déclenche trois fois à deux heures du matin parce que notre réponse a tardé, vous n'avez toujours qu'une seule commande.

Il existe aussi un point de terminaison REST, si l'envoi de webhooks est compliqué de votre côté. Mêmes règles, sauf qu'un externalId en double reçoit une 409 au lieu d'une mise à jour, car vous avez demandé à créer quelque chose plutôt qu'à le synchroniser.

Là où les canaux ne comptent plus

Une fois les commandes arrivées, le canal n'est guère plus qu'un repère. Les règles d'expédition ne se soucient pas de la provenance d'une commande, sauf si vous le leur demandez. Écrivez la règle une fois, tel poids vers tel transporteur, tel pays vers un point relais, et elle s'applique à tous les canaux.

Le canal compte encore à deux endroits. Le traitement repart vers le système d'où vient la commande : Shopify reçoit son traitement et Woo son numéro de suivi. Et si vous utilisez les Marques, un canal appartient à une seule marque, ce qui permet à une deuxième boutique d'avoir son propre nom sur le bon de livraison sans avoir besoin d'un deuxième compte.

La partie vraiment agaçante

Les statuts de commande ne signifient pas la même chose sur toutes les plateformes, et aucun mappage ne corrige complètement ce problème. Ce que nous faisons, c'est refuser de faire régresser un statut : si une expédition a déjà atteint un état ultérieur, une mise à jour tardive ne peut pas la faire revenir en arrière. Cela évite le pire. Cela ne met pas trois plateformes d'accord sur ce que signifie « en cours de traitement », et nous avons cessé de prétendre le contraire.

Si vous gérez plusieurs boutiques réparties sur plusieurs onglets de navigateur, cette partie de Zippendo est faite pour vous. Connectez le deuxième canal et voyez si le poste d'emballage remarque une différence.

Tags

canaux de venteshopifywoocommerceintegrations