API d'import Bwatoo
Envoyez votre catalogue à votre boutique Bwatoo depuis votre caisse, votre boutique en ligne ou votre logiciel de gestion.
Documentation de l'API (OpenAPI)
Authentification
Créez une clé dans Ma boutique, Clés d'API. Envoyez-la dans l'en-tête Authorization. Une clé de test (bw_test_…) valide vos envois et rend le rapport sans rien publier.
Authorization: Bearer bw_live_…
Envoyer des produits
100 produits au plus par requête. Un produit est créé, ou mis à jour s'il porte un external_id déjà connu.
POST https://api.bj.bwatoo.com/api/v1/shop/products
{"items": [{"external_id": "HLX-15", "category": "cars", "title": "Toyota Hilux 2015",
"description": "…", "price": "8500000", "currency": "XAF", "city": "Libreville",
"attributes": {"make": "toyota", "model": "hilux", "year": 2015},
"photos": ["https://…/hilux.jpg"], "stock": 3}],
"full_feed": false}
- La catégorie et les attributs suivent les mêmes règles que le dépôt sur le site : la liste des attributs d'une catégorie est donnée par GET /api/v1/categories/
/attributes. - La devise doit être celle du pays de la boutique. Aucun numéro de téléphone ni e-mail dans les textes.
- Les photos sont des adresses https publiques ; Bwatoo les télécharge, les contrôle et les redimensionne.
- full_feed : les produits de la boutique absents de l'envoi sont mis en pause, jamais supprimés.
- Stock et variantes : offre Business.
- Précommande depuis l'étranger (Pro et Business) : ships_from (code pays ISO, par exemple CN), delivery_days_min et delivery_days_max (jours, 120 au plus). Le délai maximum est obligatoire dès que le produit part d'un autre pays. Bwatoo affiche « Expédié depuis : Chine · 45 à 60 j » et ne propose pas ses livreurs locaux.
Chaque produit reçoit un résultat : created, updated, unchanged, pending (vérification par l'équipe) ou rejected avec le motif.
Autres routes
GET /api/v1/shop/products?updated_since=GET /api/v1/shop/products/{external_id}DELETE /api/v1/shop/products/{external_id}— met le produit en pauseGET /api/v1/shop/imports/{id}— rapport d'un lot
Fichiers et flux
Les mêmes produits peuvent être envoyés en CSV, Excel, XML ou JSON depuis Ma boutique, Importer. Colonnes :
external_id, category, title, description, price, currency, negotiable, city, district, photos, video_url, stock, delivery_days, ships_from, delivery_days_min, delivery_days_max, variants, attr_<clé>
Valeurs multiples séparées par une barre verticale (|). Business : Bwatoo relit votre flux distant toutes les 6 heures.
Quotas
Pro : 100 créations par jour et 20 par heure. Business : 2 000 par jour et 300 par heure. Au-delà de 50 créations dans l'heure, les nouvelles annonces passent par une vérification de l'équipe.
Webhooks (Business)
Événements : message.received, offer.received, offer.accepted, stock.out, listing.paused. Le texte des messages n'est jamais envoyé. Vérifiez la signature avant de traiter un envoi :
X-Bwatoo-Signature: t=1760000000,v1=<hmac>
expected = hmac_sha256(secret, f"{t}.{body}")
ok = constant_time_equals(expected, v1) and abs(now - t) < 300
Répondez par un code 2xx. En cas d'échec, Bwatoo réessaie 5 fois, avec un délai croissant.