Pour les développeurs
API Peace Market
Version 1.0. Elle existe pour qu'on puisse bâtir autour du noyau : une application mobile, un tableau de bord de diffuseur, un bot qui annonce les nouveautés, le site d'un commerçant qui affiche ses produits — sans accès à la base ni au code.
L'identité reste au site principal
Peace Market n'émet aucun jeton. Un satellite qui veut agir au nom d'un membre fait signer son utilisateur par artisansdelapaix.com — OAuth2 + PKCE, la procédure documentée du site principal — puis nous présente ce même jeton. On le valide auprès du site principal et on retrouve le membre.
Trois conséquences, toutes bonnes : aucun serveur OAuth de plus à tenir ; un membre qui révoque l'accès sur le site principal le révoque partout, y compris ici ; et aucun mot de passe ne circule jamais par Peace Market.
Deux façons de s'identifier
| Méthode | En-tête | Donne accès à |
|---|---|---|
| Clé API | X-API-Key: pm_live_… |
Catalogue, catégories, modèle de répartition, compteurs. Aucune donnée personnelle, jamais. |
| Jeton du membre | Authorization: Bearer adlp_at_… |
Les données du membre lui-même. Jeton d'Artisans de la Paix, pas de Peace Market. |
Une clé se demande à l'administrateur de Peace Market. Elle n'est affichée qu'une fois, à sa création : nous n'en gardons que l'empreinte.
Les appels
| Appel | Identification | Ce que ça retourne |
|---|---|---|
GET /api/v1/ |
— | Ce document, en JSON. Le seul appel sans clé. |
GET /api/v1/categories.php |
clé | Les catégories contenant au moins un produit. |
GET /api/v1/produits.php |
clé | Le catalogue. Paramètres : ?categorie= ?page= ?par_page= ?langue= |
GET /api/v1/produit.php?id=1 |
clé | Une fiche, avec ses photos et ses vidéos. Paramètre : ?langue= |
GET /api/v1/repartition.php |
clé | Où va chaque dollar de bénéfice net. |
GET /api/v1/statistiques.php |
clé | Compteurs publics : produits, points-parts, redistribué. |
GET /api/v1/moi.php |
jeton | Points-parts, revenus, filleuls et lien de partage du membre. |
Essayer tout de suite
Le document de découverte ne demande aucune clé :
curl https://peacemarket.artisansdelapaix.com/api/v1/
Avec une clé :
curl -H "X-API-Key: pm_live_…" https://peacemarket.artisansdelapaix.com/api/v1/produits.php
Ce qu'il faut savoir
- Enveloppe constante. Toujours
success, puisdata. En cas d'échec, unerrorstable — programme contre lui, pas contre le message, qui peut être reformulé. - Lecture seule. Cette version ne crée rien. Les appels qui passent une commande viendront après, délibérément : on n'ouvre pas l'écriture dans un grand livre immuable sans y avoir bien réfléchi.
- Limite de débit. Lis
X-RateLimit-Remaininget régule-toi. Au-delà, on répond429avec unRetry-After. - Prix et coûts. L'API donne le prix, jamais le coût du vendeur : la marge d'un commerçant ne regarde pas les satellites.
- Langue.
?langue=fr(défaut) ou?langue=en, sur tous les appels. La réponse annonce toujours celle qu'elle a servie, danslangue: de quoi savoir sous quelle clé la mettre en cache. Elle ne dépend jamais de l'en-têteAccept-Languagedu satellite — deux appels identiques doivent rendre la même chose. Un produit sans traduction reste servi en français plutôt que vide. - CORS ouvert. Un satellite peut appeler depuis un navigateur, sur n'importe quel domaine.
Ce qui viendra
Passer une commande, déposer un produit, écrire un coupon. Chacun touche à l'argent ou au grand livre : ils arriveront un par un, avec les mêmes garanties que le site — répartition au cent près, points-parts calculés sur le bénéfice réel, rien d'effaçable. Dis-nous ce dont tu as besoin, ça guidera l'ordre.