Zum Hauptinhalt springen

ToWebhook@1

Der Node ToWebhook@1 wird verwendet, um Pipeline-Daten über eine POST-Anfrage an einen externen HTTP-Endpunkt zu senden. Dies ist nützlich für die Integration mit externen Systemen, Webhooks oder REST-APIs, die Daten aus einer Pipeline empfangen müssen.

Der Node liest Daten aus dem Pipeline-Kontext am konfigurierten Pfad, serialisiert sie als JSON und sendet sie als Body einer HTTP-POST-Anfrage an die angegebene URI. Ein optionaler API-Schlüssel kann zur Authentifizierung angegeben werden.

Adapter-Voraussetzungen​

  • Allgemeine Verfügbarkeit: Alle Adapter unterstützen diesen Node-Typ.

Node-Konfiguration​

Zum Feld path siehe Überblick.

Konfigurationsoptionen​

  • uri: Die Ziel-URL für die HTTP-POST-Anfrage (erforderlich).
  • apiKey: Ein optionaler API-Schlüssel, der als HTTP-Header XApiKey zur Authentifizierung gesendet wird (optional).
  • timeoutSeconds: Timeout des HTTP-Requests in Sekunden (optional, Standard 30).
  • path: Pfad zu den Daten im Pipeline-Kontext, die als Request-Body gesendet werden (optional, Standard $ für den gesamten Kontext).

Anwendungsbeispiel​

Grundlegender Webhook-Aufruf​

transformations:
- type: ToWebhook@1
description: Send data to external webhook
uri: https://api.example.com/webhook
path: $

Mit API-Schlüssel-Authentifizierung​

transformations:
- type: ToWebhook@1
description: Send sensor data to monitoring system
uri: https://monitoring.example.com/api/ingest
apiKey: my-secret-api-key
path: $.sensorData
timeoutSeconds: 15

Pipeline-Beispiel mit Datenaufbereitung​

triggers:
- type: FromPolling@1
interval: 00:15:00
transformations:
- type: GetRtEntitiesById@1
ckTypeId: System/SensorReading
rtIds:
- 673b5e451c7375d2ea2bec85
targetPath: $.readings
- type: Project@1
path: $.readings
targetPath: $.payload
projections:
- sourcePath: $.RtId
targetPath: $.id
- sourcePath: $.Attributes.Value
targetPath: $.value
- type: ToWebhook@1
description: Forward readings to external system
uri: https://api.example.com/readings
apiKey: secret-key
path: $.payload

Hinweise:

  • Der Node wirft eine Exception, wenn die HTTP-Antwort einen Fehler anzeigt (Statuscode ungleich Erfolg). Der Pipeline-Orchestrator behandelt den Fehler entsprechend.
  • Der Request-Body wird immer als application/json mit UTF-8-Kodierung gesendet.
  • Wenn kein apiKey konfiguriert ist, wird der Header XApiKey in der Anfrage weggelassen.