您可以通过QueryCallDetailByCallId获取呼叫记录,本文为您介绍QueryCallDetailByCallId接口的使用流程。

前提条件

入参列表

参数名称 参数类型 必填与否 样例取值 参数说明
CallId String 必须 113853585007^100675005007 呼叫唯一ID。
QueryDate Long 必须 123456 Unix时间戳,会查询这个时间点对应那一天的记录。
ProdId Long 必须 11010000138001 产品ID。取值:
  • 语音通知:11000000300006
  • ,语音验证码:11010000138001
  • IVR:11000000300005
  • 点击拨号:11000000300004
  • SIP为:11000000300009

出参列表

出参名称 出参类型 样例取值 参数说明
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****"} 呼叫详情。

技术对接步骤

  1. 下载SDK工具包。SDK&DEMO下载地址,请参见SDK及DEMO下载
  2. 编写样例程序
         // 代码节选,详见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 触发流控