API Ruta detalle – NETSUITE – Revision1.
URL API Netsuite sandbox:
[Link]
URL API Netsuite producción:
[Link]
Id de cada endpoint:
5408 Crear/Recargar/Leer Reservas
5415 Crear/Leer Devoluciones no Venta
5409 Crear/Leer Pedidos de Venta
5410 Crear/Leer Devoluciones en mal estado
5420 Obtener existencias
Para consumir cada endpoint se deberá mandar los siguientes parámetros en la URL
script id del endpoint a consumir
deploy valor fijo 1
Ej.
[Link]
Configuración del API
• Solo se están contemplando peticiones GET y POST
• El tipo de contenido es application/json
• La autentificación es OAuth 1.0 y debe de ser añadida a la cabecera de la petición
• El método de firmado es HMAC-SHA256
• Consumer key/secret, access token y token secret no caducan
• Realm:
o Sandbox: 8216475_SB1
o Producción: 8216475
Respuestas
Las respuestas recibidas del api serán el siguiente objeto:
En caso de error:
{
"success": false,
"message": descripción del error,
}
En caso de que el proceso haya sido exitoso
{
"success": true,
"transaccion": {
"key": value,
.
.
"key": value
}
}
Ejemplo de postman
Descripción de endpoints
Reservas – Id 5408
Diseñada para la creación de ordenes de traslado que actúan como reservas de inventario
para las rutas.
• Peticiones POST
Es un objeto único que consta de las siguientes llaves:
locationRoute Id del centro de la ruta Numérico Obligatorio para reservas
nuevas
fromLocation Id del centro origen del stock, para este Numérico Opcional, solo usar en reservas
proceso solo se hará uso de un centro nuevas
logístico que se determina por default
reservation Id de reserva que será recargado, solo Numérico Obligatorio para recargas
enviar cuando se necesiten hacer
recargas
items Arreglo con ítems en la reserva Array Obligatorio
Campos de ítems
itemId Id del item Numérico Obligatorio
quantity Cantidad Entero/Decimal Obligatorio
unit Id de unidad de medida para la reserva, se usará Numérico Opcional
la unidad default del item en caso de no enviar
este dato
Ej.
{
"locationRoute" : "246",
"items" : [{
"itemId" : "1861",
"quantity" : 1,
"unit": "2"
}]
}
Al crear la reserva, nos regresara un objeto con la siguiente información
{
"success": true,
"tr": {
"id": 33957,
"tranId": "STO-101",
"statusId": "pendingFulfillment",
"status": "Ejecución de la orden pendiente",
"date": "2025-06-10T07:00:00.000Z",
"action": "Orden Creada"
}
}
El statusId : pendingFulfillment, indica que la reserva fue creada y esta a la espera de ser
surtida.
En caso de una recarga de reserva, si esta ya se encuentra con posiciones surtidas, el
resultado será el mismo, a excepción del statusId que cambiará a partiallyFulfilled y la
acción será “Orden actualizada”
{
"success": true,
"tr": {
"id": 40260,
"tranId": "STO-155",
"statusId": "partiallyFulfilled",
"status": "Parcialmente ejecutada",
"date": "2025-06-20T07:00:00.000Z",
"action": "Orden actualizada"
}
}
• Peticiones GET
La petición soporta 3 parámetros:
id Id de la reserva Numérico
ruta Id del centro de la ruta (enviar vacío y traerá todas las rutas) Numérico
fecha Fecha del documento Fecha MM/DD/YYYY
tranid Folio de la reserva Texto
El resultado será un objeto con un array con la información detallada de la reserva
{
"success": true,
"ordenes": [
{
"id": "32934",
"tranId": "STO-99",
"statusId": "pendingFulfillment",
"status": "Ejecución de la orden pendiente",
"date": "2025-06-09T07:00:00.000Z",
"routeId": "246",
"route": "V051 RUTA DETALLE 1",
"locationId": "222",
"location": "AC10 CADI ENVASADOS",
"items": [
{
"itemId": "1861",
"item": "LA0597",
"quantity": 1,
"quantityfulfilled": 0,
"quantityreceived": 0,
"unitId": "2",
"unit": "UN"
}
]
}
}
El campo quantityfulfilled corresponde a la cantidad contabilizada desde el centro origen,
mientras que el campo quantityreceived es la cantidad recibida en esa reserva.
Hay existencia hasta que quantityreceived sea mayor a 0.
En este ejemplo vemos que una reserva fue surtida por el centro, pero aun no se ha
completado el proceso de recepción:
{
"success": true,
"ordenes": [
{
"id": "40260",
"tranId": "STO-155",
"statusId": "pendingReceipt",
"status": "Recepción pendiente",
"date": "2025-06-20T07:00:00.000Z",
"routeId": "249",
"route": "V056 RUTA DETALLE 4",
"locationId": "108",
"location": "CC06 CENTRO DISTRIBUCION PT",
"items": [
{
"itemId": "1861",
"item": "LA0597",
"quantity": 2,
"quantityfulfilled": 2,
"quantityreceived": 0,
"unitId": "2",
"unit": "UN",
"inventoryDetail": []
}
]
}
]
En este otro ejemplo ya contamos recepción, así que nos mostrada el detalle del surtido con
las recepciones generadas
{
"success": true,
"ordenes": [
{
"id": "40260",
"tranId": "STO-155",
"statusId": "received",
"status": "Recibida",
"date": "2025-06-20T07:00:00.000Z",
"routeId": "249",
"route": "V056 RUTA DETALLE 4",
"locationId": "108",
"location": "CC06 CENTRO DISTRIBUCION PT",
"items": [
{
"itemId": "1861",
"item": "LA0597",
"quantity": 2,
"quantityfulfilled": 2,
"quantityreceived": 2,
"unitId": "2",
"unit": "UN"
}
],
"receptions": [
{
"id": "40361",
"tranId": "REA-322",
"date": "2025-06-20T07:00:00.000Z",
"items": [
{
"itemId": "1861",
"item": "LA0597",
"quantity": 2,
"unitId": "2",
"unit": "UN",
"inventoryDetail": [
{
"inventorynumberId": "899",
"inventorynumber": "H2520",
"quantity": 2
}
]
}
]
}
]
}
]
}
Devoluciones en mal estado – Id 5410
Su propósito es crear solicitudes de devolución categorizadas como de mal estado
• Peticiones POST
Es un objeto único que consta de las siguientes llaves:
customerId Id del cliente al que se le realizara la Numérico Obligatorio
devolución
location Id del centro origen del stock, para este Numérico Opcional
proceso solo se hará uso de un centro
logístico que se determina por default
receiptNumber Folio del cliente para la solicitud de la Numérico Obligatorio
devolución
items Arreglo con ítems en la reserva Array Obligatorio
Campos de ítems
itemId Id del item Numérico Obligatorio
quantity Cantidad Entero/Decimal Obligatorio
unit Id de unidad de medida para la reserva, se usará Numérico Opcional
la unidad default del item en caso de no enviar
este dato
reason Id del motivo a devolver Numérico Obligatorio
Ej.
{
"customerId" : "2755",
"receiptNumber" : "123456",
"items" : [{
"itemId" : "1888",
"quantity" : 4,
"unit" : "2",
"reason" : "104"
}]
}
Al crear el documento nos devolverá un objeto con la siguiente información:
{
"success": true,
"tr": {
"id": 33958,
"tranId": "DEVC-81",
"statusId": "pendingReceipt",
"status": "Recepción pendiente",
"customerId": "2755",
"customer": "A00001 CASA LEY",
"date": "2025-06-10T07:00:00.000Z"
}
}
• Peticiones GET
La petición soporta 3 parámetros:
id Id de la devolucion Numérico
tranid Folio de la transacción String
fecha Fecha del documento Fecha MM/DD/YYYY
El resultado será un objeto con un array con la información detallada de la devolución:
{
"success": true,
"ordenes": [
{
"id": "33958",
"tranId": "DEVC-81",
"statusId": "pendingReceipt",
"status": "Recepción pendiente",
"customerId": "2755",
"customer": "A00001 CASA LEY",
"locationId": "108",
"location": "CC06 CENTRO DISTRIBUCION PT",
"orderReasonId": "1",
"orderReason": "G5A DEV MAL ESTADO/VENTAS",
"date": "2025-06-10T07:00:00.000Z",
"items": [
{
"itemId": "1888",
"item": "LA0908",
"quantity": 4,
"quantityrefunded": 0,
"quantityreturned": 0,
"reasonId": "104",
"reason": "Caducado por rotación",
"unitId": "2",
"unit": "UN"
}
]
}
]
}
Pedidos de venta – Id 5409
Su función es recibir información desde la handheld para crear las ordenes de venta del día.
• Peticiones POST
Es un array de objetos con las siguientes llaves
customerId Id del cliente al que se le realizara la Numérico Obligatorio
devolución
reservationId Id de la reserva para referenciarla en el Numérico Obligatorio
pedido
locationRoute Id del centro de la ruta Numérico Obligatorio
receiptNumber Folio del pedido de venta Numérico Obligatorio
date Fecha del pedido de venta Fecha Opcional
MM/DD/YYYY
items Arreglo con ítems en la reserva Array Obligatorio
Campos de ítems
itemId Id del item Numérico Obligatorio
quantity Cantidad Entero/Decimal Obligatorio
unit Id de unidad de medida para la reserva, se usará la unidad Numérico Opcional
default del item en caso de no enviar este dato
Ej.
[
{
"customerId" : "2755",
"reservationId" : "STO-73",
"locationRoute" : "249",
"receiptNumber" : "123456",
"items" : [{
"itemId" : "1888",
"quantity" : 4,
"unit" : 2
}]
}
]
Al crear el documento nos devolverá un objeto con la siguiente información:
[
{
"Orden": 0,
"resultado": {
"success": true,
"SO": {
"id": 33856,
"tranId": "OV-378",
"statusId": "pendingFulfillment",
"status": "Ejecución de la orden pendiente",
"customerId": "2755",
"customer": "A00001 CASA LEY",
"date": "2025-06-10T07:00:00.000Z"
}
}
}
]
• Peticiones GET
La petición soporta 4 parámetros:
id Id del pedido Numérico
tranid Folio de la transacción String
ruta Id del centro de la ruta (enviar vacío y traerá todas las rutas) Numérico
fecha Fecha del documento Fecha MM/DD/YYYY
El resultado será un objeto con un array con la información detallada de la orden de venta:
{
"success": true,
"ordenes": [
{
"id": "27832",
"tranId": "OV-325",
"statusId": "pendingFulfillment",
"status": "Ejecución de la orden pendiente",
"customerId": "2755",
"customer": "A00001 CASA LEY",
"routeId": "249",
"route": "V056 RUTA DETALLE 4",
"total": 1429.12,
"date": "2025-05-21T07:00:00.000Z",
"items": [
{
"itemId": "1888",
"item": "LA0908",
"unitId": "21",
"unit": "Caja/14Pzs",
"quantity": 4,
"amount": 1429.12,
"commited": "1",
"fulfilled": 0,
"invoiced": 0,
"backordered": 4
}
]
}
]
}
Devoluciones no venta – Id 5415
Su función es crear traslados con la información de los ítems no vendidos en el día.
• Peticiones POST
Es un objeto único con las siguientes llaves
locationRoute Id del centro de la ruta Numérico Obligatorio
toLocation Id del centro a donde se moverá el stock, Numérico Opcional
para este proceso solo se hará uso de un
centro logístico que se determina por
default
reservation Id de la reserva para referenciarla en el Numérico Obligatorio
traslado
items Arreglo con ítems en la reserva Array Obligatorio
Campos de ítems
itemId Id del item Numérico Obligatorio
quantity Cantidad Entero/Decimal Obligatorio
unit Id de unidad de medida para la reserva, se usará Numérico Opcional
la unidad default del item en caso de no enviar
este dato
details Arreglo con información adicional para el Array Obligatorio
traslado
Campos de details
batch Id del lote Numérico Obligatorio
quantity Cantidad Entero/Decimal Obligatorio
Ej.
{
"locationRoute" : "249",
"reservation" : "40260",
"items" : [{
"itemId" : "1861",
"quantity" : 1,
"unit": "2",
"details" : [{
"batch" : "899",
"quantity" : 1
}]
}]
}
Al crear el documento nos devolverá un objeto con la siguiente información:
{
"success": true,
"tr": {
"id": 40462,
"tranId": "TRI-71",
"date": "2025-06-20T07:00:00.000Z"
}
}
• Peticiones GET
La petición soporta 4 parámetros:
id Id del pedido Numérico
tranid Folio de la transacción String
ruta Id del centro de la ruta (enviar vacío y traerá todas las rutas) Numérico
fecha Fecha del documento Fecha MM/DD/YYYY
El resultado será un objeto con un array con la información detallada del traslado:
{
"success": true,
"traslados": [
{
"id": "40462",
"tranId": "TRI-71",
"date": "2025-06-20T07:00:00.000Z",
"transferlocationId": "108",
"transferlocation": "CC06 CENTRO DISTRIBUCION PT",
"locationId": "249",
"location": "V056 RUTA DETALLE 4",
"trOrderRefId": "40260",
"trOrderRef": "Orden de traslado #STO-155",
"items": [
{
"itemId": "1861",
"item": "LA0597",
"quantity": 1,
"unitId": "2",
"unit": "UNS",
"inventoryDetail": [
{
"inventorynumberId": "899",
"inventorynumber": "H2520",
"quantity": 1
}
]
}
]
}
]
}
Existencias - id 5420
Regresa las existencias de los ítems
• Peticiones GET
La petición soporta 3 parámetros:
item Id del item (enviar vacío y traerá todos los items) Numérico
ruta Id del centro de la ruta (enviar vacío y traerá todas las rutas) Numérico
lote Id de lote Numérico
El resultado será un objeto con un array con la información detallada de las existencias:
{
"success": true,
"existencias": [
{
"itemId": "1861",
"item": "LA0597",
"locationId": "253",
"location": "V095 OXXO MAZATLAN",
"inventoryNumberId": "420",
"inventoryNumber": "LFG1004502222",
"binNumberId": "318",
"binNumber": "Pruebas - OXXO",
"statusId": "1",
"status": "Bueno",
"available": "48"
},
{
"itemId": "1861",
"item": "LA0597",
"locationId": "253",
"location": "V095 OXXO MAZATLAN",
"inventoryNumberId": "473",
"inventoryNumber": "LFG1004502222-oxxo",
"binNumberId": "318",
"binNumber": "Pruebas - OXXO",
"statusId": "1",
"status": "Bueno",
"available": "53"
}
]}