¿Qué son las API de sincronización (Sync APIs) de Exact Online?
Exact Online ofrece las llamadas «API de sincronización» (Sync APIs): estas API de sincronización están orientadas a facilitar la sincronización unidireccional sencilla desde Exact Online hacia réplicas locales (anuncio).
Las API de sincronización son similares a las API Bulk en que devuelven 1.000 filas por solicitud de API. Sin embargo, el filtrado del lado del servidor OData solo está disponible sobre un contador de transacciones que siempre se incrementa.
Una API de sincronización de Exact Online presupone que la aplicación descarga los datos de Exact Online y memoriza el valor más alto del contador de transacciones. En la siguiente sincronización, se descargan los posibles datos actualizados y/o añadidos a partir del valor memorizado. Las filas eliminadas están disponibles a través de una API especial que enumera la clave primaria y el valor del contador de transacciones de todas las filas eliminadas.
Invantive SQL incluye tablas para todas las API de sincronización de Exact Online. Se pueden reconocer por un sufijo de nombre «Incremental», como «TransactionLinesIncremental». Están disponibles incluso cuando Invantive Data Replicator no está licenciado, lo que supone un ahorro de costes en varios escenarios.
¿Cuáles son las diferencias entre los webhooks de Exact Online y las API de sincronización?
Las diferencias entre los webhooks de Exact Online y las API de sincronización son:
- Los webhooks de Exact Online tienen mejor latencia.
- Las API de sincronización de Exact Online escalan mejor.
- Las API de sincronización de Exact Online son más fiables.
- Los webhooks de Exact Online no dejan huecos en el historial.
Los webhooks superan a las API de sincronización en términos de latencia. Los webhooks se entregan en cuestión de minutos tras un cambio, utilizando una estrategia push. Las API de sincronización solo son accesibles mediante una estrategia pull. Un pull permite una menor latencia, pero a costa del uso de recursos. Por lo tanto, en general, un webhook puede entregar información de cambios más rápido con un uso de recursos comparable.
Las API de sincronización escalan mejor en grandes volúmenes de registros modificados. Se genera al menos un mensaje de webhook por cada cambio, pero al extraer los datos mediante la API de sincronización, los registros modificados se agrupan en lotes de 1.000.
Las API de sincronización se basan en las API REST síncronas, escalables y fiables de Exact Online. Las API REST tienen un tiempo medio entre fallos bajo (1:1.000.000) y una detección sencilla de la necesidad de recuperación. La implementación actual de los webhooks de Exact Online se diseñó sin funciones esenciales para la integridad de los datos, las cuales se ven agravadas por su naturaleza asíncrona. Es un problema común que se pierdan cambios durante el proceso. Dado que la integridad de los datos financieros es esencial, esto ha llevado a muchos usuarios a volver a la replicación completa. En general, la robustez limitada de los webhooks de Exact Online no se considera un problema para los datos de marketing.
El uso de webhooks permite el registro de múltiples cambios que ocurren entre los intervalos de replicación. El mensaje de webhook de Exact Online no contiene los detalles reales, lo que impide una auditoría completa, pero aun así indica el número de cambios. Sin embargo, con las API de sincronización, casi nunca se pueden detectar todos los cambios intermedios a nivel de fila, ni siquiera con matemáticas avanzadas.