云服务器内容精选

  • 报文样例 请求头: { "Content-Type": application/json "x-app-key": ***** "Authorization": Bearer **** } 请求参数: { "voiceContent": "1133*********999~$李先生$~2225*********149", "callerPresent": null, "called": "88880000" } 响应参数: { "result": { "callSerialNo": "11827********7090" }, "retCode": "0", "retMsg": "Created successfully." }
  • 响应说明 响应状态码: 200 表3 响应体参数 序号 名称 参数类型 是否必选 说明 1 schema object True - 1.1 retCode string True 返回码,0 成功 1 有未完成的任务,请稍后重试 2 callData长度超出1024 3 创建失败,未生成呼叫流水号 4 softPhone格式与规则不匹配 5 caller或者called未传递,或者格式与规则不匹配 6 vdn未启用 7 callerPresent或者agentPresent校验失败 8 voiceContent为空或者超出限制或者不存在该录音数据 9 callBackUrl不符合条件 16 租户为试商用状态,被叫号码不在白名单中 36 priority字段值格式不符合要求 1.2 retMsg string False 返回描述 1.3 result object False retCode为0时,必返回 1.3.1 callSerialNo string True 呼叫流水号 响应状态码: 400 错误的请求:请检查请求路径及参数 响应状态码: 401 未授权:1. 请确认是否购买了相关服务。 2. 请联系客服人员检查您账号的当前状态 响应状态码: 403 鉴权失败 响应状态码: 404 请求的内容未找到:请检查请求的路径 响应状态码: 500 业务失败:请依次确认您请求中各参数的取值
  • 报文样例 请求头: { "Content-Type": application/json "x-app-key": ******************** "Authorization": Bearer ************************ } 请求参数: { "offset":0, "limit":10, "type":2 } 响应参数: { "returnCode": "0", "description": "query success", "voiceInfo": [ { "tenant_id": "20******234", "uploaddate": 163*****4000, "voice_id": "113379*********9999", "name": "welcome", "voicecontent": "{\"0\":{\"languageId\":\"0\",\"textcontent\":\"欢迎光临\"}}", "type": 2, "tenantSpaceName": "************" } ] }
  • 响应说明 响应状态码: 200 表3 响应体参数 序号 名称 参数类型 是否必选 说明 1 schema object True - 1.1 returnCode string True 返回码,0:成功,其他失败(1:请求参数type不正确) 1.2 description string False 返回描述 1.3 voiceInfo object False 录音信息 1.3.1 tenant_id string True 租户id 1.3.2 uploaddate number True 上传时间,格式为timestamp 1.3.3 voice_id string True 录音id 1.3.4 name string True 录音名称 1.3.5 voicecontent string False 语音内容 1.3.6 type number True 类型 0:音频,2:text文本 1.3.7 tenantSpaceName string False 租户名称 1.3.8 auditaccount string False 审核者账号 1.3.9 noReference boolean False 提示音和故障音是否被引用 1.3.10 auditcomments string False 审核意见 1.3.11 auditdate number False 审核时间,格式为timestamp 1.3.12 scene number False 使用场景 1.3.13 uploadaccount string False 上传账号 1.3.14 isUpdateRec number False 是否是更新记录 1.3.15 status number False 回调状态 1.3.16 callbackTimes number False 回调次数 响应状态码: 400 错误的请求:请检查请求路径及参数 响应状态码: 401 未授权:1. 请确认是否购买了相关服务。 2. 请联系客服人员检查您账号的当前状态。 响应状态码: 403 鉴权失败 响应状态码: 404 请求的内容未找到:请检查请求的路径 响应状态码: 500 业务失败:请依次确认您请求中各参数的取值。
  • 请求说明 表1 请求头参数 序号 名称 参数类型 是否必选 说明 1 X-APP-Key string True appKey字段,用户标识,请联系运营人员获取appKey 2 Authorization string True 鉴权字段,内容格式为: Bearer +tokenByAKSK接口的返回值中AccessToken(Bearer后有空格)。 生成方式参见C1 系统配置类接口鉴权方式。 表2 请求体参数 序号 名称 参数类型 是否必选 说明 1 reqBody object True - 1.1 offset integer False 起始游标,即分页查询时的起始记录行号。 首次查询传入“0”。 后续查询其他分页时传入该分页的第一条记录的序号。返回记录中第一条记录序号为“0”,后续依次排序。例如每页为50条录,查询第二页时应传入“50”。 不传时默认0,无最大值限制 1.2 limit integer False 分页查询时的每页记录数,正整数,不传时默认100,最大值100,传入超过100的值也会转换为100 1.3 type integer False 录音文件类型 0:音频,2:text文本
  • 响应说明 响应状态码: 200 表3 响应体参数 序号 名称 参数类型 是否必选 说明 1 schema object True 返回结果。 1.1 returnCode string False 返回码。0:表示成功;1:表示失败;3:表示发送消息同步表数据部分成功;4:表示时间参数小于当前时间;5:表示接收短信号码为空;8:表示短信配置为空;9:表示有收件人不存在;10:表示单位时间内短信或者邮件发送超过最大次数。 1.2 description string False 返回描述。 响应状态码: 400 表4 响应体参数 序号 名称 参数类型 是否必选 说明 1 schema string True 错误的请求:请检查请求路径及参数。 响应状态码: 401 表5 响应体参数 序号 名称 参数类型 是否必选 说明 1 schema string True 未授权:1. 请确认是否购买了相关服务。 2. 请联系客服人员检查您账号的当前状态。 响应状态码: 404 表6 响应体参数 序号 名称 参数类型 是否必选 说明 1 schema string True 请求的内容未找到:请检查请求的路径。 响应状态码: 500 表7 响应体参数 序号 名称 参数类型 是否必选 说明 1 schema string True 业务失败:请依次确认您请求中各参数的取值。
  • Node.js 注:为节省开发时间,建议先使用Node.js代码样例进行调测,熟悉接口使用后,再参考Java、python、PHP或C#代码样例,结合接口文档进行功能开发。 环境要求 Node.js 4.4.4及以上版本。 引用库 - 下载链接 点击下载 本文档所述Demo在提供服务的过程中,可能会涉及个人数据的使用,建议您遵从国家的相关法律采取足够的措施,以确保用户的个人数据受到充分的保护。 本文档所述Demo仅用于功能演示,不允许客户直接进行商业使用。 本文档信息仅供参考,不构成任何要约或承诺。 父主题: 语音通知代码样例
  • 请求参数 SP调用语音通知API,语音通话平台发起呼叫,给用户播放自定义的语音文件或TTS合成语音文件,并可进行收号,获得应答信息并反馈给SP。 注:以下流程以语音通话平台呼叫A,给A播放语音文件并收号为例。流程和接口示例仅供参考,请以实际消息为准。 表2 请求Headers参数说明 参数名称 是否必选 参数类型 说明 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="随机数生成时间"。 PasswordDigest:根据PasswordDigest = Base64(HMAC(appSecret, url+安全随机数+时间戳))生成。其中,url使用客户设置的状态推送URL,随机数需使用安全随机数。 Nonce:客户发送请求时生成的一个随机数,长度为1~128位,可包含数字和大小写字母。例如:66C92B11FF8A425FB8D4CCFE0ED9ED1F。 Created:随机数生成时间。采用标准UTC格式,例如:2018-02-12T15:30:20Z。不同编程语言中将UTC时间戳转换为普通时间时使用的格式不同,部分语言可参考表3。 表3 不同编程语言的时间格式 编程语言 时间格式 Java yyyy-MM-dd'T'HH:mm:ss'Z' PHP Y-m-d\TH:i:s\Z Python %Y-%m-%dT%H:%M:%SZ C# yyyy-MM-ddTHH:mm:ssZ Node.js toISOString().replace(/.[0-9]+\Z/, 'Z') 注:Node.js中,使用toISOString()转换后的时间格式去除毫秒后即为本接口要求的时间格式。 表4 请求Body参数说明 参数名称 是否必选 参数类型 说明 eventType 是 String(枚举) 该参数标识API事件通知的类型。取值范围如下: callout:呼出事件 alerting:振铃事件 answer:应答事件 collectInfo:放音收号结果事件 disconnect:挂机事件 statusInfo 否 CallStatusInfo 呼叫状态事件的信息。 当eventType参数为callout、alerting、answer、collectInfo、disconnect时携带。 CallStatusInfo 表5 callout:呼出事件 参数名称 是否必选 参数类型 说明 timestamp 是 String(1-128) 该呼叫事件发生时语音通话平台的UNIX时间戳。 该参数取值为UTC时间(+8小时为北京时间)格式,即为“yyyy-MM-dd HH:mm:ss”。 userData 否 String(1-256) 用户附属信息,此参数的值与“语音通知API”中的"userData"参数值一致。 sessionId 是 String(1-256) 唯一指定一条通话链路的标识ID。 caller 否 String(1-32) 主叫号码。 号码仅支持全局号码格式(包含国家码),比如+86138****7021。 注:呼出事件的主叫号码为SP设置的来电显示号码(displayNbr)。 called 否 String(1-32) 被叫号码。 号码仅支持全局号码格式(包含国家码),比如+86138****7021。 注:呼出事件的被叫号码为A号码。 接口示例 POST /status HTTP/1.1Content-Length: xx {"eventType":"callout","statusInfo":{"sessionId":"1202_14260_4294967295_20190124024846@callenabler245.huaweicaas.com","timestamp":"2019-01-24 02:48:46","caller":"+86138****0022","called":"+86138****0021"}} 表6 alerting:振铃事件 参数名称 是否必选 参数类型 说明 timestamp 是 String(1-128) 该呼叫事件发生时语音通话平台的UNIX时间戳。 该参数取值为UTC时间(+8小时为北京时间)格式,即为“yyyy-MM-dd HH:mm:ss”。 userData 否 String(1-256) 用户附属信息,此参数的值与“语音通知API”中的"userData"参数值一致。 sessionId 是 String(1-256) 唯一指定一条通话链路的标识ID。 caller 否 String(1-32) 主叫号码。 号码仅支持全局号码格式(包含国家码),比如+86138****7021。 注:振铃事件的主叫号码为SP设置的来电显示号码(displayNbr)。 called 否 String(1-32) 被叫号码。 号码仅支持全局号码格式(包含国家码),比如+86138****7021。 注:振铃事件的被叫号码为A号码。 接口示例 POST /status HTTP/1.1Content-Length: xx {"eventType":"alerting","statusInfo":{"sessionId":"1202_14260_4294967295_20190124024846@callenabler245.huaweicaas.com","timestamp":"2019-01-24 02:48:47","caller":"+86138****0022","called":"+86138****0021"}} 表7 answer:应答事件 参数名称 是否必选 参数类型 说明 timestamp 是 String(1-128) 该呼叫事件发生时语音通话平台的UNIX时间戳。 该参数取值为UTC时间(+8小时为北京时间)格式,即为“yyyy-MM-dd HH:mm:ss”。 userData 否 String(1-256) 用户附属信息,此参数的值与“语音通知API”中的"userData"参数值一致。 sessionId 是 String(1-256) 唯一指定一条通话链路的标识ID。 caller 否 String(1-32) 主叫号码。 号码仅支持全局号码格式(包含国家码),比如+86138****7021。 注:应答事件的主叫号码为SP设置的来电显示号码(displayNbr)。 called 否 String(1-32) 被叫号码。 号码仅支持全局号码格式(包含国家码),比如+86138****7021。 注:应答事件的被叫号码为A号码。 接口示例 POST /status HTTP/1.1Content-Length: xx {"eventType":"answer","statusInfo":{"sessionId":"1202_14260_4294967295_20190124024846@callenabler245.huaweicaas.com","timestamp":"2019-01-24 02:49:12","caller":"+86138****0022","called":"+86138****0021"}} 表8 collectInfo:放音收号结果事件 参数名称 是否必选 参数类型 说明 timestamp 是 String(1-128) 该呼叫事件发生时语音通话平台的UNIX时间戳。 该参数取值为UTC时间(+8小时为北京时间)格式,即为“yyyy-MM-dd HH:mm:ss”。 sessionId 是 String(1-256) 唯一指定一条通话链路的标识ID。 digitInfo 否 String(1-64) 语音通知场景中携带收号的结果。(即用户输入的数字) 接口示例 POST /status HTTP/1.1Content-Length: xx {"eventType":"collectInfo","statusInfo":{"sessionId":"1202_14260_4294967295_20190124024846@callenabler245.huaweicaas.com","timestamp":"2019-01-24 02:49:12","digitInfo":"02"}} 表9 disconnect:挂机事件 参数名称 是否必选 参数类型 说明 timestamp 是 String(1-128) 该呼叫事件发生时语音通话平台的UNIX时间戳。 该参数取值为UTC时间(+8小时为北京时间)格式,即为“yyyy-MM-dd HH:mm:ss”。 userData 否 String(1-256) 用户附属信息,此参数的值与“语音通知API”中的"userData"参数值一致。 sessionId 是 String(1-256) 唯一指定一条通话链路的标识ID。 caller 否 String(1-32) 主叫号码。 号码仅支持全局号码格式(包含国家码),比如+86138****7021。 注:挂机事件的主叫号码为SP设置的来电显示号码(displayNbr)。 called 否 String(1-32) 被叫号码。 号码仅支持全局号码格式(包含国家码),比如+86138****7021。 注:挂机事件的被叫号码为A号码。 stateCode 否 Integer 通话挂机的原因值,仅当eventType为disconnect时携带。 取值范围及表示的含义请参考通话挂机原因值说明。 stateDesc 否 String(1-128) 通话挂机的原因值的描述,仅当eventType为disconnect时携带。 接口示例 POST /status HTTP/1.1Content-Length: xx {"eventType":"disconnect","statusInfo":{"sessionId":"1202_14260_4294967295_20190124024846@callenabler245.huaweicaas.com","timestamp":"2019-01-24 02:49:23","caller":"+86138****0022","called":"+86138****0021","stateCode":0,"stateDesc":"The user releases the call."}}