Traducida del inglés. Si hay alguna diferencia, la página en inglés es la referencia. Leer en inglés
Conceptos básicos
Productos, anuncios, canales, pedidos y operaciones: cómo modela Nembol la venta multicanal.
Cinco objetos explican toda la API.
Producto
El artículo central del catálogo, propiedad de Nembol. Contiene toda la información
comercial: título, descripción (el único texto que publica cada canal, se admite
HTML; short_description es solo un alias obsoleto de ella), marca, category, etiquetas,
mpn, vat_rate, weight/dimensions, images[] (hasta 20) y
variants[] (cada una con SKU, precio, msrp (precio tachado en los canales
que lo admiten), cantidad, código de barras, grams (peso de envío por variante)
e images propias de la variante). Los precios son cadenas decimales en la moneda
base de la tienda (GET /store → currency).
Las variantes con options (p. ej. Color/Talla) deben cubrir todas las combinaciones
de los valores de las opciones. Los canales generan la matriz completa, así que los conjuntos
incompletos se rechazan de entrada en lugar de publicar anuncios defectuosos.
Un producto puede existir en local sin estar en ningún canal, incluso sin imágenes (sigue siendo un borrador local hasta que se publica).
Anuncio
La proyección de un producto en una cuenta de canal. Es un recurso de
primer nivel con su propio id (list_…), status (listed, imported,
ongoing, error, delisted), id_on_channel, url_on_channel e
issues[], que contiene el mensaje de error del propio canal cuando algo falla.
POST /rest/v1/listings {product_id, channel_account_id} # publish
PATCH /rest/v1/listings/{id} {} # re-sync
DELETE /rest/v1/listings/{id} # delistLa publicación es idempotente para cada par (product_id, channel_account_id), y
GET /listings?status=error es la consulta que debe ejecutar tu lógica de reintentos.
Dos comportamientos del lado del canal que conviene conocer: algunos vendedores configuran
reglas de precio por canal (un ajuste porcentual o fijo), así que el precio en el
canal puede diferir legítimamente del precio del producto; y en WooCommerce
el vendedor puede haber elegido crear los productos como borradores, en cuyo caso un
anuncio listed existe en la tienda pero su URL todavía no es pública.
Cuenta de canal
Una cuenta conectada en una plataforma de venta. GET /channel_accounts las lista
con ids estables y opacos (chac_…). Si un vendedor tiene dos cuentas de eBay, cada una
es su propia cuenta de canal, y un id nunca apunta a otra cuenta.
El id se conserva cuando se reconecta un inicio de sesión caducado (channel_account_id).
Desconectar la elimina: volver a conectar esa cuenta le da un id nuevo,
el antiguo responde 404 channel_account_not_found, y los anuncios que tenía
pasan a llevar el id nuevo en channel_account_id (los anuncios pertenecen a la
posición de la cuenta, no al id). Guarda los ids, y con channel_account.connected
vuelve a leer GET /channel_accounts y tus anuncios. El campo channel contiene
la plataforma base (shopify, amazon, ebay, etsy, woocommerce,
tiktok, …). Aparecen otras nuevas a medida que Nembol añade integraciones, así que acepta
valores desconocidos.
Pedido
Un pedido normalizado recibido de cualquier canal: currency por pedido,
status y fulfillment_status normalizados, seguimiento, líneas de pedido y datos
del comprador, incluida la dirección de envío completa (con el scope orders:read).
Con orders:write, POST /orders/{id}/fulfillment lo marca como enviado,
añade el seguimiento y (por defecto, cuando hay seguimiento) avisa al
marketplace de origen.
Operación
El seguimiento del trabajo asíncrono en los canales. Lo clave que debes entender sobre las escrituras en Nembol:
- La escritura local es síncrona.
POST/PATCHdevuelven el recurso actualizado al instante, así que lo que escribes es lo que recibes. - La propagación a los canales es asíncrona. Pasa por los workers de canal
de Nembol, que respetan los rate limits de cada canal. El bloque
syncde la respuesta te da unoperation_id;GET /operations/{id}informa de losresults[]por canal (succeeded,failed,channel_rate_limited,simulated), y una operación puede terminar enpartial.
En lugar de consultar las operaciones periódicamente, suscríbete al webhook
operation.completed.
Cómo funciona la sincronización
- Las escrituras desde la API se ponen en cola detrás de las actualizaciones generadas por pedidos y de las acciones del panel, así que una integración nunca puede bloquear la sincronización de pedidos.
- Cuando un canal limita las peticiones, Nembol espera y reintenta; mientras tanto la operación muestra
channel_rate_limited. - Eliminar un producto nunca toca los canales: mientras siga publicado en
alguno,
DELETE /products/{id}responde422 product_still_listed, así que retira primero cada anuncio (si una retirada sigue en curso responde409 listing_operation_in_progress: espera a que termine y luego elimina). Un producto eliminado se puede recuperar conPOST /products/{id}/restore; sus fotos se conservan durante 30 días, después vuelve sin ellas. Consulta Retira y limpia.
Última actualización el 22 de octubre de 2026
¿Necesitas ayuda?
Escríbenos y te responde una persona, normalmente en un día laborable.