微信公众号
一物一码接口文档
# 目录
# 1. 业务流程
# 1.1 申请及获取二维码
# 1.2 用户扫描二维码
# 2. 接口
# 2.1 接口规则
# 2.2 申请二维码接口
# 2.3 查询二维码申请单接口
# 2.4 下载二维码包接口
# 2.5 激活二维码接口
# 2.6 查询二维码激活状态接口
# 2.7 CODE_TICKET换CODE接口
# 3.二维码包解密说明
# 3.1 解密说明
# 1. 业务流程
1.1申请及获取二维码
1.2用户扫描二维码
# 2. 接口
2.1接口规则
提交方式:采用POST方法提交。API调用凭证 accesstoken,参照说明:获取access_token。
数据格式:提交和返回数据JSON格式,数据格式如:
{
"field1":"data1",
"field2":"data2",
"int_field":123
}
字符编码:统一采用UTF-8字符编码。
2.2申请二维码接口
API:https://api.weixin.qq.com/intp/marketcode/applycode?access_token=ACCESSTOKEN
ACCESSTOKEN参见接口规则说明。
请求参数:
返回参数:
入参示例:
{
"code_count":100000,
"isv_application_id":"testid124"
}
返回示例:
{
"errcode":0,
"errmsg":"ok",
"application_id":581865877
}
2.3 查询二维码申请单接口
API:https://api.weixin.qq.com/intp/marketcode/applycodequery?access_token=ACCESSTOKEN ACCESSTOKEN参见接口规则说明。请求参数:
返回参数:
入参示例:
{
"application_id":"581865877"
}
返回示例:
{
"errcode": 0,
"errmsg": "ok",
"status": "FINISH",
"code_generate_list": [{
"code_start": 0,
"code_end": 49999
},{
"code_start": 50000,
"code_end": 99999
}]
}
2.4 下载二维码包接口
API:https://api.weixin.qq.com/intp/marketcode/applycodedownload?access_token=ACCESSTOKE ACCESSTOKEN参见接口规则说明。请求参数:
返回参数:
解密后的数据格式为:
a1 b1 c1 d1
a2 b2 c2 d2
即以 /n 换行,每行四个元素以 /t 分隔。
a为361字节的01点阵,用于支持生成19*19的微型码,0为白,1为黑,
b为原始码数据,最长9位,
c为该码在此次申请的索引位置,
d为28位字符,用于支持转为普通二维码。可生成码制2,纠错等级Q的二维码。
入参示例:
如下表示获取该申请单的0-49999这一段的码。
{
"application_id":581865877,
"code_start": 0,
"code_end": 49999
}
返回示例:
{
"errcode":0,
"errmsg":"ok",
"buffer": "ajfiwejfoiawjfijweofi"
}
2.5 激活二维码接口
API:https://api.weixin.qq.com/intp/marketcode/codeactive?access_token=ACCESSTOKEN请求参数:
返回参数:
入参示例:
{
"application_id":581865877,
"code_start":0,
"code_end":200,
"activity_name":"test_name",
"product_brand":"test_brand",
"product_title":"test_title",
"product_code":"test_code",
"wxa_appid":"wx3sxjifjwojfsffef",
"wxa_path":"pages/index/index"
}
返回示例:
{"errcode":0,"errmsg":"ok"}
2.6 查询二维码激活状态接口
API:https://api.weixin.qq.com/intp/marketcode/codeactivequery?access_token=ACCESSTOKEN 这里提供两种查询方式:1)传入application_id和code_index;2)传入九位原始码code或28位普通码字符code_url。 返回原始码信息和激活状态,可以在小程序内扫码等场景使用。请求参数:
返回参数:
入参示例:
{
"code_url":"P.URL.CN/0U.JYJXP3HJI2C98A9O"
}
返回示例:
{
"errcode": 0,
"errmsg": "ok",
"code": "8",
"code_start": 0,
"code_end": 200,
"activity_name": "test_name",
"product_brand": "test_brand",
"product_title": "test_title",
"product_code": "test_code",
"wxa_appid": "test_appid",
"wxa_path": "test_path"
"application_id":581865877,
"isv_application_id":"test_id"
}
2.7 code_ticket换code接口
API:https://api.weixin.qq.com/intp/marketcode/tickettocode?access_token=ACCESSTOKEN ACCESSTOKEN参见接口规则说明。请求参数:
返回参数:
入参示例:
{
"code_ticket":"6cb4bc95e1f1abc97034cbe8fd484989",
"openid":"oiV2luCau8Cx0TMOy9lvZSLqRcKc"
}
返回示例:
{
"errcode": 0,
"errmsg": "ok",
"code": "8",
"code_start": 0,
"code_end": 200,
"activity_name": "test_name",
"product_brand": "test_brand",
"product_title": "test_title",
"product_code": "test_code",
"wxa_appid":"wx3sxjifjwojfsffef",
"wxa_path":"pages/index/index",
"application_id":581865877,
"isv_application_id":"test_id"
}
# 3. 二维码包解密说明
3.1 解密说明
实名数据的加密方式使用AES的CBC模式,iv使用加解密钥,填充使用PKCS7Padding,最后使用base64进行编码。
解密时,先进行base64解码,然后使用密钥及AES/CBC/PKCS7Padding进行解密。 密钥在申请实名接口权限时,会提供到申请方。