Notificar error en el almacenamiento de una orden
Cuando el daemon no puede insertar o actualizar correctamente una orden recibida desde Talk2Sync, debe notificar a Talk2Sync el fallo y proporcionar detalles sobre el error.
Esta notificación permite a Talk2Sync registrar la transacción fallida de la orden y continuar gestionando el proceso de sincronización.
1. Notificar el error de almacenamiento
Envía una solicitud POST utilizando el _id de la orden afectada:
POST https://api.talk2sync.com/api/adapters/custom/reverse/connection/{{your key}}/pull/orders/{{_id}}/failed
Reemplaza {{_id}} por el identificador de la orden que no pudo procesarse.
2. Cuerpo de la solicitud
El cuerpo debe contener la descripción general del error y las razones específicas del fallo:
{
"error": "could not pull order",
"reasons": [
{
"message": "custom error string message",
"code": 400
}
]
}
El campo error proporciona una descripción general del fallo, mientras que reasons contiene los errores específicos encontrados durante el procesamiento.
Cada razón incluye:
message— Descripción del problema específico.code— Código de error asociado con el problema.
3. Esperar a que finalice la transacción
La notificación del error debe responder con HTTP 200 OK.
Después de recibir una respuesta exitosa, el daemon debe esperar a que Talk2Sync termine de procesar la transacción de la orden antes de solicitar otra orden.
Consulta el estado readyfornext:
GET https://api.talk2sync.com/api/adapters/custom/reverse/connection/{{your key}}/pull/orders/readyfornext
La respuesta debe tener una estructura similar a:
{
"ready": false
}
o:
{
"ready": true
}
ready: false
Talk2Sync todavía está procesando la transacción fallida. El daemon debe esperar y volver a consultar el endpoint.
ready: true
La transacción ha terminado y el daemon puede continuar con la siguiente orden.
Proceso
Siguientes pasos
- Consulta Obtener la siguiente orden para recuperar la siguiente orden.
- Consulta Notificar éxito del almacenamiento de una orden para las operaciones exitosas.
- Consulta Finalizar obtención de órdenes para finalizar la descarga de órdenes.