Skip to main content
线下打卡开放接口面向持有 API Key 的接入方。扫码用户不需要 AiToEarn 账号,也不需要提前绑定抖音或小红书账号。

参与方

抖音接入流程

1

创建发布入口

接入方服务端调用 POST /api/v2/channels/douyin/open/offline-qr,请求头携带 X-Api-Key。
2

展示二维码

保存响应中的 recordId。可以直接展示 userAction.qrCodeUrl,也可以使用 userAction.shortLink 自行生成二维码。不要把 API Key 下发给前端。
3

用户完成发布

用户使用手机扫码。短链接会拉起抖音 App,并带入标题、正文和媒体;用户确认后完成发布。
4

查询发布结果

接入方服务端使用创建记录时的同一 API Key,调用已有的 GET /api/v2/channels/publish/records/{recordId} 查询结果。
接口提供两种二维码展示方式:
  • qrCodeUrl:服务端生成的 PNG Data URL,可直接用于网页 <img>。
  • shortLink:HTTPS 短链接,可由接入方自行生成二维码,适合自定义尺寸、颜色、样式或添加 Logo。
直接展示接口生成的二维码:
无论使用哪种方式,二维码内容最终都是 shortLink。schemeUrl 可用于移动端页面直接尝试拉起抖音 App。 创建接口返回的 status: 8 只表示等待用户操作,不表示发布成功。 抖音发布完成后,AiToEarn 会通过抖音回调更新发布记录。建议每 5~10 秒查询一次,并在 expiresAt 后停止轮询;链接过期后需要重新调用创建接口。

小红书接入流程

小红书接口提供的是 xhs.share 签名,不会创建 AiToEarn 发布记录,也不会返回最终作品结果。
1

准备移动端落地页

接入方提供自己的移动端分享页面,并将该页面地址生成线下二维码。
2

获取签名

页面打开后,由接入方服务端调用 POST /api/v2/channels/rednote/open/offline-qr/share-config。API Key 只能保存在服务端。
3

调用 xhs.share

接入方前端使用返回的 verifyConfig 调用 xhs.share,并在调用时传入标题、正文、图片或视频。
4

用户完成分享

用户在小红书 App 内确认发布。前端回调只能用于判断 xhs.share 的调用或拉起结果,不能直接视为最终发布成功。

接入方后端代理

扫码页面不能直接携带 API Key 请求 AiToEarn。页面应请求接入方自己的后端,再由接入方后端调用签名接口,并把 verifyConfig 返回给页面。
nonce 可以不传,由 AiToEarn 自动生成。如果接入方自行生成 nonce,必须完整使用接口返回的 nonce、timestamp 和 signature,不能与其他请求的字段混用。

扫码页面使用签名

扫码页面从接入方后端取得 verifyConfig 后,将其原样用于小红书 xhs.share。标题、正文、图片或视频不是传给 AiToEarn 签名接口,而是在调用 xhs.share 时按照接入方使用的小红书 SDK 版本传入。
建议在用户准备分享时即时获取签名,不要长期缓存或跨多次分享复用签名配置。AiToEarn 不会为小红书创建发布记录,因此没有 recordId,也不需要调用发布记录查询接口。
xhs.share 返回成功只代表 SDK 调用或 App 拉起成功。用户是否最终确认发布,以小红书 App 内的实际操作为准。
抖音接口直接返回可展示的二维码;小红书接口返回的是前端分享签名。两者不是相同的发布协议,请分别按上面的流程接入。
最后修改于 2026年8月24日