跳到主要内容

根据 OpenID 修改用户

UpdateUserByOpenID:根据 OpenID 更新用户信息。

POST /api/v3/userinfo/update_user_by_openid

注意

OpenID 是用户在特定身份认证系统中的唯一标识,在进行信息更新操作前,请确保获取的 OpenID 准确无误,否则可能导致错误的用户信息被修改.

请求参数

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

属性数据类型备注描述
openidstring必填唯一用户 ID(最多20个数字字符)
modify_tsbigint必填最后更新时间戳(以毫秒为单位)
tags[]string选填自定义标签,对用户进行分组,用于用户分层:
  • 需在 SmartLink > 联系人 > 标签管理 先创建好标签,若导入不存在的标签则会更新失败。
  • 标签只能增加,不会覆盖原来数据。
  • 每个用户最多可关联100个标签。
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/update_user_by_openid?gameid=${GAME_ID}&seq=${YOUR_RANDOM_STRING}&sig=${SIGNATURE}&ts=${TS}" \
--header 'Content-Type: application/json' \
--data-raw '{
"openid": "1012156612344364",
"modify_ts": 1691225447577,
"tags": [
"tag1","tag2"
],
"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"
]
}'

响应参数

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

响应示例

{
"code": 0,
"msg": "Success",
"seq": "{YOUR_RANDOM_STRING}"
}