📦 Manual Técnico

API Reference

Integra tu sistema con la plataforma logística de Flexy. Gestiona pedidos, transferencias, stock, órdenes de compra y más mediante nuestra REST API.

⚡ REST API
🔐 Bearer Token
📡 Webhooks
🌐 Sandbox disponible
🗺️

Descripción General de Endpoints

🛒

Orden de Compra

Ingreso de mercadería desde sistemas externos como ERP. Incluye webhook de confirmación.

📦

Pedidos

Gestión de pedidos del área comercial. Despacho con datos del cliente y mercadería.

🔄

Transferencias

Movimiento de mercadería entre almacenes o nodos externos de la red GoFlex.

📊

Stock

Consulta en tiempo real del stock por almacén para cruce de saldos diario.

📋

Consultas Kardex

Lista todos los documentos emitidos. Rango máximo de consulta: 7 días.

🏷️

Productos

Crea y lista productos requeridos para transferencias y pedidos.

🔢

Series

Registro de series para gestión granular de productos en almacén.

📡

Webhook

Notificaciones automáticas ante recepciones, despachos y transferencias.

Consideraciones Generales

ℹ️
Campos no requeridosLos campos opcionales deben enviarse como valor vacío, entero o null según corresponda, pero deben existir en la estructura de la trama para que sea considerado un documento válido.
⏱️
Vigencia del token: 2 horasSe recomienda realizar un nuevo login al inicio de cada proceso de sincronización. Un solo inicio de sesión cubre múltiples solicitudes de creación dentro del mismo proceso.
🚦
Rate Limit en consultasLos endpoints de Stock y Documentos del Kardex solo aceptan un request cada 60 segundos.
🔐

Autenticación

Todos los endpoints requieren autenticación. Coordina con el equipo de TI para obtener la URL base.

POST https://url-base/api/v1/login

Request Body (Form-Data)

REQUEST
{
  "email": "[email protected]",
  "password": "Kmfksu37fha3a"
}

Response

200 OK
{
  "success": true,
  "data": {
    "id": 123,
    "name": "TEST USER",
    "email": "[email protected]",
    "email_verified_at": null,
    "created_at": "2020-12-15T23:41:32.000000Z",
    "updated_at": "2020-12-15T23:41:32.000000Z",
    "codigo_estado": 1,
    "lang": "es",
    "token": "eyJ0eXAiOiJKV1QiLCJ…."
  },
  "code": "200"
}
🔑
Uso del tokenEl valor de token devuelto debe enviarse como Bearer Token en el header Authorization de todos los endpoints posteriores. También puede pasarse como query param ?token=.
📦

Pedidos

Crear un Pedido

POST https://url-base/api/v2/pedidos/store

Objeto · persona

AtributoTipoDescripciónReq.
tipo_personaintegerPara clientes: 1✓ Sí
personastringNombre completo o razón social✓ Sí
numero_identidadstringDNI: 8 dígitos · RUC: 11 dígitos · CE: hasta 20 dígitos✓ Sí
tipo_identidadintegerDNI → 1 · RUC → 2 · CE → 3✓ Sí
direccionstringDirección de la persona o empresa✓ Sí
direccion_entregastringDirección de entrega del pedido✓ Sí
paisstringPaís de procedencia del pedido✓ Sí
departamentostringDepartamento de entrega✓ Sí
provinciastringProvincia de entrega✓ Sí
distritostringDistrito de entrega✓ Sí
ubigeostringCódigo de ubicación geográfica INEI✓ Sí
codigo_estadointegerPor defecto: 1✓ Sí
idempresaintegerConstante de empresa (solicitar a TI)✓ Sí
maquina_creacionstringComputador, canal o plataforma de origen✓ Sí
contactostringNombre del contacto receptor— No
persona_autorizadastringContacto alternativo— No
referenciastringReferencia adicional a la dirección— No
telefonostringNúmero de celular— No
emailstringCorreo del contacto— No

Campos raíz del pedido

AtributoTipoDescripciónReq.
idempresaintegerConstante de empresa (solicitar a TI)✓ Sí
codigo_monedainteger1 = Soles · 2 = Dólares✓ Sí
codigo_forpag integer Forma de pago:

1 → Al contado
2 → Al crédito
10 → Ver observaciones
11 → Otros
14 → Pagado
✓ Sí
idalmacenintegerConstante GoFlex (solicitar a TI)✓ Sí
fechastringFecha de emisión formato Y-m-d✓ Sí
fecha_vencimientostringFecha de caducidad formato Y-m-d✓ Sí
idorderstringCódigo del pedido en tu plataforma (para match)✓ Sí
codigo_estadointegerEstado del pedido, debe ser 25✓ Sí
maquina_creacionstringEnviar constante "API"✓ Sí
usuario_creacionstringCorreo usado en la autenticación✓ Sí
paisstringPaís del pedido✓ Sí
departamentostringDepartamento de entrega✓ Sí
provinciastringProvincia de entrega✓ Sí
distritostringDistrito de entrega✓ Sí
ubigeostringCódigo INEI de ubicación✓ Sí
porcentaje_impuestofloatPorcentaje IGV (ej: 18.0)— No
importe_subtotalfloatSubtotal sin impuesto— No
importe_descuentofloatTotal de descuentos— No
importe_impuestofloatMonto IGV total— No
importe_totalfloatImporte total del pedido— No
glosastringComentario u observación— No
flag_precio_imponiblestringIndica si precios unitarios incluyen IGV— No
fecha_entregastringFecha de entrega sugerida Y-m-d— No
hora_entrega_desdestringHora de entrega inicio H:i— No
hora_entrega_hastastringHora de entrega fin H:i— No
idtipo_entregaintegerTipo de pedido, default 1 (coordinar con TI)— No
picking_especificacionesstringDetalle para el operador logístico. Máx. 500 chars.— No

Array · detalles[]

💡
Los códigos de producto deben enviarse con la cantidad agrupada en el detalle del pedido.
AtributoTipoDescripciónReq.
secuenciaintegerNúmero incremental por producto✓ Sí
codigo_productostringSKU del producto✓ Sí
productostringNombre del producto✓ Sí
cantidadfloatCantidad (ej: 1 unidad = 1.00)✓ Sí
precio_unitariofloatValor unitario del producto— No
glosastringObservación del ítem— No
importe_subtotalfloatSubtotal sin impuesto del ítem— No
importe_impuestofloatIGV del ítem— No
importe_totalfloatTotal con impuesto del ítem— No
serie_gestionstringSerie del producto dirigido (coordinar con OL)— No

Ejemplo de Request

BODY · JSON
{
  "idempresa": 81,
  "persona": {
    "tipo_persona": 1,
    "persona": "JUAN CARLOS CUBA CONTRERAS",
    "numero_identidad": "10723988409",
    "tipo_identidad": 2,
    "direccion": "GLOBALES MZ P2 LT 17 LOS OLIVOS",
    "direccion_entrega": "GLOBALES MZ P2 LT 17 LOS OLIVOS",
    "pais": "PERU",
    "departamento": "LIMA",
    "provincia": "LIMA",
    "distrito": "LOS OLIVOS",
    "ubigeo": "150117",
    "telefono": "933301518",
    "email": "[email protected]",
    "codigo_estado": 1,
    "idempresa": 81,
    "maquina_creacion": "API"
  },
  "codigo_moneda": 1,
  "codigo_forpag": 10,
  "idalmacen": 726,
  "porcentaje_impuesto": 18.0,
  "importe_subtotal": 152.54237288136,
  "importe_descuento": 0.0,
  "importe_impuesto": 27.45762711864,
  "importe_total": 180.0,
  "glosa": "GLOSA DE PRUEBA TEST",
  "codigo_estado": 29,
  "fecha": "2021-07-05",
  "fecha_vencimiento": "2023-11-21",
  "flag_precio_imponible": "N",
  "idorder": 25035,
  "maquina_creacion": "API",
  "fecha_entrega": "2021-07-06",
  "hora_entrega_desde": "09:00:00",
  "hora_entrega_hasta": "18:00:00",
  "picking_especificaciones": "PEDIDO CON EMBALAJE ESPECIAL",
  "detalles": [{
    "secuencia": 1,
    "codigo_producto": "LAPTOP-001",
    "producto": "PRODUCTO 001",
    "cantidad": 1,
    "precio_unitario": 180.0,
    "importe_subtotal": 152.54237288136,
    "importe_impuesto": 27.45762711864,
    "importe_total": 180.0,
    "serie_gestion": "123456"
  }]
}
200 · Pedido creado
{
  "data": 8434,
  "message": "SE GENERO EL PEDIDO"
}
🔄

Transferencias

ℹ️
Tipos de transferencia disponibles Almacén → Almacén  |  Almacén → Nodo Externo  |  Nodo Externo → Almacén
Si el origen/destino no está en la red GoFlex, usa Nodo Externo con valor "0" y especifica la empresa involucrada.

Crear Transferencias (batch)

POST https://url-base/api/v1/transferencias/cargaMasivaApi
⚠️
Se permite un máximo de 10 documentos por batch. Los SKUs deben enviarse con cantidad agrupada.
AtributoTipoDescripciónReq.
almacen_origenstringCódigo del almacén origen. Usar "0" si es Nodo Externo✓ Sí
almacen_destinostringCódigo del almacén destino. Usar "0" si es Nodo Externo✓ Sí
numero_identidadstringDNI (8 dígitos) o RUC (11 dígitos)✓ Sí
personastringNombre o razón social de destino✓ Sí
direccionstringDirección de la persona o empresa destino✓ Sí
idempresastringConstante de empresa (solicitar a TI)✓ Sí
idorderstringCódigo de tu plataforma para hacer match✓ Sí
fecha_entregastringFecha de entrega sugerida Y-m-d✓ Sí
glosastringObservación general— No
codigo_productostringSKU del producto (dentro de detalle[])✓ Sí
cantidadfloatCantidad del ítem✓ Sí
iditem_orderintegerÍndice del ítem en sistemas externos— No
campos_adicionales array En caso sea necesario enviar campos adicionales fuera del diccionario de datos, puede utilizar este campo bajo este formato: "campos_adicionales": { "dimension_1": "", "dimension_2": "", "dimension_3": "", "dimension_4": "", "dimension_5": "" } En caso no sea necesario, debe viajar vacío: "campos_adicionales": "" — No

Ejemplo de Request

BODY · JSON Array
[
  {
    "almacen_origen": "ALMACEN1",
    "almacen_destino": "ALMACEN2",
    "glosa": "Glosa 5",
    "numero_identidad": "12368123",
    "persona": "PERSONA DE PRUEBA 1",
    "direccion": "DIRECCION DE PRUEBA 1",
    "idempresa": "1",
    "idorder": 123456,
    "detalle": [
      { "codigo_producto": "SKU0001", "cantidad": "1" },
      { "codigo_producto": "SKU0002", "cantidad": "13" }
    ]
  },
  {
    "almacen_origen": "ALMACEN2",
    "almacen_destino": "0",
    "idempresa": "1",
    "idorder": 5441,
    "detalle": [
      { "codigo_producto": "SKU0003", "cantidad": "2" }
    ]
  }
]
200 · Procesado
{
  "state": "successful",
  "code": "200",
  "data": [
    { "idorder": 123456, "code": 200 },
    {
      "idorder": 5441,
      "code": 400,
      "errors": ["El producto SKU0003 no existe para el almacén ALMACEN2(123)"]
    }
  ]
}
400 · Error de validación
{
  "code": 400,
  "state": "failed",
  "errors": [
    "El campo ... es obligatorio.",
    "El campo ... debe tener entre 8 y 20 dígitos."
  ]
}
📊

Stock

Listar Stock a la Fecha

POST https://url-base/api/v1/kardex/stockFechaApi
⚠️
Este endpoint está limitado a 1 request cada 60 segundos.
AtributoTipoDescripciónReq.
idempresaintegerConstante de empresa (solicitar a TI)✓ Sí
fechastringFecha de consulta formato Y-m-d✓ Sí
idalmacenintegerConstante GoFlex (solicitar a TI)✓ Sí
BODY
{
  "idempresa": "1",
  "fecha": "2020-12-31",
  "idalmacen": "123"
}
200 · OK
{
  "code": 200,
  "state": "successful",
  "data": [
    { "codigo_producto": "PROD1", "producto": "PRODUCTO 1", "cantidad": 1, "estancia": 0 },
    { "codigo_producto": "PROD2", "producto": "PRODUCTO 2", "cantidad": -4, "estancia": 0 },
    { "codigo_producto": "PROD3", "producto": "PRODUCTO 3", "cantidad": 7, "estancia": 0 }
  ]
}
400 · Error
{
  "code": 400,
  "state": "failed",
  "errors": [
    "El campo ... es obligatorio.",
    "El campo ... no corresponde al formato Y-m-d."
  ]
}
🛒

Orden de Compra

Crear Orden de Compra

POST https://url-base/api/v1/ordenCompraApi

Objeto · persona

AtributoTipoDescripciónReq.
personastringNombre completo o razón social✓ Sí
numero_identidadstringDNI: 8 · RUC: 11 · CE: hasta 20 dígitos✓ Sí
tipo_personaintegerPara proveedor: 2✓ Sí
tipo_identidadintegerDNI→1 · RUC→2 · CE→3✓ Sí
paisstringNombre del país— No
departamentostringNombre del departamento— No
provinciastringNombre de la provincia— No
distritostringNombre del distrito— No
direccionstringDomicilio fiscal— No
direccion_entregastringDirección de entrega— No
contactostringNombre del contacto— No
persona_autorizadastringContacto alternativo— No
emailstringCorreo electrónico— No
telefonostringNúmero telefónico— No
ubigeostringCódigo de ubicación INEI— No
codigostringCódigo del proveedor en plataformas externas. Default ""— No

Campos raíz de la OC

AtributoTipoDescripciónReq.
idtipo_comprainteger1 = Compra Local · 2 = Importación✓ Sí
codigo_monedainteger1 = Soles · 2 = Dólares✓ Sí
codigo_forpag integer Forma de pago:

1 → Al contado
2 → Al crédito
10 → Ver observaciones
11 → Otros
14 → Pagado
✓ Sí
idalmacenintegerConstante GoFlex (solicitar a TI)✓ Sí
fechastringFecha de emisión Y-m-d✓ Sí
fecha_vencimientostringFecha de caducidad Y-m-d✓ Sí
idempresaintegerConstante de empresa (solicitar a TI)✓ Sí
flag_precio_imponiblestringS incluye IGV · N no incluye IGV✓ Sí
idorderstringCódigo de tu plataforma para match✓ Sí
maquina_creacionstringEnviar constante "API"✓ Sí
importe_subtotalfloatSubtotal sin impuesto— No
importe_descuentofloatTotal de descuentos— No
importe_impuestofloatMonto IGV total— No
importe_totalfloatTotal de la OC— No
glosastringComentario u observación— No
fecha_entregastringFecha de recepción sugerida. Default: fecha + 2 días— No

Array · detalles[]

AtributoTipoDescripciónReq.
secuenciaintegerNúmero incremental por producto✓ Sí
codigo_productostringSKU del producto✓ Sí
productostringNombre del producto✓ Sí
cantidadfloatCantidad (1 unidad = 1.00)✓ Sí
precio_unitariofloatValor unitario— No
glosastringObservación del ítem— No
importe_subtotalfloatSubtotal sin impuesto del ítem— No
importe_impuestofloatIGV del ítem— No
importe_totalfloatTotal con impuesto del ítem— No
iditem_orderintegerÍndice en sistemas externos— No
porcentaje_descuentointegerDescuento por ítem. Enviar 0.0 si no aplica— No
campos_adicionales json En caso sea necesario enviar campos adicionales fuera del diccionario de datos, puede utilizar este campo bajo este formato: "campos_adicionales": { "dimension_1": "", "dimension_2": "", "dimension_3": "", "dimension_4": "", "dimension_5": "" } En caso no sea necesario, debe viajar vacío: "campos_adicionales": "" — No

Ejemplo de Request

BODY · JSON
{
  "idempresa": 1,
  "codigo_moneda": 1,
  "codigo_forpag": 11,
  "idalmacen": 116,
  "importe_subtotal": 8.47457627118644,
  "importe_descuento": 0.0,
  "importe_impuesto": 1.52542372881356,
  "importe_total": 10.0,
  "glosa": null,
  "fecha": "2023-10-18",
  "fecha_vencimiento": "2023-10-20",
  "flag_precio_imponible": "N",
  "idorder": null,
  "maquina_creacion": "API",
  "persona": {
    "persona": "NOMBRE DE CONTACTO / VENDEDOR / PROVEEDOR",
    "numero_identidad": "11029208890",
    "tipo_persona": 2,
    "tipo_identidad": 1,
    "pais": "PERU",
    "departamento": "LIMA",
    "provincia": "LIMA",
    "distrito": "LIMA",
    "direccion": "AV. LIBERTAD 123",
    "ubigeo": "150101",
    "email": "",
    "telefono": ""
  },
  "detalles": [
    {
      "secuencia": 1,
      "codigo_producto": "ABC-22",
      "producto": "MESA22",
      "cantidad": 1.0,
      "precio_unitario": 10.0,
      "importe_subtotal": 8.47457627118644,
      "importe_impuesto": 1.52542372881356,
      "importe_total": 10.0
    }
  ]
}
200 · OC creada
{
  "code": "200",
  "state": "successful",
  "id": 134
}
💾
Guarda el ID devueltoEl campo id de la respuesta es el idorden que necesitarás para anular o cancelar la OC en el futuro.

Anular OC

Solo si la OC no tiene ninguna recepción de mercadería.

GET /api/v1/ordenCompraApi/anular/{idorden}

Cancelar OC

Solo si se tiene certeza de que no se recibirá más mercadería.

GET /api/v1/ordenCompraApi/cancelar/{idorden}
📋

Consultas · Kardex

Listar Movimientos del Kardex

POST https://url-base/api/v1/kardex/listarApi
📅
El rango máximo entre desde y hasta es de 7 días. Sujeto a límite de 1 request / 60 s.
AtributoTipoDescripciónReq.
idempresaintegerConstante de empresa (solicitar a TI)✓ Sí
desdestringFecha inicio Y-m-d✓ Sí
hastastringFecha fin Y-m-d (máx. 7 días desde desde)✓ Sí
idalmacenintegerConstante GoFlex (solicitar a TI)✓ Sí
idpedidoarrayFiltrar por IDs de pedidos específicos— No
idtransferenciaarrayFiltrar por IDs de transferencias— No
idordenarrayFiltrar por IDs de órdenes de compra— No
BODY
{
  "idempresa": 53,
  "desde": "2023-11-22",
  "hasta": "2023-11-22",
  "idalmacen": 621,
  "idpedido": [77306, 77307, 77308]
}
200 · OK
{
  "code": 200,
  "state": "successful",
  "data": [{
    "documento": "PS 00000075",
    "fecha": "2023-11-22",
    "almacen": "0001 - E-COMMERCE",
    "persona": "CLIENTES VARIOS",
    "cantidad": -2,
    "movimiento": "SALIDA POR VENTA",
    "estado": "ATENDIDO",
    "idpedido": 77306,
    "idorder": "1275020618044-01",
    "detalle": [{
      "codigo_producto": 1000033597,
      "cantidad": 1,
      "producto": "SET BLENDER",
      "unidad_medida": "UND"
    }]
  }]
}
🏷️

Productos

1. Listar Productos

POST https://url-base/api/v1/productos/listarApi
AtributoTipoDescripciónReq.
idempresaintegerConstante de empresa (solicitar a TI)✓ Sí
productostringNombre o descripción del producto (filtro)— No
codigo_productostringSKU del producto (filtro)— No
BODY
{
  "idempresa": "1",
  "producto": "BOLSA",
  "codigo_producto": 15895
}
200 · OK
{
  "code": 200,
  "state": "successful",
  "data": [{
    "codigo_producto": "CODIGO1",
    "producto": "PRODUCTO 1",
    "unidad_medida": "UNIDAD",
    "codigo_producto_sunat": 1000,
    "estado": "ACTIVO",
    "created_at": "2020-11-10 10:45:18",
    "updated_at": "2020-12-22 13:24:27"
  }]
}
400 · Error
{
  "code": 400,
  "state": "failed",
  "errors": ["El campo ... es obligatorio."]
}

2. Crear Producto

POST https://url-base/api/v1/productosApi
AtributoTipoDescripciónReq.
idempresaintegerConstante de empresa (solicitar a TI)✓ Sí
codigo_productostring(35)SKU del producto✓ Sí
productostring(150)Nombre o descripción del producto✓ Sí
codigo_unimedinteger1=UNIDAD · 2=KILOGRAMO · 8=METROS · 9=CAJAS · 10=PAR
Consultar soporte para ver todas las opciones disponibles
✓ Sí
codigo_estadointeger1 = Activo · 2 = Inactivo✓ Sí
idgestioninteger1=Anónimo · 2=Serie · 4=Lote (coordinar con OL)— No
codigo_producto_sunatintegerRequerido solo si el OL emite Guías Electrónicas— No*
precio_ventafloatPrecio referencial de venta— No
pesofloatPeso en kg. Requerido si se emiten Guías Electrónicas— No*
peso_volumetricofloatVolumen (m³) × Factor de conversión— No
metro_cubicofloatMetro cúbico del producto— No
altofloatAlto del producto— No
anchofloatAncho del producto— No
largofloatLargo del producto— No
marcastringMarca del producto— No
modelostringModelo del producto— No
proveedorstringProveedor o distribuidor— No
familia json Familia del producto. Máx. 5 jerarquías. Coordinar con soporte para obtener los IDs registrados.

① Familia existente — enviar array con idfamilia, descripcion e idtipo_familia: [ { "idfamilia": 209, "descripcion": "ELECTRODOMESTICOS", "idtipo_familia": 1 }, { "idfamilia": 210, "descripcion": "LINEA BLANCA", "idtipo_familia": 2 } ] ② Familia nueva — enviar string con separador pipe | (hasta 5 niveles): "HOGAR | LINEA BLANCA | ELECTRODOMÉSTICO | LAVADORA | LG"
— No
BODY
{
  "codigo_producto": "CODIGO10",
  "producto": "PRODUCTO 10",
  "codigo_unimed": 1,
  "codigo_estado": 1,
  "idempresa": 1
}
200 · Producto creado
{
  "code": "200",
  "state": "successful",
  "data": "CODIGO10"
}
400 · Error
{
  "code": 400,
  "state": "failed",
  "errors": ["El campo ... es obligatorio."]
}
🔢

Series

Crear una Serie

POST https://url-base/api/v2/kardexSeriesExt
AtributoTipoDescripciónReq.
idempresaintegerConstante de empresa (solicitar a TI)✓ Sí
codigo_productostringSKU del producto✓ Sí
serie_gestionstringNúmero de serie del producto✓ Sí
dataarrayCaracterísticas adicionales de la serie (libre)— No
BODY
{
  "idempresa": 120,
  "codigo_producto": "LAPTOP-SMG",
  "serie_gestion": "SMG-011",
  "data": {
    "nro_chasis": "SMG",
    "nro_motor": "011",
    "color": "ROJO",
    "nro_oc": "100152"
  }
}
200 · Serie creada
{
  "code": "200",
  "state": "successful",
  "id": 123456
}
422 · Serie duplicada
{
  "code": 422,
  "state": "failed",
  "errors": ["La serie ya existe para el producto XXXX-XXX."],
  "message": "Revise los datos enviados."
}
400 · Error general
{
  "code": 400,
  "state": "failed",
  "message": "Error en ....."
}
📡

Webhook

Para la integración vía webhook, deberán proporcionarnos un endpoint accesible por HTTP POST que contemple un mecanismo de validación mediante token en la URL:

URL DE EJEMPLO
https://www.empresa-llc.com/recepcion?token=ABC-ABC-ABC
🔒
Seguridad del tokenEl valor del parámetro token debe ser un identificador único previamente acordado entre ambas partes. Permite al sistema receptor validar que la solicitud fue generada por Flexy antes de procesarla.

Flujo de notificaciones

📋 Evento en Flexy
🔄 Flexy genera POST
📡 Tu endpoint recibe
✅ Validar token
⚙️ Procesar trama

1. Recepción de Orden de Compra

Se dispara cuando el operador logístico confirma la recepción de mercadería en almacén.

WEBHOOK BODY
[{
  "documento": "PE 00100422",
  "fecha": "2024-03-14",
  "almacen": "DISPONIBLE",
  "persona": "EMPRESA SA",
  "cantidad": "300.00",
  "movimiento": "INGRESO POR COMPRA",
  "almacen_origen": "NODO EXTERNO",
  "almacen_destino": "NODO EXTERNO",
  "estado": "ATENDIDO",
  "idorden": 30709,
  "idkardex": 5452255,
  "numero_oc": 100064,
  "numero_documento": 100422,
  "numero_picking_gestion": 1282,
  "numero_picking_orden": 1303,
  "detalle": [
    {
      "codigo_producto": "10000007009",
      "cantidad": "100.0",
      "producto": "CASACA VIENTO NEGRO",
      "unidad_medida": "UND",
      "serie_gestion": null,
      "lote": null
    },
    {
      "codigo_producto": "10000036011",
      "cantidad": "200.0",
      "producto": "CAMISETA HOMBRE INTER DRIER ROJO",
      "unidad_medida": "UND",
      "serie_gestion": null,
      "lote": null
    }
  ]
}]

2. Despacho de Pedido

Se dispara cuando el operador confirma el despacho de un pedido al cliente.

WEBHOOK BODY
[{
  "documento": "PS 00000028",
  "fecha": "2024-04-09",
  "almacen": "DISPONIBLE",
  "persona": "NOMBRE CONSUMIDOR FINAL",
  "cantidad": "3.0",
  "movimiento": "SALIDA POR VENTA",
  "almacen_origen": "DISPONIBLE",
  "almacen_destino": "NODO EXTERNO",
  "estado": "ATENDIDO",
  "idpedido": 123578,
  "numero_transferencia": 216,
  "idkardex": 54550074,
  "numero_documento": 28,
  "detalle": [
    {
      "codigo_producto": "LI001",
      "cantidad": "1.0",
      "producto": "LICUADORA",
      "unidad_medida": "UND",
      "serie_gestion": "A3333333",
      "serie_gestion_glosa": "A333",
      "lote": null
    },
    {
      "codigo_producto": "LI001",
      "cantidad": "1.0",
      "producto": "LICUADORA",
      "unidad_medida": "UND",
      "serie_gestion": "A222222",
      "serie_gestion_glosa": "A222",
      "lote": null
    },
    {
      "codigo_producto": "10000007009",
      "cantidad": "1.0",
      "producto": "CASACA",
      "unidad_medida": "UND",
      "serie_gestion": null,
      "lote": null
    }
  ]
}]

3. Atención de Transferencia

Se dispara cuando el operador confirma la atención de una transferencia entre almacenes.

WEBHOOK BODY
[{
  "documento": "PS 00000028",
  "fecha": "2024-04-09",
  "almacen": "DISPONIBLE",
  "persona": "EMPRESA SA",
  "cantidad": "3.00",
  "movimiento": "SALIDA POR TRANSFERENCIA",
  "almacen_origen": "DISPONIBLE",
  "almacen_destino": "NODO EXTERNO",
  "estado": "ATENDIDO",
  "numero_transferencia": 216,
  "idtransferencia": 4250,
  "idkardex": 5452474,
  "numero_documento": 28,
  "detalle": [
    {
      "codigo_producto": "LI001",
      "cantidad": "1.0",
      "producto": "LICUADORA",
      "unidad_medida": "UND",
      "serie_gestion": "A3333333",
      "serie_gestion_glosa": "A333",
      "lote": null
    },
    {
      "codigo_producto": "LI001",
      "cantidad": "1.00",
      "producto": "LICUADORA",
      "unidad_medida": "UND",
      "serie_gestion": "A222222",
      "serie_gestion_glosa": "A222",
      "lote": null
    },
    {
      "codigo_producto": "10000007009",
      "cantidad": "1.00",
      "producto": "CASACA VIENTO NEGRO",
      "unidad_medida": "UND",
      "serie_gestion": null,
      "lote": null
    }
  ]
}]
Flexy WMS API Reference · v2.0.0
Ambiente Sandbox