Saltar al contenido principal

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 CodeCustom CodeMessage
500UNEXPECTED_ERRORFalta la inyección del usuario en la consulta.
422AT_LEAST_ONE_TYPE_IS_REQUIREDSe requiere al menos un tipo para sincronizar.
404MERCH_REQUEST_NOT_FOUNDNo se encontró una orden con la id: (UUID)
422INVALID_TIME_RANGEEl "changeDate" de la orden (UUID) no es válido.