Projektbeschreibung
ÜbersetztKonkret sollte die Integration automatisch Bestellungen, Rechnungen, Kunden, Produkte und Inventar in beide Richtungen übertragen. Eine neue Bestellung im Shop sollte im Buchhaltungssystem als Rechnung oder Verkauf mit dem korrekt verknüpften Kunden erscheinen; ein auf einer Seite erstellter oder geänderter Kunde sollte abgeglichen, nicht dupliziert werden; und wenn sich der Bestand aufgrund eines Verkaufs, einer Rücksendung oder einer manuellen Anpassung ändert, muss das andere System dies erfassen. Wir legen Wert auf eine klare Feldzuordnung – wir entscheiden, wie die Felder des Shops den Buchhaltungsfeldern zugeordnet werden (Steuern, SKUs, Zahlungsmethoden, Währungen), und diese Zuordnung kann überprüft und korrigiert werden, nicht eine "Black Box".
Da die Synchronisierung zweiseitig ist, sind Konflikte unvermeidlich, und wie Sie diese lösen, ist uns wichtiger als rohe Geschwindigkeit. Wenn derselbe Kunde oder das gleiche Produkt auf beiden Seiten zwischen den Durchläufen geändert wird, benötigen wir angemessene Regeln, eine Wahl der Quelle der Wahrheit für jede Entität und ein Protokoll, das zeigt, was sich geändert hat, was übersprungen wurde und was zur menschlichen Überprüfung eskaliert wurde. Bitte beschreiben Sie, wie Sie die Synchronisierung aufbauen (geplante Durchläufe plus nahezu Echtzeit, wo es kritisch ist), wie Sie Duplikate eliminieren, wie Sie sich erholen, wenn die Buchhaltungs-API eine Minute lang nicht verfügbar ist, und wie Sie uns sicher erlauben, einen fehlgeschlagenen Batch ohne doppelte Rechnungen neu zu starten.
— Entitäten: Bestellungen, Rechnungen, Kunden, Produkte, Inventar
— Zwei-Wege-Austausch, Quelle der Wahrheit und Konfliktprotokoll für jede Entität
— Bearbeitbare Feldzuordnung (Steuer, SKU, Währung, Zahlungsmethode)
— Sichere Wiederholungen und idempotente Neustarts ohne doppelte Rechnungen