Exact Online synchronisatie-API's

Wat zijn Exact Online Sync API’s?

Exact Online biedt zogenaamde “Sync API’s” aan: Sync API’s zijn gericht op eenvoudige eenrichtingssynchronisatie van Exact Online naar lokale replica’s (aankondiging).

Sync API’s lijken op de Bulk API’s doordat ze 1.000 rijen per API-verzoek retourneren. Server-side filtering via OData is echter alleen beschikbaar op een steeds oplopende transactieteller.

Een Exact Online Sync API gaat ervan uit dat de applicatie de gegevens downloadt vanuit Exact Online en de hoogste waarde van de transactieteller onthoudt. Bij de volgende synchronisatie worden de eventueel bijgewerkte en/of toegevoegde gegevens gedownload vanaf de onthouden waarde. Verwijderde rijen zijn beschikbaar via een speciale API die de primaire sleutel en de transactietellerwaarde van alle verwijderde rijen vermeldt.

Invantive SQL bevat tabellen voor alle Exact Online Sync API’s. Ze zijn te herkennen aan een naampostfix “Incremental”, zoals “TransactionLinesIncremental”. Deze zijn beschikbaar, zelfs wanneer Invantive Data Replicator niet is gelicentieerd, wat in verschillende scenario’s kostenbesparingen oplevert.

Wat zijn de verschillen tussen Exact Online webhooks en Sync API’s?

De verschillen tussen Exact Online webhooks en sync API’s zijn:

  • Exact Online webhooks hebben een betere latency.
  • Exact Online Sync API’s schalen beter.
  • Exact Online Sync API’s zijn betrouwbaarder.
  • Exact Online webhooks laten geen gaten in de geschiedenis achter.

Webhooks presteren beter dan Sync API’s op het gebied van latency. Webhooks worden binnen enkele minuten na een wijziging afgeleverd via een push-strategie. De sync API’s zijn alleen toegankelijk via een pull-strategie. Een pull zorgt voor een lagere latency, maar ten koste van resourcegebruik. Over het algemeen kan een webhook dus sneller wijzigingsinformatie leveren bij vergelijkbaar resourcegebruik.

Sync API’s schalen beter bij grote volumes gewijzigde records. Voor elke wijziging wordt minstens één webhookbericht gegenereerd, maar bij het ophalen van gegevens via de sync API worden gewijzigde records gebundeld in groepen van 1.000.

Sync API’s bouwen voort op de schaalbare en betrouwbare synchrone REST API’s van Exact Online. De REST API’s hebben een lage gemiddelde tijd tussen storingen (1:1.000.000) en een eenvoudige detectie van de noodzaak tot herstel. De huidige implementatie van Exact Online webhooks is ontworpen zonder essentiële functies voor gegevensintegriteit, wat wordt versterkt door het asynchrone karakter ervan. Het is een veelvoorkomend probleem dat wijzigingen tijdens het proces verloren gaan. Aangezien de integriteit van financiële gegevens essentieel is, heeft dit veel gebruikers teruggedreven naar volledige replicatie. De beperkte robuustheid van de Exact Online webhooks wordt over het algemeen niet als een probleem beschouwd voor marketinggegevens.

Het gebruik van webhooks maakt het mogelijk om meerdere wijzigingen te registreren die plaatsvinden tussen de replicatie-intervallen. Het Exact Online webhookbericht bevat niet de daadwerkelijke details, waardoor een volledig audittrail niet mogelijk is, maar geeft wel het aantal wijzigingen aan. Bij de Sync API’s daarentegen kunnen bijna alle tussentijdse wijzigingen op rijniveau zelfs met geavanceerde wiskunde nooit worden gedetecteerd.