智能小程序OPENCARD
开放类目

垃圾分类

用户在搜索询问某种垃圾的具体分类时,搜索会展现“垃圾分类“卡片,提供各城市垃圾分类信息,满足用户的需求。

示意图

intent 上传接口

当前资源 intent 意图参数

key 类型 含义 示例/说明
city string 城市名,可为空,形式不保证规范 “北京”/“上海”
trash string 垃圾名称 “香蕉皮”/“小龙虾”

当同时提供 intent.citylocation.city时,优先使用 intent.city。因为 intent 内容是从用户搜索词中直接提取的。

通过平台上传 txt 文件

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

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

1
2
3
{"city":"北京","trash":"鸡骨头"}
{"city":"上海","trash":"易拉罐"}
{"city":"","trash":"鸡骨头"}

通过开放 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 用户所在城市 “北京”/“杭州”,不含行政区划单位,例如”市”,可能为空

当前资源 srcid 资源编号

key 类型 含义 设定
srcid string 资源编号 5547

当前资源的 intent 参数参考上节 “intent 上传接口“。

举例:发送给 webhook 的 JSON (解密后)

注:以下发送的参数中location对象中的具体字段可能是空字符,开发者需要注意兼容,当为空时开发者可以根据具体情况返回默认值

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"type": "sp_ala",
"srcid": "5547",
"surface": "mobile",
"intent": {
"city":"",
"trash":"鸡骨头"
},
"location": {
"province":"浙江",
"city": "杭州"
}
}

从 webhook 返回的结果

外层通用数据字段

key 类型 含义 示例/说明
status integer 结果状态码,0 代表正确,1 代表无结果,
2 代表请求参数错误,3 代表内部服务错误
0
msg string 出错消息,当非 0 时提供 “”
data object 要返回的资源数据内容 JSON 对象,每个资源分类不同

当前资源分类的 data object 字段内容

key 类型 要求 说明
jump_url string 必选 卡片标题的跳转链接,跳转到展示垃圾分类结果的页面
anwser string 必选 垃圾分类的短答案,当短答案为单一答案时,显示对应的垃圾分类名称,比如『干垃圾』。当短答案为多答案时,显示可能涉及到的垃圾分类,比如『厨余垃圾 或 其他垃圾 或 可回收垃圾』,注意,多垃圾之间的衔接用『或』来表示,两边有空隙
explaination string 必选 对短答案的解释,展示是哪个城市的分类数据,具体格式为:xx(城市)垃圾分类标准,比如『北京垃圾分类标准』
detail string 必选 垃圾分类的长答案,具体解释,当为多答案时,需要给出不同分类对应的解释,比如『电池是什么垃圾,对应短答案:干垃圾或有害垃圾』,长答案解释『不含汞等有害物质的一次性干电池为干垃圾,比如一次性5号、7号电池。可充电电池或纽扣电池等为有害垃圾』。也可以在解释完后补充垃圾类别的通⽤解释。当为单一答案时,给对应垃圾类别的通⽤解释,比如『干垃圾的作用是xxx…』
extra_list string 可选,若选不可为空 结构化垃圾分类信息,展示其他城市对应的垃圾分类结果,第一列城市、第二列具体垃圾类别,多类别以“/”相连。若城市小于三个,则结构化表格模块不展示。
extra_list.city_name string 可选,若选不可为空 结构化垃圾分类信息-第一列,城市名称,比如『上海』
extra_list.trash_category string 可选,若选不可为空 结构化垃圾分类信息-第二列,垃圾类别,比如『干垃圾/湿垃圾』,或者『有害垃圾』
disclaimer string 可选,若选不可为空 解释说明,非官方授权不显示

举例:从 webhook 返回的 JSON (加密前)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
"status": 0,
"msg": "",
"data": {
"jump_url": "/path/to/page",
"anwser": "干垃圾 或 湿垃圾",
"explaination": "北京垃圾分类标准",
"detail": "猫砂是干垃圾或者湿垃圾。猫砂分多钟类型,其中豆腐猫砂属于诗垃圾,膨润土猫砂属于干垃圾。还有很多其他类型的猫砂,一般能充厕所的猫砂属于湿垃圾,不能冲厕所的猫砂属于干垃圾",
"extra_list": [
{
"city_name": "上海",
"trash_category": "干垃圾/湿垃圾"
},
{
"city_name": "成都",
"trash_category": "其他垃圾/厨余垃圾"
},
{
"city_name": "重庆",
"trash_category": "其他垃圾/易腐垃圾"
}
],
"disclaimer": "以上内容由政府官方授权"
}
}

审核常见问题

内容与intent的相关性

垃圾分类的卡片内容应与intent高度相关,能满足intent体现的用户主需求。当intent体现的用户需求精确至具体城市,卡片展示的垃圾分类结果也应精确;但intent体现出用户的泛需求,应展现北京市的垃圾分类结果。举例如下:

类目 intent 卡片内容 是否通过 说明
垃圾分类 {“city”:””, “trash”:”香蕉皮” } “anwser”展现北京市垃圾分类结果,”extra_list”展示其他城市垃圾分类结果 通过
垃圾分类 {“city”:”北京”, “trash”:”香蕉皮” } “anwser”展现北京市垃圾分类结果,”extra_list”展示其他城市垃圾分类结果 通过
垃圾分类 {“city”:”重庆”, “trash”:”香蕉皮” } “anwser”展现北京市垃圾分类结果,”extra_list”展示其他城市垃圾分类结果 不通过 intent体现出用户精准需求,卡片内容不能满足用户主需求。
反 馈帮 助 回 到顶 部