Zu Content springen
  • Es gibt keine Vorschläge, da das Suchfeld leer ist.

Arbeiten mit Webhooks

Ein Webhook wird auch als HTTP-Push oder Web-Callback bezeichnet. Er ist eine Möglichkeit, eine Zielanwendung mit neuen oder geänderten Daten zu versorgen.

In ControlOffice ist es möglich, eine Benachrichtigung vom Typ „Webhook“ einzurichten. In diesem Fall wird für die Benachrichtigung eine URL angegeben. Eine Benachrichtigung kann über die Systemverwaltung und anschließend über 'Benachrichtigungen konfigurieren' eingerichtet werden.

Wie funktioniert es?

ControlOffice kann Benachrichtigungen an einen Webhook senden.

Der Body einer Webhook-Benachrichtigung hat immer dieselbe Struktur:

{   "subjectType": "<Name des Benachrichtigungstyps>",   "subjectId": "<Identifikation des Subjects>",   "offsetType": "<Offset-Typ>",   "offset": "<Offset>",   "tenant": "<Identifikation des Tenants>",   "timestamp": "<Zeitstempel, UTC>" } 

Properties

subjectType
Enthält den Typ der Benachrichtigung.

subjectId
Enthält die ID des Subjects, auf das sich die Benachrichtigung bezieht. Mit dieser ID kann über einen GET-Request an den entsprechenden Endpoint der betreffende Datensatz abgerufen werden.

Zum Beispiel:

GET /api/v1/Request/1234-5678-9012-3456 

offsetType
Enthält die Zeiteinheit eines eventuellen Offsets. Mögliche Werte sind None, Day, Week, Month und Year.

offset
Enthält die Anzahl der Tage, Wochen, Monate oder Jahre des eingestellten Offsets.

tenant
Enthält die Identifikation des Tenants.

timestamp
Enthält den Zeitpunkt, zu dem die Benachrichtigung generiert wurde. Der Zeitstempel wird in UTC angegeben.

Meldungen

Endpoint: /api/v1/Request

Benachrichtigung Name Einstellungen
Eine neue Meldung wurde erstellt RequestCreated  
Eine Meldung wurde geändert RequestChanged  
Der Status einer Meldung wurde geändert RequestStatusChanged  
Eine Meldung wurde fertiggemeldet RequestMarkedReady  
Aus einer Meldung wurde ein Arbeitsauftrag erstellt WorkorderCreatedFromRequest  

Arbeitsaufträge

Endpoint: /api/v1/Workorder

Benachrichtigung Name Einstellungen
Ein neuer Arbeitsauftrag wurde erstellt WorkorderCreated  
Ein Arbeitsauftrag wurde geändert WorkorderChanged  
Der Status eines Arbeitsauftrags wurde geändert WorkorderStatusChanged  
Der Verantwortliche eines Arbeitsauftrags wurde festgelegt WorkorderResponsibleSet  
Der Verantwortliche eines Arbeitsauftrags wurde entfernt oder geändert WorkorderResponsibleRemoved  
Ein Mitarbeiter wurde einem Arbeitsauftrag hinzugefügt WorkorderEmployeeCreated  
Ein Mitarbeiter wurde aus einem Arbeitsauftrag entfernt WorkorderEmployeeRemoved  
Das Planungsdatum eines Arbeitsauftrags wird erreicht WorkorderPlandateDue Anzahl Tage vor der Benachrichtigung
Ein Arbeitsauftrag wurde fertiggemeldet WorkorderMarkedReady  
Ein Arbeitsauftrag wurde als vollständig gemeldet WorkorderCompleted  
Ein Arbeitsauftrag wurde abgeschlossen WorkorderClosed  
Der Chat (das Memofeld) eines Arbeitsauftrags wurde geändert WorkorderChatChanged  

Einkauf

Endpoint: /api/v1/PurchaseOrder

Benachrichtigung Name Einstellungen
Eine neue Bestellung wurde erstellt PurchaseOrderCreated  
Eine Bestellung wurde geändert PurchaseOrderChanged  
Der Status einer Bestellung wurde geändert PurchaseOrderStatusChanged  
Eine Bestellung darf bestellt werden PurchaseOrderSendToSupplier  
Eine Bestellung wurde bestellt PurchaseOrderSentToSupplier  
Es gab eine Lieferung für eine Bestellung PurchaseOrderFirstDelivery  
Eine Bestellung wurde als vollständig gemeldet PurchageOrderFinalDelivery  
Das Lieferdatum einer Bestellung wurde überschritten PurchaseOrderDeliveryDateDue  

Bestellvorschlag

Endpoint: /api/v1/PartStock

Benachrichtigung Name Einstellungen
Ein Teil in einem Lager erreicht den Mindestbestand PartStockMinimalStock  

Ausgabe

Endpoint: /api/v1/GoodsMovement

Benachrichtigung Name Einstellungen
Ein Teil wurde ausgegeben PartIssue  

Planungszeilen

Benachrichtigung Name Einstellungen
Eine Planungszeile wird orange PlanningLineInPlanzone  
Eine Planungszeile wird rot PlanningLineAfterPlanzone  

Verträge

Endpoint: /api/v1/Contract

Benachrichtigung Name Einstellungen
Das Warndatum eines Vertrags wurde überschritten ContractEndDateDue  

Offset beim Planungsdatum eines Arbeitsauftrags 

Bei der Benachrichtigung WorkorderPlanDateDue werden auch die Einstellungen der Benachrichtigung mitgesendet.

Für diesen Benachrichtigungstyp kann eingestellt werden, wie viel Zeit vor oder nach dem Planungsdatum die Benachrichtigung gesendet werden soll.

Ein Beispiel ist eine Benachrichtigung, die drei Tage vor dem geplanten Datum eines Arbeitsauftrags gesendet wird.

Die Property offsetType bestimmt die verwendete Zeiteinheit:

  • None
  • Day
  • Week
  • Month
  • Year

Die Property offset enthält die entsprechende Anzahl an Tagen, Wochen, Monaten oder Jahren.

Tenant

Die Property tenant enthält die Identifikation des Tenants. Diese Identifikation wird grundsätzlich nur von ControlOffice selbst verwendet.

Wenn ein externer Anbieter Webhooks für mehrere ControlOffice-Tenants verarbeitet, kann die Tenant-Identifikation verwendet werden, um eine Multitenant-Lösung zu realisieren.

Timestamp

Die Property timestamp enthält den Zeitpunkt, zu dem die Benachrichtigung von ControlOffice generiert wurde.

Der Zeitstempel wird in UTC angegeben.

Sicherheit

Webhook-Aufrufe können mit zusätzlichen HTTP-Headern versehen werden. Diese Header können in ControlOffice konfiguriert werden.

Zusätzlich können weitere Query-Parameter zur Webhook-URL hinzugefügt werden. Damit können beispielsweise Authentifizierungsdaten oder andere Daten mitgesendet werden, die für die empfangende Anwendung erforderlich sind.