会员数据更新
用于同步会员数据更新
使用限制
无
接口说明
商家侧会员数据发生更新后,开发者可以调用抖音开放平台的接口进行积分/等级的更新,确保用户在抖音端看到正确的数据。
基本信息
HTTP URL | ||||
HTTP Method | POST | |||
申请权限 | 会员管理 | |||
权限要求 |
|
请求头
参数 | 描述 | 必须 |
Content-Type | application/json | 是 |
access-token | 是 |
请求参数
Body 请求
字参数描述 | 参数类型 | 参数描述 | 必须 |
account_id | string | 商户 id | 是 |
members | list < XXX > | 批量会员数据更新,batch size <= 5 | 是 |
.open_id | string | 用户/会 员 openId | 是 |
.points_update_cent | int | 积分更新数量(积分数*100),若不传则对应的该条积分流水不会展示 | 否 |
.points_amount_cent | int | 用户最新积分(积分数量 * 100) | 是 |
.user_level | int | 新的等级(1<=user_level<=10) | 是 |
.unbind | bool | 是否解绑会员。会员在商家侧注销时,需要向抖音本地同步该会员已解绑。
| 否 |
.new_mobile | string | 新手机号 其他必填字段仍需填写,但是不会处理,只会更新手机号 | 否 |
.update_time | int | 数据更新时间(秒时间戳) | 是 |
请求示例
该接口一共可以实现三个能力:积分等级更新、手机号更新、用户解绑;逻辑优先级为: 用户解绑 >手机号更新>积分等级更新,即 unbind = true时,只会解绑会员;new_mobile 不为空时,只会更新手机号;前两者皆为空时,才会更新积分等级。
积分等级更新
用户张三当前积分等级数据:原积分 12,等级为 2
场景一(积分增加):某次某买行为后,增加了 2 积分,增加后积分 总量为 14,等级调整为 3
{ "account_id": "905220194638320366", // 商家账户id "members": [ { "open_id": "ba253642-0590-40bc-9bdf-9a1334b94059", // 用户id "points_amount_cent": 1400, // 最新积分总数量 14 * 100 "points_update_cent": 200, // 变更积分总数量 2 * 100 "update_time": 1655279452, // 请求时间戳保证有序 "user_level": 3 // 最新用户等级 3 } ] }
场景二(积分减少):某次积分兑换行为后,减少了 2 积分,减少后积分总量为 10,等级仍然为 2
{ "account_id": "905220194638320366", // 商家账户id "members": [ { "open_id": "ba253642-0590-40bc-9bdf-9a1334b94059", // 用户id "points_amount_cent": 1000, // 最新积分总数量 14 * 100 "points_update_cent": -200, // 变更积分总数量 -2 * 100 "update_time": 1655279452, // 请求时间戳保证有序 "user_level": 2 // 最新用户等级 2 } ] }
会员解绑
某用户在商家侧进行注销,需要同步到抖音侧,解绑会员关系
{ "account_id": "905220194638320366", // 商家账户id "members": [ { "open_id": "ba253642-0590-40bc-9bdf-9a1334b94059", // 用户id "points_amount_cent": 1400, // 最新积分总数量 14 * 100 "update_time": 1655279452, // 请求时间戳保证有序 "user_level": 3, // 最新用户等级 3 "unbind": true // 解绑会员关系 } ] }
会员变更手机号
某用户在商家侧变更了手机号,需要同步到抖音侧,抖音侧同步变更
{ "account_id": "905220194638320366", // 商家账户id "members": [ { "open_id": "ba253642-0590-40bc-9bdf-9a1334b94059", // 用户id "points_amount_cent": 1400, // 最新积分总数量 14 * 100 "update_time": 1655279452, // 请求时间戳保证有序 "user_level": 3, // 最新用户等级 3 "new_mobile": "133123213" //用户新手机号 } ] }
响应参数
字段名 | 类型 | 解释 | 必须 |
extra | | 通用参数 | |
.error_code | string | 错误码,0 为成功 | |
.description | int | 错误码描述 | |
.sub_error_code | int | (弃用)子错误码 | |
.sub_description | string | (弃用)子错误码描述 | |
.logid | string | 请求 id | |
.now | int | (弃用)接口响应时间,时间戳,单位秒 | |
响应示例
正常示例
{ "data": { "error_code": 0, "description": "" }, "extra": { "logid": "20220616135636010225243100059D654D", "now": 1655358997504, "error_code": 0, "description": "", "sub_error_code": 0, "sub_description": "" } }
异常示例
{ "data": { "error_code": 2100004, "description": "系统繁忙,此时请开发者稍候再试" }, "extra": { "logid": "20220616135636010225243100059D654D", "now": 1655358997504, "error_code": 2100004, "description": "系统繁忙,此时请开发者稍候再试", "sub_error_code": 0, "sub_description": "unknown error, please retry" } }
错误码
HTTP 状态码 | 错误码 | 描述 | 排查建议 |
200 | 2100004 | 系统繁忙,此时请开发者稍候再试 | 重试 |
200 | 2100005 | 参数不合法 | 更换参数 |
200 | 2190002 | access_token 无效 | 调用接口重新生成 access_token |
200 | 2190004 | 应用未获得该能力,请去h ttps://open.douyin.com/申请 | 应用申请接口权限 |
200 | 2190008 | access_token 过期,请刷新或重新授权 | 规范 token 刷新机制,检查是否有测试环境在同步刷新 token |
200 | 2119001 | 参数不合法 | 更换参数 |
200 | 2119002 | 系统繁忙,请稍候再试 | 重试 |
200 | 2119003 | 请求太过频繁,请稍后再试 | 重试 |
200 | 2119005 | 应用未获商家授权 | 联系合作商家在商家后台发起授权,并在服务商后台同意授权 |
200 | 3000001 | 根据实际业务错误返回 | 对照接口文档规范参数并重试 |
200 | 4000001 | 补充参数 | |
200 | 4000002 | 对照接口文档规范参数并重试 | |
200 | 5000001 | 联系抖音处理 |