# 转换openid

调试诊断

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:changeopenid

该接口用于公众号、服务号之后进行 openid 转换。

# 应用场景

公众号/服务号账号迁移后,关注用户的 openid 会变化,微信用户关注不同的公众号或服务号,对应的openid是不一样的,迁移成功后,关注用户的openid 以目标账号(即新账号)对应的 openid 为准。原账号非个人主体的,可以通过当前接口转换openid。

# 接口用途

当账号迁移后,可以通过该接口:

  1. 将原账号关注用户的openid转换为新账号的openid。
  2. 将有授权关系用户的openid转换为新账号的openid。
  3. 将卡券关联用户的openid转换为新账号的openid。
# 名词解释
  • 原账号:准备要迁移的账号,当审核完成且管理员确认后即被回收。
  • 新账号:用来接纳关注用户的账号。新账号在整个流程中均能正常使用。
# 注意
  1. 原账号为个人主体的,不支持使用该接口进行。
  2. 一定要在原账号被冻结之前,最好是准备提交审核前,获取原账号的用户列表。如果没有原账号的用户列表,用不了转换工具。如果原账号被回收,这时候也没办法调用接口获取用户列表。
  3. 转换openid的API接口如下,可在账号迁移审核完成后开始调用,并最多保留15天。若账号迁移没完成,调用时无返回结果或报错。账号迁移15天后,该转换接口将会失效、无法拉取到数据。

# 1. 调用方式

# HTTPS 调用

POST https://api.weixin.qq.com/cgi-bin/changeopenid?access_token=ACCESS_TOKEN

# 云调用

  • 本接口不支持云调用

# 第三方调用

# 2. 请求参数

# 查询参数 Query String parameters

参数名类型必填示例说明
access_tokenstringACCESS_TOKEN接口调用凭证,可使用 access_token

# 请求体 Request Payload

参数名类型必填示例说明
from_appidstringgh_91ae50dfeb1c原账号的原始id,不是appid
openid_listarray第1步中拉取的原账号用户列表,这些必须是旧账号目前关注的才行,否则会出错;一次最多100个。

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误描述
result_listobjarrayopenid结果列表

# Res.result_list(Array) Object Payload

openid结果列表

参数名类型示例说明
ori_openidstringoEmYbwN-n24jxvk4Sox81qedINkQ旧openid
new_openidstringo2FwqwI9xCsVadFah_HtpPfaR-X4新openid
err_msgstringok错误描述。"ori_openid error"则表示这个openid目前没有关注旧账号。

# 4. 注意事项

本接口无特殊注意事项

# 5. 代码示例

请求示例

{
    "from_appid": "gh_91ae50dfeb1c",
    "openid_list": "[\"oEmYbwN-n24jxvk4Sox81qedINkQ\",\"oEmYbwH9uVd4RKJk7ZZg6S zL6tTo\"]"
}

返回示例

{
    "errcode": 0,
    "errmsg": "",
    "result_list": [
        {
            "ori_openid": "oEmYbwN-n24jxvk4Sox81qedINkQ",
            "new_openid": "o2FwqwI9xCsVadFah_HtpPfaR-X4",
            "err_msg": "ok"
        }
    ]
}

# 6. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。

错误码错误描述解决方案
63178appid wrongfrom_appid参数错误,和调用的账号并没有迁移关系
63182openid_list emptyopenid是空
63183appid errorappid没有迁移关系

# 7. 适用范围

该接口用于公众号、服务号之后进行 openid 转换,并且在账号迁移审核完成后开始调用,并最多保留15天。若账号迁移没完成,调用时无返回结果或报错。账号迁移15天后,该转换接口将会失效、无法拉取到数据。