API Benachrichtigungen

Über API-Benachrichtigungen werden externe Systeme mittels HTTP-GET über Datenänderungen informiert. Die Benachrichtigung dient als Auslöser für eine Änderungs-Datenabfrage. Mit API-Benachrichtigungen sind zeitgesteuerte Änderungs-Abfragen (Polling) zum Zweck der Datenspiegelung weitgehend überflüssig.

Eine API-Benachrichtigung wird in Collmex über den Namen des externen Systems und ein Ereignis (z.B. Änderung einer Rechnung) identifiziert. Jeder API-Benachrichtigung ist eine URL zugeordnet, die bei Eintritt des Ereignisses aufgerufen wird.

Der Ablauf ist wie folgt:

  1. Ein Dokument wird in Collmex geändert (z.B. eine Rechnung).
  2. Ist für das Ereignis eine aktive API-Benachrichtigung eingestellt, wird eine Benachrichtigung eingeplant.
  3. Nach einer Zeitverzögerung von einer Minute erfolgt die HTTP-GET-Abfrage für die hinterlegte URL. Dabei wird ein Zähler für unquittierte Benachrichtigungen um eins hoch gezählt.
  4. Das externe System ruft mittels einer Änderungs-Datenabfrage die seit dem letzten Aufruf geänderten Daten ab. Dabei wird der Zähler für unquittierte Benachrichtigungen auf Null zurück gesetzt.

Durch die Zeitverzögerung erfolgt maximal eine Benachrichtigung pro Minute. Die maximale Anzahl von unquittierten Benachrichtigungen beträgt 100. Bei Überschreiten dieser Grenze erfolgt keine weitere Benachrichtigung, bis entweder eine Änderungs-Datenabfrage erfolgt ist oder die API-Benachrichtigung inaktiviert und anschließend wieder aktiviert wurde.

Die Einstellungen für die Benachrichtigung werden über die Satzart API_NOTIFICATION gesetzt und können unter 'Verwaltung → Daten → API-Benachrichtigungen' eingesehen werden.

NrFeldTypMax.LängeBemerkung
1SatzartC Festwert API_NOTIFICATION
2SystemC20Name des Systems
3EreignisI81 = Buchung ausgeführt, 2 = Verfügbarer Bestand geändert, 3 = Kundenauftrag geändert, 4 = Lieferung geändert, 5 = Rechnung geändert, 6 = Angebot geändert, 7 = Bestand geändert, 8 = Produkt geändert, 9 = Kunde oder Lieferant oder Adresse oder Mitglied (nur Collmex verein) geändert.
4URLC255URL, die per http/https GET aufgerufen wird, sobald das Ereignis eingetreten ist.
5InaktivI80 = Aktiv, 1 = Inaktiv, 2 = Löschen

Siehe auch: Collmex API Inhalt