用户在搜索“体脂率”、“体脂率计算”等泛需求时,搜索结果页会展现体脂率计算器卡片。用户可在卡片中选择性别,并输入腰围、体重数值,点击“计算体脂率”按钮跳转至落地页获取计算结果;或点击卡片标题,跳转至资源方提供体脂率计算服务的落地页。
示意图
intent 上传接口
当前资源 intent 意图参数
key | 类型 | 含义 | 示例/说明 |
---|---|---|---|
calculator | string | 计算器类型 | 必选,提供的服务类型 |
通过平台上传 txt 文件
资源方仅需要通过 txt 文件上传一个空的 intent 到平台,txt 文件的具体要求参见接入流程-上传 Intent 数据。
当前资源分类 txt 上传文件内容示例如下:
1 | {"calculator":""} |
通过开放 API 上传
详细接入方式参见API 上传方式
Webhook API
发送给 webhook 的请求
公共字段
key | 类型 | 含义 | 示例/说明 |
---|---|---|---|
type | string | 请求类型 | 在小程序阿拉丁下永远为 “sp_ala” |
surface | string | 搜索场景 | mobile: 支持小程序的移动搜索,web_h5: 支持 H5 的移动搜索 |
srcid | string | 资源编号 | 每个资源分类不同 |
intent | object | 搜索意图参数 | JSON 对象,每个资源分类不同 |
当前资源 srcid 资源编号
key | 类型 | 含义 | 设定 |
---|---|---|---|
srcid | string | 资源编号 | 48044 |
当前资源的 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 | 必选 | 点击卡片标题的跳转链接,跳转至提供体脂率计算服务的落地页。url 字段需返回 H5 或智能小程序页面路径,例如“/page/of/target”;若跳转至 H5 或智能小程序首页(无路径),则需要返回“/?from=baidu” |
submit_url | string | 必选 | “查看结果”表单提交按钮路径,跳转至计算结果页。以“/page/of/target?param1={{val1}}¶m2={{val2}}¶m3={{val3}}”形式上传,param1、param2、param3 分别对应落地页获取用户选择的性别(资源方通过选项文案字段与选项值字段自行设定)、腰围值(单位:cm)以及体重值(单位:kg)的 key,可根据需要改写为具体的名称,{{val1}}、{{val2}}、{{val3}} 是固定字符,会替换为用户输入的具体数值,请不要修改 |
options | array | 必选 | 性别选项列表数据 |
options.text | string | 必选 | 性别选项文案,如“女性”“男性”,最短 1 个字符 |
options.value | string | 必选 | 性别选项值,各选项对应的计算数值,最短 1 个字符 |
annotation_text | string | 必选 | 底部声明文案,提示用户体脂率的意义,一行截断,请固定上传“身体脂肪率是指人体脂肪重量占人体总体重的比例。”,最短 1 个字符,最长 100 个字符 |
举例:从 webhook 返回的 JSON (加密前)
1 | { |