语音服务——腾讯云

腾讯语音服务文档

一、开通语音消息服务流程

(1)注册并认证

  • 如果您还没有腾讯云账号,您需要 注册腾讯云 账号,并完成 企业实名认证
  • 如果您已有企业认证的腾讯云账号,请直接进行下一步操作。

申请开通语音消息服务

说明:首次登录语音消息控制台时,需要申请开通语音消息服务。

登录 语音消息控制台,勾选【我已阅读并同意 腾讯云语音消息服务协议】,单击【开始接入】即可开通。

(2)创建应用

  1. 在左侧导航栏选择【应用管理】>【应用列表】。
  2. 单击【创建应用】,填写【应用名称】为测试,【应用简介】为测试语音消息
  3. 单击【创建】。

(3)购买语音号码

  1. 在左侧导航栏选择【应用管理】>【语音号码】,选择【当前应用】为测试
    购买语音号码前需提交企业资质并通过审核。
  2. 在【企业资质管理】页签,填写企业信息后单击【提交】,待审核通过后方可购买号码。
  3. 单击【购买号码】,进入语音号码购买页。
  4. 选择您所需的号码归属地和语音号码,可根据实际需求勾选语音号码到期后自动续费,单击【立即购买】。

    说明:单个企业最多支持购买5个语音号码。

  5. 核对所选号码信息,确认无误后单击【确认】。
  6. 选择您的支付方式,单击【立即支付】即购买完成。

(4)创建语音模板

  1. 在左侧导航栏选择【应用管理】>【语音模板】,选择【当前应用】为测试
  2. 单击【创建语音模板】。
  3. 结合实际情况设置以下参数:
    • 模板名称:输入验证码通知
    • 模板内容:输入您的验证码是{1},如非本人操作无需处理。
  4. 单击【确定】。
    等待语音模板审核,当状态变为【已通过】时,语音模板才可用。

(5)购买套餐包

  1. 在左侧导航栏选择【套餐包管理】,单击【购买套餐包】。
  2. 根据实际需求设置以下参数:
    • 套餐类型:选择【固定套餐包】。
    • 套餐配额:选择1万分钟。
    • 购买数量:选择1。
  3. 勾选【我已阅读并同意 腾讯云语音消息 《服务协议》】。
  4. 单击【立即购买】。
  5. 核对您需要购买的套餐包配额、数量及费用等信息,单击【确认购买】。
  6. 选择您的支付方式,单击【立即支付】。
    如果您需要开具发票,可以参考 发票 进行申请。

(6)发送语音消息

扫描二维码关注公众号,回复: 8790269 查看本文章

发送语音消息前,您需要检查确认语音模板已通过审核。
您可以调用 发送语音验证码 API 或 SDK 发送语音消息。

(7)查看发送结果

  1. 在 语音消息控制台,单击【统计分析】。
  2. 选择【语音记录】页签,输入手机号,选择【应用】为测试,设置时间段,单击【查询】筛选查看发送记录。

二、使用SDK发送语音消息

maven

<dependency>
<groupId>com.github.qcloudsms</groupId>
<artifactId>qcloudsms</artifactId>
<version>1.0.6</version>
</dependency>

准备必要参数

// 语音消息应用 SDK AppID
int appid = 1400009099; // SDK AppID 以1400开头
// 语音消息应用 App Key
String appkey = "9ff91d87c2cd7cd0ea762f141975d1df37481d48700d70ac37470aefc60f9bad";
// 需要发送语音消息的手机号码
String[] phoneNumbers = {"21212313123", "12345678902", "12345678903"};
// 语音模板 ID,需要在语音消息控制台中申请
int templateId = 7839; // NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在语音消息控制台中申请

发送语音验证码

try {
  SmsVoiceVerifyCodeSender vvcsender = new SmsVoiceVerifyCodeSender(appid,appkey);
  SmsVoiceVerifyCodeSenderResult result = vvcsender.send("86", phoneNumbers[0],
      "5678", 2, "");
  System.out.println(result);
} catch (HTTPException e) {
  // HTTP 响应码错误
  e.printStackTrace();
} catch (JSONException e) {
  // JSON 解析错误
  e.printStackTrace();
} catch (IOException e) {
  // 网络 IO 错误
  e.printStackTrace();
}

指定模板发送语音通知

try {
  int templateId = 45221;
  String[] params = {"5678"};
  TtsVoiceSender tvsender = new TtsVoiceSender(appid, appkey);
  TtsVoiceSenderResult result = tvsender.send("86", phoneNumbers[0],
      templateId, params, 2, "");
  System.out.println(result);
} catch (HTTPException e) {
  // HTTP 响应码错误
  e.printStackTrace();
} catch (JSONException e) {
  // JSON 解析错误
  e.printStackTrace();
} catch (IOException e) {
  // 网络 IO 错误
  e.printStackTrace();
}

三、拨号记录回调接口

配置事件回调

  1. 登录 语音消息控制台
  2. 您可以通过以下方式进入【基础配置】页签:
    • 在左侧导航栏选择【应用管理】>【应用列表】,单击目标应用卡片进入应用详情页,单击【基础配置】。
    • 在左侧导航栏选择【应用管理】>【基础配置】。
  3. 选择【当前应用】为待操作的目标应用。
  4. 单击【事件回调配置】区域的【设置】,勾选并输入对应的回调 URL。
  5. 单击【设置】即可保存。

(1)语音通知状态通知

通知业务方语音通知下发的状态。

URL 示例

POST https://example.com/voice/callback

请求参数

{
    "voiceprompt_callback": {
        "result": "0",
        "accept_time": "1470197211",
        "call_from": "",
        "callid": "xxxxxx",
        "end_calltime": "1470197221",
        "fee": "1",
        "mobile": "13xxxxxxxxx",
        "nationcode": "86",
        "start_calltime": "1470197196"
    }
}
参数 必选 类型 描述
voiceprompt_callback object 通知状态回调,详细参数说明请参见下方表格

参数voiceprompt_callback

参数 必选 类型 描述
result string 错误码,0表示用户正常接听,1表示用户未接听, 2表示呼叫异常
accept_time string 用户接听时间
call_from string 呼入号码
callid string 标识本次发送 ID
end_calltime string 结束语音通知呼叫时间
fee string 计费时长,单位为分钟
mobile string 手机号码
nationcode string 国家(或地区)码
start_calltime string 开始发起语音通知呼叫时间

响应参数

{
    "result": 0,
    "errmsg": "OK"
}
参数 必选 类型 描述
result number 错误码,0表示成功,非0表示失败
errmsg string 错误消息,result 非0时的具体错误信息

(2)语音通知按键通知

通知业务方被叫用户按下的键。

URL 示例

POST https://example.com/voice/callback

请求参数

{
    "voicekey_callback": {
        "call_from": "",
        "callid": "xxxxxx",
        "keypress": "2",
        "mobile": "13xxxxxxxxx",
        "nationcode": "86"
    }
}

参数 必选 类型 描述
voicekey_callback object 通知按键通知回调,详细参数说明请参见下方表格

参数voicekey_callback

参数 必选 类型 描述
call_from string 呼入号码
callid string 标识本次发送 ID
keypress string 用户按下的键
mobile string 手机号码
nationcode string 国家(或地区)码

响应参数

{
    "result": 0,
    "errmsg": "OK"
}
参数 必选 类型 描述
result number 错误码,0表示成功,非0表示失败
errmsg string 错误消息,result 非0时的具体错误信息

(3)语音送达失败原因通知

语音消息系统可以向语音验证码或语音通知下发失败的被叫号码推送失败原因。

URL 示例

POST https://example.com/voice/callback

请求参数

{
    "voice_failure_callback": {
        "call_from": "075583763333",
        "callid": "xxxxxx",
        "failure_code": 8,
        "failure_reason": "空号",
        "mobile": "13xxxxxxxxx",
        "nationcode": "86"
    }
}
参数 必选 类型 描述
voice_failure_callback object 语音送达失败原因推送回调,详细参数说明请参见下方表格

参数voice_failure_callback

参数 必选 类型 描述
call_from string 呼入号码
callid string 标识本次发送 ID
failure_code number 失败错误码,详情请参见 推送回执相关错误码
failure_reason string 失败原因
mobile string 手机号码
nationcode string 国家(或地区)码

响应参数

{
    "result": 0,
    "errmsg": "OK"
}
参数 必选 类型 描述
result number 0表示成功,非0表示失败
errmsg string result 非0时的具体错误信息
发布了354 篇原创文章 · 获赞 522 · 访问量 128万+

猜你喜欢

转载自blog.csdn.net/moakun/article/details/103652476
今日推荐