Enviar página de productos
La operación Enviar página de productos inicializa el proceso de sincronización upstream y permite enviar datos de productos desde el sistema externo hacia Talk2Sync.
Antes de enviar productos, 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 productos.
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 solicitada actualmente 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 datos.pingsample— Envía una muestra del conjunto de datos para realizar health checks.
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": "products"
}
o:
{
"entity": "orders"
}
Para esta operación, el daemon debe continuar con el flujo de productos únicamente cuando la entidad devuelta sea products.
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 productos
Si la entidad solicitada es products, el daemon puede comenzar a enviar los datos de productos.
El endpoint depende de la estrategia de sincronización obtenida previamente.
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/products
Envío completo de productos
Cuando la estrategia es push, envía el conjunto de productos:
POST https://api.talk2sync.com/api/adapters/custom/reverse/connection/{{your key}}/push/products
7. Payload de productos
El cuerpo de la solicitud debe contener un arreglo products con los productos que se enviarán a Talk2Sync:
{
"products": [
{
"_id": "100004777",
"sku": "100004777",
"last_updated": 1517360038797,
"title": "EON618S JBL SUBWOOFER 18\" AMPLIFICADO",
"url": "",
"brand": "",
"mpn": "",
"model": "",
"description": "JBL Premium Transducers",
"variations": [
{
"availabilities": [
{
"tag": "default",
"quantity": "50"
}
],
"prices": [
{
"tag": "default",
"currency": "USD",
"number": "1060.51"
}
],
"images": [
{
"url": "https://www.example.com/13080-thickbox_default/eon618s-jbl-subwoofer-18-amplificado-.jpg"
}
],
"videos": [
{
"url": ""
}
],
"barcode": "",
"size": "",
"color": ""
}
]
}
]
}
Resumen del proceso
La operación completa sigue esta secuencia:
Siguientes pasos
- Consulta Finalizar envío de productos para completar la operación de carga de productos.
- Consulta Enviar página de órdenes para conocer el proceso equivalente para órdenes.
- Consulta el Protocolo de carga de productos para comprender dónde encaja esta operación dentro del flujo completo de reverse connections.