搜索特定通话记录 (v2.0)
在 CDR 列表中搜索特定的通话记录。
注: 本文适用于 API 2.0 版本。
请求 URL
GET {base_url}/{api_path}/cdr/search?access_token={access_token}
请求参数
注: 如需模糊搜索号码,可通过 编辑通话记录选项 (v2.0)
接口启用模糊搜索功能。
| 参数 | 是否必填 | 类型 | 说明 |
|---|---|---|---|
| page | 否 | Integer | 定义显示第几个页面。 注: 如果没有设置此参数,则默认返回第一页。
|
| page_size | 否 | Integer | 定义每页显示几项查询结果。 最大值:10000 注: 如果没有设置此参数,则默认每页返回 10000
项结果。
|
| order_by | 否 | String | 定义显示顺序。 取值范围:
|
| sort_by | 否 | String | 定义排序字段。 取值范围:
|
| time_begin | 否 | String | 设置用于筛选通话记录的起始时间。 如果使用日期时间格式,则填写的时间格式取决于 PBX 的日期和时间显示格式 (在 PBX 上的 中设置)。 示例:
|
| time_end | 否 | String | 设置用于筛选通话记录的结束时间。 如果使用日期时间格式,则填写的时间格式取决于 PBX 的日期和时间显示格式 (在 PBX 上的 中设置)。 示例:
|
| call_from | 否 | String | 主叫号码。 |
| call_to | 否 | String | 被叫号码。 |
| account_code | 否 | String | 通过受 PIN 码限制的呼出路由进行外呼时所使用的,并被记录在通话记录中的 PIN 码。 注:
|
| ext_group | 否 | String | 分机组的唯一 ID,用于查询分机组内成员的通话。 注:
|
| disposition_code_list | 否 | String | 话务标签的唯一 ID。 注:
|
| call_note_remark | 否 | String | 备注。 |
| did | 否 | String | 指定 DID
以筛选通话记录。 取值范围:{did_number}:{trunk_name} 或 {did_name}:{trunk_name} 注:
|
| ai_receptionist_list | 否 | String | AI 接待员的唯一 ID,用于查询指定 AI 接待员的通话。 注:
|
| ai_receptionist_status | 否 | String | AI 接待员通话的处理结果。 取值范围:
|
| ai_transcription | 否 | String | AI 转录内容。 |
| disconnected_by | 否 | String | 挂断通话的对象。
|
| dod_number | 否 | String | 被叫话机上显示的号码。 |
| handling_duration | 否 | String | 通话被应答到通话结束的时间,包括保持时长。 注: 支持输入数字、 -、=、<、<=、>、>=
或数字范围。 |
| routing_duration | 否 | String | 通话开始到通话被应答的时间。 注: 支持输入数字、
-、=、<、<=、>、>=
或数字范围。 |
| second_participant | 否 | String | 第二个通话阶段的被叫。 |
| last_participant | 否 | String | 最后一个通话阶段的被叫。 |
| last_status | 否 | String | 通话的最终状态。 取值范围:
|
| org_list | 否 | String | 部门的唯一 ID,用于查询指定部门的通话。 注:
|
| queue_list | 否 | String | 队列的唯一 ID,用于查询指定队列的通话记录。 注:
|
| recording_type | 否 | Integer | 展示所有通话记录、带录音的通话记录、或不带录音的通话记录。 取值范围:
|
| segments | 否 | String | 通话阶段的数量。 |
| srcaddr | 否 | String | 主叫设备的 IP 地址。 |
| trunk | 否 | String | 中继名称。 |
| uid | 否 | String | 通话记录的唯一 ID。 |
响应参数
| 参数 | 类型 | 说明 |
|---|---|---|
| errcode | Integer | 返回错误码。
注: 更多错误码和错误信息说明,请参见 错误码 & 错误信息。
|
| errmsg | String | 返回信息。
|
| total_number | Integer | 搜索到的通话记录总数量。 |
| data | Array<CDR_Details> | 通话记录详细信息。 |
- CDR_Details
-
参数 类型 说明 id Integer 记录序号。 uid String 通话记录的唯一 ID。 time String 发起或接听该通通话的时间。 call_type String 通讯类型。 Inbound:呼入Outbound:呼出Internal:内部
call_from String 主叫的号码和名称。 call_from_name String 主叫名称。 call_from_number String 主叫号码。 call_to String 被叫的号码和名称。 call_to_name String 被叫名称。 call_to_number String 被叫号码。 second_participant String 第二个通话阶段的被叫。 second_participant_name String 第二个通话阶段被叫的名称。 second_participant_number String 第二个通话阶段被叫的号码。 last_participant String 最后一个通话阶段的被叫。 last_participant_name String 最后一个通话阶段被叫的名称。 last_participant_number String 最后一个通话阶段被叫的号码。 last_status String 通话的最终状态。 ANSWERED:已接NO ANSWER:未接ABANDONED:放弃BUSY:忙FAILED:失败VOICEMAIL:语音留言
queues Array<Queue> 队列信息和通话状态。 ivrs Array IVR 的名称和号码。 ring_groups Array<Ring_Group> 响铃组信息和通话状态。 call_flows Array 通话流程的名称和号码。 call_duration Integer 拨号开始到通话结束的时间。 routing_duration Integer 通话开始到通话被应答的时间。 handling_duration Integer 通话被应答到通话结束的时间,包括保持时长。 call_notes Object<Call_Note> 通话备注。 disconnected_by String 挂断通话的一方。 Extension:内部分机External:外部号码System:其他方注: 当来电在最大等待时长内未被接听、通话因紧急号码抢占而被强制终止等情况时,挂断方记为System。
segments Integer 通话阶段的数量。 ai_receptionist Array<AI_Receptionist> AI 接待员信息。 source_trunks Array 来电从哪条中继呼入。 destination_trunks Array 去电从哪条中继送出。 dids Array 主叫拨打的号码以及该号码关联的名称。
outbound_caller_ids Array 被叫话机上显示的号码。 pin_codes Array 用于外呼的 PIN 码。
示例
请求示例
查询分机 1002 在 2026/06/04 00:00:00-2026/06/04 11:59:59 期间拨打电话的通话记录详情 (CDR)。
重要: 如果要通过日期和时间筛选
CDR,
time_begin 和 time_end 参数的填写格式必须遵循 PBX
的日期和时间显示格式,否则响应结果中不会返回任何记录。GET /openapi/v2.0/cdr/search?access_token=cnZNgpnGWZ47KqcGTRFErxWdiRPWcxXD&time_begin=2026/06/04 00:00:00&time_end=2026/06/04 11:59:59&call_from=1002 HTTP/1.1
Host: yeastardocs.example.yeastarcloud.com
响应示例
HTTP/1.1 200 OK { "errcode": 0, "errmsg": "SUCCESS", "total_number": 1, "data": [ { "id": "67A41F2D-E38002F3", "uid": "20260604103519BEC58", "time": "2026/06/04 10:35:19", "call_type": "Internal", "call_from": "Terrell Smith<1002>", "call_from_name": "Terrell Smith", "call_from_number": "1002", "call_to": "Queue 81801<81801>", "call_to_name": "81801", "call_to_number": "81801", "second_participant": "Phillip Huff<1001>", "second_participant_name": "Phillip Huff", "second_participant_number": "1001", "last_participant": "81801:Phillip Huff<1001>", "last_participant_name": "Phillip Huff", "last_participant_number": "1001", "last_status": "ANSWERED", "queues": [ { "name": "81801", "number": "81801", "status": "ANSWERED" } ], "ivrs": null, "ring_groups": null, "call_flows": null, "call_duration": 33, "routing_duration": 3, "handling_duration": 30, "call_notes": null, "disconnected_by": "Extension", "segments": 2, "ai_receptionist": null, "source_trunks": null, "destination_trunks": null, "dids": null, "outbound_caller_ids": null, "pin_codes": null } ] }