Traducida del inglés. Si hay alguna diferencia, la página en inglés es la referencia. Leer en inglés
Programa de partners: gestiona muchas tiendas
Para proveedores de software (ERP, agencias) que gestionan Nembol para sus propios clientes: una empresa por cliente, una clave, una factura.
El programa de partners te permite gestionar muchas tiendas de Nembol (una por cada empresa cliente) con una sola clave. Tus clientes nunca inician sesión en Nembol ni reciben emails nuestros: tú lo controlas todo a través de la API, y te facturamos una vez al mes por todos ellos a las tarifas que hayas negociado.
Nembol activa el acceso de partner después de firmar el acuerdo de partner: escribe a
developer@nembol.com. A partir de ahí, tu clave necesita el permiso accounts:manage.
Empieza en el sandbox
Tu cuenta de partner empieza en sandbox: hasta 3 empresas abiertas, canales, webhooks y pedidos reales, y no se factura nada. Construye y prueba ahí toda la integración; cuando estés listo, pulsa Pasar a producción en Configuración → Partner (primero una tarjeta, con condiciones de pago con tarjeta): la facturación empieza ese día y la misma clave y las mismas empresas pasan a producción. Consulta Probar tu integración.
Tu clave y el panel
Hay dos páginas del panel que importan, con el propio inicio de sesión de Nembol de la cuenta de partner:
- Configuración → Desarrolladores: crea la clave API. Elige En línea (en sandbox, una
clave En línea lo ejecuta todo de verdad y no se factura nada; una clave de Prueba solo
simula las llamadas y no puede crear empresas reales). El preajuste Lectura y escritura
incluye
accounts:manage, necesario para todos los endpoints de partner; el formulario muestra todos los permisos que recibe la clave. - Configuración → Partner: tus empresas (con un selector Empresas / Facturación),
el extracto del mes por plan, tu método de pago y un aviso de Sandbox
mientras la cuenta está en sandbox. Muestra los mismos datos que
GET /accounts,GET /partner/statementyGET /partner/billing.
Tus comerciantes nunca usan el panel: todo lo de sus empresas pasa por la API.
1. Crear una empresa
curl -X POST https://api.nembol.com/rest/v1/accounts \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Acme Srl", "plan": "pro", "country": "IT", "reference": "ERP-123"}'{ "id": "acct_66f0a1", "object": "account", "name": "Acme Srl", "plan": "pro",
"status": "active", "product_limit": 2000, "channel_accounts": 0, "products": 0 }plan:basic,pro,enterpriseoenterprise_plus. La empresa recibe los límites de ese plan (productos, cuentas de canal, funciones).- Se factura desde hoy, prorrateado. Sin periodo de prueba. Cambia el plan cuando quieras con
PATCH /accounts/{id}(también prorrateado).
2. Trabajar dentro de una empresa
Añade Nembol-Account a cualquier solicitud. El resto de la API funciona exactamente como si
la empresa tuviera su propia clave:
curl https://api.nembol.com/rest/v1/products \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Nembol-Account: acct_66f0a1"Los límites de solicitudes y los Idempotency-Key se cuentan por empresa, así que una empresa
muy activa nunca ralentiza a las demás.
3. Conectar los canales de la empresa
Crea un enlace de conexión y envíaselo al vendedor. Solo tiene que iniciar sesión en su cuenta del canal:
curl -X POST https://api.nembol.com/rest/v1/channel_connections \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Nembol-Account: acct_66f0a1" \
-H "Content-Type: application/json" \
-d '{"channel": "amazon", "params": {"country": "US"}, "return_url": "https://erp.example.com/nembol/done"}'Algunos canales preguntan qué cuenta conectar después de que el vendedor inicie sesión
(Amazon con varios marketplaces, Google Merchant Center, Facebook Catalog
con varios negocios). La conexión pasa entonces a needs_choice con
choices: muéstralas en tu app (o deja que un agente elija) y envía la elección:
curl -X POST https://api.nembol.com/rest/v1/channel_connections/conn_8a12/choose \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Nembol-Account: acct_66f0a1" \
-H "Content-Type: application/json" \
-d '{"value": "A2EUQ1WTGCTBG2"}'Registra tu return_url una sola vez en tu propia tienda (POST /redirect_urls):
todas las empresas la usan (GET /redirect_urls dentro de una empresa la muestra con
inherited: true).
Tras el inicio de sesión, el navegador del vendedor llega a tu return_url, con estos
parámetros añadidos a la query string (los tuyos se conservan, así que pon ahí tu propio id de empresa):
| Parámetro | Valor |
|---|---|
connection_id | conn_…; léela con GET /channel_connections/{id} |
status | connected, failed, needs_choice o expired |
channel_account_id | chac_… cuando está conectada |
error | el motivo cuando falló: channel_login_failed, link_expired, link_already_used, plan_not_eligible, subscription_inactive, slot_no_longer_available, different_channel_account |
account_id | la empresa (acct_…) |
https://erp.example.com/nembol/done?company=42&connection_id=conn_8a12&status=connected&channel_account_id=chac_77b0&account_id=acct_66f0a1Los enlaces que no se pueden usar también vuelven aquí (caducados, ya usados o rechazados), así que el vendedor siempre termina en tu app, nunca en una página de error de Nembol.
El enlace de retorno solo lleva ids de Nembol, nunca los códigos ni los
tokens del canal. El marketplace envía su código de autorización a Nembol, que
lo canjea, guarda los tokens y se comunica con el canal por ti. Tú sigues
trabajando con tu clave y Nembol-Account.
La query string solo le dice al navegador qué ha pasado: cualquiera puede abrir tu
return_url con parámetros inventados. Antes de marcar el canal como conectado
en tu app, confirma desde tu servidor con
GET /channel_connections/{connection_id} (y Nembol-Account) que
status es connected, o espera el webhook channel_account.connected.
Un enlace de conexión funciona una sola vez y durante una hora. Si se abre otra vez o pasada la
hora, devuelve al vendedor a tu return_url con
error=link_already_used o error=link_expired (sin return_url,
el vendedor ve una página de Nembol), así que crea una conexión nueva. Los canales que se conectan con claves
API (Kaufland, OnBuy, PrestaShop, Subito) no necesitan enlace: POST /channel_connections con
las claves en params responde connected al momento, o
channel_credentials_rejected con el motivo del canal.
Después de conectar
- No se importa nada salvo que lo pidas (
import_products,import_ordersenPOST /channel_connections); tu ERP publica sus propios productos. - ¿Desconectaste una cuenta y vas a conectar otra vez la misma tienda? La siguiente
conexión de ese canal la recupera (
reconnects_shop); para una tienda distinta, envíanew_account: true. Consulta Conectar un canal. - Todas las opciones de sincronización empiezan desactivadas: activa las que quiera el comerciante con
PATCH /channel_accounts/{id}(por ejemplo,sync.quantity_from_orders: truepara que una venta en el canal reduzca el stock en todas partes).
4. Webhooks o consulta periódica
Registra tus endpoints una sola vez, en tu propia tienda: reciben los eventos de
todas tus empresas, cada uno con account_id.
¿Prefieres consultar periódicamente o quieres una red de seguridad? GET /events?created_after=… con tu
clave y sin Nembol-Account devuelve tus propios eventos y los de todas tus empresas
en un solo flujo (cada uno con account_id); añade account=acct_… para una sola empresa.
Los eventos se conservan 30 días.
Una integración ERP típica
- Empresa:
POST /accountscuando un cliente se da de alta en tu ERP; guarda elacct_…junto a tu propio id de cliente (referenceguarda el tuyo). - Canales:
POST /channel_connections→ envía el enlace → el vendedor vuelve a tureturn_url(ver arriba). - Productos: busca un producto por SKU (
GET /products?sku=…) y despuésPATCH /products/{id}oPOST /products. Cada variante necesita su propio SKU, y los productos con opciones necesitan todas las combinaciones (S/M × Rojo/Azul = 4). - Publicar:
POST /listings(o/listings/batchpara muchos) con la cuenta de canal. Un producto necesita al menos una imagen. Sigue el estado con el webhooklisting.status_changed. - Stock:
POST /inventory/batchcon SKU + cantidad (hasta 100 elementos). - Pedidos: webhook
order.created, conGET /orderscomo red de seguridad (ver más abajo). Un pedido contiene todas sus líneas. - Envío:
POST /orders/{id}/fulfillmentcon el seguimiento.
Las reglas que la integración debe conocer están reunidas en Reglas y límites.
5. Facturación
- Una factura al mes para todas tus empresas: cada una en su plan, a tu tarifa (un descuento sobre nuestro precio de lista o un precio fijo por plan).
GET /partner/statement?month=2026-10muestra cada empresa, su plan, los días en que fue facturable y el importe. Coincide con la factura.- Paga con tarjeta (cargo automático) o mediante factura (30 días). También puedes
pagar meses por adelantado (p. ej. por transferencia): el crédito se usa en las
siguientes facturas y
GET /partner/billingmuestra cuánto queda (credit_balance). - 14 días después de una factura impagada, tus empresas pasan a solo lectura (los pedidos y el stock se siguen sincronizando, no se elimina nada) hasta que se pague.
6. Cerrar una empresa
POST /accounts/{id}/close detiene su facturación hoy. Sus anuncios se quedan en los
canales y sus datos se conservan, como con cualquier usuario de Nembol que se va. No se puede
volver a abrir.
Cerrar no se puede deshacer, así que primero pide una confirmación:
- La primera solicitud responde
409 confirmation_requiredcon una descripción de las consecuencias y unconfirmation.token. - Muestra las consecuencias a la persona. Si está de acuerdo, repite la misma
solicitud con la cabecera
Nembol-Confirmation: <token>. El token sirve una sola vez y caduca a los 10 minutos.
Consulta Confirmaciones y deshacer.
Lo que las empresas no pueden hacer
/billingen una empresa responde409 billed_by_partner.- Las escrituras en una empresa suspendida o cerrada responden
409 account_suspended/account_closed; las lecturas siguen funcionando, así que puedes exportar los productos, pedidos y clientes de una empresa cerrada. - La cabecera
Nembol-Accountsolo funciona con una clave que tengaaccounts:manage. Cualquier otra clave recibe403 insufficient_scopeen toda solicitud que lleve la cabecera, antes de leer nada: no desaccounts:managea una clave de informes o de un solo uso y no podrá acceder a ninguna empresa. - Crear productos por encima del límite del plan responde
409 product_limit_reached.
Última actualización el 22 de octubre de 2026
¿Necesitas ayuda?
Escríbenos y te responde una persona, normalmente en un día laborable.
Gestionar la suscripción
Deja que una app o un agente gestione toda la suscripción de Nembol de la tienda (suscribirse, subir o bajar de plan, pasar a anual, actualizar la tarjeta, cancelar y renovar) mientras la persona siempre confirma en la página del proveedor de pago.
Conectar un canal
Deja que un comerciante conecte eBay, Shopify, Etsy y más desde tu app o tu agente: enlaces OAuth, canales con clave API, URL de retorno y desconexión.