# 设置小程序用户隐私保护指引

调试工具

接口应在服务器端调用,详细说明参见服务端API

# 接口说明

# 接口英文名

setPrivacySetting

# 功能描述

  • 本接口用于配置第三方代开发小程序的用户隐私保护指引。可根据小程序实际情况进行完善。小程序发布后即向c端用户展示。

  • 使用过程中如遇到问题,可在开放平台服务商专区发帖交流

# 注意事项

1、通过该接口配置用户隐私保护指引后,对于线上版本的小程序生效,则需重新提交代码审核,审核通过且需要重新发布上线后才会在小程序端生效;而对于开发版或者体验版的小程序,则设置后,即可根据设置的隐私协议内容直接调用对应的接口,且展示的隐私协议内容与在开发版或者体验版设置的内容一致(即与线上版的不一致,线上版的如果要生效得提交代码审核,审核通过且需要重新发布上线后才会在小程序端生效)

2、通过该接口配置用户隐私保护指引后,可通过查询最新一次提交的审核状态接口查询审核的状态,如果是驳回了则可以查看驳回原因。

3、传参时注意不要 json_encode 中文变成了unicode编码,否则在小程序端会展示成乱码。建议set成功之后,调get接口看下设置的中文是否正常被显示。

4、境外主体小程序需要补充「用户隐私保护指引」中「存储地区」的相关信息,否则小程序审核会被驳回。

# 调用方式

# HTTPS 调用


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

# 第三方调用

  • 调用方式以及出入参和HTTPS相同,仅是调用的token不同

  • 该接口所属的权限集id为:18

  • 服务商获得其中之一权限集授权后,可通过使用authorizer_access_token代商家进行调用

# 请求参数

属性 类型 必填说明
access_token string 接口调用凭证,该参数为 URL 参数,非 Body 参数。使用authorizer_access_token
privacy_ver number 用户隐私保护指引的版本,1表示现网版本;2表示开发版。默认是2开发版。
setting_list array<object> 要收集的用户信息配置,可选择的用户信息类型参考下方详情。当privacy_ver传2或者不传时,setting_list是必填;当privacy_ver传1时,该参数不可传,否则会报错
属性 类型 必填 说明
privacy_key string 官方的可选值参考下方说明;该字段也支持自定义。同适用于sdk收集的信息描述。
privacy_text string 请填写收集该信息的用途。例如privacy_key=Location(位置信息),那么privacy_text则填写收集位置信息的用途。无需再带上“为了”或者“用于”这些字眼,小程序端的显示格式是为了xxx,因此开发者只需要直接填写用途即可。同适用于sdk收集的信息用途描述。
owner_setting object 收集方(开发者)信息配置
属性 类型 必填 说明
contact_phone string 信息收集方(开发者)的手机号,4种联系方式至少要填一种
contact_email string 信息收集方(开发者)的邮箱地址,4种联系方式至少要填一种
contact_qq string 信息收集方(开发者)的qq号,4种联系方式至少要填一种
contact_weixin string 信息收集方(开发者)的微信号,4种联系方式至少要填一种
store_expire_timestamp string 存储期限,指的是开发者收集用户信息存储多久。如果不填则展示为【开发者承诺,除法律法规另有规定,开发者对你的信息保存期限应当为实现处理目的所必要的最短时间】,如果填请填数字+天,例如“30天”,否则会出现87072的报错。
ext_file_media_id string 如果开发者不使用微信提供的标准化用户隐私保护指引模板,也可以上传自定义的用户隐私保护指引,通过uploadPrivacySetting接口上传后可获取media_id
notice_method string 通知方式,指的是当开发者收集信息有变动时,通过该方式通知用户。这里服务商需要按照实际情况填写,例如通过弹窗或者公告或者其他方式。
store_region number 存储地区;境外主体小程序需要补充「用户隐私保护指引」中「存储地区」的相关信息,否则小程序审核会被驳回。
sdk_privacy_info_list array<object> 该小程序中引用了第三方sdk的信息说明
属性 类型 必填 说明
sdk_name string sdk的名称
sdk_biz_name string sdk提供方的主体名称
sdk_list array<object> sdk收集的信息以及用途
属性 类型 必填 说明
privacy_key string 官方的可选值参考下方说明;该字段也支持自定义。同适用于sdk收集的信息描述。
privacy_text string 请填写收集该信息的用途。例如privacy_key=Location(位置信息),那么privacy_text则填写收集位置信息的用途。无需再带上“为了”或者“用于”这些字眼,小程序端的显示格式是为了xxx,因此开发者只需要直接填写用途即可。同适用于sdk收集的信息用途描述。

# 返回参数

属性 类型 说明
errcode number 返回码
errmsg string 错误信息

# 其他说明

# 参数补充说明

1、开发版指的是通过setprivacysetting接口已经配置的用户隐私保护指引内容,但是还没发布到现网,还没正式生效的版本。

2、现网版本指的是已经在小程序现网版本已经生效的用户隐私保护指引内容。

3、如果小程序已有一个现网版,可以通过该接口(privacy_ver=1)直接修改owner_setting里除了ext_file_media_id之外的信息,修改后即可生效。

4、如果需要修改其他信息,则只能修改开发版(privacy_ver=2),然后提交代码审核,审核通过之后发布生效。

5、当该小程序还没有现网版的隐私保护指引时却传了privacy_ver=1,则会出现 86074 报错

# privacy_key 可选值如下

  • 该列表后续可能会有新增,可通过查询小程序用户隐私保护指引接口(getPrivacySetting)获取最新的信息。
  • 以下列表的中文描述可能会有所调整,以查询小程序用户隐私保护指引接口(getPrivacySetting)获取的为准
privacy_key privacy_desc
UserInfo 用户信息(微信昵称、头像)
Location 位置信息
Address 地址
Invoice 发票信息
RunData 微信运动数据
Record 麦克风
Album 选中的照片或视频信息
Camera 摄像头
PhoneNumber 手机号码
Contact 通讯录(仅写入)权限
DeviceInfo 设备信息
EXIDNumber 身份证号码
EXOrderInfo 订单信息
EXUserPublishContent 发布内容
EXUserFollowAcct 所关注账号
EXUserOpLog 操作日志
AlbumWriteOnly 相册(仅写入)权限
LicensePlate 车牌号
BlueTooth 蓝牙
CalendarWriteOnly 日历(仅写入)权限
Email 邮箱
MessageFile 选中的文件
ChooseLocation 选择的位置信息
Accelerometer 加速传感器
Compass 磁场传感器
DeviceMotion 方向传感器
Gyroscope 陀螺仪传感器
Clipboard 剪切板

# store_region 可选值

含义
1000 阿拉伯联合酋长国
1000 阿拉伯联合酋长国
1001 安提瓜和巴布达
1002 安哥拉
1003 阿根廷
1004 奥地利
1005 澳大利亚
1006 阿鲁巴
1007 巴巴多斯
1008 百慕大
1009 文莱
1010 巴西
1011 巴哈马
1012 不丹
1013 博茨瓦纳
1014 加拿大
1015 刚果民主共和国
1016 瑞士
1017 中国大陆
1018 德国
1019 多米尼加共和国
1020 西班牙
1021 斐济
1022 法国
1023 英国
1024 格林纳达
1025 格鲁吉亚
1026 格恩西岛
1027 直布罗陀
1028 格陵兰
1029 冈比亚
1030 关岛
1031 中国香港
1032 海地
1033 匈牙利
1034 印度尼西亚
1035 爱尔兰
1036 印度
1037 伊拉克
1038 伊朗
1039 冰岛
1040 意大利
1041 泽西岛
1042 日本
1043 柬埔寨
1044 圣基茨和尼维斯
1045 韩国
1046 科威特
1047 开曼群岛
1048 列支敦士登
1049 利比亚
1050 摩纳哥
1051 摩尔多瓦
1052 马绍尔群岛
1053 马其顿
1054 中国澳门
1055 北马里亚纳群岛
1056 毛里求斯
1057 马尔代夫
1058 墨西哥
1059 马来西亚
1060 莫桑比克
1061 新喀里多尼亚
1062 荷兰
1063 新西兰
1064 巴拿马
1065 菲律宾
1066 波多黎各
1067 葡萄牙
1068 帕劳
1069 留尼汪
1070 俄罗斯
1071 沙特阿拉伯
1072 塞舌尔
1073 瑞典
1074 新加坡
1075 圣马力诺
1076 斯威士兰
1077 泰国
1078 土耳其
1079 特立尼达和多巴哥
1080 中国台湾
1081 乌克兰
1082 美国
1083 委内瑞拉
1084 越南
1085 萨摩亚
1086 南非
1087 安道尔
1088 阿尔巴尼亚
1089 亚美尼亚
1090 阿塞拜疆
1091 孟加拉国
1092 比利时
1093 保加利亚
1094 巴林
1095 布隆迪
1096 贝宁
1097 玻利维亚
1098 中非共和国
1099 智利
1100 喀麦隆
1101 哥伦比亚
1102 哥斯达黎加
1103 塞尔维亚
1104 古巴
1105 捷克共和国
1106 吉布提
1107 丹麦
1108 阿尔及利亚
1109 厄瓜多尔
1110 埃及
1111 厄立特里亚
1112 埃塞俄比亚
1113 芬兰
1114 加纳
1115 希腊
1116 危地马拉
1117 洪都拉斯
1118 克罗地亚
1119 以色列
1120 牙买加
1121 约旦
1122 肯尼亚
1123 吉尔吉斯斯坦
1124 基里巴斯
1125 朝鲜
1126 哈萨克斯坦
1127 老挝
1128 黎巴嫩
1129 斯里兰卡
1130 利比里亚
1131 莱索托
1132 卢森堡
1133 拉脱维亚
1134 摩洛哥
1135 马达加斯加
1136 缅甸
1137 蒙古
1138 毛里塔尼亚
1139 马拉维
1140 纳米比亚
1141 尼日利亚
1142 尼加拉瓜
1143 挪威
1144 尼泊尔
1145 阿曼
1146 秘鲁
1147 巴布亚新几内亚
1148 巴基斯坦
1149 波兰
1150 卡塔尔
1151 罗马尼亚
1152 卢旺达
1153 所罗门群岛
1154 苏丹
1155 斯洛文尼亚
1156 斯洛伐克
1157 塞拉利昂
1158 塞内加尔
1159 苏里南
1160 塔吉克斯坦
1161 汤加
1162 坦桑尼亚
1163 乌干达
1164 乌拉圭
1165 乌兹别克斯坦
1166 瓦努阿图
1167 也门
1168 赞比亚
2000 阿富汗
2001 奥兰群岛
2002 美属萨摩亚
2003 安圭拉
2004 南极洲
2005 白俄罗斯
2006 伯利兹
2007 波黑
2008 布维岛
2009 英属印度洋领地
2010 布基纳法索
2011 佛得角
2012 乍得
2013 圣诞岛
2014 科科斯(基林)群岛
2015 科摩罗
2016 刚果(布)
2017 库克群岛
2018 科特迪瓦
2019 多米尼克
2020 萨尔瓦多
2021 赤道几内亚
2022 福克兰群岛(马尔维纳斯)
2023 法罗群岛
2024 法属圭亚那
2025 法属波利尼西亚
2026 法属南部领地
2027 加蓬
2028 瓜德罗普
2029 几内亚
2030 几内亚比绍
2031 圭亚那
2032 赫德岛和麦克唐纳岛
2033 梵蒂冈
2034 英国属地曼岛
2035 马里
2036 马提尼克
2037 马约特
2038 密克罗尼西亚联邦
2039 黑山
2040 蒙特塞拉特
2041 瑙鲁
2042 荷属安的列斯
2043 尼日尔
2044 纽埃
2045 诺福克岛
2046 巴勒斯坦
2047 巴拉圭
2048 皮特凯恩
2049 圣赫勒拿
2050 圣卢西亚
2051 圣皮埃尔和密克隆
2052 圣文森特和格林纳丁斯
2053 圣多美和普林西比
2054 索马里
2055 南乔治亚岛和南桑德韦奇岛
2056 斯瓦尔巴岛和扬马延岛
2057 叙利亚
2058 东帝汶
2059 多哥
2060 托克劳
2061 突尼斯
2062 土库曼斯坦
2063 特克斯和凯科斯群岛
2064 图瓦卢
2065 美国本土外小岛屿
2066 英属维尔京群岛
2067 美属维尔京群岛
2068 瓦利斯和富图纳
2069 西撒哈拉
2070 津巴布韦
2071 马耳他
2072 塞浦路斯
2073 爱沙尼亚
2074 立陶宛

# 调用示例

示例说明: HTTPS请求

# 请求数据示例


{
    "owner_setting" : {
       "contact_email" : "contact_email",
       "contact_phone" : "contact_email",
       "contact_qq" : "contact_qq",
       "contact_weixin" : "contact_weixin",
       "ext_file_media_id" : "2113706500236918784",
       "notice_method" : "notice_method",
       "store_expire_timestamp" : "store_expire_timestamp"
    },
    "setting_list" : [
       {
          "privacy_key" : "privacy_key",
          "privacy_text" : "privacy_text"
       },
       {
          "privacy_key" : "privacy_key",
          "privacy_text" : "privacy_text"
       }
    ],
    "sdk_privacy_info_list":[
        {
            "sdk_name":"测试sdk",
            "sdk_biz_name":"小麦有限公司",
            "sdk_list":[
                {
                    "privacy_key":"头像信息",
                    "privacy_text":"用来展示你的美貌"
                }
                
            ]
        }
    ],
    "privacy_ver":2,
 } 

# 返回数据示例


{"errcode":0,
  "errmsg":"ok"
  } 

# 错误码

错误码 错误描述 解决方案
0 ok ok
86069 owner_setting必填字段字段缺失
86070 notice_method必填字段字段缺失
86072 store_expire_timestamp参数无效。如果是编码格式不对,也会报这个错
86073 ext_file_media_id参数无效
86074 现网隐私协议不存在
86075 现网隐私协议的ext_file_media_id禁止修改