更新 Turnstile 配置
POST
/web/v1/system/workspaces/{workspaceId}/institutions/{institutionBizId}/portals/turnstile/update WEB更新指定机构的 Cloudflare Turnstile 配置。
鉴权
需要有效的 JWT token 并拥有 platform:institution:write 权限。网关验证:enableJwtToken=true,enableTurnstile=false。
请求参数
路径参数
| Name | Type | Required | In | Description |
|---|---|---|---|---|
workspaceId | string | Required | path | 工作空间业务 ID |
institutionBizId | string | Required | path | 机构业务 ID |
请求体
InstitutionTurnstileUpdateRequest:
| Name | Type | Required | In | Description |
|---|---|---|---|---|
turnstileSiteKey | string | Required | body | Cloudflare Turnstile 站点密钥(最多 255 个字符) |
turnstileSecretKey | string | Required | body | Cloudflare Turnstile 私密密钥(最多 255 个字符) |
remark | string | Optional | body | 配置备注(最多 255 个字符) |
enabled | boolean | Optional | body | 是否启用 Turnstile(可选,省略则保持当前状态) |
请求体示例:
请求体 200
{
"turnstileSiteKey": "0x4AAAAAAABkMYinukE8nMDQ",
"turnstileSecretKey": "0x4AAAAAAABkMYsecretKeyValue",
"remark": "生产环境 Turnstile 配置",
"enabled": true
}请求示例
json
{
"turnstileSiteKey": "0x4AAAAAAAB...",
"turnstileSecretKey": "0x4AAAAAAAB...",
"remark": "Production config"
}成功响应
成功 200
{
"success": true,
"code": "2000",
"message": "SUCCESS",
"data": {
"id": 1,
"institutionBizId": "INST_ACME_001",
"turnstileSiteKey": "0x4AAAAAAABkMYinukE8nMDQ",
"turnstileSecretKey": "****alue",
"enabled": true,
"remark": "生产环境 Turnstile 配置",
"createdAt": "2026-03-21T00:00:00Z",
"updatedAt": "2026-03-23T10:00:00Z"
}
}错误响应
| 错误码 | 描述 |
|---|---|
4000 | 验证错误(缺少必填密钥或超出最大长度) |
4010 | 未授权(无效或缺少 JWT token) |
4040 | 机构未找到 |
说明
turnstileSiteKey和turnstileSecretKey均为必填字段。- 私密密钥在响应中已脱敏。仅显示最后 4 位字符(格式:
****xxxx)。 - 如果尚未存在 Turnstile 配置,此接口将创建一个。
- 如仅需开关 Turnstile 而不更改密钥,请使用启用 Turnstile / 禁用 Turnstile。