Traducida del inglés. Si hay alguna diferencia, la página en inglés es la referencia. Leer en inglés
Publicar un producto
Crea un producto, añádele imágenes, publícalo en un canal y sabe cuándo está realmente publicado.
Todo el ciclo son dos escrituras y una espera.
1. Crear el producto
curl -X POST https://api.nembol.com/rest/v1/products \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: create-VDJ-001" \
-d '{
"title": "Vintage denim jacket",
"description": "<p>Classic 90s denim jacket.</p>",
"brand": "Acme",
"price": "49.90", "quantity": 3, "sku": "VDJ-M-001",
"images": [{"url": "https://your-cdn.com/jacket.jpg"}]
}'La respuesta es el producto, de forma síncrona. Guarda el id y los ids de las imágenes.
2. Publicarlo
curl -X POST https://api.nembol.com/rest/v1/listings \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: publish-VDJ-001-shopify" \
-d '{"product_id": "prod_…", "channel_account_id": "chac_…"}'202 con status: "ongoing". La publicación pasa por los workers de canal de
Nembol. Obtén el channel_account_id de GET /channel_accounts.
3. Saber cuándo está publicado
Suscríbete al webhook listing.status_changed
(lo mejor) o consulta GET /listings/{id} hasta que status sea listed. Recibirás
id_on_channel y url_on_channel. En un canal que funciona bien, esto tarda
segundos, no minutos.
Si el canal lo rechaza, recibes status: "error" y el mensaje propio del canal
en issues[]. Consulta Gestionar errores.
Puntos a tener en cuenta
- Primero las imágenes. Los canales rechazan los anuncios sin imágenes, así que publicar sin
imágenes falla de entrada con
photo_required_for_channel. - Las URL de las imágenes deben ser públicas. Nembol descarga cada
urluna vez y guarda su propia copia. Si tus imágenes no son accesibles desde internet (un ERP local, un bucket privado), envíalas como{"base64": "…"}(máx. 10 MB cada una). Haz queurlapunte al propio archivo de imagen, no a una página que la muestre: Nembol comprueba los bytes, así que una URL que responde con una página HTML recibe422 unsupported_file_type, y una que no puede descargar recibe422 image_unreachable, cada una con la imagen enparam. En ninguno de los dos casos se crea nada. - Texto alternativo. Dale a cada imagen un
alt(accesibilidad, SEO), de hasta 512 caracteres. Llega a Shopify, WooCommerce, Etsy, Wix, Squarespace y la Storefront cuando se envían las imágenes: al publicar, y en una edición cuando la opción de envío de actualizaciones de la cuenta está activada. Etsy conserva los primeros 500 caracteres, Squarespace los primeros 200. Al importar desde esos canales se trae su texto alternativo. eBay, Amazon, TikTok Shop, Google Merchant Center y Meta no tienen texto alternativo para imágenes, así que no lo reciben. Cámbialo más tarde volviendo a enviar la imagen poridcon un nuevoalt(""lo borra); los vendedores también pueden editarlo en el panel (pestaña Multimedia, debajo de cada imagen). - Las variantes deben formar una matriz completa. Con
options(por ejemplo, Color × Talla), cada combinación necesita una variante. Los canales generan la matriz completa, así que un conjunto incompleto se rechaza con422en lugar de publicar variantes rotas. - Las monedas no se convierten. Los precios están en la moneda de la tienda
(
GET /store→currency) y Nembol publica la cifra tal cual: 19.90 en una tienda en EUR son 19.90 USD en una tienda de Shopify de EE. UU. Cada cuenta de canal muestra la moneda en la que vende (currency) y, cuando difiere de la de la tienda, un avisocurrency_mismatch(en la cuenta, enwarnings; en sus anuncios, enissues). Corrígelo con una regla de precio en esa cuenta (PATCH /channel_accounts/{id}conpricing), o conecta una tienda en la moneda de la tienda de Nembol. - El precio del canal puede diferir del tuyo. Los vendedores pueden configurar reglas de precio por canal en Nembol (ajuste porcentual o fijo), así que no trates un precio distinto en el canal como un error.
- WooCommerce puede publicar como borrador. Si el vendedor fijó Estado del producto:
Borrador en la configuración del canal en Nembol, el anuncio está en
listed, pero la URL del producto no es pública hasta que lo publique en WooCommerce. - Publicar es idempotente por
(product_id, channel_account_id): volver a hacer POST devuelve el anuncio existente. Si el anuncio dio error, volver a hacer POST reintenta la publicación.
Después de publicar
- Cambios de precio y texto:
PATCH /products/{id}. Llegan al canal cuando la opciónsync.product_editsde la cuenta está activada (empieza desactivada): consulta Editar un producto. - Stock desde tu sistema:
POST /inventory/batchpor SKU, consulta Sincronizar stock y precios en bloque. - Ventas y envíos: webhooks
order.createdy despuésPOST /orders/{id}/fulfillment, consulta Gestionar el envío de pedidos.
Última actualización el 20 de octubre de 2026
¿Necesitas ayuda?
Escríbenos y te responde una persona, normalmente en un día laborable.