跳到主要内容

根据邮箱批量导入用户

BatchSyncUserByEmail:根据邮箱将联系人批量导入 SmartLink,并对已存在联系人进行更新。单次导入上限200个。

POST /api/v3/userinfo/batch_sync_user_by_email

请求参数

了解关于查询参数的更多信息,请参见 查询参数

属性数据类型备注描述
users[]User必填批量导入联系人(单次导入上限200个)

User

属性数据类型备注描述
emailstring必填邮箱
modify_tsbigint必填最后更新时间戳(以毫秒为单位)
tags[]string选填自定义标签,对用户进行分组,用于用户分层:
  • 需在 SmartLink > 联系人 > 标签管理 先创建好标签,若导入不存在的标签则会更新失败。
  • 标签只能增加,不会覆盖原来数据。
  • 每个用户最多可关联100个标签。
openidstring选填唯一用户 ID(最多20个数字字符)
subscribeint选填用户订阅状态
1: 订阅,0: 取消订阅,-1: 未知
locationstring选填三位国家编码,详见 国家或地区信息表 对应的 number_code
区域参数为未知或空值时,不会覆盖原来数据。
languagestring选填语言编码,详见 语言信息表 对应的 language_code
语言参数为未知或空值时,不会覆盖原来数据。
attributesobject选填自定义用户属性。支持更新联系人的其他属性,例如性别、生日等。
用于用户分层,进而创建更个性化的活动:
  • 需在 SmartLink > 所有联系人 > 字段设置 先创建好字段,若导入不存在的字段则会更新失败。
  • 用户属性只能增加或更新,未更新的字段不会覆盖原来数据。
  • 每用户自定义属性字段累计不超过50个。
attributes 类型与格式:
  • Text 类型:格式为 { "key":"value" }
    - key:自定义属性名称
    - value:string 类型,范围不超过1000个字符
  • Number 类型:格式为 { "key":"value" }
    - key:自定义属性名称
    - value:string 类型,范围 -92233720368547758089223372036854775807 之间
  • Date 类型:格式为 { "key":"value" }
    - key:自定义属性名称
    - value:string 类型,日期格式为 2001-03-31+08:002001-03-31 00:00:00+08:00
  • Drop down 类型:格式为 { "key":["value"] }
    - key:自定义属性名称
    - value:[]string 类型,单个 string 不超过1000字符,如 ["选项1","选项2"]
preferences[]string选填用于标识联系人的订阅偏好,能够按兴趣和偏好等对订阅者进行分类。
用于用户分层,将邮件定向发送给具有特定偏好的用户:
  • 需在 SmartLink > 联系人 > 偏好 先创建好偏好选项,若导入不存在的偏好选项则会更新失败。
  • 以联系人最后更新的偏好为准,不受用户订阅状态影响。
  • 每个用户最多选择20个偏好选项。
update_strategyint选填是否更新 subscribe 字段,详见 更新策略

请求示例

curl --request POST "https://openapi.smartlink.intlgame.com/api/v3/userinfo/batch_sync_user_by_email?gameid=${GAME_ID}&seq=${YOUR_RANDOM_STRING}&sig=${SIGNATURE}&ts=${TS}" \
--header 'Content-Type: application/json' \
--data-raw '{
"users":[
{
"email": "example@smartlink.intlgame.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",
"prop":["option1","option2"]
},
"preferences": [
"option1","option2"
]
},
{
"email": "example1@smartlink.intlgame.com",
"modify_ts": 1691225447577,
"tags": [
"tag3","tag4"
],
"openid": "5450588341579",
"subscribe": 1,
"location": "004",
"language": "en",
"attributes": {
"nickname": "tang2",
"level": "19",
"birthday":"1990-05-09 00:00:00+08:00",
"prop":["option1","option2"]
},
"preferences": [
"option1","option2"
]
}
]
}'

响应参数

属性数据类型描述
codeint返回码
msgstring返回消息
data[]ErrorUsers错误信息数组,若请求参数有多个错误通过该数组聚合返回所有错误

ErrorUsers

属性数据类型描述
req_indexint请求参数中的数组索引
emailstring邮箱
errors[]Error错误信息数组

Error

属性数据类型描述
codeint返回码
msgstring返回消息

响应示例

{
"code": 0,
"msg": "Success",
"data": {
"error_users": [
{
"req_index": 0,
"email": "example@smartlink.intlgame.com",
"errors": [
{
"code": 17001,
"msg": "tag is not exist :tag1"
},
{
"code": 17001,
"msg": "tag is not exist :tag2"
}
]
}
]
},
"seq": "{YOUR_RANDOM_STRING}"
}