← Volver al blog
NetSuite

Conectar tu tienda online a NetSuite: APIs, límites y sincronización real

17 de agosto de 20263 min de lecturaIng. Humberto González

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:

  1. 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í.
  2. Usa webhooks o polling incremental: trae solo lo que cambió desde la última sincronización (con un timestamp).
  3. Agrupa escrituras: en vez de crear 50 órdenes con 50 calls, agrúpalas en 5 batch (si NetSuite lo permite).
  4. Reintenta fallos con backoff exponencial. Si falla una sincronización de precio, no lo hagas de inmediato; espera 30 segundos, luego 60, luego 120.
  5. 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

Te puede interesar