L'API REST : piloter ses commandes COD depuis son code
Créer et suivre des commandes en paiement à la livraison depuis son propre code : clé API, lecture du catalogue et des villes, limites et codes d'erreur.
L'essentiel
- Qu'est-ce que c'est ?
- C'est une interface REST en JSON, authentifiée par clé, qui expose ce dont une intégration a besoin : le catalogue commandable, les villes livrées et leurs frais, la création d'un lead, et le suivi de ses propres leads. Elle sert la même logique que l'interface vendeur, avec les mêmes contrôles.
- Pour qui ?
- Les vendeurs qui ont un développeur, ou qui en sont un : une boutique développée sur mesure, une application mobile, un back-office interne, un tunnel de vente maison. Un vendeur qui n'écrit pas de code n'a aucun besoin de l'API — la connexion d'une boutique ou une feuille de calcul fait le même travail.
- Comment ça marche ?
- Chaque appel porte une clé API dans son en-tête d'autorisation. Le vendeur est déduit de la clé, jamais d'un paramètre : il est donc impossible d'agir au nom d'un autre compte. Les réponses sont en JSON, les erreurs nomment le champ fautif, et chaque appel est consigné pour que le développeur puisse voir ce qu'il a réellement envoyé.
- À quoi ça sert ?
- Parce qu'une intégration maison a besoin de deux choses qu'aucun import ne donne : écrire une commande au moment exact où le client valide, et lire l'état de ses commandes pour alimenter son propre affichage. C'est le seul chemin quand la source des commandes est un programme que vous avez écrit.
- Comment s'en servir ?
- On crée une clé depuis l'espace vendeur, on vérifie qu'elle fonctionne par un premier appel sans effet, puis on lit les villes et le catalogue avant d'envoyer son premier lead. La référence complète, avec les champs et les codes d'erreur, se trouve dans la documentation développeurs, publique et sans compte.
L'API est l'interface qui permet à un programme — boutique sur mesure, application mobile, outil interne — de créer et de suivre des commandes en paiement à la livraison sans passer par une interface humaine.
À quoi sert l'API — et quand elle ne sert à rien
L'API répond à trois situations, et à peu près seulement trois. La première est une boutique développée sur mesure : au moment où le client valide son panier, votre code crée le lead et reçoit immédiatement sa référence, qu'il peut afficher au client. La deuxième est une application mobile, qui n'a pas de page web à faire appeler. La troisième est un outil interne — un tableau de bord, un rapprochement comptable, un script de reporting — qui a besoin de lire l'état des commandes pour le combiner à ses propres données.
En dehors de ces trois cas, elle ne sert pas à grand-chose, et il vaut mieux le dire avant que quelqu'un y passe une semaine. Si vos commandes viennent d'une boutique existante, la connexion de la boutique les fait entrer sans code et avec une relecture de secours que vous n'auriez pas écrite. Si elles viennent d'un formulaire ou d'une page d'atterrissage, la feuille de calcul est plus courte à mettre en place et plus facile à corriger. Si vous voulez simplement être prévenu quand un colis est livré, c'est un webhook sortant qu'il faut, pas une boucle d'appels à l'API.
La règle utile est celle-ci : l'API est justifiée quand c'est un programme que vous contrôlez qui produit la commande. Dans tous les autres cas, une des trois autres voies d'entrée fait le même travail pour moins d'effort et moins de maintenance.
La clé API, et ce qu'elle vaut
L'authentification tient en une ligne : chaque appel porte une clé dans son en-tête d'autorisation. Il n'y a ni identifiant à transmettre, ni paramètre de compte, ni session à maintenir. Le vendeur est déduit de la clé, et c'est une décision de sécurité autant que de simplicité : aucun appel ne peut porter sur les données d'un autre compte, même en modifiant les paramètres.
Une clé se crée depuis l'espace vendeur, avec un nom qui dit à quoi elle sert. Elle n'est affichée qu'une seule fois, à sa création : seule son empreinte est conservée, et personne — pas même le support — ne peut vous la relire. Si elle est perdue, on en crée une autre. Si elle est révoquée, elle ne redevient jamais valide.
- Une clé par intégration — Une clé pour l'application mobile, une autre pour le script de reporting. Révoquer l'une n'arrête pas l'autre, et le journal des appels dit laquelle a fait quoi.
- Une clé peut être rattachée à une boutique — Les leads créés avec cette clé portent alors automatiquement la boutique correspondante, sans que votre code ait à l'indiquer.
- La clé est un secret de serveur — Elle ne doit jamais partir dans une page web, une application mobile distribuée ou un dépôt de code : quiconque la lit peut créer des commandes à votre nom.
- La dernière utilisation est visible — Une clé qui n'a plus servi depuis longtemps est une clé à révoquer.
- Le journal des appels est à vous — Méthode, adresse appelée, code de réponse : c'est ce qui permet de répondre à « pourquoi ça ne marche pas » sans deviner.
Ce qui se lit, ce qui s'écrit, ce qui ne se touche pas
Le périmètre est volontairement étroit : l'API sert à faire entrer des commandes et à savoir où elles en sont. Tout ce qui engage de l'argent ou modifie un parcours reste dans l'interface, parce qu'une erreur de programme y coûterait plus cher qu'un clic humain.
- Deux réponses possibles à la création — Un lead accepté répond « créé ». Un lead douteux — référence inconnue, ville non reconnue, total incohérent, doublon récent — répond « accepté » avec la liste des anomalies : il existe, en lead endommagé, et attend une correction. Il n'est jamais refusé en silence.
- Pagination par curseur — La liste des leads se parcourt en reprenant l'identifiant renvoyé par la page précédente, pas par un numéro de page. Un numéro de page se décalerait à chaque nouveau lead, et l'intégration sauterait des commandes sans le voir.
- Votre propre référence est conservée — Le champ de référence externe est repris tel quel et réaffiché dans l'interface : c'est ce qui permet de rapprocher un lead de la commande d'origine dans votre système.
- Ce que l'API ne fait pas — Elle ne change pas un statut, n'annule pas une commande, ne déclenche pas de retrait et ne lit rien d'un autre vendeur. Ces actions existent dans l'interface, où elles sont tracées.
| Adresse | Ce qu'elle fait |
|---|---|
| GET /v1/me | Vérifie que la clé fonctionne et à quel compte elle appartient. Le premier appel à faire. |
| GET /v1/products | Le catalogue que ce vendeur peut commander : produits publics et produits privés, avec le prix plateforme, la disponibilité et les variantes. |
| GET /v1/cities | Les villes livrées et leurs frais de livraison. À lire avant d'envoyer un lead. |
| POST /v1/leads | Crée un lead. Les mêmes contrôles que partout ailleurs s'appliquent. |
| GET /v1/leads | Vos leads, du plus récent au plus ancien, avec filtre par statut et par date. |
Limites de débit et codes d'erreur
Une limite de débit s'applique par clé et par minute. Elle existe pour une raison simple : une boucle mal écrite chez un vendeur ne doit pas ralentir la plateforme pour tous les autres. La valeur en vigueur n'est pas une constante à recopier dans votre code — elle est renvoyée par l'appel de vérification de clé, ce qui permet de l'adapter sans attendre une annonce.
Quand la limite est atteinte, la réponse le dit explicitement et indique combien de temps attendre. Un client correctement écrit respecte ce délai plutôt que de réessayer immédiatement ; réessayer tout de suite ne fait que consommer la minute suivante.
| Réponse | Ce qu'elle signifie | Conduite à tenir |
|---|---|---|
| 400 | Le corps n'est pas du JSON valide | Vérifier l'en-tête de type de contenu et la virgule de trop |
| 401 | Clé absente, invalide ou révoquée | Renvoyer la clé dans l'en-tête d'autorisation ; une clé révoquée ne redevient jamais valide |
| 404 | Ressource inexistante, ou appartenant à un autre vendeur | Les deux cas donnent la même réponse, volontairement |
| 422 | Champ obligatoire manquant ou invalide | La réponse nomme le champ fautif |
| 429 | Trop d'appels sur la dernière minute | Attendre le délai indiqué, puis reprendre |
| 500 | Incident de notre côté | Réessayer, et signaler au support avec l'heure exacte de l'appel |
Où se trouve la référence complète
Cette page explique à quoi sert l'API et ce qu'elle permet ; elle ne remplace pas la référence. Celle-ci vit dans la documentation développeurs, qui est publique et ne demande aucun compte — le développeur d'un vendeur n'a pas ses identifiants, et exiger une inscription pour lire un contrat d'API ne protégerait rien.
On y trouve le guide de démarrage, la référence des adresses avec tous les champs attendus, la page des webhooks sortants, la liste des erreurs et des limites, et le journal des versions. La description est écrite une seule fois et sert à tout : la page lue par un humain, un fichier OpenAPI que votre outil importe pour engendrer un client, et une collection prête à essayer. C'est ce qui garantit que la page et le fichier ne disent pas deux choses différentes au bout de six mois.
Le numéro de version de l'API est renvoyé dans l'en-tête de chaque réponse, et le journal des versions dit ce qui a changé. Les ajouts de champs sont courants et ne cassent rien : un client bien écrit ignore un champ qu'il ne connaît pas plutôt que d'échouer dessus.
Questions fréquentes sur l'API
Je ne programme pas — l'API est-elle pour moi ?
Où trouver la liste complète des champs ?
Comment vérifier qu'une clé fonctionne ?
Que se passe-t-il si j'envoie un lead incomplet ?
Puis-je modifier ou annuler une commande par l'API ?
Y a-t-il une limite au nombre d'appels ?
Comment éviter de créer deux fois la même commande ?
Puis-je lire les prix d'achat de la plateforme ?
L'API peut-elle me prévenir d'une livraison ?
À lire aussi
- Intégrations : faire entrer ses commandes sans les retaper Quatre façons de faire entrer une commande dans une plateforme COD : boutique connectée, feuille de calcul, w…
- Connecter une boutique YouCan à sa gestion des commandes Relier une boutique YouCan à une plateforme COD : autorisation, commandes en temps réel, rôle du SKU, et quoi…
- Importer ses commandes COD depuis une feuille Google Sheets La feuille de calcul comme source de commandes : partage, colonnes à relier, lignes transformées en leads, li…
- Webhooks : envoyer ses commandes et recevoir les statuts Un webhook prévient un système dès qu'un événement se produit : envoyer ses commandes à une plateforme COD, r…
Une clé, quatre appels, et vos commandes entrent
Catalogue de 1 produits et 65 villes lisibles par l'API, leads créés depuis votre code, documentation développeurs publique.
S'inscrire