Der „Webhook (Incoming)“-Konnektor stellt einen HTTP-Endpunkt bereit, über den externe Systeme Daten per HTTP POST an niotix senden können. Er wird typischerweise verwendet, um andere Cloud-Systeme anzubinden, die ausgehende Webhooks unterstützen – beispielsweise IoT-Plattformen, Monitoring-Systeme oder Automatisierungslösungen. Die Endpunkt-URL wird automatisch generiert und kann aus dem schreibgeschützten Feld „API Endpunkt“ kopiert werden.
Details zur Funktion:
- Authentifizierung: Token-basiert — das Token wird automatisch erzeugt und ist im Feld „API Endpunkt“ als
?token=<token>enthalten. Alternativ kann der Token direkt (ohneBearer-Prefix) imAuthorization-Header übergeben werden:Authorization: <token>. - HTTP-Methode: POST; OPTIONS wird für CORS-Preflight unterstützt (Antwort: 204).
- Nachrichtenformat: Der Body muss gültiges JSON sein. Der
Content-Type-Header wird serverseitig nicht geprüft;application/jsonwird empfohlen. - Batch-Verarbeitung: Ein einzelnes JSON-Objekt oder ein Array von Objekten. Die maximale Array-Größe beträgt standardmäßig 50 Einträge und ist per Umgebungsvariable (
INCOMING_WEBHOOK_MAX_BATCH_SIZE) konfigurierbar. - Fehler-Antworten:
400bei ungültigem JSON oder überschrittenem Array-Limit;401ohne Token;403bei unbekanntem Token oder deaktiviertem Konnektor. - Rate Limiting: Intern begrenzt auf 1.000 Anfragen pro 5 Sekunden (konfigurierbar per Umgebungsvariable).
Das eingehende Datenformat wird über das Template in das niotix-Standardformat transformiert — siehe Abschnitt Eingehende Konnektoren. Wenn die Quelldaten bereits im niotix-Format ankommen, genügt „Pass-through“. Für abweichende Formate kann eine JavaScript-Transformation hinterlegt werden.
Einstellungen
- Instanz-Name: Ein individueller, leicht verständlicher Name für den Konnektor.
- Beschreibung: Eine kurze Beschreibung.
- Template: Legt fest, wie der eingehende Payload transformiert wird. Standardmäßig „Pass-through“ (keine Transformation).
- API Endpunkt: Schreibgeschützt. Die vollständige URL inkl. Token, die das sendende System als HTTP-POST-Ziel verwenden muss.