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​