# 内容接入
内容接入是面向有优质内容的小程序提供一种接入微信搜索的能力。小程序可以通过该功能推送优质内容的页面路径、参数和结构化数据等信息,让微信搜索可以更及时地收录到小程序内容,推送的内容将会被用于微信搜索结果展示。
# 一、功能介绍
当用户搜索到接入的内容后,点击会跳转到开发者的小程序页面。同时开发者可以针对微信内用户的搜索需求做定向优化,从而带来更多流量的增长。
# 1. 内容接入目前支持的页面类型有:
1)图文页 :适用于所有内容,尤其是文本类内容;
2)问答页 :适用于问答类内容,精准问答内容也是应用该类型,如果排序在首位,会富展现;
3)精选页 :适用于页面有导航的优质内容,该页面如果排序在首位,会富展现。
# 2. 页面展现形式如下:
# 3. 开发者接入流程如下:
开发者需在小程序后台开通“内容接入”功能,并且声明类目信息。具体操作可以参见 【二、权限开通流程】;
开发者需按照要求的内容接入方式推送内容到微信搜索,并且定期更新内容。具体操作可以参见 【三、内容接入方式】。
# 二、权限开通流程
内容接入权限需要使用小程序账号登录微信开放平台申请开通。
# 具体操作流程如下:
1. 开通内容接入功能
使用小程序账号登录微信开放平台,在左侧导航栏点击“微信搜一搜”,点击“内容接入”,进行“开通”。只有认证的小程序账号能够看到内容接入功能。
2. 声明内容接入的类目
请开发者谨慎选择,选择和自己内容相符的类目。类目信息一旦提交,不支持修改。支持一个月可以提交一次类目声明。
3. 推送测试数据,用于系统调试和数据格式校验,不在搜索结果中展示
- 开发者需要根据内容接入方式(参见【内容接入方式】),推送测试数据,同时在内容接入的后台,点击测试数据的“提交审核”按钮;
- 搜一搜会针对推送的测试数据在7天内完成审核,并且给予反馈;
- 测试数据审核通过后,开发者可以往正式环境传数据。
4. 推送正式数据,审核通过可能在线上被搜索到
- 开发者需要继续推送正式数据,同时在内容接入的后台,点击正式数据的“提交审核”按钮;
- 搜一搜会针对推送的正式数据在7天内完成审核,并且给予反馈;
- 数据审核通过后,推送的正式数据可能在线上被搜索到。
注意:
内容上线后,需要保持定期更新,否则更新不及时会出现死链情况,影响前端用户体验。最终会影响开发者内容的排序结果。针对非时新性内容,需要保持至少一周一次的推送频率,需要更新新生产的内容同时需要删除已经不存在的内容; 针对时新性内容,根据需要的更新频率更新。
内容更新后,一般会在隔天被同步进入索引。除去内容因为低质问题被过滤掉,内容在24小时内至少可以通过搜索标题出现。针对时新性内容,需要提前声明,有特殊的时新性队列可以实时建立索引,保证推送的内容可以更快被搜索到。
# 三、内容接入方式
# 1. 接口调用请求说明
HTTP请求方式:POST
https://api.weixin.qq.com/wxa/search/wxaapi_submitpages?access_token=TOKEN
# 2. 请求参数说明
请求参数
参数 类型 说明 access_token string 小程序access_token。放在URL里。 pages PageObject数组 请求提交的小程序页面信息数组,一次可提交多个页面的信息。放在POST body里。 PageObject结构说明
参数 类型 说明 path string 以pages/开头的小程序页面路径。 query string 小程序页面请求参数 data_list PageData数组 小程序页面的数据,一个页面可以同时提交多个结构化信息,用于不同业务 注意:path+query标识唯一一个页面,微信侧会使用这个信息构造唯一id。
PageData结构说明
参数 类型 说明 @type string 数据结构类型,用于标识目标业务系统,必填 其他 目标业务所需的结构化数据 - @type="wxsearch_cpdata"时,对应的数据将发往搜一搜正式环境,并可能在搜索结果中展示。
- @type="wxsearch_testcpdata"时,对应的数据将发往搜一搜测试环境,用于系统调试和数据格式校验,不在搜索结果中展示。
- 发往搜一搜正式/测试环境的数据,所对应的数据结构,详见【搜一搜结构化数据】。
# 3. 返回参数说明
参数 | 类型 | 说明 |
---|---|---|
errcode | int32 | 错误码 |
errmsg | string | 错误信息 |
常见错误码:
errcode | errmsg | 说明 |
---|---|---|
40066 | invalid url | 小程序url配置了sitemap disallow |
40211 | invalid scope_data | 数据结构校验失败,附带进一步错误字段,如unexpected instance type: /content_id,表示content_id类型错误。 |
40212 | invalid query | 不合法query |
40219 | pages is empty | pages参数为空 |
45002 | content size out of limit | http请求包过大,建议拆分或使用压缩 |
47001 | data format error | http请求包不是合法Json |
47004 | submit pages count more than each quota | 每次提交的页面数超过1000(备注:每次提交页面数应小于或等于1000) |
47006 | submit pages count reach daily limit, please try tomorrow | 当天提交页面数达到了配额上限,请明天再试 |
85091 | search status was turned off | 小程序的搜索开关被关闭。请访问设置页面打开开关再重试 |
85083 | search status is banned | 小程序的搜索功能被禁用 |
其他错误码可从全局错误码 找到说明。
# 4. 搜一搜结构化数据
a. 图文页
字段 | 名称 | 数据类型 | 必填 | 字段说明及要求 |
---|---|---|---|---|
update | 更新字段 | uint32 | 是 | 1-新增;3-删除;内容更新按照新增处理,如果页面路径(page+query)相同,微信会做覆盖更新 |
content_id | 数据方自定义id | string | 是 | 数据方自定义id |
page_type | 页面类型 | uint32 | 是 | 固定填2 |
category_id | 内容类目 | uint32 | 是 | 详见【四、附录-内容类目定义】 |
h5_url | H5链接 | string | 否 | 如果该页面有对应的H5链接,则填上 |
title | 标题 | string | 是 | 建议长度:20个字符以内 |
subtitle | 副标题 | string数组 | 否 | 支持多个副标题 |
abstract | 摘要 | string数组 | 否 | 添加摘要有利于召回 |
referer | HTTP Referer | string | 否 | 如果图片有防盗链逻辑,需要设置referer头,用于图片下载 |
cover_img | 封面图 | Object数组 | 否 | 用于展示,最多支持3个 |
- cover_img_url | 封面图URL | string | 是 | URL,用于外显 |
- cover_img_size | 封面图规格 | uint32 | 是 | 用于说明图片的规格,支持大图、三图和小图;须严格符合规格要求,详情见【附录】 |
mainbody | 正文 | string | 是 | 正文,不可带有html标签 |
author | 作者 | Object | 否 | 作者信息,权威作者信息跟更有利于内容被召回 |
- author_name | 作者名字 | string | 是 | |
- author_title | 作者职务 | string | 否 | |
- author_portrait | 作者头像URL | string | 否 | 头像尺寸不低于36px*36px |
video | 视频 | Object数组 | 否 | |
- video_title | 视频标题 | string | 否 | 如不填,则视为与页面标题一致 |
- video_length | 视频时长 | uint32 | 是 | 单位为秒,优先五分钟内短视频 |
- video_img | 视频封面图URL | string | 是 | URL,用于外显,尺寸不低于686px*288px |
time_publish | 发布时间 | uint32 | 是 | unix时间戳,单位秒 |
time_modify | 更新时间 | uint32 | 是 | unix时间戳,单位秒 |
tag | 关键词列表 | string数组 | 否 | 文章的keyword,支持多个,样例见附录 |
searchword | 搜索词列表 | string数组 | 否 | 用于绑定微信官方提供的query |
pv | 页面阅读数 | uint32 | 否 | 近3个月的累计值 |
like | 页面点赞数 | uint32 | 否 | 近3个月的累计值 |
extra_info | 补充字段 | Object | 否 | 通用字段无法满足要求时,需要额外补充的字段,具体字段内容需要与微信协商 |
b. 问答页
字段 | 名称 | 数据类型 | 必填 | 字段说明及要求 |
---|---|---|---|---|
update | 更新字段 | uint32 | 是 | 1-新增;3-删除;内容更新按照新增处理,如果页面路径(page+query)相同,微信会做覆盖更新 |
content_id | 数据方自定义id | string | 是 | 数据方自定义id |
page_type | 页面类型 | uint32 | 是 | 固定填4 |
page_attribute | 页面属性 | uint32 | 否 | 0-普通问答;1-精准问答;默认填0 |
category_id | 内容类目 | uint32 | 是 | 详见【四、附录-内容类目定义】 |
h5_url | H5链接 | string | 否 | 如果该页面有对应的H5链接,则填上 |
title | 标题 | string | 是 | 建议长度:20个字符以内 |
subtitle | 副标题 | string数组 | 否 | 支持多个副标题,可以用于放置问题描述 |
abstract | 摘要 | string数组 | 否 | 添加摘要有利于召回 |
referer | HTTP Referer | string | 否 | 如果图片有防盗链逻辑,需要设置referer头,用于图片下载 |
cover_img | 封面图 | Object数组 | 否 | 用于展示,最多支持3个 |
- cover_img_url | 封面图URL | string | 是 | URL,用于外显 |
- cover_img_size | 封面图规格 | uint32 | 是 | 用于说明图片的规格,支持大图、三图和小图;须严格符合规格要求,详情见附录 |
mainbody | 正文 | Object数组 | 是 | 问题的答案,支持多个。 |
- answer_content | 答案内容 | string | 是 | 不可带有html标签 |
- answer_timestamp | 回答时间 | uint32 | 否 | unix时间戳 |
- author_name | 作者名字 | string | 否 | |
- author_title | 作者职务 | string | 否 | |
- author_portrait | 作者头像URL | string | 否 | 头像尺寸不低于36px*36px |
answer | 答案摘要 | Object | 否 | 控制外显答案摘要的样式和内容 |
- answer_style | 答案摘要的展示样式 | uint32 | 是 | 0-图文样式;1-短答案;2-长答案;3-步骤答案;5-自定义答案样式; 默认填0 |
- short_answer | 短答案摘要 | string | 否 | 如果answer_style为1,则必填 |
- long_answer | 长答案摘要 | string | 否 | 如果answer_style为2,则必填 |
- intro_answer | 导语摘要 | string | 否 | 如果answer_style为3,填写后会展示 |
- step_answer_prefix | 步骤摘要前缀 | string | 否 | 如果answer_style为3,不填则为默认1、2,如前缀为“步骤”,前端展示为“步骤1、步骤2” |
- step_answer | 步骤摘要 | string数组 | 否 | 如果answer_style为3,则必填 |
- diy_answer | 自定义答案摘要 | Object数组 | 否 | 如果answer_style为5,则必填;如果answer_style为1,可选填,填了会优先于mainbody |
video | 视频 | Object数组 | 否 | 控制外显的视频信息 |
- video_title | 视频标题 | string | 否 | 如不填,则视为与页面标题一致 |
- video_length | 视频时长 | uint32 | 是 | 单位为秒,优先五分钟内短视频 |
- video_img | 视频封面图URL | string | 是 | URL,用于外显,尺寸不低于686px*288px |
- video_weapp_url | 视频跳转小程序URL | string | 是 | 视频落地的小程序页面 |
- video_play_url | 视频播放URL | string | 是 | 视频播放链接 |
voice | 音频 | Object数组 | 否 | 控制外显的音频信息 |
- voice_url | 音频url | string | 是 | 音频播放链接 |
- voice_desc | 音频描述 | string | 是 | 建议8个字以内 |
anchor | 锚点 | Object | 否 | 控制外显的锚点信息 |
- anchor_text | 锚点文案 | string | 是 | 锚点文案 |
- anchor_url | 锚点链接 | string | 是 | 跳转到的锚点位置 |
service | 服务 | Object | 否 | 控制外显的服务信息 |
- service_title | 服务标题 | string | 是 | 建议6个字以内,最多不超过8个字 |
- service_weapp_id | 服务跳转小程序appid | string | 否 | 如果填写小程序url,则必填 |
- service_weapp_url | 服务跳转小程序URL | string | 否 | 小程序url或者H5的url必填一个 |
- service_h5_url | 服务跳转H5_URL | string | 否 | |
reproduce_source | 转载内容来源 | string | 否 | 注:转载文章必须转载官方文章且需与微信协商后打此标识,此字段填写转载来源,如:“小米” |
time_publish | 发布时间 | uint32 | 是 | unix时间戳,单位秒 |
time_modify | 更新时间 | uint32 | 是 | unix时间戳,单位秒 |
tag | 关键词列表 | string数组 | 否 | 文章的keyword,支持多个,样例见附录 |
searchword | 搜索词列表 | string数组 | 否 | 用于绑定微信官方提供的query |
similar_question | 相似问题 | string数组 | 否 | 语义相同,一个问题的不同表述。如,“番茄炒蛋做法”“番茄炒蛋怎么做” |
pv | 页面阅读数 | uint32 | 否 | 近3个月的累计值 |
like | 页面点赞数 | uint32 | 否 | 近3个月的累计值 |
associated_anchor | 关联内容锚点信息 | Object | 否 | 关联内容锚点,用于精准问答,展示在摘要下方 |
- title | 锚点标题 | string | 是 | 锚点标题 |
- jump_anchor | 跳转锚点 | Object数组 | 是 | 跳转锚点信息,需要填2个或者4个 |
more_anchor_content | 更多信息提示锚点 | string | 否 | 更多\完整 提示锚点的展示内容,用于精准问答,摘要太长展示不全时会出这个,点击跳转与点击内容跳转一样 |
province_name | 关联地域省份名 | string | 否 | 关联地域省份名 |
city_name | 关联地域城市名 | string | 否 | 关联地域城市名 |
extra_info | 补充字段 | Object | 否 | 通用字段无法满足要求时,需要额外补充的字段,具体字段内容需要与微信协商 |
qa_key | KV数据主key | string数组 | 否 | KV数据主key |
similar_qa_key | KV数据相似key | string数组 | 否 | KV数据相似key |
extr_info | 补充字段(菜谱数据专用) | Object | 否 | 补充字段(菜谱数据专用) |
-自定义答案样式,diy_answer字段包含
字段 | 名称 | 数据类型 | 是否必填 | 字段说明及要求 |
---|---|---|---|---|
label | 标签 | string | 是 | 自定义答案子项标签 |
description | 描述 | Object数组 | 是 | 自定义答案子项描述,是一个数组,将每一项的content拼接起来就是展示的完整描述 |
- content | 文本内容 | string | 是 | 文本内容 |
- phone | 电话号码 | string | 否 | 电话号码,用来支持点击拉起拨号 |
- jumpinfo | 跳转信息 | Object | 否 | 跳转信息,用来支持点击跳转 |
-跳转信息,jumpinfo字段包含
字段 | 名称 | 数据类型 | 是否必填 | 字段说明及要求 |
---|---|---|---|---|
jumpType | 跳转类型 | uint32 | 是 | 2-跳小程序;3-跳H5 |
appID | 小程序appid | string | 否 | jumpType=2时必填,小程序appid |
weappUrl | 小程序Url | string | 否 | 小程序Url |
jumpUrl | H5 url | string | 否 | jumpType=3时必填,H5 url |
-跳转锚点,jump_anchor字段包含
字段 | 名称 | 数据类型 | 是否必填 | 字段说明及要求 |
---|---|---|---|---|
content | 锚点展示内容 | string | 是 | 锚点展示内容 |
jumpinfo | 跳转信息 | Object | 是 | 跳转信息,用来支持点击跳转 |
-补充字段(菜谱数据专用),extr_info字段包含
字段 | 名称 | 数据类型 | 是否必填 | 字段说明及要求 |
---|---|---|---|---|
ingredients | 菜谱食材 | string数组 | 否 | 菜谱食材 |
quality_score | 菜谱评分 | float | 否 | 菜谱评分 |
tips | 小贴士 | string | 否 | 小贴士 |
level | 等级,是否精品 | uint32 | 否 | 等级,是否精品 |
dishnums | 学做数 | uint32 | 否 | 学做数 |
fans | 作者粉丝数 | uint32 | 否 | 作者粉丝数 |
videoheight | 视频高度 | uint32 | 否 | 视频高度 |
videowidth | 视频宽度 | uint32 | 否 | 视频宽度 |
nutrial | 营养价值 | Object | 否 | 营养价值 |
cooktime | 做菜时间 | string | 否 | 做菜时间 |
cookdifficulty | 做菜难度 | string | 否 | 做菜难度 |
isvip | 用户认证 | uint32 | 否 | 用户认证 |
-补充字段(菜谱数据专用),extr_info.nutrial字段包含
字段 | 名称 | 数据类型 | 是否必填 | 字段说明及要求 |
---|---|---|---|---|
energy | 能量 | uint32 | 否 | 能量 |
nutrition_facts | 营养成份 | Object数据 | 否 | 营养成份 |
- nutrient | 营养项 | string | 否 | 营养项 |
- amount | 含量 | string | 否 | 含量,比如“50克” |
- calorie | 卡路里 | uint32 | 否 | 卡路里 |
c. 问答页(限教育-知识点子类目)
字段 | 名称 | 数据类型 | 必填 | 字段说明及要求 |
---|---|---|---|---|
update | 更新字段 | uint32 | 是 | 1-新增;3-删除;内容更新按照新增处理,如果页面路径(page+query)相同,微信会做覆盖更新 |
page_type | 页面类型 | uint32 | 是 | 固定填4,问答页 |
page_attribute | 页面属性 | uint32 | 是 | 固定填1,精准问答 |
category_id | 内容类目 | uint32 | 是 | 固定填3,教育类目 |
sub_category_id | 内容子类目 | uint32 | 是 | 固定填30001,知识点子类目 |
title | 标题 | string | 是 | 知识点标题,建议长度:20个字符以内 |
referer | HTTP Referer | string | 否 | 如果图片有防盗链逻辑,需要设置referer头,用于图片下载 |
cover_img | 封面图 | Object数组 | 否 | 用于展示,最多支持3个 |
- cover_img_url | 封面图URL | string | 是 | URL,用于外显 |
- cover_img_size | 封面图规格 | uint32 | 是 | 固定填1,展示小图 |
answer | 答案摘要 | Object | 是 | 外显答案摘要的样式和内容 |
- answer_style | 答案摘要的展示样式 | uint32 | 是 | 2-长答案;4-知识点答案;99-非文本问答 |
- long_answer | 长答案摘要 | string | 否 | 如果answer_style为2,则必填 |
- structure_answer | 知识点摘要 | Object | 否 | 如果answer_style为4,则必填;具体字段内容参见下面注意事项 |
video | 视频 | Object数组 | 否 | 视频信息 |
- video_title | 视频标题 | string | 否 | 知识点标题,如不填,则视为与页面标题一致 |
- video_length | 视频时长 | uint32 | 否 | 单位为秒,优先五分钟内短视频 |
- video_img | 视频封面图URL | string | 是 | URL,用于外显,尺寸不低于686px*288px |
- video_weapp_url | 视频跳转小程序URL | string | 是 | 视频落地的小程序页面 |
- video_play_url | 视频播放ULR | string | 是 | 视频播放链接 |
time_publish | 发布时间 | uint32 | 是 | unix时间戳,单位秒 |
time_modify | 更新时间 | uint32 | 是 | unix时间戳,单位秒 |
tag | 关键词列表 | string数组 | 否 | 文章的keyword,支持多个,样例见附录 |
注意:
- 针对英语语法类或者数学公式类知识点内容,structure_answer字段包含
字段 | 名称 | 数据类型 | 是否必填 | 字段说明及要求 |
---|---|---|---|---|
structure_id | 知识点类型 | uint32 | 是 | 1-英语语法,2-数学公式 |
description | 知识点描述 | string | 是 | 语法的用法或者公式的定义 |
list | 列表 | Object数组 | 是 | 数组类型,用于放置英语例句或者数学公式 |
- text | 文本 | string | 否 | 具体英语例句文本,具体需要加粗字段使用加粗标签;数学公式文本,使用MathML或者LaTex描述 |
- pic_url | 图片链接 | string | 否 | 如果用文本表示不了,可以换用图片形式 |
d. 问答页(限医疗类目)
字段 | 名称 | 数据类型 | 必填 | 字段说明及要求 |
---|---|---|---|---|
update | 更新字段 | uint32 | 是 | 1-新增;3-删除;内容更新按照新增处理,如果页面路径(page+query)相同,微信会做覆盖更新 |
content_id | 数据方自定义id | string | 是 | 数据方自定义id |
page_type | 页面类型 | uint32 | 是 | 固定填4,问答页 |
page_attribute | 页面属性 | uint32 | 否 | 固定填1,精准问答 |
category_id | 内容类目 | uint32 | 是 | 固定填9,医疗类目 |
h5_url | H5链接 | string | 否 | 如果该页面有对应的H5链接,则填上 |
title | 标题 | string | 是 | 建议长度:20个字符以内 |
subtitle | 副标题 | string数组 | 否 | 支持多个副标题,可以用于放置问题描述 |
abstract | 摘要 | string数组 | 否 | 添加摘要有利于召回 |
referer | HTTP Referer | string | 否 | 如果图片有防盗链逻辑,需要设置referer头,用于图片下载 |
cover_img | 封面图 | Object数组 | 否 | 用于展示,最多支持3个 |
- cover_img_url | 封面图URL | string | 是 | URL,用于外显 |
- cover_img_size | 封面图规格 | uint32 | 是 | 用于说明图片的规格,支持大图、三图和小图;须严格符合规格要求,详情见附录 |
mainbody | 正文 | Object数组 | 是 | 问题的答案,支持多个。 |
- answer_content | 答案内容 | string | 是 | 不可带有html标签 |
- answer_timestamp | 回答时间 | uint32 | 否 | unix时间戳 |
- author_name | 作者名字 | string | 否 | |
- author_title | 作者职务 | string | 否 | |
- author_portrait | 作者头像URL | string | 否 | 头像尺寸不低于36px*36px |
- author_id | 作者id | string | 否 | 医生对应id,每个cp内保证唯一即可 |
- author_depart | 作者科室 | string | 否 | 作者归属的科室,如“五官科-口腔科”,支持多个科室,格式需为“一级科室-二级科室” |
- author_homepage | 作者主页 | string | 否 | url,作者的个人主页 |
answer | 答案摘要 | Object | 否 | 控制外显答案摘要的样式和内容 |
- answer_style | 答案摘要的展示样式 | uint32 | 是 | 0-图文样式;1-短答案;2-长答案;3-步骤答案;5-自定义答案样式; 默认填0 |
- short_answer | 短答案摘要 | string | 否 | 如果answer_style为1,则必填 |
- short_answer_style | 短答案样式 | uint32 | 否 | 如果answer_style为1,填写后会改变短答案颜色,不填默认为0-普通样式。0-普通样式(黑色),1-禁止类(红色) |
- long_answer | 长答案摘要 | string | 否 | 如果answer_style为2,则必填 |
- intro_answer | 导语摘要 | string | 否 | 如果answer_style为3,填写后会展示 |
- step_answer_prefix | 步骤摘要前缀 | string | 否 | 如果answer_style为3,不填则为默认1、2,如前缀为“步骤”,前端展示为“步骤1、步骤2” |
- step_answer | 步骤摘要 | string数组 | 否 | 如果answer_style为3,则必填 |
- diy_answer | 自定义答案摘要 | Object数组 | 否 | 如果answer_style为5,则必填;如果answer_style为1,可选填,填了会优先于mainbody |
video | 视频 | Object数组 | 否 | 控制外显的视频信息 |
- video_title | 视频标题 | string | 否 | 如不填,则视为与页面标题一致 |
- video_length | 视频时长 | uint32 | 是 | 单位为秒,优先五分钟内短视频 |
- video_img | 视频封面图URL | string | 是 | URL,用于外显,尺寸不低于686px*288px |
- video_weapp_url | 视频跳转小程序URL | string | 是 | 视频落地的小程序页面 |
- video_play_url | 视频播放URL | string | 是 | 视频播放链接 |
voice | 音频 | Object数组 | 否 | 控制外显的音频信息 |
- voice_url | 音频url | string | 是 | 音频播放链接 |
- voice_desc | 音频描述 | string | 是 | 建议8个字以内 |
anchor | 锚点 | Object | 否 | 控制外显的锚点信息 |
- anchor_text | 锚点文案 | string | 是 | 锚点文案 |
- anchor_url | 锚点链接 | string | 是 | 跳转到的锚点位置 |
service | 服务 | Object | 否 | 控制外显的服务信息 |
- service_title | 服务标题 | string | 是 | 建议6个字以内,最多不超过8个字 |
- service_weapp_id | 服务跳转小程序appid | string | 否 | 如果填写小程序url,则必填 |
- service_weapp_url | 服务跳转小程序URL | string | 否 | 小程序url或者H5的url必填一个 |
- service_h5_url | 服务跳转H5_URL | string | 否 | |
reproduce_source | 转载内容来源 | string | 否 | 注:转载文章必须转载官方文章且需与微信协商后打此标识,此字段填写转载来源,如:“小米” |
medical | 医疗相关字段 | Object | 否 | 医疗相关字段 |
- type | 数据类型 | uint32 | 否 | 标识内容类型:10-医院类;11-医生类;12-药物类;13-疾病类 |
- hospital_rank | 医院等级 | string | 否 | 页面作者所在医院等级,格式需为【X级X等】,如一级甲等 |
- department | 科室 | string数组 | 否 | 页面内容对应疾病归属的科室,如“五官科-口腔科”,支持多个科室,格式需为“一级科室-二级科室” |
time_publish | 发布时间 | uint32 | 是 | unix时间戳,单位秒 |
time_modify | 更新时间 | uint32 | 是 | unix时间戳,单位秒 |
tag | 关键词列表 | string数组 | 否 | 文章的keyword,支持多个,样例见附录 |
searchword | 搜索词列表 | string数组 | 否 | 用于绑定微信官方提供的query |
similar_question | 相似问题 | string数组 | 否 | 语义相同,一个问题的不同表述。如,“感冒吃什么药”“什么药可以治感冒” |
pv | 页面阅读数 | uint32 | 否 | 近3个月的累计值 |
like | 页面点赞数 | uint32 | 否 | 近3个月的累计值 |
extra_info | 补充字段 | Object | 否 | 通用字段无法满足要求时,需要额外补充的字段,具体字段内容需要与微信协商 |
qa_key | KV数据主key | string数组 | 否 | KV数据主key |
similar_qa_key | KV数据相似key | string数组 | 否 | KV数据相似key |
e. 精选页(限制开放)
字段 | 名称 | 数据类型 | 是否必填 | 字段说明及要求 |
---|---|---|---|---|
update | 更新字段 | uint32 | 是 | 1-新增;3-删除;内容更新按照新增处理,如果页面路径(page+query)相同,微信会做覆盖更新 |
content_id | 数据方自定义id | string | 是 | 数据方自定义id |
page_type | 页面类型 | uint32 | 是 | 固定填1 |
category_id | 内容类目 | uint32 | 是 | 详见【四、附录-内容类目定义】 |
h5_url | H5链接 | string | 否 | 如果该页面有对应的H5链接,则填上 |
title | 标题 | string | 是 | 建议长度:20个字符以内 |
subtitle | 副标题 | string数组 | 否 | 支持多个副标题 |
abstract | 摘要 | string数组 | 否 | 添加摘要有利于召回 |
referer | HTTP Referer | string | 否 | 如果图片有防盗链逻辑,需要设置referer头,用于图片下载 |
cover_img | 封面图 | Object数组 | 否 | 用于展示,最多支持3个 |
- cover_img_url | 封面图URL | string | 是 | URL,用于外显 |
- cover_img_size | 封面图规格 | uint32 | 是 | 用于说明图片的规格,支持大图、三图和小图;须严格符合规格要求,详情见附录 |
section | 栏目 | Object数组 | 是 | 页面的不同栏目,最多支持4个 |
- section_name | 栏目名称 | string | 是 | 4-12个字符,尽量用中文 |
- section_url | 栏目下级URL | string | 是 | 为小程序格式的URL |
mainbody | 正文 | string | 是 | 正文,不可带有html标签 |
time_publish | 发布时间 | uint32 | 是 | unix时间戳,单位秒 |
time_modify | 更新时间 | uint32 | 是 | unix时间戳,单位秒 |
tag | 关键词列表 | string数组 | 否 | 文章的keyword,支持多个,样例见附录 |
searchword | 搜索词列表 | string数组 | 否 | |
pv | 页面阅读数 | uint32 | 否 | 近3个月的累计值 |
like | 页面点赞数 | uint32 | 否 | 近3个月的累计值 |
extra_info | 补充字段 | Object | 否 | 通用字段无法满足要求时,需要额外补充的字段,具体字段内容需要与微信协商 |
f. 问答页(限生活-流行语子类目)
字段 | 名称 | 数据类型 | 必填 | 字段说明及要求 |
---|---|---|---|---|
update | 更新字段 | uint32 | 是 | 1-新增;3-删除;内容更新按照新增处理,如果页面路径(page+query)相同,微信会做覆盖更新 |
page_type | 页面类型 | uint32 | 是 | 固定填4,问答页 |
page_attribute | 页面属性 | uint32 | 是 | 固定填1,精准问答 |
category_id | 内容类目 | uint32 | 是 | 固定填19,生活类目 |
sub_category_id | 内容子类目 | uint32 | 是 | 固定填190001,流行语子类目 |
title | 标题 | string | 是 | 知识点标题,建议长度:20个字符以内 |
referer | HTTP Referer | string | 否 | 如果图片有防盗链逻辑,需要设置referer头,用于图片下载 |
cover_img | 封面图 | Object数组 | 否 | 用于展示,最多支持3个 |
- cover_img_url | 封面图URL | string | 是 | URL,用于外显 |
- cover_img_size | 封面图规格 | uint32 | 是 | 固定填1,展示小图 |
mainbody | 正文 | Object数组 | 是 | 问题的答案,支持多个。 |
- answer_content | 答案内容 | string | 是 | 不可带有html标签 |
- answer_timestamp | 回答时间 | uint32 | 否 | unix时间戳 |
- author_name | 作者名字 | string | 否 | |
- author_title | 作者职务 | string | 否 | |
- author_portrait | 作者头像URL | string | 否 | 头像尺寸不低于36px*36px |
answer | 答案摘要 | Object | 否 | 控制外显答案摘要的样式和内容 |
- answer_style | 答案摘要的展示样式 | uint32 | 否 | 0-图文样式;1-短答案;2-长答案;3-步骤答案;5-自定义答案样式; 默认填0 |
- short_answer | 短答案摘要 | string | 否 | 如果answer_style为1,则必填 |
- long_answer | 长答案摘要 | string | 否 | 如果answer_style为2,则必填 |
- intro_answer | 导语摘要 | string | 否 | 如果answer_style为3,填写后会展示 |
- step_answer_prefix | 步骤摘要前缀 | string | 否 | 如果answer_style为3,不填则为默认1、2,如前缀为“步骤”,前端展示为“步骤1、步骤2” |
- step_answer | 步骤摘要 | string数组 | 否 | 如果answer_style为3,则必填 |
- diy_answer | 自定义答案摘要 | Object数组 | 否 | 如果answer_style为5,则必填;如果answer_style为1,可选填,填了会优先于mainbody |
video | 视频 | Object数组 | 否 | 视频信息 |
- video_title | 视频标题 | string | 否 | 知识点标题,如不填,则视为与页面标题一致 |
- video_length | 视频时长 | uint32 | 否 | 单位为秒,优先五分钟内短视频 |
- video_img | 视频封面图URL | string | 是 | URL,用于外显,尺寸不低于686px*288px |
- video_weapp_url | 视频跳转小程序URL | string | 是 | 视频落地的小程序页面 |
- video_play_url | 视频播放ULR | string | 是 | 视频播放链接 |
time_publish | 发布时间 | uint32 | 是 | unix时间戳,单位秒 |
time_modify | 更新时间 | uint32 | 是 | unix时间戳,单位秒 |
tag | 关键词列表 | string数组 | 否 | 文章的keyword,支持多个,样例见附录 |
net_source | 流行语来源 | Object | 是 | 流行语来源信息 |
- source_desc | 来源描述 | string | 是 | 如:yyds来源于.... |
- source_weapp_id | 出处小程序appid | string | 否 | 如果填写source_weapp_url,则必填 |
- source_weapp_url | 出处跳转小程序URL | string | 否 | 如果填写source_weapp_id,则必填 |
- source_h5_url | 出处跳转H5_URL | string | 否 | |
- url_title | 出处跳转路径的标题 | string | 否 | 如果填了source_weapp_url或者source_h5_url则此字段必填 |
other_explain | 其他释义 | Object | 否 | 其他释义 |
- path_title | 释义的标题 | string | 是 | |
- weapp_id | 小程序appid | string | 否 | 如果填写weapp_url,则必填 |
- weapp_url | 跳转小程序URL | string | 否 | 如果填写weapp_id,则必填 |
- h5_url | 跳转H5_URL | string | 否 | h5路径或者小程序路径必须有一个 |
f. 问答页(限教育-问候语)
字段 | 名称 | 数据类型 | 必填 | 字段说明及要求 |
---|---|---|---|---|
update | 更新字段 | uint32 | 是 | 1-新增;3-删除;内容更新按照新增处理,如果页面路径(page+query)相同,微信会做覆盖更新 |
page_type | 页面类型 | uint32 | 是 | 固定填4,问答页 |
page_attribute | 页面属性 | uint32 | 是 | 固定填1,精准问答 |
category_id | 内容类目 | uint32 | 是 | 固定填3,教育类目 |
sub_category_id | 内容子类目 | uint32 | 是 | 固定填 300002,句子子类目 |
title | 标题 | string | 是 | 知识点标题,建议长度:20个字符以内 |
referer | HTTP Referer | string | 否 | 如果图片有防盗链逻辑,需要设置referer头,用于图片下载 |
cover_img | 封面图 | Object数组 | 否 | 用于展示,最多支持3个 |
- cover_img_url | 封面图URL | string | 是 | URL,用于外显 |
- cover_img_size | 封面图规格 | uint32 | 是 | 固定填1,展示小图 |
mainbody | 正文 | Object数组 | 是 | 正文,不可带有html标签 |
- answer_content | 答案内容 | string | 是 | 不可带有html标签 |
- answer_timestamp | 回答时间 | uint32 | 否 | unix时间戳 |
- author_name | 作者名字 | string | 否 | |
- author_title | 作者职务 | string | 否 | |
- author_portrait | 作者头像URL | string | 否 | 头像尺寸不低于36px*36px |
answer | 答案摘要 | Object | 否 | 控制外显答案摘要的样式和内容 |
- answer_style | 答案摘要的展示样式 | uint32 | 是 | 填6:句子答案 |
- sentence_answer | 句子信息 | Object | 是 | 句子信息 |
- title | 标题 | string | 是 | 知识点标题,建议长度:20个字符以内 |
- items | 句子数组 | Object数组 | 是 | 句子数组 |
- content | 具体句子 | string | 是 | 具体句子内容 |
- author_name | 名人名言作者 | string | 否(名人名言需返回) | 名人名言的作者 |
- jump_info | 该句子的跳转信息 | Object | 是 | 该句子的跳转信息 |
- jumpType | 跳转类型 | uint32 | 是 | 必填,跳小程序填2,h5填3 |
- appID | 小程序appid | string | 是 | 小程序则必填 |
- weappUrl | 小程序Url | string | 是 | 小程序则必填 |
- jumpUrl | 跳转H5 URL | string | 是 | h5路径必填 |
- more_jump | 更多的跳转信息 | Object | 是 | 数据同jump_info |
- type | 句子的类型 | uint32 | 是 | 句子的类型(1:名人名言,2:造句,3:问候语 4:文案 5:网名) |
- short_answer | 短答案摘要 | string | 否 | 如果answer_style为1,则必填 |
- long_answer | 长答案摘要 | string | 否 | 如果answer_style为2,则必填 |
- intro_answer | 导语摘要 | string | 否 | 如果answer_style为3,填写后会展示 |
- step_answer_prefix | 步骤摘要前缀 | string | 否 | 如果answer_style为3,不填则为默认1、2,如前缀为“步骤”,前端展示为“步骤1、步骤2” |
- step_answer | 步骤摘要 | string数组 | 否 | 如果answer_style为3,则必填 |
- diy_answer | 自定义答案摘要 | Object数组 | 否 | 如果answer_style为5,则必填;如果answer_style为1,可选填,填了会优先于mainbody |
video | 视频 | Object数组 | 否 | 视频信息 |
- video_title | 视频标题 | string | 否 | 知识点标题,如不填,则视为与页面标题一致 |
- video_length | 视频时长 | uint32 | 否 | 单位为秒,优先五分钟内短视频 |
- video_img | 视频封面图URL | string | 否 | URL,用于外显,尺寸不低于686px*288px |
- video_weapp_url | 视频跳转小程序URL | string | 否 | 视频落地的小程序页面 |
- video_play_url | 视频播放ULR | string | 否 | 视频播放链接 |
time_publish | 发布时间 | uint32 | 是 | unix时间戳,单位秒 |
time_modify | 更新时间 | uint32 | 是 | unix时间戳,单位秒 |
tag | 关键词列表 | string数组 | 否 | 文章的keyword,支持多个,样例见附录 |
数据样例
{
"pages": [
{
"path": "pages/webview/test1",
"query": "articleId=254276079",
"data_list": [
{
"@type": "wxsearch_testcpdata"
"category_id": 7,
"page_type": 2,
"h5_url": "",
"weapp_url": "pages/webview/test1?articleId=254276079",
"others": "其他字段..."
}
]
},
{
"path": "pages/webview/webview",
"query": "articleId=123&videoId=1005",
"data_list": [
{
"@type": "wxsearch_testcpdata"
"category_id": 7,
"page_type": 2,
"h5_url": "",
"weapp_url": "pages/webview/webview?articleId=123&videoId=1005",
"others": "其他字段..."
}
]
}
]
}
# 四、附录
# 1. 内容类目定义
类目编号 | 类目定义 |
---|---|
1 | 综合 |
2 | 新闻 |
3 | 教育 |
4 | 娱乐 |
5 | 体育 |
6 | 汽车 |
7 | 旅游 |
8 | IT科技 |
9 | 医疗 |
10 | 财经 |
11 | 时尚 |
12 | 美食 |
13 | 法律 |
14 | 文化 |
15 | 游戏 |
16 | 房产 |
17 | 母婴 |
18 | 商品 |
19 | 生活 |
20 | 政务 |
21 | 医美 |
# 2. 字段解释
1. cover_img_size规格说明(用于外显展示,需谨慎)
- 正方形小图(不低于125px*125px),即填写cover_img_size = 1;
- 长方形大图(不低于686px*288px),即填写cover_img_size = 2;
- 长方形三图(不低于224px*168px),即填写cover_img_size = 3。 示例如下:
2. tag:页面内容的标签,是用于搜索引擎可以个更好地理解和召回内容。例如:
针对于美食类目,建议可以同时打上菜名、食材、工艺、菜式、调料等标签。比如: 《水煮肉片的做法》建议 tag=[“水煮肉片”,“煮”,“猪肉”,“川菜”,“四川”], 《煎牛排》建议 tag=[“牛排”,“煎”,“西式菜”]。 这样微信不仅会根据标题做语义相关性的召回,还会通过判断标签与用户搜索词相关性做文章的召回。比如用户搜索“川菜”,也会召回《水煮肉片的做法》这篇文章。
3. 通过answer_style控制问答页展示的样式
- 图文样式,answer_style = 0
- 短答案样式,answer_style = 1
- 长答案样式,answer_style = 2
- 步骤答案样式,answer_style = 3
- 知识点答案样式,answer_style = 4
- 自定义答案样式,answer_style = 5