获取录音文件下载地址API
典型场景
SP通过“呼叫状态和话单通知API”获取录音文件名后,调用此接口获取录音文件的下载地址。
接口功能
该接口用于SP向语音通话平台获取录音文件的下载地址。
使用说明
- 前提条件
- 已通过“应用管理”页面获取APP_Key,APP_Secret和APP接入地址。
- 已通过“呼叫状态和话单通知API”获取了录音文件名。
- 注意事项
- 响应返回的录音下载地址有效期为7天。请在七天期限内调用该接口获取下载地址并下载录音。
- 调用获取录音文件下载地址接口需要把connection设置为不支持重定向,再从Location头域中获取到录音文件的下载地址。
- 若connection设置为支持重定向,则重定向后平台返回的是录音文件的数据流。
- 使用限制
接口类型
请求方法 |
GET |
|
---|---|---|
访问URI |
/rest/provision/voice/record/v1.0 |
|
通信协议 |
HTTPS |
请求参数
参数名称 |
是否必选 |
参数类型 |
默认值 |
说明 |
---|---|---|---|---|
fileName |
是 |
String(1-128) |
无 |
录音文件名。通过“呼叫状态和话单通知API”的recordObjectName参数获取。 |
recordDomain |
是 |
String(1-128) |
无 |
录音文件存储的服务器域名,通过“呼叫状态和话单通知API”的recordDomain参数获取。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
Content-Type |
是 |
String |
固定填写为application/json;charset=UTF-8。 |
Authorization |
是 |
String |
固定填写为AKSK realm="SDP",profile="UsernameToken",type="Appkey"。 |
X-AKSK |
是 |
String |
取值为UsernameToken Username="APP_Key的值", PasswordDigest="PasswordDigest的值", Nonce="随机数", Created="随机数生成时间"。
|
响应参数
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
Location |
否 |
String(0-512) |
录音文件下载地址。成功响应时返回。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
resultcode |
否 |
String(1-32) |
请求返回的结果码。失败响应时返回。 |
resultdesc |
否 |
String(1-256) |
操作结果描述。失败响应时返回。 |
结果码说明
请根据以下结果码进行调测,如果有疑问,可联系管理员进行确认。
响应码 |
结果码 |
英文描述 |
中文描述 |
处理方法 |
---|---|---|---|---|
301 |
- |
- |
- |
成功响应,请从Location头域中获取录音文件下载地址。 |
400 |
1023006 |
Authorization not contained in the HTTP header. |
HTTP消息头未找到Authorization字段。 |
请检查HTTP消息头中是否携带了Authorization字段。 |
1023007 |
realm not contained in Authorization. |
Authorization字段中未找到realm属性。 |
请检查Authorization字段中的是否携带了realm属性。 |
|
1023008 |
profile not contained in Authorization. |
Authorization字段中未找到profile属性。 |
请检查Authorization字段中的是否携带了profile属性。 |
|
1023009 |
The value of realm in Authorization must be SDP. |
Authorization中realm属性值应该为“SDP”。 |
请检查Authorization字段中的realm属性值是否为“SDP”。 |
|
1023010 |
The value of profile in Authorization must be UsernameToken. |
Authorization中profile属性值应该为“UsernameToken”。 |
请检查Authorization字段中的profile属性值是否为“UsernameToken”。 |
|
1023011 |
The value of type in Authorization must be app_key. |
Authorization中type属性值应该为“Appkey”。 |
请检查Authorization字段中的type属性值是否为“Appkey”。 |
|
1023012 |
type not contained in Authorization. |
Authorization字段中未找到type属性。 |
请检查Authorization字段中是否携带了type属性。 |
|
1023033 |
HTTP header not found X-AKSK field. |
HTTP头未找到X-AKSK字段。 |
请检查HTTP消息头中是否携带了X-AKSK字段。 |
|
1023034 |
UserName not contained in X-AKSK. |
X-AKSK字段中未找到UserName属性。 |
请检查X-AKSK字段中的是否携带了Username属性。 |
|
1023035 |
Nonce not contained in X-AKSK. |
X-AKSK字段中未找到Nonce属性。 |
请检查X-AKSK字段中的是否携带了Nonce属性。 |
|
1023036 |
Created not contained in X-AKSK. |
X-AKSK字段中未找到Created属性。 |
请检查X-AKSK字段中的是否携带了Created属性。 |
|
1023037 |
PasswordDigest not contained in X-AKSK. |
X-AKSK字段中未找到PasswordDigest属性。 |
请检查X-AKSK字段中的是否携带了PasswordDigest属性。 |
|
1023038 |
UsernameToken not contained in X-AKSK. |
X-AKSK中没有携带UsernameToken。 |
请检查X-AKSK字段中的是否携带了UsernameToken属性。 |
|
401 |
1010010 |
Invalid digest. |
PasswordDigest校验失败。 |
请检查PasswordDigest字段填写是否正确。 |
1010013 |
Time out limit. |
时间超出限制。 |
请确认X-AKSK鉴权时,生成随机数的时间与发送请求时的本地时间不能相差太大(具体差值请与管理员确认)。 |
|
403 |
1010002 |
Invalid request. |
非法请求。 |
请检查请求携带的参数格式是否都合法。 |
1010003 |
Invalid app_key. |
无效的app_key。 |
检查请求携带的app_key是否填写正确,app_key从应用管理页面获取,若填写正确,请在应用管理页面检查请求携带的app_key所属应用状态是否正常。 |
|
1010007 |
The ativeState of User is not ACTIVATING. |
用户状态未激活。 |
请检查app_key所属的华为云账户是否处于欠费状态,若处于欠费状态,请参考华为云账户充值完成充值,若没有处于欠费状态,请联系管理员处理。 |
|
1012012 |
Application does not open recording function. |
应用未开启录音功能。 |
请确认请求携带的app_key是否开启了录音功能。 |
|
1012007 |
The record does not exist. |
记录不存在。 |
请确认fileName参数的填写是否正确。 |
|
1011006 |
Under traffic control status |
请求者(IP、手机号码)处于流控状态下。 |
请稍等一分钟再试。 |
|
1020166 |
The app client ip is not in ip white list. |
请求发送方app IP不在白名单列表中。 |
联系管理员检查IP白名单是否配置正确。 |
|
1020176 |
Authentication failed, try again later |
鉴权失败,稍后重试 |
IP因鉴权失败次数过多导致被拉黑,请30分钟后重试,或联系管理员放通该IP。 |
|
500 |
1010001 |
Internal system error. |
系统错误。 |
请联系管理员处理。 |
1023001 |
Internal error. |
内部错误。 |
接口示例
- 请求示例
GET /rest/provision/voice/record/v1.0? fileName=1200_366_0_20161228102743.wav&recordDomain=huawei HTTP1.1 content-type: application/json;charset=UTF-8 authorization: AKSK realm="SDP",profile="UsernameToken",type="Appkey" x-aksk: UsernameToken Username="ZRBRz4bAXoFgEH7o4Ew308eXc1RA",PasswordDigest="****",Nonce="ac1c911c4792492687f8f6b2264a491e",Created="2018-05-26T00:35:30Z" content-length:xx
- 响应示例
HTTP/1.1 301 Moved Permanently Location: **** Connection: close Content-Length: 0
代码样例
前往代码样例查看。