Conectar tu tienda online a NetSuite: APIs, límites y sincronización real
NetSuite es potente, pero sus APIs tienen límites que duelen. Aquí qué objetos necesitas, cuál protocolo elegir y cómo sincronizar precios e inventario sin saturar el ERP.
Por qué no es tan simple como parece
Cuando decides conectar tu tienda en línea a NetSuite, muchos creen que es abrir un par de endpoints y listo. La realidad es distinta. NetSuite cobra por transacción API, tiene límites de concurrencia duros y si no diseñas bien, terminas con sincronizaciones fallidas, precios desactualizados o peor: órdenes duplicadas en el ERP.
Llevo años haciendo esto con PyMEs que venden en Shopify, WooCommerce o plataformas propias, y siempre el mismo cuello de botella: no saben qué objetos realmente necesitan ni cómo respeta NetSuite el gobierno de llamadas.
Los objetos que de verdad importan
No necesitas todo NetSuite. Enfócate en estos:
- Item (Artículo): El producto. Código, descripción, precio, costo, categoría. Es el centro de todo.
- PricingLevel (Nivel de Precio): Si manejas precios por cliente, volumen o moneda, esto es crítico. Sin sincronizar bien, vendes a precio equivocado.
- InventoryNumber (Inventario): Stock disponible, comprometido, en tránsito. Esto es lo que más duele: si no está sincronizado cada 5-10 minutos, sobrevienden.
- SalesOrder (Orden de Venta): El pedido del cliente. Campos: cliente, líneas, cantidades, descuentos, estado de cumplimiento.
- Customer (Cliente): Nombre, dirección, datos de contacto, crédito disponible, historial.
Hay otros (Subsidiary, Location, Currency), pero estos cinco son el 80% de lo que necesitas.
REST vs. SuiteQL vs. SuiteTalk: ¿cuál usar?
NetSuite ofrece tres formas de integración:
- REST: Moderno, JSON, fácil de debuguear. Ideal para lecturas simples y escrituras aisladas. Límite: 10 llamadas concurrentes.
- SuiteQL: SQL-like, excelente para traer listas de artículos o inventario. Más eficiente que REST para volúmenes grandes. Límite: 5 consultas concurrentes.
- SuiteTalk (SOAP): Antigua, XML, pero permite búsquedas complejas y operaciones batch. Muchos integradores aún la usan por estabilidad.
Mi recomendación: REST para crear/actualizar órdenes y clientes (es simple y rápido). SuiteQL para traer artículos e inventario (más datos, menos llamadas). Evita SOAP a menos que necesites lógica muy específica.
Los límites de governance que te van a morder
Aquí está el punto que mata integraciones mal hechas:
- Governance Points: Cada llamada API consume puntos. Un CREATE de orden = 10 puntos. Una búsqueda SuiteQL = 5 puntos. Tienes 5.000 puntos/minuto por usuario integración. Si sobrepasas, bloquean tu acceso 60 minutos.
- Concurrencia: No puedes lanzar 100 llamadas simultáneas. REST: máximo 10 en paralelo. SuiteQL: máximo 5.
- Tamaño de payload: Máximo 10 MB por request. Si sincronizas 5.000 artículos con todos sus campos, te pasas.
Resultado: si intentas sincronizar inventario cada minuto para cada tienda, colapsa.
Sincronización inteligente: sin golpear el ERP cada minuto
La clave es batch + caché local + cambios incrementales:
- Sincroniza inventario cada 10-15 minutos, no cada minuto. Guarda una copia en tu base de datos local (Redis, PostgreSQL). La tienda lee de ahí.
- Usa webhooks o polling incremental: trae solo lo que cambió desde la última sincronización (con un timestamp).
- Agrupa escrituras: en vez de crear 50 órdenes con 50 calls, agrúpalas en 5 batch (si NetSuite lo permite).
- Reintenta fallos con backoff exponencial. Si falla una sincronización de precio, no lo hagas de inmediato; espera 30 segundos, luego 60, luego 120.
- Monitorea governance points en tiempo real. Si te acercas al límite, desacelera.
Con esto, sincronizas precios e inventario cada 10-15 minutos, mantienes consistencia y no rompes el ERP.
El siguiente paso
Diseñar esto a mano es lento. Necesitas una capa de integración que entienda NetSuite, respete su governance, maneje reintentos y te muestre qué falló. Hailan es el hub de integraciones que construí exactamente para esto: conecta tu punto de venta, tienda en línea, WMS o sistema propio con Oracle Fusion o NetSuite, con bitácora por transacción, reintentos automáticos y un panel donde ves qué falló y por qué. Diseñado para PyMEs que no quieren sorpresas.
¿Tu ERP no habla con lo demás?
Conecto Oracle Fusion o NetSuite con tu punto de venta, tu tienda en línea o tu almacén: validación previa, bitácora por transacción, reintentos automáticos y monitoreo. En semanas, no en meses.
Ver cómo lo hago →