百度opencard提供表单格式的开放样式卡片。用户可在表单输入或选择最多四项内容,内容包括:文本输入,选择选项,日期选项和地点选项,点击按钮跳转至智能小程序落地页查看结果。开发者可自由定义输入的具体内容,比如公司核名,用户可以在卡片中,输入公司名称,选择框,选择公司行业,地点选择框选择公司所在城市,点击按钮在智能小程序落地页查看计算结果。智能小程序落地页计算结果应含有企业核名详情。
如果你有优质的智能小程序适合接入这个类目,可立即申请接入
示意图
如果你有优质的智能小程序适合接入这个类目,可立即申请接入
intent 上传接口
当前资源 intent 意图参数
key | 类型 | 含义 | 示例/说明 |
---|---|---|---|
tool_name | string | 服务类型 | 可选,提供的服务类型。如:“公司核名” |
需要注意:提交的intent必须与返回的数据及智能小程序提供的服务相吻合
通过平台上传 txt 文件
txt 文件的具体要求参见接入流程-上传 Intent 数据
当前资源分类 txt 上传文件内容示例如下:
1 | {"tool_name":"公司核名"} |
通过开放 API 上传
详细接入方式参见API上传方式
Webhook API
发送给 webhook 的请求
公共字段
key | 类型 | 含义 | 示例/说明 |
---|---|---|---|
type | string | 请求类型 | 在小程序阿拉丁下永远为 “sp_ala” |
surface | string | 搜索场景 | mobile: 支持小程序的移动搜索,web_h5: 支持 H5 的移动搜索 |
srcid | string | 资源编号 | 每个资源分类不同 |
intent | object | 搜索意图参数 | JSON 对象,每个资源分类不同 |
location | object | 用户定位信息 | JSON 对象 |
location.province | string | 用户所在省份 | “北京”/“浙江”,不含行政区划单位,例如”市、省、自治区”,可能为空 |
location.city | string | 用户所在城市 | “北京”/“杭州”,不含行政区划单位,例如”市”,可能为空 |
query_info | object | 用户表达的位置信息,应优先选用用户表达的位置信息进行检索 | JSON 对象 |
query_info.query_province | string | 用户Query中指定的省份 | “北京”/“河南”,不含行政区划单位,例如”市、省、自治区”,可能为空 |
query_info.query_city | string | 用户Query中指定的地级市 | “北京”/“开封”,不含行政区划单位,例如”市”,可能为空 |
query_info.query_county | string | 用户Query中指定的县、区 | “海淀”/“兰考”,不含行政区划单位,例如”县、区”,可能为空 |
当前资源 srcid 资源编号
key | 类型 | 含义 | 设定 |
---|---|---|---|
srcid | string | 资源编号 | 48164 |
当前资源的 intent 参数参考上节 “intent 上传接口“。
用户进行搜索时,百度会对开发者提交的intent和用户需求进行匹配,然后将能和用户需求匹配的intent发给开发者,开发者需要根据每个intent代表的用户意图来返回相应的卡片数据以及智能小程序落地页
举例:发送给 webhook 的 JSON (解密后)
1 | { |
从 webhook 返回的结果
外层通用数据字段
key | 类型 | 含义 | 示例/说明 |
---|---|---|---|
status | integer | 结果状态码,0 代表正确,1 代表无结果, 2 代表请求参数错误,3 代表内部服务错误 |
0 |
msg | string | 出错消息,当非 0 时提供 | “” |
data | object | 要返回的资源数据内容 | JSON 对象,每个资源分类不同 |
当前资源分类的data
object字段内容
key | 类型 | 要求 | 说明 |
---|---|---|---|
jump_url | string | 必选 | 点击卡片标题的跳转链接地址,跳转至能够提供该工具服务的落地页,落地页内容必须与结果页卡片保持高度一致,不得有与所提供的工具服务无关的信息。该字段需返回 H5 或智能小程序页面路径,如果收到的 surface 请求是 mobile,请返回小程序路径,如果收到的 surface 请求是 web_h5,请返回 H5 路径,例如:“/page/of/target”(以/开头,不含域名),若跳转至 H5 或智能小程序首页(无路径),则需要返回“/?from=baidu”。 |
category | string | 必选 | 类目名称,最多十个字,类目名称即所提供的工具服务的名称,名称应直接了当地指明工具的主要功能和服务,不可带有品牌词等其他多余信息,可以适当带有在线、免费等吸引用户的字样。如:名片设计,名片在线设计 |
description | string | 可选 | 对工具的描述,45—80个字。工具描述介绍工具的主要功能、特色及优势,用有限的字数尽可能向用户传达清楚工具的相关信息,并尽可能地有吸引力。 |
formList | array | 必选 | 表单内容信息,最少1组,最多4组,内容包括:文本输入,选择选项,日期选项输入输入和地点选项输入 |
formList.type | string | 必选 | 表单元素类型,输入值为input或select或city或date。input为文本输入或数据输入,select为选择选项,city为地点、城市选项,date为日期选项,日期返回格式举例:2020-9-9 |
formList.label | string | 必选 | 表单名称,最长四个字符。 |
formList.placeholder | string | 可选 | 当表单元素为input时的表单输入框提示文案,最长24个字符。此字段仅在表单元素为input时生效。 |
formList.unit | string | 可选 | 当表单元素为input时的表单单位,可选择以下单位:“平方米”、“米”、“厘米”、“千克”、“克”、“元”、“万元”、“百分号”、“年”、“瓦”、“千瓦”、“千米”、“时”、“分”、“秒”、“天”、“月”、“岁”。此字段仅在表单元素为input时生效。 |
formList.options | array | 可选 | 当表单元素为select时的选项列表数据,选项列表,最少2个,最多25个。此字段仅在表单元素为select时生效。 |
formList.options.text | string | 可选 | 选项列表的选项文案 |
formList.options.value | string | 可选 | 选项列表的选项值,各选项对应的计算数值 |
btnText | string | 必选 | 按钮文案,最长6个字符 |
submitUrl | string | 必选 | 表单提交地址 url 范式,跳转至计算结果页。变量按顺序以 {{}} 作为占位符传入组件。如:表单内容组件为四组,则以“http://m.baidu.com/s?word={{val1}}&sid={{val2}}&city={{val3}}&city={{val4}}”形式上传。其中,param1,param2、param3、param4分别对应用户四个输入框的key,{{val1}}、{{val2}}、{{val3}}、{{val4}}是固定字符。不足四组去掉相应的字段 |
slink | array | 可选 | 子链列表,最少2个,最多3个。子链可以用来为工具的附加功能或者其他相关工具导流,要注意子链所导向的工具需要与用户诉求的工具有关联,比如名片设计卡片下的子链可以是门头设计和logo设计,逻辑上这个三个工具都是企业视觉设计相关的需求 |
slink.text | string | 可选 | 子链文案,最长10个字符 |
slink.url | string | 可选 | 子链跳转链接,如:“/page/of/target” |
举例:从 webhook 返回的 JSON (加密前)
1 | { |