Enviar página de órdenes
La operación Enviar página de órdenes inicializa el proceso de sincronización upstream y permite enviar datos de órdenes desde el sistema externo hacia Talk2Sync.
Antes de enviar las órdenes, el daemon debe determinar el estado actual de la conexión upstream, la estrategia de sincronización, la entidad solicitada y la posición del cursor. Posteriormente debe inicializar el proceso upstream y seleccionar el endpoint correspondiente dependiendo de si Talk2Sync solicita una muestra para health checks o el conjunto completo de órdenes.
1. Consultar el estado upstream
Primero, recupera el estado actual de la conexión upstream:
GET https://api.talk2sync.com/api/adapters/custom/reverse/connection/{{your key}}/upstreamstatus
La respuesta debe tener una estructura similar a:
{
"connectionstatus": "waiting"
}
El estado waiting indica que el proceso upstream está listo para ser inicializado.
2. Consultar la estrategia de sincronización
Recupera la estrategia de sincronización solicitada por Talk2Sync:
GET https://api.talk2sync.com/api/adapters/custom/reverse/connection/{{your key}}/strategy
La respuesta puede ser:
{
"strategy": "push"
}
o:
{
"strategy": "pingsample"
}
La estrategia determina si el daemon debe enviar el conjunto completo de datos o únicamente una muestra para realizar health checks.
push— Envía el conjunto completo de órdenes.pingsample— Envía una muestra del conjunto de órdenes.
3. Consultar la entidad solicitada
Recupera la entidad que actualmente está solicitando Talk2Sync:
GET https://api.talk2sync.com/api/adapters/custom/reverse/connection/{{your key}}/entity
La respuesta debe identificar la entidad solicitada:
{
"entity": "orders"
}
o:
{
"entity": "products"
}
Para esta operación, el daemon debe continuar con el flujo de órdenes únicamente cuando la entidad devuelta sea orders.
4. Obtener el cursor
Recupera la posición actual del cursor:
GET https://api.talk2sync.com/api/adapters/custom/reverse/connection/{{your key}}/cursoroffset
La respuesta debe tener una estructura similar a:
{
"cursoroffset": 1517358864869
}
cursoroffset representa el timestamp de última actualización, expresado en milisegundos, del último registro descubierto por Talk2Sync para el tipo de entidad seleccionado actualmente.
Este valor puede utilizarse en el sistema externo para determinar qué registros deben considerarse durante el proceso de sincronización.
5. Inicializar el proceso upstream
Después de obtener la información necesaria de la conexión, inicializa el proceso upstream:
POST https://api.talk2sync.com/api/adapters/custom/reverse/connection/{{your key}}/push/initialize
El endpoint debe devolver el código HTTP 200.
Después de la inicialización, una nueva consulta al estado upstream debe devolver:
{
"connectionstatus": "initialized"
}
El daemon debe continuar únicamente después de que el proceso upstream haya sido inicializado correctamente.
6. Seleccionar la operación de envío de órdenes
Si la entidad solicitada es orders, el daemon puede comenzar a enviar los datos de órdenes.
El endpoint depende de la estrategia de sincronización.
Envío de muestra
Cuando la estrategia es pingsample, envía una muestra para realizar health checks:
POST https://api.talk2sync.com/api/adapters/custom/reverse/connection/{{your key}}/pingsample/orders
Envío completo de órdenes
Cuando la estrategia es push, envía el conjunto de órdenes:
POST https://api.talk2sync.com/api/adapters/custom/reverse/connection/{{your key}}/push/orders
7. Payload de órdenes
El cuerpo de la solicitud debe contener un arreglo orders con las órdenes que se enviarán a Talk2Sync:
{
"orders": [
{
"_id": "75554554546",
"orderid": "777777",
"last_updated": 1517360038797,
"status": "paid",
"dateCreated": "",
"dateClosed": "",
"total": {
"amount": 350,
"currency": "USD"
},
"orderItems": [
{
"id": "7778545",
"variation_id": "0",
"quantity": "1",
"unitPrice": "350",
"currencyId": "USD"
}
],
"buyer": {
"id": "4578889",
"email": "testbuyer@example.com",
"phone": "88888888",
"firstName": "John",
"lastName": "Doe"
}
}
]
}
Resumen del proceso
La operación completa sigue esta secuencia:
Siguientes pasos
- Consulta Finalizar envíos de órdenes para finalizar la operación de carga de órdenes.
- Consulta Enviar página de productos para conocer el proceso equivalente para productos.
- Consulta el Protocolo de carga de órdenes para comprender dónde encaja esta operación dentro del flujo completo de reverse connections.