NAV
bash

简介

工程师爸爸是国内专注于家庭教育,为家长提供精选教育资源的互联网信息平台。作为国内首个关注可触控终端(安卓/苹果/智能TV/智能玩具)儿童教育软件需求、研发、推广生态链发展的平台,工程师爸爸已经与国内外众多儿童App开发企业和儿童出版企业形成良好合作,为数千万华人家庭提供精选的教育资源分发服务。

工程师爸爸儿童教育资源开放平台是工程师爸爸为第三方开发者量身定制的儿童教育资源再分发渠道。通过开放平台,第三方开发者可以很方便地利用工程师爸爸丰富的儿童教育资源提供个性化服务,提升产品质量与服务范围。

开放平台目前以儿童在线教育音频服务为主,今后将逐步开放童书、视频、社交等不同领域的资源。

账号体系

开放平台采用申请注册制,第三方开发者可以在开放平台上填写注册申请:免费试用,工程师爸爸审核通过后,帮您开通账户,您才可使用开放平台各项服务搭建自己的应用。

开放平台账号由邮件、密码、业务联系人等信息组成,您在申请注册时填入,工程师爸爸审核确认其信息的合法性。

开放服务

由工程师爸爸开发搭建的对外提供的服务业务,第三方可以选取一个或多个开放服务。每个服务视业务不同由工程师爸爸分别提供免费、有限、有偿或定制等服务。视业务领域、服务等级、服务质量需求不同,工程师爸爸有权对所提供的部分服务收取服务费用,具体可和业务人员洽谈。

接入规范

一、 一个设备对应一个 ID 原则

必须使用唯一的设备 ID,获取 Token。平台会识别多设备共用ID,以及进行ID行为审查来识别违规行为。设备ID是平台与内容商结算的重要依据。


二、 必须使用带 Token 的 CDN 地址调用音频

设备在播放音频时,需要先通过 API 获取 CDN 地址和Token ,然后将 CDN 地址和 Token 拼接在一起才能获取音频,所以在得到 CDN 地址后,去获取音频时必须带上 Token,平台会校验token。


三、 单一设备的API和CDN请求小于等于10次/秒

同一个设备 API 访问频率小于等于10次/秒,同一个设备 CDN 访问频率小于等于10次/秒。


四、 进行压力测试必须向平台报备

在压力测试进行前,需要提前告知,约定测试时间、测试设备 ID等,从而不影响服务器正常工作。


使用流程概述

open api注册使用流程

  1. 注册试用账号(目前需联系工程师爸爸注册:免费试用
  2. 登陆open api 控制台
  3. 创建一个 App ID,获取相应的App Secret.
  4. 使用App ID和App Secret生成一次请求的授权信息。
  5. 对某api签名授权后,发起请求。

音频资源授权访问流程

我们生成的音频链接是设备无关的,这样,便于您缓存,但我方又需要知道您每次使用音频时的设备信息,以便于分析及业务结算,所以我方提供了一个设备token获取api,您应该在访问音频链接前,为设备获取相应的token,并拼装到音频链接上,为之进行资源访问授权,之后,再去访问改造后的音频链接。

  1. 用音频相关api获取音频url(可缓存),例如:http://cdn.open.idaddy.cn/xxxxxxxxx.mp3
  2. /audio/v2/refresh_device_token api为device_id为X0001的设备换取其device_token : zzzzzzzzzzzzzzzzzzzzzzz
  3. 对音频url拼接token参数 :http://cdn.open.idaddy.cn/xxxxxxxxx.mp3?token=zzzzzzzzzzzzzzzzzzzzzzz
  4. 用拼接后的url播放音频资源

java-demo

界面

图1

demo

图2

demo

图3

demo

运行java-demo

demo 执行程序

要运行demo程序,需要安装java 8 jre.

下载源码

demo java源码

请求及响应

open-api 授权

授权请求

# 定义公共请求参数
APP_ID=my-app-id-test00001
APP_SECRET=my-app-secret-test00001
TIMESTAMP=$(date +%s)
SIGNATURE=$(echo -n "${APP_ID}${APP_SECRET}${TIMESTAMP}" | openssl dgst -sha1 -hex | cut -d' ' -f2)
NONCE=$(openssl rand -base64 12)

# 使用上面定义的公共参数作为鉴权参数(每行结尾的“\”指明此为多行命令,便于阅读)
curl --request POST --data "app_id=${APP_ID}\
&device_id=x1000\
&timestamp=${TIMESTAMP}\
&nonce=${NONCE}\
&signature=${SIGNATURE}\
&offset=0\
&limit=5\
&cat_ids=[]" http://open.idaddy.cn/audio/v2/list

# 或者用下面更推荐的命令格式
curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "offset=0" \
  --data-urlencode "limit=5" \
  --data-urlencode 'cat_ids=[]' \
  http://open.idaddy.cn/audio/v2/list

请把代码中的my-app-id-test00001my-app-secret-test00001替换为您自己的 API Key和API Secret。

服务授权基于App ID、Service Key,用户可以根据需要生成多个不同的App ID、Service Key对应于不同的应用。

  1. 生成timestamp。
  2. 用(app_id+app_secret+timestamp)生成signature。
  3. 用app_id,timestamp,signature等值作为公共参数请求开放服务。

公共参数:

名称 类型 是否必选 描述
app_id string 必选 app ID
timestamp int 必选 调用时间戳,单位秒。例如: 1421234567
nonce string 必选 最长32位随机字符串,每次请求都不同,防止重放攻击
signature string 必选 sha1(app_id+secret+timestamp)

音频资源授权

获取play_url(请求或缓存)

# 原始音频链接,不能直接访问资源
http://cdn.open.idaddy.cn/xxxxxxxxxx.mp3

refresh_device_token-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "device_id=x1000" \  # 用device_id换token
  http://open.idaddy.cn/audio/v2/refresh_device_token

refresh_device_token-响应

{
    "data": {
        "device_token": "zzzzzzzzzzzzz",
        "device_id": "x1000",
        "created_at": "2017-06-18T00:07:08Z",
        "expires_at": "2017-06-25T00:00:00Z"
    },
    "retcode": 0
}

拼接token,访问音频资源:

curl -o idaddy.mp3 http://cdn.open.idaddy.cn/xxxxxxxxxx.mp3?token=zzzzzzzzzzzzz

refresh_device_token

token规则:

响应及错误

response success : http code = 200 , retcode = 0

{
    "audioinfos": {
        "cats": [
            {
                "cat_count": 0,
                "cat_icon_url": "http://img.idaddy.cn/f/h/0/161756jkqdhs00z30ri3ji.png",
                "cat_name": "儿歌",
                "cat_id": 6707,
                "cat_group_age_scope": "-1-8",
                "cat_parent": 0
            }
        ]
    },
    "retcode": 0
}
{
    "audioinfos": {
        "contents": [
            {
                "status": 0,
                "name": "不爱睡觉的小猴子",
                "play_url": "http://cdn.open.idaddy.cn/apsmp3/f6d3/idaddy0000000001/201711210000/0/ADQGN1A9DTI.YS83L3BwaXJtNGNiLmF1ZGlv.mp3",
                "price": 0,
                "has_chapter": 0,
                "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/f6d3/idaddy0000000001/201711210000/0/ADQGN1A9DTI.YS83L3BwaXJtNGNiLmF1ZGlv.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                "taxonomys": "儿童阅读从听开始,2013年度精选集,故事旅行记,睡前故事",
                "md5": "10b31fe543ffdb000fbf6950a2fe237d",
                "id": "ADQGN1A9DTI=",
                "icon": "http://img.idaddy.cn//b/7/hn4atvn7.jpg"
            }
        ]
    },
    "retcode": 0
}

response error : http code = 200 , retcode > 0

{
    "msg": "{'signature': u'Required'}",
    "retcode": 2
}

api调用,除了404无服务外,不管成功失败,http status都等于200,响应体均为json格式,其中包含应用级响应码”retcode”:

retcode success Column C
0 ok 返回成功
1 error 系统错误
2 error 输出内容出错、缺失

失败时附带”msg”字段,包含出错信息

api - device_token

刷新device_token

refresh_device_token-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "device_id=x1000" \
  http://open.idaddy.cn/audio/v2/refresh_device_token

refresh_device_token-响应

{
    "data": {
        "device_token": "6P9ugZZ5KwCUxovLknBr2Q.Mw14MTAwMA0xODAyMTY",
        "device_id": "x1000",
        "created_at": "2018-01-17T03:55:14Z",
        "expires_at": "2018-02-16T00:00:00Z"
    },
    "retcode": 0
}

HTTP Request

POST http://open.idaddy.cn/audio/v2/refresh_device_token

POST参数(application/x-www-form-urlencoded)

name type required description
app_id string 必选 app ID
device_id string 必选 设备ID,不能包含回车换行等特殊字符,建议长度不要超过40字节
app_uid string 可选 客户端用户名
timestamp int 必选 调用时间戳,单位秒。例如: 1421234567
nonce string 必选 最长32位随机字符串,每次请求都不同,防止重放攻击
signature string 必选 sha1(app_id+secret+timestamp)

response

name type description
data.device_id string 设备ID
data.device_token string device_token
data.created_at string token创建时间,utc 零时区时间
data.expires_at string token截止时间,utc 零时区时间

api - 音频分类

音频故事是按分类树组织的,分类树参考如下:

开放平台的分类树,目前有2级:

分类字段如下:

name description
cat_name 分类名称
cat_id 分类id
cat_icon_url 分类图标
cat_count 下属数量
cat_parent 父分类id
cat_group_age_scope 适合年龄
cats 子类列表, depth>1时有值

获取分类列表

查询一级分类-请求

curl -v --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "offset=0" \
  --data-urlencode "limit=5" \
  --data-urlencode "cat_ids=[]" \
  http://open.idaddy.cn/audio/v2/list

查询一级分类-响应

{
    "audioinfos": {
        "cats": [
            {
                "cat_count": 0,
                "cat_icon_url": "http://img.idaddy.cn/f/h/0/161756jkqdhs00z30ri3ji.png",
                "cat_name": "儿歌",
                "cat_id": 6707,
                "cat_group_age_scope": "-1-8",
                "cat_parent": 0
            },
            {
                "cat_count": 0,
                "cat_icon_url": "http://img.idaddy.cn/f/h/0/161810d2n0b0sgtsgmr6gr.png",
                "cat_name": "故事",
                "cat_id": 6708,
                "cat_group_age_scope": "1+",
                "cat_parent": 0
            },
            {
                "cat_count": 0,
                "cat_icon_url": "http://img.idaddy.cn/f/h/6/iqak33f4.png",
                "cat_name": "音乐",
                "cat_id": 6948,
                "cat_group_age_scope": "0+",
                "cat_parent": 0
            },
            {
                "cat_count": 0,
                "cat_icon_url": "http://img.idaddy.cn/f/h/9/8ujigxlg.png",
                "cat_name": "英语",
                "cat_id": 7156,
                "cat_group_age_scope": "1+",
                "cat_parent": 0
            },
            {
                "cat_count": 0,
                "cat_icon_url": "http://img.idaddy.cn/f/h/1/181829t8qe5g4z2m9uxhp6.png",
                "cat_name": "国学",
                "cat_id": 7716,
                "cat_group_age_scope": "0+",
                "cat_parent": 0
            }
        ]
    },
    "retcode": 0
}

查询子分类-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "offset=0" \
  --data-urlencode "limit=5" \
  --data-urlencode "cat_ids=[6707,6708]" \
  http://open.idaddy.cn/audio/v2/list

查询子分类-响应

{
    "audioinfos": {
        "cats": [
            {
                "cat_count": 243,
                "cat_icon_url": "http://img.idaddy.cn/f/h/4/ee76icrb.jpg",
                "cat_name": "睡前故事",
                "cat_id": 6709,
                "cat_group_age_scope": "1+",
                "cat_parent": 6708
            },
            {
                "cat_count": 19,
                "cat_icon_url": "http://img.idaddy.cn/f/h/4/2emvlhmi.jpg",
                "cat_name": "历史故事",
                "cat_id": 6711,
                "cat_group_age_scope": "4+",
                "cat_parent": 6708
            },
            {
                "cat_count": 4,
                "cat_icon_url": "http://img.idaddy.cn/f/h/4/oj5ty56b.jpg",
                "cat_name": "成语故事",
                "cat_id": 7672,
                "cat_group_age_scope": "3+",
                "cat_parent": 6708
            },
            {
                "cat_count": 230,
                "cat_icon_url": "http://img.idaddy.cn/f/h/4/xs4ozwyc.jpg",
                "cat_name": "热门儿歌",
                "cat_id": 8118,
                "cat_group_age_scope": "-1-6",
                "cat_parent": 6707
            },
            {
                "cat_count": 176,
                "cat_icon_url": "http://img.idaddy.cn/f/h/4/nemc7qvb.jpg",
                "cat_name": "科普故事",
                "cat_id": 10047,
                "cat_group_age_scope": "3+",
                "cat_parent": 6708
            }
        ]
    },
    "retcode": 0
}

HTTP Request

POST http://open.idaddy.cn/audio/v2/list

POST参数(application/x-www-form-urlencoded)

name type required description
app_id string 必选 app ID
device_id string 必选 设备ID号
app_uid string 可选 客户端用户名
timestamp int 必选 调用时间戳,单位秒。例如: 1421234567
nonce string 必选 最长32位随机字符串,每次请求都不同,防止重放攻击
signature string 必选 sha1(app_id+secret+timestamp)
offset int 可选 起始位置 默认:0
limit int 可选 分页记录限制 默认:30 最大:100
cat_ids string 可选 欲查询的cat id,JSON格式,为空时输出所有一级分类
depth int 可选 分类树查询深度 默认:1

api - 音频

按是否有章节划分为:

可设置详情选项调整输出内容:

音频字段如下:

name verbose has_chapter description
id 0/1 0/1 音频ID编号
name 0/1 0/1 音频名
icon 0/1 0/1 音频图标
price 0/1 0/1 价格
has_chapter 0/1 0/1 是否带章节
taxonomys 0/1 0/1 标签、分类、专题
performer 1 0/1 演播
age_to 1 0/1 适合年龄上限
age_from 1 0/1 适合年龄下限
author 1 0/1 作者
editor_comment 1 0/1 编辑推荐
description 1 0/1 简介
rank 1 0/1 评分
play_url 0/1 0 音频链接
play_url_with_token 0/1 0 带Token的音频链接
md5 0/1 0 音频MD5
lyrics 1 0 歌词
filesize 1 0 文件大小(字节)
bitrate 1 0 音频比特率
duration 1 0 时长(秒)
status 0/1 0/1 状态(0正常 4停用)
cats 0/1 0/1 所属分类数组
cats.cat_id 0/1 0/1 分类id
cats.cat_name 0/1 0/1 分类名
chapter_count 0/1 1 章节数量(配置值,与实际有出入)
chapters 0/1 1 章节列表(仅限多章节音频)
chapters.chapter_id 0/1 1 章节id
chapters.name 0/1 1 章节名
chapters.type 0/1 1 章节类型(0内容 1花絮 2预告片)
chapters.play_url 0/1 1 章节音频链接
chapters.play_url_with_token 0/1 1 带Token的章节音频链接
chapters.free 0/1 1 章节是否免费(0不免费 1免费)
chapters.md5 0/1 1 章节md5
chapters.order_no 0/1 1 章节序号
chapters.lyrics 1 1 章节歌词
chapters.filesize 1 1 章节文件大小(字节)
chapters.duration 1 1 章节时长(秒)
chapters.status 0/1 1 状态(0正常 4停用)
hit_chapters * * 章节复合搜索时匹配的章节列表,格式同chapters

获取音频列表

获取音频列表-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "offset=0" \
  --data-urlencode "limit=5" \
  --data-urlencode "cat_ids=[8120]" \
  --data-urlencode "chapter=2" \
  --data-urlencode "verbose=1" \
  http://open.idaddy.cn/audio/v2/list

获取音频列表-响应

{
    "audioinfos": {
        "contents": [
            {
                "performer": "曹灿",
                "rank": 9.5,
                "id": "ADcGMFAwDTM=",
                "age_to": 12,
                "age_from": 7,
                "author": "冯梦龙",
                "has_chapter": 1,
                "taxonomys": "中国历史,东周列国故事,中国名著,历史故事,教育部推荐书目",
                "editor_comment": "曹灿,著名老一辈演播艺术家,中国国家话剧院国家一级演员。演播代表作有少儿版四大名著之《红楼梦的故事》。",
                "status": 0,
                "description": "在东周这个动荡的乱世中,春秋五霸、战国七雄等历史人物轮番登场推动着东周历史车轮的前进,上演了一出出精彩的历史剧目。",
                "price": 0,
                "chapter_count": 30,
                "chapters": [
                    {
                        "status": 0,
                        "lyrics": "",
                        "order_no": 1,
                        "play_url": "http://cdn.open.idaddy.cn/apsmp3/a1f5/idaddy0000000001/201711210000/0_adidaddy/ADcGMFAwDTM.ADQGN1A3.YS8xL244cTFuYjhzLmF1ZGlv.mp3",
                        "chapter_id": "ADQGN1A3",
                        "free": 1,
                        "filesize": 1598539,
                        "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/a1f5/idaddy0000000001/201711210000/0_adidaddy/ADcGMFAwDTM.ADQGN1A3.YS8xL244cTFuYjhzLmF1ZGlv.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                        "duration": 798,
                        "md5": "371c73e1fdab845de14f706a7806603b",
                        "name": "第1集"
                    },
                    {
                        "status": 0,
                        "lyrics": "",
                        "order_no": 2,
                        "play_url": "http://cdn.open.idaddy.cn/apsmp3/9a16/idaddy0000000001/201711210000/1/ADcGMFAwDTM.ADQGN1Aw.YS8yL2lkZGxvd3o0LmF1ZGlv.mp3",
                        "chapter_id": "ADQGN1Aw",
                        "free": 1,
                        "filesize": 1551519,
                        "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/9a16/idaddy0000000001/201711210000/1/ADcGMFAwDTM.ADQGN1Aw.YS8yL2lkZGxvd3o0LmF1ZGlv.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                        "duration": 774,
                        "md5": "9805286ac0b1da40ac619280c92db5a4",
                        "name": "第2集"
                    },
                    ......
                ],
                "name": "东周列国故事",
                "icon": "http://img.idaddy.cn/b/6/o4yaclbl.jpg"
            },
            ......
        ]
    },
    "retcode": 0
}

HTTP Request

POST http://open.idaddy.cn/audio/v2/list

POST参数(application/x-www-form-urlencoded)

name type required description
app_id string 必选 app ID
device_id string 必选 设备ID号
app_uid string 可选 客户端用户名
timestamp int 必选 调用时间戳,单位秒。例如: 1421234567
nonce string 必选 最长32位随机字符串,每次请求都不同,防止重放攻击
signature string 必选 sha1(app_id+secret+timestamp)
offset int 可选 起始位置(只对故事列表有效) 默认:0
limit int 可选 分页记录限制 默认:30 最大:100
cat_ids string 必选 分类id,JSON格式,查询指定分类下的音频
chapter int 可选 章节输出选项: 0 不输出带章节的音频 1 输出带章节的音频但不输出章节细节 2 输出带章节的音频且输出章节细节(较慢) 默认:0
verbose int 可选 详情选项:0 输出简版内容,以减少传输数据量 1 输出完整版内容 默认:0

获取指定音频

获取指定音频-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "offset=0" \
  --data-urlencode "limit=10" \
  --data-urlencode 'content_ids=["ADQGM1AxDTw=","ADIGM1A1DTw="]' \
  --data-urlencode "verbose=0" \
  http://open.idaddy.cn/audio/v2/query

获取指定音频-响应,注意结果:第一个为单章节音频(独立音频),第二个为多章节音频

{
    "audioinfos": {
        "contents": [
            {
                "status": 0,
                "name": "我要刷牙",
                "play_url": "http://cdn.open.idaddy.cn/apsmp3/aaf3/idaddy0000000001/201711210000/0/ADQGM1AxDTw.YS85L2F6NnRjaHhiLmF1ZGlv.mp3",
                "price": 0,
                "has_chapter": 0,
                "cats": [
                    {
                        "cat_id": 10719,
                        "cat_name": "早教儿歌"
                    }
                ],
                "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/aaf3/idaddy0000000001/201711210000/0/ADQGM1AxDTw.YS85L2F6NnRjaHhiLmF1ZGlv.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                "taxonomys": "早教儿歌",
                "md5": "51c51f64f279e5b7bddc53aea4738c8d",
                "id": "ADQGM1AxDTw=",
                "icon": "http://img.idaddy.cn/b/9/az6tchxb.jpg"
            },
            {
                "status": 0,
                "name": "白雪公主(卉卉阿姨)",
                "price": 0,
                "chapters": [
                    {
                        "status": 0,
                        "name": "第1集",
                        "order_no": 1,
                        "play_url": "http://cdn.open.idaddy.cn/apsmp3/a261/idaddy0000000001/201711210000/0_adidaddy/ADIGM1A1DTw.ADcGMFA3DTNRYA.YTY0LzAvOW55MGxyd2guYXVkaW8.mp3",
                        "chapter_id": "ADcGMFA3DTNRYA==",
                        "free": 1,
                        "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/a261/idaddy0000000001/201711210000/0_adidaddy/ADIGM1A1DTw.ADcGMFA3DTNRYA.YTY0LzAvOW55MGxyd2guYXVkaW8.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                        "md5": "a9acc6b2a5df4ec66bb1327f2f38fcf2"
                    },
                    {
                        "status": 0,
                        "name": "第2集",
                        "order_no": 2,
                        "play_url": "http://cdn.open.idaddy.cn/apsmp3/20a8/idaddy0000000001/201711210000/1/ADIGM1A1DTw.ADcGMFAxDT1RZQ.YTY0LzkvanRueG95dy5hdWRpbw.mp3",
                        "chapter_id": "ADcGMFAxDT1RZQ==",
                        "free": 1,
                        "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/20a8/idaddy0000000001/201711210000/1/ADIGM1A1DTw.ADcGMFAxDT1RZQ.YTY0LzkvanRueG95dy5hdWRpbw.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                        "md5": "aa5b5a068962f75428771193e0fddede"
                    },
                    ......
                ],
                "has_chapter": 1,
                "chapter_count": 6,
                "cats": [
                    {
                        "cat_id": 6709,
                        "cat_name": "睡前故事"
                    },
                    {
                        "cat_id": 11549,
                        "cat_name": "女孩故事"
                    },
                    {
                        "cat_id": 12029,
                        "cat_name": "经典童话"
                    }
                ],
                "taxonomys": "女孩故事,睡前故事,经典童话",
                "id": "ADIGM1A1DTw=",
                "icon": "http://img.idaddy.cn/b/9/d3vrh48k.jpg"
            }
        ]
    },
    "retcode": 0
}

HTTP Request

POST http://open.idaddy.cn/audio/v2/query

POST参数(application/x-www-form-urlencoded)

name type required description
app_id string 必选 app ID
device_id string 必选 设备ID号
app_uid string 可选 客户端用户名
timestamp int 必选 调用时间戳,单位秒。例如: 1421234567
nonce string 必选 最长32位随机字符串,每次请求都不同,防止重放攻击
signature string 必选 sha1(app_id+secret+timestamp)
offset int 可选 起始位置(只对故事列表有效) 默认:0
limit int 可选 分页记录限制,默认:30 最大:100
content_ids string 必选 欲查询的音频id,JSON格式
is_chapter int 可选 是否查询章节,标志content_ids是音频ID还是章节ID,命中章节将在单独的字段hit_chapters中返回:0 音频ID(默认) 1 章节ID
verbose int 可选 详情选项:0 输出简版内容,以减少传输数据量 1 输出完整版内容 默认:0
free_only string 可选 是否只为免费章节提供播放链接(影响章节返回值的play_url字段),请求中包含此字段,则只为免费章节提供播放链接,请求中不包含此字段,则为所有内容提供播放链接
valid_only int 可选 是否只包含上架音频,0 否 1 是 默认:1

获取热门音频列表

获取热门音频列表-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "offset=0" \
  --data-urlencode "limit=5" \
  --data-urlencode "listtype=hot" \
  --data-urlencode "verbose=0" \
  http://open.idaddy.cn/audio/v2/list

获取热门音频列表-响应

{
    "audioinfos": {
        "contents": [
            {
                "status": 0,
                "name": "不爱睡觉的小猴子",
                "play_url": "http://cdn.open.idaddy.cn/apsmp3/f6d3/idaddy0000000001/201711210000/0/ADQGN1A9DTI.YS83L3BwaXJtNGNiLmF1ZGlv.mp3",
                "price": 0,
                "has_chapter": 0,
                "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/f6d3/idaddy0000000001/201711210000/0/ADQGN1A9DTI.YS83L3BwaXJtNGNiLmF1ZGlv.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                "taxonomys": "儿童阅读从听开始,2013年度精选集,故事旅行记,睡前故事",
                "md5": "10b31fe543ffdb000fbf6950a2fe237d",
                "id": "ADQGN1A9DTI=",
                "icon": "http://img.idaddy.cn//b/7/hn4atvn7.jpg"
            },
            {
                "status": 0,
                "name": "森林狂想曲",
                "play_url": "http://cdn.open.idaddy.cn/apsmp3/140a/idaddy0000000001/201711210000/0/AD0GMVAy.YS82L3kzZG1xOXhlLmF1ZGlv.mp3",
                "price": 0,
                "has_chapter": 0,
                "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/140a/idaddy0000000001/201711210000/0/AD0GMVAy.YS82L3kzZG1xOXhlLmF1ZGlv.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                "taxonomys": "胎教音乐,睡前音乐,胎教系列大全",
                "md5": "52b5cfb347f5e27badf2fcc5499d8c07",
                "id": "AD0GMVAy",
                "icon": "http://img.idaddy.cn/b/6/iu5ke6zg.jpg"
            },
            ......
        ]
    },
    "retcode": 0
}

HTTP Request

POST http://open.idaddy.cn/audio/v2/list

POST参数(application/x-www-form-urlencoded)

name type required description
app_id string 必选 app ID
device_id string 必选 设备ID号
app_uid string 可选 客户端用户名
timestamp int 必选 调用时间戳,单位秒。例如: 1421234567
nonce string 必选 最长32位随机字符串,每次请求都不同,防止重放攻击
signature string 必选 sha1(app_id+secret+timestamp)
offset int 可选 起始位置,默认:0
limit int 可选 分页记录限制,默认:30 最大:100
listtype string 必选 列表类型, 目前支持
hot、hot_week、hot_month、hot_year
chapter int 可选 章节输出选项: 0 不输出带章节的音频 1 输出带章节的音频但不输出章节细节 2 输出带章节的音频且输出章节细节(较慢) 默认:0
verbose int 可选 详情选项:0 输出简版内容,以减少传输数据量 1 输出完整版内容 默认:0

搜索音频

搜索音频(普通)-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "offset=0" \
  --data-urlencode "limit=2" \
  --data-urlencode "content=世上只有妈妈好" \
  --data-urlencode "verbose=0" \
  http://open.idaddy.cn/audio/v2/query

搜索音频(普通)-响应

{
    "audioinfos": {
        "total": 128,
        "contents": [
            {
                "status": 0,
                "name": "世上只有妈妈好",
                "play_url": "http://cdn.open.idaddy.cn/apsmp3/ab89/idaddy0000000001/201711210000/0/ADcGM1Aw.YTY0LzQvMzBjZ3J4MmguYXVkaW8.mp3",
                "price": 0,
                "has_chapter": 0,
                "cats": [],
                "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/ab89/idaddy0000000001/201711210000/0/ADcGM1Aw.YTY0LzQvMzBjZ3J4MmguYXVkaW8.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                "taxonomys": "2013年度精选集,感恩节专辑,母亲节专辑",
                "md5": "51685536c9af920c0d44b90c717c8da5",
                "id": "ADcGM1Aw",
                "icon": "http://img.idaddy.cn/b/4/3bexb022.jpg"
            },
            {
                "status": 0,
                "name": "世上只有妈妈好(粤)",
                "play_url": "http://cdn.open.idaddy.cn/apsmp3/3d61/idaddy0000000001/201711210000/0/ADYGNFA3DTw.YTY0LzkvZ3Jlc20xNXEuYXVkaW8.mp3",
                "price": 0,
                "has_chapter": 0,
                "cats": [
                    {
                        "cat_id": 19589,
                        "cat_name": "地方童谣"
                    }
                ],
                "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/3d61/idaddy0000000001/201711210000/0/ADYGNFA3DTw.YTY0LzkvZ3Jlc20xNXEuYXVkaW8.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                "taxonomys": "地方童谣",
                "md5": "81e2a8e8532c5381d4a07dd2a357ac08",
                "id": "ADYGNFA3DTw=",
                "icon": "http://img.idaddy.cn/b/9/d4n8ecp7.jpg"
            }
        ]
    },
    "retcode": 0
}

搜索音频(拼音)-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "offset=0" \
  --data-urlencode "limit=2" \
  --data-urlencode "content=xiaozhu" \
  --data-urlencode "content_lang=1" \
  http://open.idaddy.cn/audio/v2/query

搜索音频(拼音)-响应

{
    "audioinfos": {
        "total": 69,
        "contents": [
            {
                "status": 0,
                "name": "三只小猪",
                "play_url": "http://cdn.open.idaddy.cn/apsmp3/eb93/idaddy0000000001/201711210000/0/ADYGNFAx.YS81L3V5d3FtOGQ0LmF1ZGlv.mp3",
                "price": 0,
                "has_chapter": 0,
                "cats": [
                    {
                        "cat_id": 8118,
                        "cat_name": "热门儿歌"
                    }
                ],
                "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/eb93/idaddy0000000001/201711210000/0/ADYGNFAx.YS81L3V5d3FtOGQ0LmF1ZGlv.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                "taxonomys": "热门儿歌",
                "md5": "e763822ce4cb4b318351f2e40ee06821",
                "id": "ADYGNFAx",
                "icon": "http://img.idaddy.cn/b/5/syr9s7sf.jpg"
            },
            {
                "status": 0,
                "name": "小猪数数",
                "play_url": "http://cdn.open.idaddy.cn/apsmp3/3e23/idaddy0000000001/201711210000/0/ADYGMFA0DTQ.YTY0LzEvYzlxMWFrYWsuYXVkaW8.mp3",
                "price": 0,
                "has_chapter": 0,
                "cats": [
                    {
                        "cat_id": 8118,
                        "cat_name": "热门儿歌"
                    }
                ],
                "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/3e23/idaddy0000000001/201711210000/0/ADYGMFA0DTQ.YTY0LzEvYzlxMWFrYWsuYXVkaW8.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                "taxonomys": "热门儿歌",
                "md5": "c8063b2203590d7ecb3e76a17818c9a4",
                "id": "ADYGMFA0DTQ=",
                "icon": "http://img.idaddy.cn/b/1/quocno26.jpg"
            }
        ]
    },
    "retcode": 0
}

搜索音频(自定义联合搜索)-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "offset=2" \
  --data-urlencode "limit=2" \
  --data-urlencode "content=白雪公主" \
  --data-urlencode 'content_fields={"audio_name":2, "chapter_name":1}' \
  http://open.idaddy.cn/audio/v2/query

搜索音频(自定义联合搜索)-响应

{
    "audioinfos": {
        "total": 77,
        "contents": [
            {
                "status": 0,
                "name": "白雪公主(卉卉阿姨)",
                "price": 0,
                "chapters": [
                    {
                        "status": 0,
                        "name": "第1集",
                        "order_no": 1,
                        "play_url": "http://cdn.open.idaddy.cn/apsmp3/a261/idaddy0000000001/201711210000/0_adidaddy/ADIGM1A1DTw.ADcGMFA3DTNRYA.YTY0LzAvOW55MGxyd2guYXVkaW8.mp3",
                        "chapter_id": "ADcGMFA3DTNRYA==",
                        "free": 1,
                        "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/a261/idaddy0000000001/201711210000/0_adidaddy/ADIGM1A1DTw.ADcGMFA3DTNRYA.YTY0LzAvOW55MGxyd2guYXVkaW8.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                        "md5": "a9acc6b2a5df4ec66bb1327f2f38fcf2"
                    },
                    {
                        "status": 0,
                        "name": "第2集",
                        "order_no": 2,
                        "play_url": "http://cdn.open.idaddy.cn/apsmp3/20a8/idaddy0000000001/201711210000/1/ADIGM1A1DTw.ADcGMFAxDT1RZQ.YTY0LzkvanRueG95dy5hdWRpbw.mp3",
                        "chapter_id": "ADcGMFAxDT1RZQ==",
                        "free": 1,
                        "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/20a8/idaddy0000000001/201711210000/1/ADIGM1A1DTw.ADcGMFAxDT1RZQ.YTY0LzkvanRueG95dy5hdWRpbw.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                        "md5": "aa5b5a068962f75428771193e0fddede"
                    },
                    ......
                ],
                "has_chapter": 1,
                "chapter_count": 6,
                "cats": [
                    {
                        "cat_id": 6709,
                        "cat_name": "睡前故事"
                    },
                    {
                        "cat_id": 11549,
                        "cat_name": "女孩故事"
                    },
                    {
                        "cat_id": 12029,
                        "cat_name": "经典童话"
                    }
                ],
                "taxonomys": "女孩故事,睡前故事,经典童话",
                "id": "ADIGM1A1DTw=",
                "icon": "http://img.idaddy.cn/b/9/d3vrh48k.jpg"
            },
            {
                "status": 0,
                "name": "【经典】格林童话(第一季)",
                "price": 699,
                "chapters": [
                    {
                        "status": 0,
                        "name": "白雪公主(一)",
                        "order_no": 1,
                        "play_url": "http://cdn.open.idaddy.cn/apsmp3/51bf/idaddy0000000001/201711210000/0_adidaddy/ADYGP1A0DTU.ADMGN1A2.YTk2LzAva3FkODVvNWYuYXVkaW8.mp3",
                        "chapter_id": "ADMGN1A2",
                        "free": 1,
                        "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/51bf/idaddy0000000001/201711210000/0_adidaddy/ADYGP1A0DTU.ADMGN1A2.YTk2LzAva3FkODVvNWYuYXVkaW8.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                        "md5": "12cb4ef0a4760d609f922f70128d465e"
                    }
                ],
                "has_chapter": 1,
                "chapter_count": 20,
                "cats": [
                    {
                        "cat_id": 12029,
                        "cat_name": "经典童话"
                    },
                    {
                        "cat_id": 15016,
                        "cat_name": "精品故事"
                    }
                ],
                "taxonomys": "儿童阅读从听开始,央视少儿主播作品,教育部推荐书目,教育部推荐(VIP),精品故事,经典童话,老师推荐故事单,董浩讲格林童话",
                "id": "ADYGP1A0DTU=",
                "icon": "http://img.idaddy.cn/b/0/849jvv89.jpg"
            }
        ]
    },
    "retcode": 0
}

搜索音频(自定义组合搜索)-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "offset=0" \
  --data-urlencode "limit=2" \
  --data-urlencode 'contents={"cat_name":"睡前故事", "performer":"狄菲菲"}' \
  http://open.idaddy.cn/audio/v2/query

搜索音频(自定义组合搜索)-响应

{
    "audioinfos": {
        "total": 5,
        "contents": [
            {
                "status": 0,
                "name": "【领声·好声音】白雪公主",
                "play_url": "http://cdn.open.idaddy.cn/apsmp3/0c87/idaddy0000000001/201711210000/0/ADEGP1AxDTw.YTY0LzkvM3BienVhanAuYXVkaW8.mp3",
                "price": 0,
                "has_chapter": 0,
                "cats": [
                    {
                        "cat_id": 6709,
                        "cat_name": "睡前故事"
                    },
                    {
                        "cat_id": 11549,
                        "cat_name": "女孩故事"
                    },
                    {
                        "cat_id": 12029,
                        "cat_name": "经典童话"
                    }
                ],
                "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/0c87/idaddy0000000001/201711210000/0/ADEGP1AxDTw.YTY0LzkvM3BienVhanAuYXVkaW8.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                "taxonomys": "女孩故事,新年畅听攻略,睡前故事,经典童话",
                "md5": "b68756f2d4f82fc18d90ef781b4bf576",
                "id": "ADEGP1AxDTw=",
                "icon": "http://img.idaddy.cn/b/9/urgrufyi.jpg"
            },
            {
                "status": 0,
                "name": "【领声·好声音】小红帽",
                "play_url": "http://cdn.open.idaddy.cn/apsmp3/aa8d/idaddy0000000001/201711210000/0/ADEGP1AyDTw.YTY0LzkvOHR2dmc3bzguYXVkaW8.mp3",
                "price": 0,
                "has_chapter": 0,
                "cats": [
                    {
                        "cat_id": 6708,
                        "cat_name": "故事"
                    },
                    {
                        "cat_id": 6709,
                        "cat_name": "睡前故事"
                    },
                    {
                        "cat_id": 11549,
                        "cat_name": "女孩故事"
                    },
                    {
                        "cat_id": 12029,
                        "cat_name": "经典童话"
                    }
                ],
                "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/aa8d/idaddy0000000001/201711210000/0/ADEGP1AyDTw.YTY0LzkvOHR2dmc3bzguYXVkaW8.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                "taxonomys": "儿童阅读从听开始,女孩故事,故事,新年畅听攻略,睡前故事,经典童话",
                "md5": "423cc74633825df09562605c59e29049",
                "id": "ADEGP1AyDTw=",
                "icon": "http://img.idaddy.cn//b/9/vkf39wqv.jpg"
            }
        ]
    },
    "retcode": 0
}

搜索音频(章节复合搜索)-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "offset=0" \
  --data-urlencode "limit=2" \
  --data-urlencode "content=摇篮曲" \
  --data-urlencode "chapter_name=小星星" \
  http://open.idaddy.cn/audio/v2/query

搜索音频(章节复合搜索)-响应

{
    "audioinfos": {
        "total": 56,
        "contents": [
            {
                "status": 0,
                "hit_chapters": [
                    {
                        "status": 0,
                        "name": "小星星",
                        "order_no": 4,
                        "play_url": "http://cdn.open.idaddy.cn/apsmp3/cd42/idaddy0000000001/201711210000/1/ADAGMVAzDTQ.ADQGNVA3DTVRZw.YTY0LzEvbzBwZnFjZWcuYXVkaW8.mp3",
                        "chapter_id": "ADQGNVA3DTVRZw==",
                        "free": 1,
                        "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/cd42/idaddy0000000001/201711210000/1/ADAGMVAzDTQ.ADQGNVA3DTVRZw.YTY0LzEvbzBwZnFjZWcuYXVkaW8.mp3?token=GOBhiXdgkIDR_N_wzWgFmA|Mg14MTAwMA0xNzEyMjE",
                        "md5": "ccf7ada2504eb7a90a29c6151141cec7"
                    }
                ],
                "name": "宝宝的摇篮曲",
                "price": 0,
                "chapters": [
                    {
                        "status": 0,
                        "name": "宝宝的睡袍",
                        "order_no": 1,
                        "play_url": "http://cdn.open.idaddy.cn/apsmp3/dadb/idaddy0000000001/201711210000/0_adidaddy/ADAGMVAzDTQ.ADQGNVA2DTxRYA.YTY0LzEvcWFnNXQ1bDMuYXVkaW8.mp3",
                        "chapter_id": "ADQGNVA2DTxRYA==",
                        "free": 1,
                        "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/dadb/idaddy0000000001/201711210000/0_adidaddy/ADAGMVAzDTQ.ADQGNVA2DTxRYA.YTY0LzEvcWFnNXQ1bDMuYXVkaW8.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                        "md5": "4ba64975596254a96afbc603fc70bfd7"
                    },
                    {
                        "status": 0,
                        "name": "威利眨眼",
                        "order_no": 2,
                        "play_url": "http://cdn.open.idaddy.cn/apsmp3/3dab/idaddy0000000001/201711210000/1/ADAGMVAzDTQ.ADQGNVA2DTxRbw.YTY0LzEvYnkxOTVhdWMuYXVkaW8.mp3",
                        "chapter_id": "ADQGNVA2DTxRbw==",
                        "free": 1,
                        "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/3dab/idaddy0000000001/201711210000/1/ADAGMVAzDTQ.ADQGNVA2DTxRbw.YTY0LzEvYnkxOTVhdWMuYXVkaW8.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                        "md5": "8ad029e45f7435bd49871bd4b2a67428"
                    },
                    ......
                ],
                "has_chapter": 1,
                "chapter_count": 21,
                "cats": [
                    {
                        "cat_id": 7822,
                        "cat_name": "胎教音乐"
                    },
                    {
                        "cat_id": 10715,
                        "cat_name": "英语儿歌"
                    },
                    {
                        "cat_id": 19587,
                        "cat_name": "英文磨耳"
                    }
                ],
                "taxonomys": "Sleepytime 宝宝的摇篮曲,胎教系列大全,胎教音乐,英语儿歌,英文磨耳",
                "id": "ADAGMVAzDTQ=",
                "icon": "http://img.idaddy.cn/b/1/v2v9co31.jpg"
            },
            {
                "status": 0,
                "hit_chapters": [],
                "name": "摇篮曲",
                "play_url": "http://cdn.open.idaddy.cn/apsmp3/4068/idaddy0000000001/201711210000/0/ADAGNFAz.YTY0LzcvcGozdXMxcWMuYXVkaW8.mp3",
                "price": 0,
                "has_chapter": 0,
                "cats": [
                    {
                        "cat_id": 8118,
                        "cat_name": "热门儿歌"
                    }
                ],
                "play_url_with_token": "http://cdn.open.idaddy.cn/apsmp3/4068/idaddy0000000001/201711210000/0/ADAGNFAz.YTY0LzcvcGozdXMxcWMuYXVkaW8.mp3?token=GOBhiXdgkIDR_N_wzWgFmA.Mg14MTAwMA0xNzEyMjE",
                "taxonomys": "2013年度精选集,热门儿歌",
                "md5": "c730e42c3b567680c453afc1521bd4e3",
                "id": "ADAGNFAz",
                "icon": "http://img.idaddy.cn/b/7/pj3us1qc.jpg"
            }
        ]
    },
    "retcode": 0
}

此查询可以通过不同参数的自定义组合,达到以下搜索效果:

HTTP Request

POST http://open.idaddy.cn/audio/v2/query

POST参数(application/x-www-form-urlencoded)

name type required description
app_id string 必选 app ID
device_id string 必选 设备ID号
app_uid string 可选 客户端用户名
timestamp int 必选 调用时间戳,单位秒。例如: 1421234567
nonce string 必选 最长32位随机字符串,每次请求都不同,防止重放攻击
signature string 必选 sha1(app_id+secret+timestamp)
offset int 可选 起始位置(只对故事列表有效) 默认:0
limit int 可选 分页记录限制,默认:30 最大:100
content string 必选 欲查询的关键字
verbose int 可选 详情选项:0 输出简版内容,以减少传输数据量 1 输出完整版内容 默认:0
cat_ids string 可选 分类id列表,JSON格式,查询指定分类下的音频
matching int 可选 最低匹配度百分比 默认:0
content_lang int 可选 关键字语言,0汉字(默认),1拼音
content_fields string 可选 自定义搜索域字段,JSON格式字典 {“FIELD” : BOOST}
FIELD string 字段名,支持
– audio_name 故事名
– chapter_name 章节名
– tag_name 标签名
– cat_name 分类名
– author 作者名
– performer 演播名
BOOST number 提权系数
contents string 可选 自定义组合搜索,JSON格式字典 {“FIELD”:”VALUE”} 或
{“FIELD”:{
  ”content”:”VALUE”,
  ”boost”:BOOST,
  ”lang”:LANG,
  ”matching”:MATCHING
}}
FIELD string 字段名
VALUE string 搜索关键字
BOOST number 提权系数
LANG int 关键字语言
MATCHING int 关键字匹配度
chapter_name string 可选 复合搜索章节名关键字
chapter_no int 可选 复合搜索章节序号值
has_chapter int 可选 是否包含章节: 0 独立音频/单章节音频 1 多章节音频 默认:所有

获取音频的词汇信息

获取音频的词汇信息-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  http://open.idaddy.cn/audio/v2/glossary?format=json

获取音频的词汇信息-响应,会返回所有音频,以下有省略

{
  "audioinfos": {
    "contents": [
      {
        "performer": "佚名",
        "name": "天鹅湖",
        "tags": "古典音乐,钢琴,天鹅湖 ",
        "author": "柴可夫斯",
        "paid": "否",
        "taxonomys": "钢琴曲,古典音乐,器乐欣赏",
        "id": "ADcGMlA0"
      },
      {
        "performer": "佚名",
        "name": "小毛驴",
        "tags": "儿歌,毛驴",
        "author": "佚名",
        "paid": "否",
        "taxonomys": "热门儿歌,2013年度精选集",
        "id": "ADcGMlAx"
      },
      {
        "performer": "汉声中文",
        "name": "三字经",
        "tags": "国学,三字经,汉声,童声跟读 ",
        "author": "王伯厚",
        "paid": "否",
        "chapters": [
          {
            "type": "内容",
            "name": "第1集",
            "id": "ADYGM1A8DTJRYA=="
          },
          {
            "type": "内容",
            "name": "第2集",
            "id": "ADYGM1A8DTJRbw=="
          },
          {
            "type": "内容",
            "name": "第3集",
            "id": "ADYGM1A8DTJRbg=="
          },
          {
            "type": "内容",
            "name": "第4集",
            "id": "ADYGM1A8DT1RZw=="
          },
          {
            "type": "内容",
            "name": "第5集",
            "id": "ADYGM1A8DT1RZg=="
          },
          {
            "type": "内容",
            "name": "第6集",
            "id": "ADYGM1A8DT1RZQ=="
          },
          {
            "type": "内容",
            "name": "第7集",
            "id": "ADYGM1A8DT1RZA=="
          },
          {
            "type": "内容",
            "name": "第8集",
            "id": "ADYGM1A8DT1RYw=="
          },
          {
            "type": "内容",
            "name": "第9集",
            "id": "ADYGM1A8DT1RYg=="
          },
          {
            "type": "内容",
            "name": "第10集",
            "id": "ADYGM1A8DT1RYQ=="
          },
          {
            "type": "内容",
            "name": "第11集",
            "id": "ADYGM1A8DT1RYA=="
          }
        ],
        "taxonomys": "国学启蒙",
        "id": "AD0GNlA0DTY="
      }
    ]
  },
  "retcode": 0
}

此查询一次性输出全部有效音频的关键词汇信息,方便合作伙伴下载为本地词汇缓存,目前包括:编号、名字、分类、标签、作者、演播、是否付费内容、章节等信息。

HTTP Request

POST http://open.idaddy.cn/audio/v2/glossary?format=json

POST参数(application/x-www-form-urlencoded)

name type required description
app_id string 必选 app ID
device_id string 必选 设备ID号
app_uid string 可选 客户端用户名
timestamp int 必选 调用时间戳,单位秒。例如: 1421234567
nonce string 必选 最长32位随机字符串,每次请求都不同,防止重放攻击
signature string 必选 sha1(app_id+secret+timestamp)
is_paid int 可选 付费状态过滤: 0免费 1付费 缺省全部

api - 其他

获取每日播放限制

获取每日播放限制-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode "method=get_day_play" \
  http://open.idaddy.cn/audio/v2/pricing

获取每日播放限制-响应

{
    "data": {
        "day_play": 10
    },
    "retcode": 0
}

HTTP Request

POST http://open.idaddy.cn/audio/v2/pricing

POST参数(application/x-www-form-urlencoded)

name type required description
app_id string 必选 app ID
device_id string 必选 设备ID号
app_uid string 可选 客户端用户名
timestamp int 必选 调用时间戳,单位秒。例如: 1421234567
nonce string 必选 最长32位随机字符串,每次请求都不同,防止重放攻击
signature string 必选 sha1(app_id+secret+timestamp)
method string 可选 目前只支持get_day_play

事件反馈

事件反馈-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode 'events=[
    {
        "event_name": "chen",
        "object_id": "ADgGYgU8VTU=",
        "event_start": 1439194001,
        "event_time": 234
    },
    {
        "event_name": "delete",
        "object_id": "ADgGYgU8VTU=",
        "event_start": 1439194001
    }
  ]
  ' \
  http://open.idaddy.cn/audio/v2/event

事件反馈-响应

{
    "retcode": 0
}

事件反馈接口用于接收各设备回传的播放事件,该事件用于判断下载的音频时候确实已经播放。该接口可以一次接收多条事件。

HTTP Request

POST http://open.idaddy.cn/audio/v2/event

POST参数(application/x-www-form-urlencoded)

name type required description
app_id string 必选 app ID
device_id string 必选 设备ID号
app_uid string 可选 客户端用户名
timestamp int 必选 调用时间戳,单位秒。例如: 1421234567
nonce string 必选 最长32位随机字符串,每次请求都不同,防止重放攻击
signature string 必选 sha1(app_id+secret+timestamp)
events string 必选 事件集,json数组格式

回传检测数据

回传检测数据-请求

curl --request POST \
  --data-urlencode "app_id=${APP_ID}" \
  --data-urlencode "device_id=x1000" \
  --data-urlencode "timestamp=${TIMESTAMP}" \
  --data-urlencode "nonce=${NONCE}" \
  --data-urlencode "signature=${SIGNATURE}" \
  --data-urlencode 'data=[{"my_field1":"1"},{"my_field":"2"}]' \
  http://open.idaddy.cn/audio/v2/checklog

回传检测数据-请求

{
    "msg": "log added",
    "retcode": 0
}

HTTP Request

POST http://open.idaddy.cn/audio/v2/checklog

POST参数(application/x-www-form-urlencoded)

name type required description
app_id string 必选 app ID
device_id string 必选 设备ID号
app_uid string 可选 客户端用户名
timestamp int 必选 调用时间戳,单位秒。例如: 1421234567
nonce string 必选 最长32位随机字符串,每次请求都不同,防止重放攻击
signature string 必选 sha1(app_id+secret+timestamp)
data string 可选 回传的数据,json格式

其他技术说明

URL超时说明

基于对版权和流量保护的考虑,开放平台输出的音频URL有防盗链设计,有效时间为1周,请定时刷新来避免失效。

device token超时说明

基于对版权和流量保护的考虑,开放平台输出的音频URL,需使用device token授权才能访问,token有效时间为1周,请定时刷新token来避免失效。

架构

工程师爸爸儿童教育资源开放平台以音频、书籍、应用等儿童在线教育资源作为基础库,通过开放平台形成统一的H5、API输出,并辅以日志、统计、计费、安全等基础应用组件形成一个专门针对儿童在线教育资源的开放平台。

图片出错

流量限制

免费用户每天URL调用次数上限为10000,每分钟调用次数上限为100次;流量输出上限为每天5G。开发人员可以根据实际需要申请更多资源。

CDN支持

所有输出均由CDN网络输出,CDN回源时间为24小时。如果使用过程中有内容变更,可能需要24小时才能看到变更结果。

服务

定制接入

如果第三方有更多接入需求,如变更页面布局,去除工程师爸爸Logo,口袋故事下载链接等内容,请与工程师爸爸协商洽谈。

付费接入

频道输出将分别提供免费、付费内容输出,如果需要付费内容输出请与工程师爸爸协商洽谈。

频道输出

频道输出是内容提供的最基本方式。通过HTML5技术,内容提供方可以快速在各个平台上分享相应其优秀内容的输出。

频道输出

频道输出可以输出所有可用分类,也可以选定部分分类输出,甚至可以选定单个音频进行输出。

短链接

所有输出内容均以短链接方式提供。在用户选取分类、音频、模板、样式之后,可以一键生成短链接,并可以设置短链接有效期。

HTML5适配

频道输出可以根据所在设备的不同提供自适配,系统提供iPhone,iPad,Android,WEB等不同设备的视频页面输出。

模板与样式

为了使频道输出的界面风格更贴合第三方需要,开放平台提供多种模板以及播放样式选择,开发人员可以在平台上自由切换。