Webhook
Webhook 模块允许 Crowdin Apps 监听特定事件,并在这些事件发生时触发相应操作。 该模块适用于自动化工作流(例如,与 工作流步骤类型模块 配合使用)、同步外部系统或记录项目活动。
{ "modules": { "webhook": [ { "key": "webhook-key-module-key", "url": "/webhooks", "events": [ "project.translated", "project.approved" ], "environments": [ "crowdin", "crowdin-enterprise" ] } ] }}key | 类型: 必填: 是 描述: Crowdin 应用内的模块标识符。 |
url | 类型: 必填: 是 描述: 应用中 webhook 处理程序的相对 URL。 |
events | 类型: 必填: 是 描述: 触发 webhook 的事件列表。 查看可用 webhook 事件列表。 |
environments | 类型: 允许值: 描述: 可安装该模块的环境集合。 |
所有 webhook 均通过 HTTP POST 请求以 JSON 格式的负载触发。 请求可包含单个事件或多个事件(始终以批量模式发送)。
详细了解 Webhook 负载示例。
当事件发生时,Crowdin 会向您的 webhook 端点发送一个 HTTP POST 请求,其中包含用于身份验证和安全的必要标头。 以下是此类请求的示例。
HTTP 请求:
POST /webhooks HTTP/1.1User-Agent: Crowdin-WebhookContent-Type: application/jsonX-Crowdin-Id: <organization-id>X-Crowdin-Domain: <organization-domain>X-Crowdin-Signature: <signature>X-Module-Key: <your-module-key>请求正文:
{ "events": [ { "event": "project.translated", "project": { "id": "777", // ... }, "targetLanguage": { "id": "uk", // ... } }, { "event": "project.approved", "project": { "id": "777", // ... }, "targetLanguage": { "id": "uk", // ... } } ]}在应用安装过程中,会向您的应用提供一个名为 app_secret 的唯一密钥。 该密钥用于通过 HMAC 算法结合 SHA-256 生成 webhook 签名。
Crowdin 要求您的应用返回成功的 HTTP 状态码(即任意 2XX 状态)以确认收到 webhook 负载。
感谢您的反馈!