智能小程序OPENCARD
开放类目

有声读物

用户在搜索有声读物时,搜索会展现“有声读物“卡片,提供该读物播放次数、内容、剧集等信息,满足用户的需求。

示意图

intent 上传接口

当前资源 intent 意图参数

key 类型 含义 示例/说明
album string 有声读物专辑名 “晓说”

通过平台上传 txt 文件

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

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

1
2
3
{"album":"晓说"}
{"album":"元始天尊"}
{"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
2
3
4
5
6
7
8
{
"type": "sp_ala",
"srcid": "5518",
"surface": "mobile",
"intent": {
"album":"晓说"
}
}

从 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
"status": 0,
"msg": "",
"data": {
"album_image": "https://example.com/img.jpg",
"album_name": "晓说",
"broadcast_count": "11w",
"content_count": "54集",
"album_pay": 1,
"content_list": [
{
"num": "1",
"name": "最后一期:谢谢各位",
"duration": "时长:46:32"
},
{
"num": "2",
"name": "58期:三沙行(下)南海风云",
"duration": "时长:35:32"
},
{
"num": "3",
"name": "57期:三沙行(上)南海风云",
"duration": "时长:35:32"
}
],
"jump_url": "/path/to/page"
}
}

审核常见问题

intent的编写

有声资源的intent应该是开发者能提供内容服务的有声资源名称,开发者可以对intent进行适当泛化,但是必须在卡片能提供的内容服务范围内。开发者应清晰了解intent泛化边界,举例如下:

类目 intent 卡片内容 是否通过 说明
有声资源 {“album”:”郭德纲21年相声精选”} 郭德纲21年相声精选 通过
有声资源 {“album”:”郭德纲相声精选”} 郭德纲21年相声精选 通过
有声资源 {“album”:”郭德纲相声”} 郭德纲21年相声精选 通过
有声资源 {“album”:”郭德纲”} 郭德纲21年相声精选 不通过 intent过度泛化,与演出门票类目无关

注意:当一条内容由不同主播播出,开发者应择优提供,切不可多条内容对应一条intent。

反 馈帮 助 回 到顶 部