Zum Hauptinhalt springen

Webhooks

Konfigurieren und verwenden Sie Webhooks in Exeoflow.

Übersicht

Webhooks ermöglichen es externen Systemen, Workflows in Exeoflow auszulösen. Wenn ein Webhook aufgerufen wird, startet der zugehörige Workflow automatisch.

Webhook erstellen

Um einen Webhook zu erstellen, fügen Sie einen Webhook-Trigger-Node zu Ihrem Workflow hinzu.

Über die API

POST /webhooks

Request-Body

{
"workflow_id": "wf_123456",
"name": "Mein Webhook",
"method": "POST",
"authentication": {
"type": "bearer",
"enabled": true
}
}

Beispiel-Request

curl -X POST "https://api.exeoflow.com/v1/webhooks" \
-H "Authorization: Bearer IHR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow_id": "wf_123456",
"name": "Mein Webhook",
"method": "POST"
}'

Beispiel-Response

{
"success": true,
"data": {
"id": "wh_xyz789",
"workflow_id": "wf_123456",
"name": "Mein Webhook",
"url": "https://api.exeoflow.com/webhook/wh_xyz789",
"method": "POST",
"token": "whsec_abc123def456",
"created_at": "2024-01-20T10:00:00Z"
}
}

Webhook aufrufen

Rufen Sie einen Webhook auf, um einen Workflow zu starten.

POST https://api.exeoflow.com/webhook/{webhook_id}

Wenn Authentifizierung aktiviert ist:

Authorization: Bearer WEBHOOK_TOKEN
Content-Type: application/json

Request-Body

{
"data": {
"key": "value"
}
}

Beispiel-Request

curl -X POST "https://api.exeoflow.com/webhook/wh_xyz789" \
-H "Authorization: Bearer whsec_abc123def456" \
-H "Content-Type: application/json" \
-d '{
"user_id": "12345",
"action": "create_order"
}'

Beispiel-Response

{
"success": true,
"data": {
"execution_id": "exec_abc123",
"status": "running",
"message": "Workflow wurde gestartet"
}
}

Webhooks auflisten

Rufen Sie alle Webhooks ab.

GET /webhooks

Query-Parameter

  • workflow_id (optional): Filter nach Workflow-ID

Beispiel-Request

curl -X GET "https://api.exeoflow.com/v1/webhooks" \
-H "Authorization: Bearer IHR_API_KEY"

Beispiel-Response

{
"success": true,
"data": {
"webhooks": [
{
"id": "wh_xyz789",
"workflow_id": "wf_123456",
"name": "Mein Webhook",
"url": "https://api.exeoflow.com/webhook/wh_xyz789",
"method": "POST",
"created_at": "2024-01-20T10:00:00Z"
}
]
}
}

Webhook abrufen

Rufen Sie Details zu einem spezifischen Webhook ab.

GET /webhooks/{webhook_id}

Beispiel-Request

curl -X GET "https://api.exeoflow.com/v1/webhooks/wh_xyz789" \
-H "Authorization: Bearer IHR_API_KEY"

Webhook aktualisieren

Aktualisieren Sie einen Webhook.

PUT /webhooks/{webhook_id}

Request-Body

{
"name": "Aktualisierter Webhook",
"method": "POST"
}

Beispiel-Request

curl -X PUT "https://api.exeoflow.com/v1/webhooks/wh_xyz789" \
-H "Authorization: Bearer IHR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Aktualisierter Webhook"
}'

Webhook löschen

Löschen Sie einen Webhook.

DELETE /webhooks/{webhook_id}

Beispiel-Request

curl -X DELETE "https://api.exeoflow.com/v1/webhooks/wh_xyz789" \
-H "Authorization: Bearer IHR_API_KEY"

Webhook-Token erneuern

Erneuern Sie das Authentifizierungs-Token eines Webhooks.

POST /webhooks/{webhook_id}/regenerate-token

Beispiel-Request

curl -X POST "https://api.exeoflow.com/v1/webhooks/wh_xyz789/regenerate-token" \
-H "Authorization: Bearer IHR_API_KEY"

Beispiel-Response

{
"success": true,
"data": {
"token": "whsec_new789xyz123"
}
}

Authentifizierung

Exeoflow unterstützt verschiedene Authentifizierungsmethoden für Webhooks:

Bearer Token

Authorization: Bearer WEBHOOK_TOKEN

Basic Auth

Authorization: Basic BASE64(username:password)

Keine Authentifizierung

Webhooks können auch ohne Authentifizierung konfiguriert werden (nicht empfohlen für Produktionsumgebungen).

Webhook-Signaturen

Für zusätzliche Sicherheit signiert Exeoflow Webhook-Requests mit einem HMAC-SHA256-Hash.

Signatur-Header

X-Exeoflow-Signature: sha256=HASH

Signatur verifizieren

const crypto = require('crypto');

function verifySignature(payload, signature, secret) {
const hash = crypto
.createHmac('sha256', secret)
.update(JSON.stringify(payload))
.digest('hex');

return `sha256=${hash}` === signature;
}

Best Practices

  • Verwenden Sie immer Authentifizierung für Webhooks
  • Verifizieren Sie Webhook-Signaturen
  • Implementieren Sie Idempotenz in Ihren Workflows
  • Behandeln Sie Fehler angemessen
  • Loggen Sie Webhook-Aufrufe für Debugging

Nächste Schritte