百度opencard提供3输入框1选择框的开放样式卡片。用户在结果页输入以上4项内容,点击按钮跳转至智能小程序落地页查看结果。开发者可自由定义三个输入框和选择框的具体内容,比如个人贷款计算器,用户可以在卡片中利用输入框,输入贷款金额,贷款期限,年利率,选择相应的还款方式,点击按钮在智能小程序落地页查看计算结果。
如果你有优质的智能小程序适合接入这个样式的卡片,可立即申请接入
示意图
如果你有优质的智能小程序适合接入这个样式的卡片,可立即申请接入
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 | 资源编号 | 48138 |
当前资源的 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 | 类型 | 要求 | 说明 |
---|---|---|---|
adjective | string | 必选 | 类目名称,最多十个字,类目名称即所提供的工具服务的名称,名称应直接了当地指明工具的主要功能和服务,不可带有品牌词等其他多余信息,可以适当带有在线、免费等吸引用户的字样。如:名片设计,名片在线设计 |
jump_url | string | 必选 | 击卡片标题的跳转链接地址,跳转至能够提供该工具服务的落地页,落地页内容必须与结果页卡片保持高度一致,不得有与所提供的工具服务无关的信息。该字段需返回 H5 或智能小程序页面路径,如果收到的 surface 请求是 mobile,请返回小程序路径,如果收到的 surface 请求是 web_h5,请返回 H5 路径,例如:“/page/of/target”(以/开头,不含域名),若跳转至 H5 或智能小程序首页(无路径),则需要返回“/?from=baidu”。 |
tag | array | 可选 | 横滑Tag 列表,最少2个,最多10个。tag是对工具内容的分类,tag下的内容应默认和第一个tag对应,而第一个tag必须和intent(即用户搜索意图)相对应,比如去水印类目,可以有两个tag:图片去水印和视频去水印,用户如果搜索“视频去水印“,那么视频去水印tag就应该在第一位,且tag下的内容区及其落地页应体现视频去水印相关内容 |
tag.text | string | 可选 | tag文案,最短1个字符,最长6个字符 |
tag.tag_url | string | 可选 | tag链接地址。如:“/page/of/target”。tag链接的落地页的内容要和tag文案相对应 |
submit_url | string | 必选 | 点击按钮的跳转路径,跳转至计算结果页。以“/page/of/target?param1={{val1}}¶m2={{val2}}¶m3={{val3}}¶m4={{val4}}”形式上传。其中,param1,param2、param3、param4分别对应用户四个输入框的key,{{val1}}、{{val2}}、{{val3}}、{{val4}}是固定字符。 |
item1 | string | 必选 | 第一个输入框表单名称,最长4个字符 |
input_text1 | string | 必选 | 第一个输入框提示文案,最多18个字 |
unit1 | string | 可选 | 输入框的表单单位,可选择以下单位:“平方米”、“米”、“厘米”、“千克”、“克”、“元”、“万元”、“百分号”、“年”、“瓦”、“千瓦”、“千米”、“时”、“分”、“秒”、“天”、“月”、“岁” |
item2 | string | 必选 | 第二个输入框表单名称,最长4个字符 |
input_text2 | string | 必选 | 第二个输入框提示文案,最多18个字 |
unit2 | string | 可选 | 输入框的表单单位,可选择以下单位:“平方米”、“米”、“厘米”、“千克”、“克”、“元”、“万元”、“百分号”、“年”、“瓦”、“千瓦”、“千米”、“时”、“分”、“秒”、“天”、“月”、“岁” |
item3 | string | 必选 | 第三个输入框表单名称,最长4个字符 |
input_text3 | string | 必选 | 第三个输入框提示文案,最多18个字 |
unit3 | string | 可选 | 输入框的表单单位,可选择以下单位:“平方米”、“米”、“厘米”、“千克”、“克”、“元”、“万元”、“百分号”、“年”、“瓦”、“千瓦”、“千米”、“时”、“分”、“秒”、“天”、“月”、“岁” |
item4 | string | 必选 | 选择框表单名称,最长4个字符 |
options | array | 必选 | 选项列表数据,选项列表,最少2个,最多25个 |
options.text | string | 必选 | 选项列表的选项文案,最短1个字符 |
options.value | string | 必选 | 选项列表的选项值,各选项对应的计算数值,最短1个字符 |
button_text | string | 必选 | 按钮文案,最长6个字符 |
slink | array | 可选 | 子链列表,最少2个,最多3个。子链可以用来为工具的附加功能或者其他相关工具导流,要注意子链所导向的工具需要与用户诉求的工具有关联,比如名片设计卡片下的子链可以是门头设计和logo设计,逻辑上这个三个工具都是企业视觉设计相关的需求 |
slink.text | string | 可选 | 子链文案,最短1个字符,最长10个字符,例如:查看更多 |
slink.slink_url | string | 可选 | 子链跳转链接,如:“/page/of/target” |
statement | string | 可选 | 底部声明文案,不超过24个字符,最短1个字符,最长100个字符 |
举例:从 webhook 返回的 JSON (加密前)
1 | { |