您可以通过QueryCallDetailByCallId获取呼叫记录,本文为您介绍QueryCallDetailByCallId接口的使用流程。
前提条件
- 完成注册阿里云账号,并完成企业实名认证。具体操作,请参见注册阿里云账号和企业实名认证。
- 开通语音服务。具体操作。请参见开通服务。
- 获取AccessKey。具体操作,请参见获取AccessKey。
- 购买号码。具体操作,请参见购买号码。
- 创建文本转语音模板或上传语音文件。具体操作,请参见创建文本转语音模板和通过控制台上传语音文件。
入参列表
参数名称 | 参数类型 | 必填与否 | 样例取值 | 参数说明 |
---|---|---|---|---|
CallId | String | 必须 | 113853585007^100675005007 | 呼叫唯一ID。 |
QueryDate | Long | 必须 | 123456 | Unix时间戳,会查询这个时间点对应那一天的记录。 |
ProdId | Long | 必须 | 11010000138001 | 产品ID。取值:
|
出参列表
出参名称 | 出参类型 | 样例取值 | 参数说明 |
---|---|---|---|
RequestId | String | 8906582E-6722 | 请求ID。 |
Code | String | OK | 状态码。返回OK代表请求成功,其他错误码详见错误码列表。 |
Message | String | 请求成功 | 状态码的描述。 |
Data | String | {"caller":"1390000****","startDate":"","stateDesc":"502","duration":0,"callerShowNumber":"0534475****","gmtCreate":"2017-11-27 20:09:06","state":"502","endDate":"","calleeShowNumber":"0534475****","callee":"1391111****"} | 呼叫详情。 |
技术对接步骤
- 下载SDK工具包。SDK&DEMO下载地址,请参见SDK及DEMO下载。
- 编写样例程序
// 代码节选,详见dyvms_php.zip\aliyun-dyvms-php-sdk\api_demo /** * 通过呼叫ID获取呼叫记录 * * @return stdClass * @throws ClientException */ public static function queryCallDetailByCallId() { $request = new QueryCallDetailByCallIdRequest(); //组装请求对象-CallId从上次呼叫调用的返回值中获取 $request->setCallId("113853585007^100675005007"); // 必填: 设置你需要查询的时间,会查询对应那一天的记录,注意:跨天情况可以判断一下昨天的记录 $request->setQueryDate(time().'000'); // 必填: 设置对应的产品类型 // 语音通知(11000000300006) // 语音验证码(11010000138001) // IVR(11000000300005) // 点击拨号(11000000300004) // SIP(11000000300009) $request->setProdId("11000000300004"); // 注意: 此处可能会抛出异常,注意catch $response = static::getAcsClient()->getAcsResponse($request); return $response; }
错误码列表
Code | 描述 |
---|---|
OK | 请求成功 |
isp.RAM_PERMISSION_DENY | RAM权限DENY |
isv.INVALID_PARAMETERS | 参数异常 |
isp.SYSTEM_ERROR | 系统错误 |
isv.BUSINESS_LIMIT_CONTROL | 触发流控 |