API de importación de Bwatoo
Envía tu catálogo a tu tienda Bwatoo desde tu caja, tu tienda en línea o tu software de gestión.
Documentación de la API (OpenAPI)
Autenticación
Crea una clave en Mi tienda, Claves de API. Envíala en el encabezado Authorization. Una clave de prueba (bw_test_…) valida tus envíos y devuelve el informe sin publicar nada.
Authorization: Bearer bw_live_…
Enviar productos
100 productos como máximo por solicitud. Un producto se crea, o se actualiza si lleva un external_id ya conocido.
POST https://api.cg.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 categoría y los atributos siguen las mismas reglas que la publicación en el sitio: la lista de atributos de una categoría la da GET /api/v1/categories/
/attributes. - La moneda debe ser la del país de la tienda. Ningún número de teléfono ni correo electrónico en los textos.
- Las fotos son direcciones https públicas; Bwatoo las descarga, las revisa y las redimensiona.
- full_feed: los productos de la tienda que no estén en el envío se pausan, nunca se eliminan.
- Inventario y variantes: plan Business.
- Preventa desde el extranjero (Pro y Business): ships_from (código de país ISO, por ejemplo CN), delivery_days_min y delivery_days_max (días, 120 como máximo). El plazo máximo es obligatorio cuando el producto sale de otro país. Bwatoo muestra «Enviado desde: China · 45 a 60 d» y no ofrece sus repartidores locales.
Cada producto recibe un resultado: created, updated, unchanged, pending (revisión por el equipo) o rejected con el motivo.
Otras rutas
GET /api/v1/shop/products?updated_since=GET /api/v1/shop/products/{external_id}DELETE /api/v1/shop/products/{external_id}— pausa el productoGET /api/v1/shop/imports/{id}— informe de un lote
Archivos y feeds
Los mismos productos se pueden enviar en CSV, Excel, XML o JSON desde Mi tienda, Importar. Columnas:
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é>
Valores múltiples separados por una barra vertical (|). Business: Bwatoo vuelve a leer tu feed remoto cada 6 horas.
Cuotas
Pro: 100 creaciones por día y 20 por hora. Business: 2000 por día y 300 por hora. Por encima de 50 creaciones en una hora, los nuevos anuncios pasan por una revisión del equipo.
Webhooks (Business)
Eventos: message.received, offer.received, offer.accepted, stock.out, listing.paused. El texto de los mensajes nunca se envía. Verifica la firma antes de procesar un envío:
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
Responde con un código 2xx. En caso de fallo, Bwatoo lo reintenta 5 veces, con un intervalo creciente.