垃圾分类

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

示意图

政务 - 垃圾分类 - 图1政务 - 垃圾分类 - 图2

intent 上传接口

当前资源 intent 意图参数

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

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

通过平台上传 txt 文件

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

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

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

政务 - 垃圾分类 - 图3

通过开放 API 上传

未开放

Webhook API

发送给 webhook 的请求

公共字段

key类型含义示例/说明
typestring请求类型(大部分开发者可不关心)在小程序阿拉丁下永远为 “sp_ala”
surfacestring搜索场景(大部分开发者可不关心)mobile: 支持小程序的移动搜索,web_h5: 支持 H5 的移动搜索
srcidstring资源编号每个资源分类不同
intentobject搜索意图参数JSON 对象,每个资源分类不同
locationobject用户定位信息JSON 对象
location.provincestring用户所在省份“北京”/“浙江”,不含行政区划单位,例如”市、省、自治区”,可能为空
location.citystring用户所在城市“北京”/“杭州”,不含行政区划单位,例如”市”,可能为空

当前资源 srcid 资源编号

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

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

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

  1. {
    "type": "sp_ala",
    "srcid": "5547",
    "surface": "mobile",
    "intent": {
    "city":"",
    "trash":"鸡骨头"
    },
    "location": {
    "province":"浙江",
    "city": "杭州"
    }
    }

从 webhook 返回的结果

外层通用数据字段

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

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

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

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

  1. {
    "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体现出用户精准需求,卡片内容不能满足用户主需求。