音频内容API接入规范更新时间: 2024-10-17 11:12:00
一、概述
音频内容接入采用推拉结合的方式:合作方实时推增量,小米方定期拉全量、单个专辑详情
1、专辑&音频增量推送
增量推送接口需要注意以下:
- 专辑有更新,请及时推送
- 每次推送原则上不多于50条专辑,若大于50条,请分页推送
- 音频有更新,不能单独推送,需和专辑一起推送(推送专辑及其全部的音频)
1.1、请求URL/Method
补充:将api_host替换成对应环境的域名
HTTP URL | https://api_host/audio/v1/push/general |
HTTP Method | POST |
1.2、请求头
名称 | 类型 | 必填 | 描述 |
Authorization | string | 是 | 示例值:"c83a2e753d41494fbde7b4aa31f4fa66" |
Content-Type | string | 是 | 固定值:"application/json; charset=utf-8" |
1.3、请求体
字段名 | 字段类型 | 最大长度限制 | 是否必填 | 说明 | |
partnerId | string | - | 是 | 合作方id | |
timestamp | long | - | 是 | 当前请求时间戳,单位毫秒 | |
nonce | string | 32 | 是 | 随机值,相邻两次请求的nonce不允许重复,如果重复认为重复提交,响应失败 | |
contents | 数组 | - | 是 | 专辑列表,子元素为content | |
content元素内容 | album_id | string | 20 | 是 | 专辑id |
title | string | 128 | 是 | 专辑标题 | |
state | string | 1 | 是 | 上下线状态 0:下线 ,1:上线 | |
focus | string | 128 | 否 | 看点,一句话简介 | |
description | string | 500 | 是 | 简介,详细介绍 | |
charge_type | int | - | 是 | 付费状态:0:免费,1:收费 | |
price | int | - | 否 | 收费价格,单位分 | |
authors | string | 128 | 是 | 作者,多个之间英文逗号隔开 | |
performers | string | 128 | 是 | 表演者、演播者,多个之间英文逗号分隔 | |
age_from | int | - | 否 | 年龄下限 | |
age_to | int | - | 否 | 年龄上限 | |
h_poster | string | 255 | 是 | 横版海报 [384*384px 或 760*760px] | |
v_poster | string | 255 | 否 | 竖版海报 | |
tags | string | 255 | 是 | 标签列表,多个英文逗号隔开 | |
category | int | - | 是 | 所属分类 | |
score | int | - | 否 | 评分,10分制,如 9.5 | |
publish_time | string | 19 | 是 | 上线时间,格式 yyyy-MM-dd HH:mm:ss | |
update_time | string | 19 | 是 | 更新时间,格式 yyyy-MM-dd HH:mm:ss | |
media_ext | string | 500 | 否 | 拓展json字段 | |
license_from | string | 128 | 否 | 版权方 | |
audios | 数组 | - | 是 | 专辑内包含的音频(下面audio)列表 | |
video元素内容 | audio_id | string | 32 | 是 | 音频id |
title | string | 128 | 是 | 标题 | |
state | string | 1 | 是 | 上下线状态0:下线, 1:上线 | |
focus | string | 128 | 否 | 看点,一句话简介 | |
description | string | 500 | 是 | 简介,详细介绍 | |
audio_type | int | - | 是 | 0:正片,1:预告片,2:花絮,3片花,4:短片 | |
charge_type | int | - | 是 | 付费状态:0:免费,1:收费 | |
play_order | int | - | 是 | 播放顺序 | |
play_url | string | 255 | 是 | 播放链接(API方式接入必填) | |
file_size | int | - | 否 | 音频文件大小,单位byte | |
duration | int | - | 是 | 音频播放时长,单位秒 | |
lyrics | text | - | 否 | 歌词 | |
publish_time | string | 19 | 是 | 上线时间,格式 yyyy-MM-dd HH:mm:ss | |
update_time | string | 19 | 是 | 更新时间,格式 yyyy-MM-dd HH:mm:ss | |
h_poster | string | 255 | 否 | 音频横版海报 | |
v_poster | string | 255 | 否 | 音频竖版海报 | |
trial_status | int | - | 否 | 试听状态,0不支持,1:支持 | |
trial_length | int | - | 否 | 试听时长,单位秒(支持试听时必填) |
1.4、响应参数
字段名 | 类型 | 最大长度 | 是否必填 | 说明 |
code | string | - | 是 | 返回码 |
msg | string | 是 | 详见返回码说明 |
1.5、示例
- 请求体示例:
{
"partnerId": "pi_xxx",
"timestamp": 1653281331000,
"nonce": "sfn1vjnjkmzedna",
"contents": [
{
"state": 1,
"album_id": "123",
"title": "依然范特西",
"publish_time": "2006-09-05 18:32:02",
"description": "专辑《依然范特西》请出小哥费玉清对唱首波主打歌《千里之外》",
"其他字段": "省略",
"audios": [
{
"state": 1,
"audio_id": "1231212",
"play_order": 1,
"title": "千里之外",
"publish_time": "2006-09-05 18:32:02",
"其他字段": "省略"
},
{
"state": 1,
"video_id": "1231213",
"play_order": 2,
"title": "本草纲目",
"publish_time": "2006-09-05 18:32:02",
"其他字段": "省略"
}
]
}
]
}
- 响应体示例:
{
"code": "0000",
"msg": "success"
}
2、 音频&专辑全量拉取、单个拉取(合作方提供)
此接口需支持:
- 小米侧分页全量拉取
- 小米侧根据album_id获取单个专辑及其音频的详情
2.1、请求URL/Method
HTTP URL | http://合作方域名及上下文/pull/all?nonce=xxx&partnerId=xxx×tamp=xxx?sign=xxx |
HTTP Method | GET |
2.2、请求准入性校验
- 签名校验方式
sign签名:签名字段按照ASCII码递增排序,组合成“参数=参数值”的格式,并把这些参数用&字符拼接起来,最后再拼接上 partnerKey=xxx,组成签名串,进行MD5加密生成sign。
如:MD5(nonce=xxx&partnerId=xxx×tamp=xxx&partnerKey=xxx)
2.3、请求参数
字段名 | 字段类型 | 最大长度限制 | 是否必填 | 说明 |
partnerId | string | - | 是 | 合作方id |
timestamp | long | - | 是 | 当前请求时间戳,单位毫秒 |
nonce | string | 32 | 是 | 随机值,相邻两次请求的nonce不允许重复,如果重复认为重复提交,响应失败 |
offset | int | - | 是 | 分页偏移量,默认为0 |
limit | int | - | 是 | 每页的数量,默认为10(当返回的一页数据量小于limit时,认为是最后一页) |
album_id | string | - | 否 | (合作方需支持)album_id不为空时,返回该专辑的详情及其音频详情,此时offset和limit为空 |
sign | string | - | 是 | 签名,签名字段按照ASCII码递增排序,组合成“参数=参数值”的格式,并把这些参数用&字符拼接起来,最后再拼接上 partnerKey=xxx,组成签名串,进行MD5加密生成sign。 如:MD5(nonce=xxx&partnerId=xxx×tamp=xxx&partnerKey=xxx) |
2.4、响应参数
字段名 | 字段类型 | 最大长度限制 | 是否必填 | 说明 | |
公共响应参数 | code | String | - | 是 | 返回码,0000为成功,其余为失败 |
msg | String | - | 是 | 返回码描述 | |
data | object | - | 是 | 详见data元素内容 | |
data元素内容 | total | int | - | 是 | 专辑总数量 |
contents | 数组 | - | 是 | 子元素为content |
二、补充说明
专辑分类(对应category字段)
类型值 | 类型说明 | 类型下tags参考 |
0 | 故事 | 科幻,校园,成长,神话,民间故事,爆笑,冒险,侦探,绘本,军事,寓言,童话,幻想 |
1 | 教材 | 语文,作文,数学,英语,一年级,二年级,三年级,四年级,五年级,新课标,六年级,六年级 |
2 | 动画 | |
3 | 哄睡 | 哄睡故事,哄睡音乐 |
4 | 国学 | 古诗,古文,成语 |
5 | 英语 | 磨耳朵 |
6 | 习惯 | |
7 | 父母课堂 | 育儿 |
8 | 文学 | |
9 | 素质 | |
10 | 启蒙 | |
11 | 艺术 | |
12 | 自我保护 | |
13 | 科普 | |
14 | 笑话 | |
1000 | 其他 |
上一篇:长视频内容API接入规范
下一篇:游戏内容媒资接口文档
文档内容是否有帮助?
有帮助
无帮助