Uso de la API
Documentación de uso de la API de carga masiva de productos
Uso de la API
La Products Upload API permite realizar la carga masiva de productos mediante el endpoint:
POST /load-productsEste endpoint permite enviar hasta 3000 productos por solicitud en formato JSON.
Los productos son validados y enviados a procesamiento asíncrono dentro del sistema.
Endpoint
POST /load-productsURL Base
https://business-irdgco-products-upload.cloudintercorpretail-qa.pe/api/business-irdgco-products-upload/v1Autenticación
La API utiliza autenticación mediante Bearer Token (JWT).
Header requerido:
Authorization: Bearer <token>Headers requeridos
| Header | Descripción |
|---|---|
| Authorization | Token JWT de autenticación |
| Content-Type | application/json |
Límite de la API
La API permite:
Máximo 3000 productos por requestSi se supera este límite se devuelve:
400 - El número máximo de productos por carga es 3000Consideraciones importantes
- El procesamiento es asíncrono
- El response 200 NO garantiza persistencia final
- Los errores pueden ser parciales
Estructura del Request
El cuerpo de la solicitud debe contener:
products[]Lista de productos a procesar.
Ejemplo de referencia
{
"products": [
{
"productCode": "SPSA-100002",
"skuCode": "20054995",
"eanCode": "9421226",
"description": "MITHOS PANT D FT NEGRO T.26-34 TT",
"price": 15.5,
"length": 30,
"width": 20,
"height": 5,
"weight": 0.8,
"productType": "ST",
"dispatchType": "NORMAL",
"unitMeasurement": "UN",
"unitedNationsCode": "00601059",
"hierarchyCode": "SPSA-F0425",
"taxSale": "T",
"productPmmStatus": "5",
"dateUpdate": "2021-03-01 09:00:00",
"isEcommerce": "T",
"measurable": "F",
"conversionFactor": 1,
"barcodes": [
{
"productCode": "SPSA-100002",
"eanCode": "9421226",
"indicator": "PRINCIPAL"
}
],
"hierarchies": [
{
"hierarchyCode": "SPSA-F0425",
"hierarchyLevel": 1,
"hierarchyName": "Ropa"
}
],
"lstAttributes": [
{
"attributeType": "COLOR",
"parentAttributeCode": "GENERAL",
"attributeCode": "NEGRO",
"attributeDescription": "Color negro",
"productCode": "SPSA-100002"
}
]
}
]
}Validaciones por campo
Campos obligatorios
Los siguientes campos son requeridos por producto:
- productCode
- skuCode
- eanCode
- description
- price
- length
- width
- height
- weight
- productType
- unitMeasurement
- unitedNationsCode
- hierarchyCode
- taxSale
- productPmmStatus
- dateUpdate
- isEcommerce
- measurable
- conversionFactor
- barcodes
- hierarchies
- lstAttributes
Descripción de los atributos del request
Definición de campos importantes
Identificadores
| Campo | Descripción |
|---|---|
| productCode | Código único del producto a nivel empresa |
| skuCode | Código SKU del producto |
| eanCode | Código de barras principal del producto |
Descripción
| Campo | Descripción |
|---|---|
| description | Descripción del producto |
- Tamaño máximo recomendado: 255 caracteres
Dimensiones del producto
| Campo | Descripción | Unidad |
|---|---|---|
| length | Largo del producto | cm |
| width | Ancho del producto | cm |
| height | Alto del producto | cm |
| weight | Peso del producto | kg |
Catálogos de negocio
productType
Tipo de producto definido por el sistema maestro.
Ejemplo:
STunitMeasurement
Unidad de medida del producto.
Ejemplos:
UN -> Unidad
KG -> Kilogramo
LT -> Litro
ML -> MililitrodispatchType
Tipo de despacho del producto.
Valores posibles:
NORMAL
EXPRESS
INTERNATIONALImpuestos
taxSale
T -> Afecto a impuesto
F -> No afectoEstado del producto
productPmmStatus
Ejemplo:
5 -> Producto activoConversión de unidades
conversionFactor
Ejemplo:
1 caja = 12 unidades
conversionFactor = 12Flags del producto
isEcommerce
T -> Habilitado en ecommerce
F -> No disponible en ecommercemeasurable
T -> Producto medible
F -> Producto unitarioObjetos relacionados
barcodes
Lista de códigos de barras asociados al producto.
hierarchies
Lista de jerarquías del producto.
lstAttributes
Lista de atributos adicionales.
Códigos de respuesta
| Código | Descripción |
|---|---|
| 200 | Procesamiento correcto |
| 400 | Error en la solicitud |
| 401 | No autorizado |
| 403 | Prohibido |
| 500 | Error interno |
Flujo interno de procesamiento
- Recepción del request
- Validación de estructura JSON
- Validación de reglas de negocio
- Publicación en sistema de mensajería (PubSub)
- Procesamiento asíncrono
- Persistencia en sistemas downstream
- Generación de resultados
Ejemplo de flujo
El siguiente diagrama describe el flujo interno de procesamiento de la API:
Swagger
El archivo swagger de la API se puede consultar en el siguiente enlace: Swagger