用户在搜索“xx(食物)的营养成分”、“xx(食物)的热量”等精准需求时,搜索结果页会展现食物营养卡片。用户可在结果页查看该食物的营养成分含量表和对其营养功效的评价。
示意图
intent 上传接口
当前资源 intent 意图参数
key | 类型 | 含义 | 示例/说明 |
---|---|---|---|
food_name | string | 食物名称 | 必选,资源所覆盖的食物名称,如:“豆腐”、“土豆”、“鲜玉米”等 |
通过平台上传 txt 文件
资源方需要将自己落地页数据能够覆盖的所有 intent 参数通过 txt 文件上传到平台上,txt 文件的具体要求参见接入流程-上传 Intent 数据。
当前资源分类 txt 上传文件内容示例如下:
1 | {"food_name":"鲜玉米"} |
通过开放 API 上传
详细接入方式参见API 上传方式
Webhook API
发送给 webhook 的请求
公共字段
key | 类型 | 含义 | 示例/说明 |
---|---|---|---|
type | string | 请求类型 | 在小程序阿拉丁下永远为 “sp_ala” |
surface | string | 搜索场景 | mobile: 支持小程序的移动搜索,web_h5: 支持 H5 的移动搜索 |
srcid | string | 资源编号 | 每个资源分类不同 |
intent | object | 搜索意图参数 | JSON 对象,每个资源分类不同 |
query_info | object | 用户 query 中包含的信息 | JSON 对象 |
query_info.query_element | string | 用户 Query 中指定的营养成分 | 代表用户主需求,不为空时需优先按照此类营养元素进行检索,例如:”脂肪”、”蛋白质”,可能为空 |
当前资源 srcid 资源编号
key | 类型 | 含义 | 设定 |
---|---|---|---|
srcid | string | 资源编号 | 48057 |
当前资源的 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 或智能小程序页面路径,例如“/page/of/target” |
food_title | string | 必选 | 标题文案,食物名称,如:“鲜玉米” |
image | string | 必选 | 食物图片链接,以“https”开头,如:“https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=1555235225,2035189867&fm=179&app=35&f=JPEG?w=500&h=277&s=6100D81860745E3E8E8AAA740300D073” |
calories_text | string | 必选 | 热量文案,每单位食物所含的热量,带单位,如:“112 千卡/每 100 克” |
comment_text | string | 必选 | 评价文案,对于食物的评价,及是否推荐食用的建议,最短 1 个字符,最长 200 个字符 |
label_text | array | 必选 | 标签组文案,食物营养成分的特点,如:“低热量”、“低脂肪”等,字符串数组,最多 3 个 |
url | string | 必选 | 点击左图右文结构的跳转链接地址,跳转至食物营养成分详情页。该字段需返回 H5 或智能小程序页面路径,例如“/page/of/target” |
table_rows | array | 必选 | 表格数据配置,最少 2 个,最多 25 个 |
table_rows.elements | string | 必选 | 第一列(营养元素)数据配置,具体的营养元素名称,未指定营养元素(query_element 为空)时,含量特别低或高(有备注)的元素在前;指定营养元素的需求下(query_element 不为空),用户指定的营养元素置于表格第一行,如:“热量”、“蛋白质”、“脂肪”等 |
table_rows.amount | string | 必选 | 第二列(每 100 克含量)数据配置,每 100 克食物中的营养元素含量,带单位,如:“112.00 千卡” |
table_rows.remark | string | 必选 | 第三列(备注)数据配置,提示营养元素含量的含义,如:“低热量” |
举例:从 webhook 返回的 JSON (加密前)
1 | { |