Zum Inhalt springen
Developer

N8n Webhooks

Smart Home und Automationen4 EndpunkteDataWarehouse / N8n Webhooks

Einen n8n-Webhook für Änderungen an ERP-Datensätzen registrieren (oder aktualisieren).

POST/api/nodered/webhook

Erwartet JSON-Body: { "webhook_url": "https://n8n.example.com/webhook/inwendo-erp", "reference_class_name": "CRMCompany", // optional, null = alle Klassen "database_action": "update", // optional, null = alle Aktionen "webhook_token": "...", // optional gemeinsames Geheimnis "delivery": "mqtt", // nur Node-RED: über den MQTT-Broker der ERP "instance_id": "..." // nur mqtt, anstelle von webhook_url }

database_action kann auch ein zeitgesteuertes Buchungsereignis sein (booking_pre_start, booking_start, booking_end, booking_post_end oder booking_timed für alle vier, integration_booking_timed_events_enabled); ein solcher Webhook erhält nur diese Ereignisse.

Bei delivery mqtt (integration_mqtt_trigger_enabled) veröffentlicht die ERP den Webhook auf ihrem Broker, und die Antwort enthält "mqtt" (url, username, password, client_id, topic, valid_until) wie bei der Registrierung der Schloss-Bridge; der Node registriert sich vor valid_until erneut.

Existiert bereits ein nicht gelöschter Webhook mit derselben notificationUrl und notificationClientId = 'n8n', wird er an Ort und Stelle aktualisiert (oder unverändert zurückgegeben, wenn alle Felder bereits übereinstimmen).

Antworten

default

Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/nodered/webhook \
  --header 'x-iw-jwt-token: <TOKEN>'

Alle n8n-Webhooks für eine gegebene Webhook-URL abmelden.

DELETE/api/nodered/webhook

Erwartet JSON-Body: { "webhook_url": "https://n8n.example.com/webhook/inwendo-erp" } oder, für einen Node-RED-Trigger mit MQTT-Zustellung, {"instance_id": "..."}.

Markiert alle nicht gelöschten Einträge, deren notificationUrl übereinstimmt und deren notificationClientId 'n8n' ist, als gelöscht. Webhooks anderer Clients bleiben unverändert.

Antworten

default

Anfrage
curl --request DELETE \
  --url https://eure-instanz.iw-erp.de/api/nodered/webhook \
  --header 'x-iw-jwt-token: <TOKEN>'

Einen n8n-Webhook für Änderungen an ERP-Datensätzen registrieren (oder aktualisieren).

POST/api/n8n/webhook

Erwartet JSON-Body: { "webhook_url": "https://n8n.example.com/webhook/inwendo-erp", "reference_class_name": "CRMCompany", // optional, null = alle Klassen "database_action": "update", // optional, null = alle Aktionen "webhook_token": "...", // optional gemeinsames Geheimnis "delivery": "mqtt", // nur Node-RED: über den MQTT-Broker der ERP "instance_id": "..." // nur mqtt, anstelle von webhook_url }

database_action kann auch ein zeitgesteuertes Buchungsereignis sein (booking_pre_start, booking_start, booking_end, booking_post_end oder booking_timed für alle vier, integration_booking_timed_events_enabled); ein solcher Webhook erhält nur diese Ereignisse.

Bei delivery mqtt (integration_mqtt_trigger_enabled) veröffentlicht die ERP den Webhook auf ihrem Broker, und die Antwort enthält "mqtt" (url, username, password, client_id, topic, valid_until) wie bei der Registrierung der Schloss-Bridge; der Node registriert sich vor valid_until erneut.

Existiert bereits ein nicht gelöschter Webhook mit derselben notificationUrl und notificationClientId = 'n8n', wird er an Ort und Stelle aktualisiert (oder unverändert zurückgegeben, wenn alle Felder bereits übereinstimmen).

Antworten

default

Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/n8n/webhook \
  --header 'x-iw-jwt-token: <TOKEN>'

Alle n8n-Webhooks für eine gegebene Webhook-URL abmelden.

DELETE/api/n8n/webhook

Erwartet JSON-Body: { "webhook_url": "https://n8n.example.com/webhook/inwendo-erp" } oder, für einen Node-RED-Trigger mit MQTT-Zustellung, {"instance_id": "..."}.

Markiert alle nicht gelöschten Einträge, deren notificationUrl übereinstimmt und deren notificationClientId 'n8n' ist, als gelöscht. Webhooks anderer Clients bleiben unverändert.

Antworten

default

Anfrage
curl --request DELETE \
  --url https://eure-instanz.iw-erp.de/api/n8n/webhook \
  --header 'x-iw-jwt-token: <TOKEN>'