智能小程序OPENCARD
开放类目

食物营养

用户在搜索“xx(食物)的营养成分”、“xx(食物)的热量”等精准需求时,搜索结果页会展现食物营养卡片。用户可在结果页查看该食物的营养成分含量表和对其营养功效的评价。

示意图

intent 上传接口

当前资源 intent 意图参数

key 类型 含义 示例/说明
food_name   string 食物名称 必选,资源所覆盖的食物名称,如:“豆腐”、“土豆”、“鲜玉米”等

通过平台上传 txt 文件

资源方需要将自己落地页数据能够覆盖的所有 intent 参数通过 txt 文件上传到平台上,txt 文件的具体要求参见接入流程-上传 Intent 数据

当前资源分类 txt 上传文件内容示例如下:

1
2
{"food_name":"鲜玉米"}
{"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
2
3
4
5
6
7
8
9
10
11
{
"type": "sp_ala",
"srcid": "48057",
"surface": "mobile",
"intent": {
"food_name": "鲜玉米"
},
"query_info": {
"query_element": "脂肪"
}
}

从 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"status": 0,
"msg": "",
"data": {
"jump_url": "/page/of/target?id=1",
"food_title": "鲜玉米",
"image": "https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=1555235225,2035189867&fm=179&app=35&f=JPEG?w=500&h=277&s=6100D81860745E3E8E8AAA740300D073",
"calories_text": "112千卡/每100克",
"comment_text": "该食物提供较多的蛋白质、膳食纤维,推荐食用。",
"label_text": ["低热量", "低脂肪", "中GI"],
"url": "/page/of/target?id=1",
"table_rows": [
{ "elements": "热量", "amount": "112.00千卡", "remark": "低热量" },
{ "elements": "碳水化合物", "amount": "22.80克", "remark": "低热量" },
{ "elements": "脂肪", "amount": "1.20克", "remark": "脂肪" },
{ "elements": "蛋白质", "amount": "4.00克", "remark": "无" }
]
}
}
反 馈帮 助 回 到顶 部