本章节为您介绍阿里云语音服务语音通知的功能介绍和实现方法。
功能介绍
当您调用接口成功实现语音通知、语音验证码、语音IVR、智能外呼功能,可以调用QueryCallDetailByCallId接口根据接口返回的CallId查询某个时间点的通话记录。
实现方法
在调用API实现该功能前,您需要完成以下操作:
购买语音号码并审核通过语音模板或语音文件。具体操作,请参见新手指引。
获取AccessKey信息。更多详情,请参见获取AccessKey。
完成本地SDK环境搭建。更多详情,请参见Java SDK。
示例
本章节调用接口详情,请参见QueryCallDetailByCallId。
说明
调用接口前,需配置环境变量,通过环境变量读取访问凭证。AccessKey ID和AccessKey Secret的环境变量名:VMS_AK_ENV 、VMS_SK_ENV。配置详情请参见配置访问凭证。
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
public class QueryCallDetailByCallId {
public static void main(String[] args) {
// 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
// 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
// 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", System.getenv("VMS_AK_ENV"), System.getenv("VMS_SK_ENV"));
IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
request.setMethod(MethodType.POST);
request.setDomain("dyvmsapi.aliyuncs.com");
request.setVersion("2017-05-25");
request.setAction("QueryCallDetailByCallId");
request.putQueryParameter("CallId", "100625930001^10019107xx");
request.putQueryParameter("ProdId", "11000000300004");
request.putQueryParameter("QueryDate", "1553774465000");
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}
正常返回结果如下所示:
{
"Data":{"caller":"1876713xx","startDate":"","stateDesc":"502","duration":0,"callerShowNumber":"0534475xx","gmtCreate":"2019-12-24 20:09:06","state":"502","endDate":"","calleeShowNumber":"0534475xx","callee":"1373546xx"}
"Message": "OK",
"RequestId": "A5291B00-1036-4CA2-8BFD-1238B784C9BA",
"Code": "OK"
}
调用SDK返回错误码,详情请参见错误码列表。
文档内容是否对您有帮助?