跳转到内容

Webhook

Webhook 模块允许 Crowdin Apps 监听特定事件,并在这些事件发生时触发相应操作。 该模块适用于自动化工作流(例如,与 工作流步骤类型模块 配合使用)、同步外部系统或记录项目活动。

manifest.json
{
"modules": {
"webhook": [
{
"key": "webhook-key-module-key",
"url": "/webhooks",
"events": [
"project.translated",
"project.approved"
],
"environments": [
"crowdin",
"crowdin-enterprise"
]
}
]
}
}
key

类型: string

必填:

描述: Crowdin 应用内的模块标识符。

url

类型: string

必填:

描述: 应用中 webhook 处理程序的相对 URL。

events

类型: array

必填:

描述: 触发 webhook 的事件列表。 查看可用 webhook 事件列表。

environments

类型: string

允许值: crowdincrowdin-enterprise

描述: 可安装该模块的环境集合。
此参数在跨产品的应用程序中必需。

所有 webhook 均通过 HTTP POST 请求以 JSON 格式的负载触发。 请求可包含单个事件或多个事件(始终以批量模式发送)。

详细了解 Webhook 负载示例

当事件发生时,Crowdin 会向您的 webhook 端点发送一个 HTTP POST 请求,其中包含用于身份验证和安全的必要标头。 以下是此类请求的示例。

HTTP 请求:

POST /webhooks HTTP/1.1
User-Agent: Crowdin-Webhook
Content-Type: application/json
X-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 负载。

本页面对你有帮助吗?