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 url una 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 que url apunte 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 recibe 422 unsupported_file_type, y una que no puede descargar recibe 422 image_unreachable, cada una con la imagen en param. 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 por id con un nuevo alt ("" 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 con 422 en 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 aviso currency_mismatch (en la cuenta, en warnings; en sus anuncios, en issues). Corrígelo con una regla de precio en esa cuenta (PATCH /channel_accounts/{id} con pricing), 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

Última actualización el 20 de octubre de 2026

¿Necesitas ayuda?

Escríbenos y te responde una persona, normalmente en un día laborable.

En esta página