LogoDAD Dev Docs

Uso de la API

Documentación de uso de la API de capacidad de entrega

Uso de la API

La Delivery Capacity API permite calcular la fecha de entrega disponible para un grupo de productos mediante el endpoint:

POST /delivery/capacity

Este endpoint calcula la fecha de entrega basándose en los despachos que se generarían, utilizando lógica de capacidad.


Endpoint

POST /delivery/capacity

URL Base

AmbienteURL
QAhttps://qa.api.co.irdigital.pe/business-irdgco-delivery/v1
Producciónhttps://api.co.irdigital.pe/business-irdgco-delivery/v1

Autenticación

La API utiliza autenticación mediante API Key.

Header requerido:

Authorization: Bearer <api-key>

Headers requeridos

HeaderDescripción
AuthorizationToken de autenticación
Content-Typeapplication/json

Límite de la API

La API permite:

Múltiples productos por request

Consideraciones importantes

  • El procesamiento es sincrónico
  • Se retorna la respuesta en el mismo request
  • La capacidad se evalúa en tiempo real según la disponibilidad
  • Campos como nodos, identificadores de ruta y fechas internas se calculan dentro del servicio y no deben enviarse en el request

Estructura del Request

El request debe incluir los datos de la solicitud de fecha de entrega:

- purchaseDate (requerido)
- items (requerido)
- isLastRoute (opcional)
- isPurchaseOrderDeliveryDateRequest (opcional)

Ejemplo de referencia

{
  "purchaseDate": "2024-01-15",
  "isLastRoute": false,
  "isPurchaseOrderDeliveryDateRequest": false,
  "items": [
    {
      "origin": "LIMA01",
      "entityType": "CD",
      "skuCode": "20054995",
      "line": "FASHION",
      "zone": "SPSA-ZN-125",
      "zoneByChannel": "ECOMMERCE_ZONA_125",
      "dispatchType": "NORMAL",
      "quantity": 5,
      "measurable": "UN",
      "destination": "LIMA",
      "units": 5,
      "division": "TEXTIL",
      "province": "LIMA",
      "weight": 0.8,
      "hasFreightAttributeConfiguration": false,
      "attributes": [
        {
          "attribute": "TEMPERATURA",
          "attributeValue": "AMBIENTE",
          "attributeCode": "TEMP_AMB"
        }
      ],
      "latitude": -12.092,
      "longitude": -77.042,
      "saleChannel": "ecommerce",
      "presentationCode": "UN",
      "entityCode": "ENT-001",
      "groupName": "GRUPO-LIMA",
      "deliveryMode": "HOME_DELIVERY"
    }
  ]
}

Validaciones por campo

Campos obligatorios

Los siguientes campos son requeridos:

  • purchaseDate (formato: YYYY-MM-DD)
  • items (array no vacío)

Campos del item (DispatchDTO)

CampoDescripciónRequerido
originCódigo de origen del despacho
entityTypeTipo de entidad (CD, TD, PRV, SELLER)
skuCodeCódigo SKU del producto
zoneZona de despacho
dispatchTypeTipo de despacho (NORMAL, EXPRESS)
destinationDestino del despacho
quantityCantidad del producto
latitudeLatitud de entrega
longitudeLongitud de entrega
deliveryModeModo de entrega (HOME_DELIVERY, STORE_WITHDRAWAL)

Campos adicionales soportados en items[]

CampoDescripción
lineLínea o jerarquía del producto
zoneByChannelZona por canal de venta
measurableUnidad de medida
unitsUnidades
divisionDivisión del producto
provinceProvincia de destino
weightPeso del producto
hasFreightAttributeConfigurationIndicador de configuración de flete
attributesLista de atributos del producto
latitudeLatitud de entrega
longitudeLongitud de entrega
saleChannelCanal de venta
presentationCodeCódigo de presentación
entityCodeCódigo de entidad
groupNameNombre del grupo

Descripción de los atributos del response

Información de fecha de entrega

CampoDescripciónTipo
skuCodeCódigo SKU del productostring
lineLínea o jerarquía del productostring
processingDaysDías de procesamientointeger
leadTimesTiempos de entrega en díasarray
pickingDateFecha de picking (YYYY-MM-DD)date
deliveryDatesFechas de entrega disponiblesarray
deliveryTraceTrazabilidad del despachoarray
messageMensaje informativo o de errorstring

Estados y tipos válidos

entityType

CD -> Centro de Distribución
TD -> Tienda
PRV -> Proveedor
SELLER -> Vendedor

deliveryMode

HOME_DELIVERY -> Entrega a domicilio
STORE_WITHDRAWAL -> Retiro en tienda

dispatchType

NORMAL -> Despacho normal
EXPRESS -> Despacho express

Flujo interno de cálculo de fecha de entrega

  1. Recepción del request con grupo de productos
  2. Validación de estructura JSON
  3. Validación de reglas de negocio
  4. Cálculo de despachos generados
  5. Evaluación de capacidad de cada despacho
  6. Determinación de fechas de entrega
  7. Generación de trazabilidad
  8. Retorno de respuesta

Diagrama de flujo

El siguiente diagrama describe el flujo de cálculo de fecha de entrega:


Códigos de respuesta

CódigoDescripción
200Fecha de entrega al cliente obtenida exitosamente
400Solicitud inválida o parámetros incorrectos
404No se encontraron rutas para procesar el cálculo de fecha
500Error calculando la fecha de entrega

El archivo swagger de la API se puede consultar en el siguiente enlace: Swagger

On this page