Modificar Pedidos/Facturas
Permite modificar los campos reference (referencia del documento en el ERP) y last_erp_state (último estado reportado por el ERP) de uno o múltiples pedidos/facturas mediante una única petición. Este endpoint está diseñado para operaciones de modificación en lote (batch), permitiendo procesar hasta 10,000 registros por petición.
Método: PATCH
Endpoint
Sección titulada «Endpoint»https://api.ventasremotas.com/v1/orders/batch-updateEncabezados de la solicitud
Sección titulada «Encabezados de la solicitud»| Header | Valor | Descripción |
|---|---|---|
Content-Type | application/json | Indica que los datos se envían en formato JSON |
Accept | application/json | Indica que la respuesta debe estar en formato JSON |
Subscription-Key | {subscription_key} | Clave de suscripción para acceder a la API |
Authorization | Bearer {access_token} | Token de acceso obtenido del endpoint /token |
Parámetros del Cuerpo (Body)
Sección titulada «Parámetros del Cuerpo (Body)»El body debe ser un array de objetos, donde cada objeto representa un pedido/factura a modificar.
Límites
Sección titulada «Límites»| Parámetro | Valor | Descripción |
|---|---|---|
| Mínimo de items | 1 | El array no puede estar vacío |
| Máximo de items | 10,000 | Número máximo de pedidos/facturas por petición |
El cuerpo (Body) de la solicitud debe enviarse en formato JSON y debe incluir un array con los siguientes parámetros.
| Campo | Tipo | Nulo | Restricciones | Descripción |
|---|---|---|---|---|
order_code | string (max 30) | No | Requerido | Código del pedido/factura a modificar |
reference | string (max 20) | Sí | Opcional | Referencia del documento en el sistema ERP. Si se omite, no se modifica |
last_erp_state | string (max 250) | Sí | Opcional | Último estado del pedido reportado por el ERP. Si se omite, no se modifica |
Formato de tipos de dato
Sección titulada «Formato de tipos de dato»- string (max N): Cadena de texto con longitud máxima de
Ncaracteres.
Ejemplo de Solicitud
Sección titulada «Ejemplo de Solicitud»Modificar solo la referencia ERP de un pedido:
[ { "order_code": "PED-20250301-001", "reference": "REF-ERP-00123" }]Modificar solo el estado ERP:
[ { "order_code": "PED-20250301-001", "last_erp_state": "PROCESADO" }]Modificar ambos campos en varios pedidos (batch):
[ { "order_code": "PED-20250301-001", "reference": "REF-ERP-00123", "last_erp_state": "PROCESADO" }, { "order_code": "FAC-20250228-003", "last_erp_state": "FACTURADO" }]Ejemplo de Respuesta
Sección titulada «Ejemplo de Respuesta»{ "statusCode": 200, "message": "Orders updated successfully"}{ "statusCode": 400, "errors": [ { "message": "Invalid JSON in request body" } ]}{ "statusCode": 415, "errors": [ { "message": "Content-Type: application/json is required" } ]}Errores globales (estructura del body)
Sección titulada «Errores globales (estructura del body)»Si el body no es un array:
{ "statusCode": 422, "errors": [ { "message": "Request body must be an array" } ]}Si el array está vacío:
{ "statusCode": 422, "errors": [ { "message": "Request body cannot be empty" } ]}Si excede el límite de 10,000 items:
{ "statusCode": 422, "errors": [ { "message": "Array exceeds maximum limit of 10000 items" } ]}Errores por item (validación de campos)
Sección titulada «Errores por item (validación de campos)»Los errores se agrupan por el índice del item en el array:
{ "statusCode": 422, "errors": [ { "index": 0, "errors": [ { "field": "order_code", "message": "Field is required" } ] }, { "index": 2, "errors": [ { "field": "reference", "message": "Field exceeds maximum length of 20 characters" } ] } ]}Tipos de Errores de Validación por Campo
Sección titulada «Tipos de Errores de Validación por Campo»Errores de presencia y nulidad:
| Error | Descripción |
|---|---|
Field is required | El campo no fue enviado en el objeto (la clave no existe) |
Field cannot be null or empty | El campo fue enviado con valor null o vacío y no acepta nulos |
Unknown field | Se envió un campo que no existe en la configuración |
Item must be an object | Un elemento del array no es un objeto JSON |
Errores de tipo de dato:
| Error | Descripción |
|---|---|
Field must be a string | El valor no es una cadena de texto |
Errores de longitud:
| Error | Campo | Descripción |
|---|---|---|
Field exceeds maximum length of 30 characters | order_code | La cadena excede la longitud máxima permitida |
Field exceeds maximum length of 20 characters | reference | La cadena excede la longitud máxima permitida |
Field exceeds maximum length of 250 characters | last_erp_state | La cadena excede la longitud máxima permitida |
{ "statusCode": 423, "errors": [ { "message": "Resource is locked and cannot be accessed." } ]}Error de conexión a base de datos
Sección titulada «Error de conexión a base de datos»{ "statusCode": 500, "errors": [ { "message": "Error connecting to database" } ]}Error de operación en base de datos
Sección titulada «Error de operación en base de datos»{ "statusCode": 500, "errors": [ { "message": "Database operation failed" } ]}Error en Redis
Sección titulada «Error en Redis»{ "statusCode": 500, "errors": [ { "message": "Redis operation failed" } ]}Error en validaciones
Sección titulada «Error en validaciones»{ "statusCode": 500, "errors": [ { "message": "Unexpected error in the validations" } ]}Error inesperado
Sección titulada «Error inesperado»{ "statusCode": 500, "errors": [ { "message": "Unexpected error" } ]}Error del Servidor
Estos errores indican problemas internos en el servidor, la base de datos o el servicio de cache. Si persisten, contacta al equipo de soporte.