用户在搜索有声读物时,搜索会展现“有声读物“卡片,提供该读物播放次数、内容、剧集等信息,满足用户的需求。
示意图
intent 上传接口
当前资源 intent 意图参数
key | 类型 | 含义 | 示例/说明 |
---|---|---|---|
album | string | 有声读物专辑名 | “晓说” |
通过平台上传 txt 文件
资源方需要将自己小程序能够覆盖的所有 intent 参数组合通过 txt 文件上传到平台上,txt 文件的具体要求参见接入流程-上传 intent 数据。
当前资源分类 txt 上传文件内容示例如下:
1 | {"album":"晓说"} |
通过开放 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 | 资源编号 | 5518 |
当前资源的 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 | 必选 | 卡片标题的跳转链接,跳转到与该卡片内容相关的有声读物页面 |
album_image | string | 必选 | 有声读物图片,像素364*364 |
album_name | string | 必选 | 有声读物名称 |
broadcast_count | string | 必选 | 有声读物播放次数 |
content_count | string | 必选 | 有声读物内容数量 |
content_list | array | 必选 | 有声读物列表,3-5个 |
content_list.num | string | 必选 | 有声读物的内容序号,例如”1” |
content_list.name | string | 必选 | 有声读物中单个内容的名称,例如”晓说第1集:大航海时代” |
content_list.duration | string | 必选 | 有声读物中单个内容的时长,格式为 “时长:70:36” |
album_pay | integer | 可选 | 付费资源必填,value=1,对应展示付费标签 |
举例:从 webhook 返回的 JSON (加密前)
1 | { |
审核常见问题
intent的编写
有声资源的intent应该是开发者能提供内容服务的有声资源名称,开发者可以对intent进行适当泛化,但是必须在卡片能提供的内容服务范围内。开发者应清晰了解intent泛化边界,举例如下:
类目 | intent | 卡片内容 | 是否通过 | 说明 |
---|---|---|---|---|
有声资源 | {“album”:”郭德纲21年相声精选”} | 郭德纲21年相声精选 | 通过 | |
有声资源 | {“album”:”郭德纲相声精选”} | 郭德纲21年相声精选 | 通过 | |
有声资源 | {“album”:”郭德纲相声”} | 郭德纲21年相声精选 | 通过 | |
有声资源 | {“album”:”郭德纲”} | 郭德纲21年相声精选 | 不通过 | intent过度泛化,与演出门票类目无关 |
注意:当一条内容由不同主播播出,开发者应择优提供,切不可多条内容对应一条intent。