# 申请小程序备案
接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南
接口英文名:applyIcpFiling
使用该接口申请小程序备案。该接口使用的媒体材料都是通过"上传小程序备案媒体材料"接口返回的media_id。使用过程中如遇到问题,可在小程序备案专区发帖交流
# 1. 调用方式
# HTTPS 调用
POST https://api.weixin.qq.com/wxa/icp/apply_icp_filing?access_token=ACCESS_TOKEN
# 云调用
- 本接口不支持云调用
# 第三方调用
本接口支持第三方平台代商家调用。
该接口所属的权限集 id 为:18、156
服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。
# 2. 请求参数
# 查询参数 Query String parameters
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| access_token | string | 是 | 接口调用凭证,可使用 authorizer_access_token |
# 请求体 Request Payload
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| icp_subject | object | 是 | 备案主体信息 |
| icp_applets | object | 是 | 微信小程序信息 |
| icp_materials | object | 是 | 其他备案媒体材料 |
# Body.icp_subject Object Payload
备案主体信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| base_info | object | 是 | 主体基本信息 |
| personal_info | object | 否 | 个人主体额外信息 |
| organize_info | object | 是 | 主体额外信息(个人备案时,如果存在与主体负责人信息相同的字段,则填入相同的值) |
| principal_info | object | 是 | 主体负责人信息 |
| legal_person_info | object | 否 | 法人信息(非个人备案,且主体负责人不是法人时,必填) |
# Body.icp_applets Object Payload
微信小程序信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| base_info | object | 是 | 微信小程序基本信息 |
| principal_info | object | 是 | 小程序负责人信息 |
# Body.icp_materials Object Payload
其他备案媒体材料
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| commitment_letter | array | 否 | 互联网信息服务承诺书 media_id,最多上传1个 |
| business_name_change_letter | array | 否 | 主体更名函 media_id(非个人类型,且发生过更名时需要上传),最多上传1个 |
| party_building_confirmation_letter | array | 否 | 党建确认函 media_id,最多上传1个 |
| promise_video | array | 否 | 承诺视频 media_id,最多上传1个 |
| authenticity_responsibility_letter | array | 否 | 网站备案信息真实性责任告知书 media_id,最多上传1个 |
| authenticity_commitment_letter | array | 否 | 小程序备案信息真实性承诺书 media_id,最多上传1个 |
| website_construction_proposal | array | 否 | 小程序建设方案书 media_id,最多上传1个 |
| subject_other_materials | array | 否 | 主体其它附件 media_id,最多上传10个 |
| applets_other_materials | array | 否 | 小程序其它附件 media_id,最多上传10个 |
| holding_certificate_photo | array | 否 | 手持证件照 media_id,最多上传1个 |
# Body.icp_subject.base_info Object Payload
主体基本信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | number | 是 | 主体性质,示例值:`5` |
| name | string | 是 | 主办单位名称,示例值:`"张三"` |
| province | string | 是 | 备案省份,使用省份代码,示例值:`"110000"`(参考:获取区域信息接口) |
| city | string | 是 | 备案城市,使用城市代码,示例值:`"110100"`(参考:获取区域信息接口) |
| district | string | 是 | 备案县区,使用县区代码,示例值:`"110105"`(参考:获取区域信息接口) |
| address | string | 是 | 通讯地址,必须属于备案省市区,地址开头的省市区不用填入,例如:通信地址为“北京市朝阳区高碑店路181号1栋12345室”时,只需要填写 `"高碑店路181号1栋12345室"` 即可 |
| comment | string | 否 | 主体信息备注,根据需要,如实填写 |
| record_number | string | 否 | 主体备案号,示例值:粤B2-20090059(申请小程序备案时不用填写,查询已备案详情时会返回) |
# Body.icp_subject.personal_info Object Payload
个人主体额外信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| residence_permit | string | 否 | 临时居住证明照片 media_id,个人备案且非本省人员,需要提供居住证、暂住证、社保证明、房产证等临时居住证明,示例值:`"4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"` |
# Body.icp_subject.organize_info Object Payload
主体额外信息(个人备案时,如果存在与主体负责人信息相同的字段,则填入相同的值)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| certificate_type | number | 是 | 主体证件类型,示例值:`2`(参考:获取证件类型接口) |
| certificate_number | string | 是 | 主体证件号码,示例值:`"110105199001011234"` |
| certificate_address | string | 是 | 主体证件住所,示例值:`"北京市朝阳区高碑店路181号1栋12345室"` |
| certificate_photo | string | 否 | 主体证件照片 media_id,如果小程序主体为非个人类型,则必填,示例值:`"4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"` |
# Body.icp_subject.principal_info Object Payload
主体负责人信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 负责人姓名,示例值:`"张三"` |
| mobile | string | 是 | 负责人联系方式,示例值:`"13012344321"` |
| string | 是 | 负责人电子邮件,示例值:`"zhangsan@zhangsancorp.com"` | |
| emergency_contact | string | 是 | 负责人应急联系方式,示例值:`"17743211234"` |
| certificate_type | number | 是 | 负责人证件类型,示例值:`2`(参考:获取证件类型接口,此处只能填入单位性质属于个人的证件类型) |
| certificate_number | string | 是 | 负责人证件号码,示例值:`"110105199001011234"` |
| certificate_validity_date_start | string | 是 | 负责人证件有效期起始日期,格式为 YYYYmmdd,示例值:`"20230815"` |
| certificate_validity_date_end | string | 是 | 负责人证件有效期终止日期,格式为 YYYYmmdd,如证件长期有效,请填写 `"长期"`,示例值:`"20330815"` |
| certificate_photo_front | string | 是 | 负责人证件正面照片 media_id(身份证为人像面),示例值:`"4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"` |
| certificate_photo_back | string | 是 | 负责人证件背面照片 media_id(身份证为国徽面),示例值:`"4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"` |
| authorization_letter | string | 否 | 授权书 media_id,当主体负责人不是法人时需要主体负责人授权书,当小程序负责人不是法人时需要小程序负责人授权书,示例值:`"4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"` |
| verify_task_id | string | 否 | 扫脸认证任务id(扫脸认证接口返回的task_id),仅小程序负责人需要扫脸,主体负责人无需扫脸,示例值:`"R5PqRPNb6GmG3i0rqd4pTg"` |
# Body.icp_subject.legal_person_info Object Payload
法人信息(非个人备案,且主体负责人不是法人时,必填)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 法人代表姓名,示例值:`"张三"` |
| certificate_number | string | 是 | 法人证件号码,示例值:`"110105199001011234"` |
# Body.icp_applets.base_info Object Payload
微信小程序基本信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appid | string | 否 | 小程序ID,不用填写,后台自动拉取 |
| name | string | 否 | 小程序名称,不用填写,后台自动拉取 |
| service_content_types | - | 是 | 小程序服务内容类型,只能填写二级服务内容类型,最多5个,示例值:`[3, 4]`(参考:获取小程序服务类型接口) |
| nrlx_details | objarray | 是 | 前置审批项,列表中不能存在重复的前置审批类型id,如不涉及前置审批项,也需要填“以上都不涉及” |
| comment | string | 是 | 请具体描述小程序实际经营内容、主要服务内容,该信息为主管部门审核重要依据,备注内容字数限制20-200字,请认真填写。(特殊备注要求请查看注意事项) |
| record_number | string | 否 | 小程序备案号,示例值:粤B2-20090059-1626X(申请小程序备案时不用填写,查询已备案详情时会返回) |
# Body.icp_applets.base_info.nrlx_details(Array) Object Payload
前置审批项,列表中不能存在重复的前置审批类型id,如不涉及前置审批项,也需要填“以上都不涉及”
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | number | 是 | 前置审批类型,示例值:`2`(参考:获取前置审批项接口) |
| code | string | 否 | 前置审批号,如果前置审批类型不是“以上都不涉及”,则必填,示例值:`"粤-12345号"` |
| media | string | 否 | 前置审批媒体材料 media_id,如果前置审批类型不是“以上都不涉及”,则必填,示例值:`"4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"` |
# Body.icp_applets.principal_info Object Payload
小程序负责人信息
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 负责人姓名,示例值:`"张三"` |
| mobile | string | 是 | 负责人联系方式,示例值:`"13012344321"` |
| string | 是 | 负责人电子邮件,示例值:`"zhangsan@zhangsancorp.com"` | |
| emergency_contact | string | 是 | 负责人应急联系方式,示例值:`"17743211234"` |
| certificate_type | number | 是 | 负责人证件类型,示例值:`2`(参考:获取证件类型接口,此处只能填入单位性质属于个人的证件类型) |
| certificate_number | string | 是 | 负责人证件号码,示例值:`"110105199001011234"` |
| certificate_validity_date_start | string | 是 | 负责人证件有效期起始日期,格式为 YYYYmmdd,示例值:`"20230815"` |
| certificate_validity_date_end | string | 是 | 负责人证件有效期终止日期,格式为 YYYYmmdd,如证件长期有效,请填写 `"长期"`,示例值:`"20330815"` |
| certificate_photo_front | string | 是 | 负责人证件正面照片 media_id(身份证为人像面),示例值:`"4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"` |
| certificate_photo_back | string | 是 | 负责人证件背面照片 media_id(身份证为国徽面),示例值:`"4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"` |
| authorization_letter | string | 否 | 授权书 media_id,当主体负责人不是法人时需要主体负责人授权书,当小程序负责人不是法人时需要小程序负责人授权书,示例值:`"4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"` |
| verify_task_id | string | 否 | 扫脸认证任务id(扫脸认证接口返回的task_id),仅小程序负责人需要扫脸,主体负责人无需扫脸,示例值:`"R5PqRPNb6GmG3i0rqd4pTg"` |
# 3. 返回参数
# 返回体 Response Payload
| 参数名 | 类型 | 说明 |
|---|---|---|
| errcode | number | 错误码 |
| errmsg | string | 错误信息 |
| hints | objarray | 错误提示 |
# Res.hints(Array) Object Payload
错误提示
| 参数名 | 类型 | 说明 |
|---|---|---|
| errcode | number | 字段校验的错误码 |
| err_field | string | 校验失败的字段,示例值:`"icp_subject.principal_info.certificate_photo_front"` |
| errmsg | string | 校验失败提示信息,示例值:`"缺少必填字段"` |
# 4. 注意事项
申请小程序备案之前,请确保前置条件已经完成:
- 小程序名称、图标、描述等小程序基本信息已填写完成。
- 小程序至少存在一个审核通过的类目。
- 非个人类型小程序必须完成微信认证。
调用该接口之前,请先完成小程序负责人人脸核身,以及上传所有需要用到的附件材料。
人脸核身视频会用于生成核验照片,背景需白色或接近浅色,核验人不能裸露上半身,不能戴帽子、耳机、口罩等遮挡面部的物品,如视频不满足要求,即使人脸核身通过,本接口也会返回失败。
所有字段校验失败的原因会一次性返回。
每个服务商每日只能发起1000个存量已上架小程序备案申请,新增未上架小程序不受限制。
小程序备注(必填)注意事项:
- 天津市个人主体备案小程序请按以下格式补充备注:应急联系电话手机号使用人为XXX,与小程序主办者关系为XX (注:应急联系方式必须为小程序主办者的直系亲属);天津市非个人主体备案小程序请按以下格式补充备注:应急联系电话手机号使用人为XXX公司员工XXX。
- 福建省个人主体备案小程序请按以下格式补充备注:请具体描述小程序实际经营内容、主要服务内容,该信息为主管部门审核重要依据,备注内容字数限制20-200字,请认真填写。且不能出现“**公司官网,**单位旗下产品”。
- 广东省备案小程序如果是非纯中文小程序昵称,要求在小程序备注位置注明中文名称以及小程序主要服务内容,并且在备注文案文末加上“承诺遵守中华人民共和国法律法规。”,备注内容字数限制20-200字,请认真填写。
若发起备案请求时,管理员实名信息未补充,且备案信息中小程序负责人为法人时,管理员实名信息将更新为小程序负责人(即法人)。
接口与mp对齐,首次提交不能传主体其他附件和小程序其他附件,撤回或驳回后再提交才能支持上传。
# 其他说明
# 事件推送
当备案审核被驳回或通过时会推送该事件。服务商要接收事件推送,请移步:授权事件接收配置
# 推送参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| InfoType | string | 消息类型,固定为 notify_apply_icpfiling_result |
| AppId | string | 服务商唯一id |
| authorizer_appid | string | 小程序唯一id |
| beian_status | number | 备案状态,参考“获取小程序备案状态及驳回原因”接口的备案状态枚举 |
# 推送数据示例
{
"AppId": "wx1234567890abcdef",
"CreateTime": 1689839779,
"InfoType": "notify_apply_icpfiling_result",
"authorizer_appid": "wxabcdef1234567890",
"beian_status": 3
}
# 5. 代码示例
# 5.1 个人备案
请求示例
{
"icp_subject": {
"base_info": {
"type": 5, // 个人类型
"name": "张三",
"province": "110000", // 北京市
"city": "110100",
"district": "110105", // 朝阳区
"address": "高碑店路181号1栋12345室",
"comment": "主体备注"
},
"personal_info": {
"residence_permit": "4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"
},
"organize_info": {
"certificate_type": 2,
"certificate_number": "110105199001011234",
"certificate_address": "北京市朝阳区高碑店路181号1栋12345室"
},
"principal_info": {
"name": "张三",
"mobile": "13012344321",
"email": "zhangsan@zhangsancorp.com",
"emergency_contact": "17743211234",
"certificate_type": 2, // 身份证
"certificate_number": "110105199001011234",
"certificate_validity_date_start": "20230815",
"certificate_validity_date_end": "20330815",
"certificate_photo_front": "4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7",
"certificate_photo_back": "4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"
}
},
"icp_applets": {
"base_info": {
"service_content_types": [
3,
4
], // 工具 & 家政
"nrlx_details": [
{
"type": 24 // 以上都不涉及
}
],
"comment": "小程序备注"
},
"principal_info": {
"name": "张三",
"mobile": "13012344321",
"email": "zhangsan@zhangsancorp.com",
"emergency_contact": "17743211234",
"certificate_type": 2, // 身份证
"certificate_number": "110105199001011234",
"certificate_validity_date_start": "20230815",
"certificate_validity_date_end": "20330815",
"certificate_photo_front": "4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7",
"certificate_photo_back": "4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7",
"verify_task_id": "R5PqRPNb6GmG3i0rqd4pTg"
}
},
"icp_materials": {
"commitment_letter": [
"4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"
]
}
}
返回示例
{
"errcode": 0,
"errmsg": "ok"
}
# 5.2 企业备案
请求示例
{
"icp_subject": {
"base_info": {
"type": 4, // 企业类型
"name": "李四王五有限责任公司",
"province": "440000", // 广东省
"city": "440100", // 广州市
"district": "440105", // 海珠区
"address": "新港中路TIT创意园B6栋",
"comment": "主体备注"
},
"organize_info": {
"certificate_type": 1, // 营业执照
"certificate_number": "92111122223333443F",
"certificate_address": "广东省广州市海珠区新港中路TIT创意园B6栋",
"certificate_photo": "4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"
},
"principal_info": {
"name": "李四",
"mobile": "13022222221",
"email": "lisi@lisiwangwucorp.com",
"emergency_contact": "1722222234",
"certificate_type": 2, // 身份证
"certificate_number": "440105198802023334",
"certificate_validity_date_start": "20230815",
"certificate_validity_date_end": "20330815",
"certificate_photo_front": "4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7",
"certificate_photo_back": "4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"
}
},
"icp_applets": {
"base_info": {
"service_content_types": [
3,
4
], // 工具 & 家政
"nrlx_details": [
{
"type": 24 // 以上都不涉及
}
],
"comment": "小程序备注"
},
"principal_info": {
"name": "王五",
"mobile": "13011111111",
"email": "wangwu@lisiwangwucorp.com",
"emergency_contact": "15522223333",
"certificate_type": 2, // 身份证
"certificate_number": "440105199001019999",
"certificate_validity_date_start": "20230815",
"certificate_validity_date_end": "20330815",
"certificate_photo_front": "4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7",
"certificate_photo_back": "4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7",
"verify_task_id": "R5PqRPNb6GmG3i0rqd4pTg"
}
},
"icp_materials": {
"commitment_letter": [
"4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"
]
}
}
返回示例
{
"errcode": 0,
"errmsg": "ok"
}
# 6. 错误码
以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。
| 错误码 | 错误描述 | 解决方案 |
|---|---|---|
| -1 | system error | 系统繁忙,此时请开发者稍候再试 |
| 0 | ok | ok |
| 86202 | 申请小程序备案失败 | 申请小程序备案失败,请根据返回的错误提示进行修改 |
| 86301 | 系统错误,请稍后重试 | 系统错误,请稍后重试 |
| 86302 | 输入信息与图片信息相差过大 | 重新拍摄上传图片 |
| 86303 | 无法获取号码归属地 | 请重试或更换一个号码 |
| 86308 | 证件有效期不满足要求 | 请确保证件在有效期内,且有效期大于3个月 |
| 86324 | 当前正在审核中,请勿重复提交 | 当前正在审核中,请勿重复提交 |
| 86358 | 存在订单尚未完成,不允许再次提交 | 存在订单尚未完成,不允许再次提交 |
# 7. 适用范围
本接口支持「第三方平台」账号类型代调用,权限集请参考「调用方式」部分。其他账号类型如无特殊说明,均不可调用。