diff --git a/apps/docs/content/docs/de/blocks/webhook.mdx b/apps/docs/content/docs/de/blocks/webhook.mdx new file mode 100644 index 0000000000..affaafcd6c --- /dev/null +++ b/apps/docs/content/docs/de/blocks/webhook.mdx @@ -0,0 +1,89 @@ +--- +title: Webhook +--- + +import { Callout } from 'fumadocs-ui/components/callout' +import { Image } from '@/components/ui/image' + +Der Webhook-Block sendet HTTP-POST-Anfragen an externe Webhook-Endpunkte mit automatischen Webhook-Headern und optionaler HMAC-Signierung. + +
+ Webhook-Block +
+ +## Konfiguration + +### Webhook-URL + +Der Ziel-Endpunkt für Ihre Webhook-Anfrage. Unterstützt sowohl statische URLs als auch dynamische Werte aus anderen Blöcken. + +### Payload + +JSON-Daten, die im Anfrage-Body gesendet werden. Verwenden Sie den KI-Zauberstab, um Payloads zu generieren oder auf Workflow-Variablen zu verweisen: + +```json +{ + "event": "workflow.completed", + "data": { + "result": "", + "timestamp": "" + } +} +``` + +### Signierungsgeheimnis + +Optionales Geheimnis für die HMAC-SHA256-Payload-Signierung. Wenn angegeben, wird ein `X-Webhook-Signature`Header hinzugefügt: + +``` +X-Webhook-Signature: t=1704067200000,v1=5d41402abc4b2a76b9719d911017c592... +``` + +Um Signaturen zu verifizieren, berechnen Sie `HMAC-SHA256(secret, "${timestamp}.${body}")` und vergleichen Sie mit dem `v1`Wert. + +### Zusätzliche Header + +Benutzerdefinierte Schlüssel-Wert-Header, die in die Anfrage aufgenommen werden. Diese überschreiben alle automatischen Header mit demselben Namen. + +## Automatische Header + +Jede Anfrage enthält automatisch diese Header: + +| Header | Beschreibung | +|--------|-------------| +| `Content-Type` | `application/json` | +| `X-Webhook-Timestamp` | Unix-Zeitstempel in Millisekunden | +| `X-Delivery-ID` | Eindeutige UUID für diese Zustellung | +| `Idempotency-Key` | Identisch mit `X-Delivery-ID` zur Deduplizierung | + +## Ausgaben + +| Ausgabe | Typ | Beschreibung | +|--------|------|-------------| +| `data` | json | Antwort-Body vom Endpunkt | +| `status` | number | HTTP-Statuscode | +| `headers` | object | Antwort-Header | + +## Beispiel-Anwendungsfälle + +**Externe Dienste benachrichtigen** - Workflow-Ergebnisse an Slack, Discord oder benutzerdefinierte Endpunkte senden + +``` +Agent → Function (format) → Webhook (notify) +``` + +**Externe Workflows auslösen** - Prozesse in anderen Systemen starten, wenn Bedingungen erfüllt sind + +``` +Condition (check) → Webhook (trigger) → Response +``` + + +Der Webhook-Block verwendet immer POST. Für andere HTTP-Methoden oder mehr Kontrolle verwenden Sie den [API-Block](/blocks/api). + diff --git a/apps/docs/content/docs/es/blocks/webhook.mdx b/apps/docs/content/docs/es/blocks/webhook.mdx new file mode 100644 index 0000000000..f902df5079 --- /dev/null +++ b/apps/docs/content/docs/es/blocks/webhook.mdx @@ -0,0 +1,89 @@ +--- +title: Webhook +--- + +import { Callout } from 'fumadocs-ui/components/callout' +import { Image } from '@/components/ui/image' + +El bloque Webhook envía solicitudes HTTP POST a endpoints de webhook externos con encabezados de webhook automáticos y firma HMAC opcional. + +
+ Bloque Webhook +
+ +## Configuración + +### URL del webhook + +El endpoint de destino para tu solicitud de webhook. Admite tanto URL estáticas como valores dinámicos de otros bloques. + +### Carga útil + +Datos JSON para enviar en el cuerpo de la solicitud. Usa la varita de IA para generar cargas útiles o referenciar variables del flujo de trabajo: + +```json +{ + "event": "workflow.completed", + "data": { + "result": "", + "timestamp": "" + } +} +``` + +### Secreto de firma + +Secreto opcional para la firma HMAC-SHA256 de la carga útil. Cuando se proporciona, añade un encabezado `X-Webhook-Signature`: + +``` +X-Webhook-Signature: t=1704067200000,v1=5d41402abc4b2a76b9719d911017c592... +``` + +Para verificar las firmas, calcula `HMAC-SHA256(secret, "${timestamp}.${body}")` y compara con el valor `v1`. + +### Encabezados adicionales + +Encabezados personalizados de clave-valor para incluir con la solicitud. Estos sobrescriben cualquier encabezado automático con el mismo nombre. + +## Encabezados automáticos + +Cada solicitud incluye estos encabezados automáticamente: + +| Encabezado | Descripción | +|--------|-------------| +| `Content-Type` | `application/json` | +| `X-Webhook-Timestamp` | Marca de tiempo Unix en milisegundos | +| `X-Delivery-ID` | UUID único para esta entrega | +| `Idempotency-Key` | Igual que `X-Delivery-ID` para deduplicación | + +## Salidas + +| Salida | Tipo | Descripción | +|--------|------|-------------| +| `data` | json | Cuerpo de respuesta del endpoint | +| `status` | number | Código de estado HTTP | +| `headers` | object | Encabezados de respuesta | + +## Ejemplos de casos de uso + +**Notificar servicios externos** - Envía resultados del flujo de trabajo a Slack, Discord o endpoints personalizados + +``` +Agent → Function (format) → Webhook (notify) +``` + +**Activar flujos de trabajo externos** - Inicia procesos en otros sistemas cuando se cumplan las condiciones + +``` +Condition (check) → Webhook (trigger) → Response +``` + + +El bloque Webhook siempre usa POST. Para otros métodos HTTP o más control, usa el [bloque API](/blocks/api). + diff --git a/apps/docs/content/docs/es/triggers/webhook.mdx b/apps/docs/content/docs/es/triggers/webhook.mdx index 820c4f0834..3eb7073318 100644 --- a/apps/docs/content/docs/es/triggers/webhook.mdx +++ b/apps/docs/content/docs/es/triggers/webhook.mdx @@ -16,7 +16,7 @@ El bloque de webhook genérico crea un punto de conexión flexible que puede rec
Configuración genérica de webhook + Bloc Webhook +
+ +## Configuration + +### URL du webhook + +Le point de terminaison de destination pour votre requête webhook. Prend en charge les URL statiques et les valeurs dynamiques provenant d'autres blocs. + +### Charge utile + +Données JSON à envoyer dans le corps de la requête. Utilisez la baguette IA pour générer des charges utiles ou référencer des variables de workflow : + +```json +{ + "event": "workflow.completed", + "data": { + "result": "", + "timestamp": "" + } +} +``` + +### Secret de signature + +Secret optionnel pour la signature HMAC-SHA256 de la charge utile. Lorsqu'il est fourni, ajoute un en-tête `X-Webhook-Signature` : + +``` +X-Webhook-Signature: t=1704067200000,v1=5d41402abc4b2a76b9719d911017c592... +``` + +Pour vérifier les signatures, calculez `HMAC-SHA256(secret, "${timestamp}.${body}")` et comparez avec la valeur `v1`. + +### En-têtes supplémentaires + +En-têtes personnalisés clé-valeur à inclure avec la requête. Ceux-ci remplacent tous les en-têtes automatiques portant le même nom. + +## En-têtes automatiques + +Chaque requête inclut automatiquement ces en-têtes : + +| En-tête | Description | +|--------|-------------| +| `Content-Type` | `application/json` | +| `X-Webhook-Timestamp` | Horodatage Unix en millisecondes | +| `X-Delivery-ID` | UUID unique pour cette livraison | +| `Idempotency-Key` | Identique à `X-Delivery-ID` pour la déduplication | + +## Sorties + +| Sortie | Type | Description | +|--------|------|-------------| +| `data` | json | Corps de la réponse du point de terminaison | +| `status` | number | Code de statut HTTP | +| `headers` | object | En-têtes de réponse | + +## Exemples de cas d'usage + +**Notifier des services externes** - Envoyer les résultats du workflow vers Slack, Discord ou des points de terminaison personnalisés + +``` +Agent → Function (format) → Webhook (notify) +``` + +**Déclencher des workflows externes** - Démarrer des processus dans d'autres systèmes lorsque des conditions sont remplies + +``` +Condition (check) → Webhook (trigger) → Response +``` + + +Le bloc Webhook utilise toujours POST. Pour d'autres méthodes HTTP ou plus de contrôle, utilisez le [bloc API](/blocks/api). + diff --git a/apps/docs/content/docs/fr/triggers/webhook.mdx b/apps/docs/content/docs/fr/triggers/webhook.mdx index 1ad2ea79ac..c1d7fa009c 100644 --- a/apps/docs/content/docs/fr/triggers/webhook.mdx +++ b/apps/docs/content/docs/fr/triggers/webhook.mdx @@ -16,7 +16,7 @@ Le bloc Webhook générique crée un point de terminaison flexible qui peut rece
Configuration de webhook générique + Webhookブロック +
+ +## 設定 + +### Webhook URL + +Webhookリクエストの送信先エンドポイントです。静的URLと他のブロックからの動的な値の両方に対応しています。 + +### ペイロード + +リクエストボディで送信するJSONデータです。AIワンドを使用してペイロードを生成したり、ワークフロー変数を参照したりできます。 + +```json +{ + "event": "workflow.completed", + "data": { + "result": "", + "timestamp": "" + } +} +``` + +### 署名シークレット + +HMAC-SHA256ペイロード署名用のオプションのシークレットです。指定すると、`X-Webhook-Signature`ヘッダーが追加されます。 + +``` +X-Webhook-Signature: t=1704067200000,v1=5d41402abc4b2a76b9719d911017c592... +``` + +署名を検証するには、`HMAC-SHA256(secret, "${timestamp}.${body}")`を計算し、`v1`の値と比較します。 + +### 追加ヘッダー + +リクエストに含めるカスタムのキーと値のヘッダーです。同じ名前の自動ヘッダーがある場合は上書きされます。 + +## 自動ヘッダー + +すべてのリクエストには、以下のヘッダーが自動的に含まれます。 + +| ヘッダー | 説明 | +|--------|-------------| +| `Content-Type` | `application/json` | +| `X-Webhook-Timestamp` | ミリ秒単位のUnixタイムスタンプ | +| `X-Delivery-ID` | この配信の一意のUUID | +| `Idempotency-Key` | 重複排除用の`X-Delivery-ID`と同じ | + +## 出力 + +| 出力 | 型 | 説明 | +|--------|------|-------------| +| `data` | json | エンドポイントからのレスポンスボディ | +| `status` | number | HTTPステータスコード | +| `headers` | object | レスポンスヘッダー | + +## 使用例 + +**外部サービスへの通知** - ワークフローの結果をSlack、Discord、またはカスタムエンドポイントに送信します。 + +``` +Agent → Function (format) → Webhook (notify) +``` + +**外部ワークフローのトリガー** - 条件が満たされたときに他のシステムでプロセスを開始します。 + +``` +Condition (check) → Webhook (trigger) → Response +``` + + +Webhookブロックは常にPOSTを使用します。他のHTTPメソッドやより詳細な制御が必要な場合は、[APIブロック](/blocks/api)を使用してください。 + diff --git a/apps/docs/content/docs/zh/blocks/webhook.mdx b/apps/docs/content/docs/zh/blocks/webhook.mdx new file mode 100644 index 0000000000..d7324c1667 --- /dev/null +++ b/apps/docs/content/docs/zh/blocks/webhook.mdx @@ -0,0 +1,89 @@ +--- +title: Webhook +--- + +import { Callout } from 'fumadocs-ui/components/callout' +import { Image } from '@/components/ui/image' + +Webhook 模块会向外部 webhook 端点发送 HTTP POST 请求,自动附加 webhook 头部,并可选用 HMAC 签名。 + +
+ Webhook 模块 +
+ +## 配置 + +### Webhook URL + +Webhook 请求的目标端点。支持静态 URL 和来自其他模块的动态值。 + +### 负载 + +要在请求体中发送的 JSON 数据。可使用 AI 魔杖生成负载,或引用工作流变量: + +```json +{ + "event": "workflow.completed", + "data": { + "result": "", + "timestamp": "" + } +} +``` + +### 签名密钥 + +可选的 HMAC-SHA256 负载签名密钥。填写后会添加 `X-Webhook-Signature` 头部: + +``` +X-Webhook-Signature: t=1704067200000,v1=5d41402abc4b2a76b9719d911017c592... +``` + +要验证签名,请计算 `HMAC-SHA256(secret, "${timestamp}.${body}")` 并与 `v1` 的值进行比对。 + +### 额外头部 + +自定义的键值头部,将随请求一同发送。若与自动头部同名,则会覆盖自动头部。 + +## 自动头部 + +每个请求都会自动包含以下头部: + +| Header | 说明 | +|--------|------| +| `Content-Type` | `application/json` | +| `X-Webhook-Timestamp` | Unix 时间戳(毫秒) | +| `X-Delivery-ID` | 本次投递的唯一 UUID | +| `Idempotency-Key` | 与 `X-Delivery-ID` 相同,用于去重 | + +## 输出 + +| 输出 | 类型 | 说明 | +|------|------|------| +| `data` | json | 端点返回的响应体 | +| `status` | number | HTTP 状态码 | +| `headers` | object | 响应头部 | + +## 示例用例 + +**通知外部服务** - 将工作流结果发送到 Slack、Discord 或自定义端点 + +``` +Agent → Function (format) → Webhook (notify) +``` + +**触发外部工作流** - 当满足条件时,在其他系统中启动流程 + +``` +Condition (check) → Webhook (trigger) → Response +``` + + +Webhook 模块始终使用 POST。如需使用其他 HTTP 方法或获得更多控制,请使用 [API 模块](/blocks/api)。 + diff --git a/apps/docs/i18n.lock b/apps/docs/i18n.lock index f4f7648ac2..2976c6f65a 100644 --- a/apps/docs/i18n.lock +++ b/apps/docs/i18n.lock @@ -169,7 +169,7 @@ checksums: content/1: 9d1b6de2021f809cc43502d19a19bd15 content/2: f4c40c45a45329eca670aca4fcece6f3 content/3: b03a97486cc185beb7b51644b548875a - content/4: a77222cf7a57362fc7eb5ebf7cc652c6 + content/4: 01c24bef59948dbecc1ae19794019d5f content/5: ba18ac99184b17d7e49bd1abdc814437 content/6: 171c4e97e509427ca63acccf136779b3 content/7: 98e1babdd0136267807b7e94ae7da6c7 @@ -50197,3 +50197,31 @@ checksums: content/7: 7b29d23aec8fda839f3934c5fc71c6d3 content/8: b3f310d5ef115bea5a8b75bf25d7ea9a content/9: 79ecd09a7bedc128285814d8b439ed40 + 2bf1f583bd3a431e459e5a0142a82efd: + meta/title: 70f95b2c27f2c3840b500fcaf79ee83c + content/0: eb0ed7078f192304703144f4cac3442f + content/1: 1bc1f971556fb854666c22551215d3c2 + content/2: 5127a30fba20289720806082df2eae87 + content/3: 0441638444240cd20a6c69ea1d3afbb1 + content/4: 0b5805c0201ed427ba1b56b9814ee0cb + content/5: cf5305db38e782a1001f5208cdf6b5f1 + content/6: 575a2fc0f65f0d24a9d75fac8e8bf5f8 + content/7: 1acea0b3685c12e5c3d73c7afa9c5582 + content/8: 4464a6c6f5ccc67b95309ba6399552e9 + content/9: 336794d9cf3e900c1b5aba0071944f1c + content/10: bf46b631598a496c37560e074454f5ec + content/11: 3d6a55b18007832eb2ed751638e968ca + content/12: 3f97586d23efe56c4ab94c03a0b91706 + content/13: f2caee00e0e386a5e5257862209aaaef + content/14: 15c9ed641ef776a33a945b6e0ddb908c + content/15: db087c66ef8c0ab22775072b10655d05 + content/16: e148c1c6e1345e9ee95657c5ba40ebf4 + content/17: 9feca6cbb058fb8070b23d139d2d96e6 + content/18: 987932038f4e9442bd89f0f8ed3c5319 + content/19: 8e0258b3891544d355fa4a92f2ae96e4 + content/20: 9c2f91f89a914bf4661512275e461104 + content/21: a5cc8d50937a37d5ae7e921fc85a71f1 + content/22: 51b2fdf484e8d6b07cdf8434034dc872 + content/23: 59da7694b8be001fec8b9f9d7b604faf + content/24: 8fb6954068c6687d44121e21a95cf1b6 + content/25: 9e7b1a1a453340d20adf4cacbd532018