根据邮箱导入用户
SyncUserByEmail:根据邮箱导入联系人信息。如果该联系人已经存在,则更新该邮箱的用户信息。
POST /api/v4/userinfo/sync_user_by_email
请求参数
了解关于查询参数的更多信息,请参见 查询参数。
| 属性 | 数据类型 | 备注 | 描述 |
|---|---|---|---|
| string | 必填 | 邮箱 | |
| modify_ts | bigint | 必填 | 最后更新时间戳(以毫秒为单位) |
| tags | []string | 选填 | 自定义标签,对用户进行分组,用于用户分层:
|
| openid | string | 选填 | 唯一用户 ID(最多20个数字字符) |
| subscribe | int | 选填 | 用户订阅状态 1: 订阅,0: 取消订阅,-1: 未知,3:Pending |
| location | string | 选填 | 三位国家编码,详见 国家或地区信息表 对应的 number_code区域参数为未知或空值时,不会覆盖原来数据。 |
| language | string | 选填 | 语言编码,详见 语言信息表 对应的 language_code语言参数为未知或空值时,不会覆盖原来数据。 |
| attributes | object | 选填 | 自定义用户属性。支持更新联系人的其他属性,例如性别、生日等。 用于用户分层,进而创建更个性化的活动:
|
| preferences | []string | 选填 | 用于标识联系人的订阅偏好,能够按兴趣和偏好等对订阅者进行分类。 用于用户分层,将邮件定向发送给具有特定偏好的用户:
|
| update_strategy | int | 选填 | 是否更新 subscribe 字段,详见 更新策略。 |
请求示例
curl --request POST "https://openapi.smartlink.intlgame.com/api/v4/userinfo/sync_user_by_email?gameid=${GAME_ID}&seq=${YOUR_RANDOM_STRING}&sig=${SIGNATURE}&ts=${TS}" \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "545058834@qq.com",
"modify_ts": 1691225447577,
"tags": [
"tag1","tag2"
],
"openid": "5450588341569",
"subscribe": 1,
"location": "004",
"language": "en",
"attributes": {
"nickname": "tang",
"level": "10",
"birthday":"1990-05-09 00:00:00+08:00"
},
"preferences": [
"option1","option2"
]
}'
更新策略
更新策略可用来控制是否使用传入的联系人信息来更新 subscribe 字段,通过在请求的 JSON 中添加 update_strategy 参数可以针对不同订阅状态的联系人改变更新策略。
传入的 attributes 参数则不受更新策略影响,默认会用来更新联系人信息。
根据 update_strategy 所设置的值,不被更新的联系人的订阅状态(subscribe)将保持不变,即使接收到参数也不会进行更新。
以下4种策略,使用 API 导入 Pending 状态,且“是否更新”列为“是”的都会发送二次确认邮件。
二次确认邮件默认配置:https://console.smartlink.intlgame.com/settingManage/doubleOptIn/config
update_strategy = 0:
根据最佳策略建议,若update_strategy不传递,且传递subscribe=1, 则默认update_strategy=0。
| 系统内当前订阅状态 | 是否更新 |
|---|---|
| 已订阅 | 是 |
| 未订阅 | 是 |
| 未知 | 是 |
| Pending | 否 |
update_strategy = 1:
根据最佳策略建议,若update_strategy不传递,且传递subscribe=0, 则默认update_strategy=1。
| 系统内当前订阅状态 | 是否更新 |
|---|---|
| 已订阅 | 是 |
| 未订阅 | 是 |
| 未知 | 是 |
| Pending | 是 |
update_strategy = 2:
根据最佳策略建议,若update_strategy不传递,且传递subscribe=-1, 则默认update_strategy=2。
| 系统内当前订阅状态 | 是否更新 |
|---|---|
| 已订阅 | 否 |
| 未订阅 | 否 |
| 未知 | 是 |
| Pending | 否 |
update_strategy = 3:
根据最佳策略建议,若update_strategy不传递,且传递subscribe=3, 则默认update_strategy=3。 若同一 APIkey 在 1 小时内已发送过二次确认邮件,则不再重复发送。
| 系统内当前订阅状态 | 是否更新 |
|---|---|
| 已订阅 | 否 |
| 未订阅 | 是 |
| 未知 | 是 |
| Pending | 是 |
响应参数
| 属性 | 数据类型 | 描述 |
|---|---|---|
| code | int | 返回码 |
| msg | string | 返回消息 |
响应示例
{
"code": 0,
"msg": "Success",
"seq": "{YOUR_RANDOM_STRING}"
}