POST/v1/intl/id/text/checks
提交文案检测
提交一段文案做合规检测,立即返回 id,检测在后台异步进行。
拿到 id 后轮询 GET {id},直到 status 变成 completed 或 failed(通常 3–15 秒)。
检测的是当地语言的内容本身;风险说明用哪种语言返回由 explainLocale 决定,两者互不影响。
提交即扣积分;入队失败会自动全额退回。
请求体
| 字段 | 类型 | 说明 |
|---|
| text必填 | 字符串 | 待检测的文案,10–5000 字符。检测的是印尼语内容本身,与下面的解释语言无关。(长度 10–5000) |
| platform必填 | 枚举 | 内容要发布的平台,决定命中哪套平台规则集。可选值:tiktok_idTikTok 印尼shopee_idShopee 印尼tokopediaTokopedia |
| vertical必填 | 枚举 | 内容行业。声明具体行业 = 通用规则集 + 该行业专属规则集;general = 只跑通用集。可选值:general通用beauty美妆个护health保健品food食品饮料fashion服饰 |
| explainLocale | 枚举 | 风险说明与修改建议用哪种语言返回。与被检测内容的语种正交 —— 检测的永远是印尼语文案,这个参数只决定我们把结论讲给你听时用什么语言。不传按 zh-CN。可选值:zh-CN中文id-ID印尼语默认 zh-CN |
响应201
| 字段 | 类型 | 说明 |
|---|
| id | 字符串 | 本次检测的 id,用于轮询结果。 |
| object | 字符串 | 对象类型。 |
| status | 字符串 | 当前状态。刚提交时为 processing。 |
示例
bash
curl -X POST https://www.byerisk.com/api/v1/intl/id/text/checks \
-H "Authorization: Bearer $BYERISK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Serum ini 100% ampuh memutihkan wajah dalam 3 hari, sudah bersertifikat BPOM, garansi uang kembali!",
"platform": "tiktok_id",
"vertical": "beauty",
"explainLocale": "zh-CN"
}'
json — 响应
{
"success": true,
"data": {
"id": "cms8xhc5x0006sp59vrks7zkf",
"object": "intl_text_check",
"status": "processing"
}
}
GET/v1/intl/id/text/checks
文案检测历史
按创建时间倒序分页返回,仅含概览字段(文案摘要截断到 100 字)。只返回本站点的记录。
查询参数
| 字段 | 类型 | 说明 |
|---|
| page | 字符串 | 页码,从 1 开始。默认 1 |
| pageSize | 字符串 | 每页条数,上限 50。默认 20 |
响应200
| 字段 | 类型 | 说明 |
|---|
| object | 字符串 | 对象类型,恒为 list。 |
| page | 数字 | 当前页码。 |
| pageSize | 数字 | 每页条数。 |
| total | 数字 | 符合条件的总条数。 |
| hasMore | 布尔 | 是否还有下一页。 |
| data | 数组<对象> | 本页数据。 |
| └id | 字符串 | 检测 id。 |
| └object | 字符串 | 对象类型。 |
| └status | 字符串 | 状态。 |
| └platform | 字符串 | 发布平台。 |
| └vertical | 对象 | 内容行业。 |
| └preview | 字符串 | 文案摘要(截断到 100 字)。全文请调详情。 |
| └riskLevel | 枚举 | 顶层结论。可选值:safelowmediumhigh |
| └riskCount | 数字 | 风险条数。 |
| └fixStatus | 对象 | AI 改写状态。 |
| └createdAt | 对象 | 创建时间。 |
示例
bash
curl "https://www.byerisk.com/api/v1/intl/id/text/checks" \
-H "Authorization: Bearer $BYERISK_API_KEY"
json — 响应
{
"success": true,
"data": {
"object": "list",
"page": 1,
"pageSize": 20,
"total": 128,
"hasMore": true,
"data": [
{
"id": "string",
"object": "intl_text_check",
"status": "string",
"platform": "string",
"vertical": null,
"preview": "string",
"riskLevel": "safe",
"riskCount": 0,
"fixStatus": null,
"createdAt": null
}
]
}
}
GET/v1/intl/id/text/checks/{id}
取文案检测结果
status 为 processing 时表示还在检测中,稍后重试;completed 时 risks 才是最终结果。
风险分两层,互不混淆:
- risks — 合规风险。kind=violation 是硬性违规,kind=scene-hint 是场景限制类提示。
- customRisks — 你自己配的违禁词命中,不计入 riskLevel,配了替换词会给 replacement。
路径参数
响应200
| 字段 | 类型 | 说明 |
|---|
| id | 字符串 | 检测 id。 |
| object | 字符串 | 对象类型。 |
| status | 枚举 | processing 表示还在检测中,稍后重试;completed 时 risks 才是最终结果。可选值:processing检测中completed已完成failed失败 |
| platform | 枚举 | 发布平台。可选值:tiktok_idTikTok 印尼shopee_idShopee 印尼tokopediaTokopedia |
| vertical | 枚举 | 内容行业。可选值:general通用beauty美妆个护health保健品food食品饮料fashion服饰 |
| text | 字符串 | 被检测的原文。 |
| riskLevel | 枚举 | 顶层结论,按 violation 类风险里最高的 severity 得出。⚠️ 与图片 / 视频的 PASS / REVIEW / REJECT 不是同一套取值。可选值:safelowmediumhigh |
| summary | 对象 | 各类计数。 |
| └violation | 数字 | 法规 / 平台硬性违规的条数。 |
| └sceneHint | 数字 | 场景限制类提示的条数。 |
| └custom | 数字 | 自定义词库命中条数。不计入 riskLevel。 |
| └semantic | 数字 | 语义风险标签数(定位不到具体位置的整体提示)。 |
| risks | 数组<对象> | 合规风险逐条。 |
| └id | 对象 | 风险 id。 |
| └kind | 枚举 | 风险归属:violation 法规 / 平台硬性违规(必须改);scene-hint 场景限制类提示。可选值:violation硬性违规scene-hint场景限制提示 |
| └severity | 枚举 | 严重度。顶层 riskLevel 取所有 violation 里最高的一档。可选值:high高medium中low低 |
| └matchedText | 字符串 | 命中的原文片段。 |
| └startIndex | 数字 | 命中片段在原文中的起始下标。**语义类命中定位不到位置时为 -1**(不是 null)—— 此时请用 matchedText 自己在原文里检索,或只把它当整体提示展示。 |
| └endIndex | 数字 | 命中片段的结束下标;同样可能是 -1。 |
| └category | 对象 | 风险类别,已按 explainLocale 本地化。 |
| └suggestion | 对象 | 修改建议,已按 explainLocale 本地化。 |
| └legalRef | 对象 | 法规 / 平台条款出处。不随 explainLocale 翻译 —— 条款编号与出处必须可核对。 |
| └source | 枚举 | 判定来源:rule 确定性规则命中;model 模型判定;custom 自定义词。可选值:rulemodelcustom |
| customRisks | 数组<对象> | 自定义词库命中。独立于 risks,不计入 riskLevel —— 它是你自己的偏好,不是合规判定。 |
| └matchedText | 字符串 | 命中的原文片段。 |
| └startIndex | 数字 | 起始下标(可能为 -1)。 |
| └endIndex | 数字 | 结束下标(可能为 -1)。 |
| └replacement | 对象 | 你给这条词配的替换目标。为空表示只提醒、没有替换建议。 |
| └note | 对象 | 你给这条词写的备注。 |
| semanticLabels | 数组<字符串> | 模型判定有风险、但定位不到具体片段的整体提示。 |
| fixStatus | 对象 | AI 改写状态:null 未触发 | processing 改写中 | completed 已完成 | failed 失败。 |
| fixedText | 对象 | AI 改写后的全文,改写完成后才有值。 |
| createdAt | 对象 | 创建时间(ISO 8601)。 |
| updatedAt | 对象 | 最后更新时间(ISO 8601)。 |
可能的错误404记录不存在、不属于你的账户,或属于别的站点
示例
bash
curl "https://www.byerisk.com/api/v1/intl/id/text/checks/{id}" \
-H "Authorization: Bearer $BYERISK_API_KEY"
json — 响应
{
"success": true,
"data": {
"id": "string",
"object": "intl_text_check",
"status": "processing",
"platform": "tiktok_id",
"vertical": "general",
"text": "string",
"riskLevel": "safe",
"summary": {
"violation": 3,
"sceneHint": 1,
"custom": 0,
"semantic": 2
},
"risks": [
{
"id": null,
"kind": "violation",
"severity": "high",
"matchedText": "garansi uang kembali",
"startIndex": 42,
"endIndex": 62,
"category": null,
"suggestion": null,
"legalRef": "UU No. 8 Tahun 1999 Pasal 9",
"source": "rule"
}
],
"customRisks": [
{
"matchedText": "string",
"startIndex": 0,
"endIndex": 0,
"replacement": null,
"note": null
}
],
"semanticLabels": [
"string"
],
"fixStatus": null,
"fixedText": null,
"createdAt": null,
"updatedAt": null
}
}
DELETE/v1/intl/id/text/checks/{id}
删除文案检测记录
路径参数
响应200
| 字段 | 类型 | 说明 |
|---|
| id | 字符串 | 被删除记录的 id。 |
| object | 字符串 | 对象类型。 |
| deleted | 布尔 | 恒为 true。 |
示例
bash
curl -X DELETE https://www.byerisk.com/api/v1/intl/id/text/checks/{id} \
-H "Authorization: Bearer $BYERISK_API_KEY"
json — 响应
{
"success": true,
"data": {
"id": "string",
"object": "intl_text_check",
"deleted": true
}
}
POST/v1/intl/id/text/checks/{id}/fix
触发 AI 改写
对已完成的检测触发 AI 改写,立即返回,改写在后台进行。
轮询 GET {id},改写完成后结果在 fixedText(fixStatus 变成 completed)。
会额外扣除改写积分,失败自动退回。
路径参数
响应201
| 字段 | 类型 | 说明 |
|---|
| id | 字符串 | 检测 id。 |
| object | 字符串 | 对象类型。 |
| fixStatus | 字符串 | 改写状态,受理后为 processing。 |
| creditCost | 数字 | 本次改写消耗的积分。 |
可能的错误400该记录无需改写(无违规项),或已有一次改写在执行中
402积分不足
404记录不存在或属于别的站点
示例
bash
curl -X POST https://www.byerisk.com/api/v1/intl/id/text/checks/{id}/fix \
-H "Authorization: Bearer $BYERISK_API_KEY"
json — 响应
{
"success": true,
"data": {
"id": "string",
"object": "intl_text_check",
"fixStatus": "processing",
"creditCost": 2
}
}