POST | /sync
Función que Realiza
Recibe los cambios específicos de una órden, los aplica de forma cronológica y finalmente devuelve la órden con los cambios aplicados.
Funcionamiento
- URL Completa:
{domain}/api/v1/orders/sync - Acción: POST
- Requiere Api-Key?: Si
- Requiere una Sesión?: Si
- Recibe datos mediante: Body
- Cantidad de datos: 5 Obligatorios | 7 Opcionales
- Responde con contenido?: No
- Responde únicamente con código de estado?: Si
- Código: 200 | Ok
- Códigos de error: Vea la sección Errores
Contenido que se recibe por Body
Estructura del JSON:
{"parámetro": "tipo de dato"}
nota
- Los cambios se van a aplicar a partir de la fecha que se indique en changeDate, es decir, solo se van a obtener los cambios posteriores a esa fecha. Sino hay cambios posteriores se a aplicar únicamente el cambio actual que se envió.
- Si en el campo data se envía un objeto vacío se va a devolver la órden con los cambios aplicados a partir de la fecha ingresada en changeDate.
- Obligatoriamente se requiere por lo menos 1 entidad para actualizar.
{
"orders?": [
{
"action": "Enum('update', 'create', 'delete')",
"entityId": "String",
"changeDate": Int, // Unix Timestamp
"data": {
"dispatchId"?: Int | null,
"clientId"?: Int,
"sellerId"?: "String",
"status"?: "Enum('PENDIENTE', 'ANULADO', 'COMPLETADO')",
"comments"?: "String",
"createDate"?: Int,
"completeDate"?: Int | null,
"cancelReason"?: "String"
}
}
],
"orderTasks?": [
{
"action": "Enum('update', 'create', 'delete')",
"entityId": "String (Format: OrderID:TaskID)",
"changeDate": Int, // Unix Timestamp
"data": {
"taskId"?: Int,
"requestId"?: "String",
"status"?: "Enum('PENDIENTE', 'INCOMPLETO', 'COMPLETADO')",
"incompleteReason"?: "String" | null,
}
}
]
}
Códigos de Error
| HTTP Code | Custom Code | Message |
|---|---|---|
| 500 | UNEXPECTED_ERROR | Falta la inyección del usuario en la consulta. |
| 422 | AT_LEAST_ONE_TYPE_IS_REQUIRED | Se requiere al menos un tipo para sincronizar. |
| 404 | MERCH_REQUEST_NOT_FOUND | No se encontró una orden con la id: (UUID) |
| 422 | INVALID_TIME_RANGE | El "changeDate" de la orden (UUID) no es válido. |