TikTok 平台规则
私信规则
TikTok Business Messaging 的权限门槛、发送窗口与媒体约束
TikTok 私信规则
权限门槛(Advanced Access)
私信 API(会话/消息读取、发送、媒体)需要 TikTok 对开发者应用的高级权限审查(数据安全与隐私审核)。未获批时调用返回 40001 User is not eligible for the Advanced Access tier。
注意边界:接收私信的 webhook 事件不需要该权限(事件含正文,近实时)。被卡的只是主动调用面(翻历史/回复/发图)。 官方错误码并不统一:自动消息(auto_message)面实测还会返回 401 / 405。这类错误一律按透传的官方 message 处理,不要按错误码自行分支。
发送窗口(非互关会话,官方硬控)
- 收到用户消息后 48 小时内最多发 10 条;
- 用户回复则重开 48 小时窗口(无限量);
- 超 48 小时无回复 → 最多再发 3 条(直到用户再回复)。
禁止主动发起会话(只能回复先联系你的用户)。
会话与消息读取
- 会话分两类(查询必填):
SINGLE(已建立会话)/STRANGER(陌生人消息请求)。 - 会话列表:仅近 90 天,最多 100 条;
limit1-100。 - 消息列表:固定返回最近 20 条,无分页。
消息形态
| 形态 | 约束 |
|---|---|
| 文本 | ≤6000 字符 |
| 图片 | 先 media/upload(≤3MB JPG/PNG)拿 media_id(30 天有效);双方地区都支持图片私信才可发(先 capabilities 自检 IMAGE_SEND) |
| 分享帖子 | 只能分享自己账号的帖子(item_id) |
| QA 卡片 | 标题 ≤40 字符;按钮 1-3 个(按钮文案 ≤20/40 字符) |
| Typing / 已读 | SENDER_ACTION,官方返回空 messageId 是正常语义 |
| 引用回复 | 仅文本,带 referencedMessageId |
媒体下载
media/download 返回的 download_url 24 小时有效;下载该 URL 必须带请求头 x-user: <access token>。
自动消息(Automatic Messages)
与私信面同权限门槛(Advanced Access,未批 40001)。三种类型按类型整类开关(status/update 作用于该类型全部条目):
| 类型 | 上限 | 内容字段(官方长度上限,网关不预检、官方校验透传) | 可删 | 可排序 |
|---|---|---|---|---|
WELCOME_MESSAGE 欢迎语 | 1 条/账号 | content ≤250 字符 | ❌(只能 DISABLE) | — |
SUGGESTED_QUESTION 常见问题 | 3 条/账号 | question ≤80 + answer ≤200 | ✅ | — |
CHAT_PROMPT 输入框提示按钮 | 6 条/账号 | title ≤18 + content ≤150 | ✅ | ✅(autoMessageIds 按展示顺序传全部条目) |
- 审核状态机:创建/更新后
REVIEWING→APPROVED/REJECTED(通常数秒至 2-3 小时)。REVIEWING中的条目不可更新(官方报错透传);REJECTED条目不能经status/update恢复。 - 每次 create/update 只操作 1 条;数量超限、内容重复由官方报错透传。
- 欢迎语首次开启时官方有默认文案;
\n可换行。 - 排序语义:
sort的 id 数组首位 = 输入框上方第一个按钮。
其他
- 坐席账号需在 TikTok App 开启「接收所有人私信」,否则新会话不进列表。
- 欧洲经济区/瑞士/英国用户消息受地区隐私约束,事件可能只有信号无正文。
- direct_reply(评论转私信)仅限越南/印尼/泰国注册账号(本期未开放)。
conversation_id可能含+字符,拼 URL 时注意编码(%2B)。
来源:TikTok 官方文档(Business Messaging API)。