搜索特定通话记录 (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 定义显示顺序。

取值范围

  • asc:升序
  • desc:降序
sort_by String 定义排序字段。

取值范围

  • uid
  • time
  • call_type
  • last_status
  • call_duration
  • routing_duration
  • handling_duration
time_begin String 设置用于筛选通话记录的起始时间。

如果使用日期时间格式,则填写的时间格式取决于 PBX 的日期和时间显示格式 (在 PBX 上的 系统 > 日期和时间 > 显示格式 中设置)。

示例

  • PBX 的 日期显示格式月/日/年时间显示格式24 小时制,则此参数的有效时间填写格式为 MM/DD/YYYY HH:mm:ss
  • PBX 的 日期显示格式年/月/日时间显示格式12 小时制,则此参数的有效时间填写格式为 YYYY/MM/DD HH:mm:ss AM/PM
time_end String 设置用于筛选通话记录的结束时间。

如果使用日期时间格式,则填写的时间格式取决于 PBX 的日期和时间显示格式 (在 PBX 上的 系统 > 日期和时间 > 显示格式 中设置)。

示例

  • PBX 的 日期显示格式月/日/年时间显示格式24 小时制,则此参数的有效时间填写格式为 MM/DD/YYYY HH:mm:ss
  • PBX 的 日期显示格式年/月/日时间显示格式12 小时制,则此参数的有效时间填写格式为 YYYY/MM/DD HH:mm:ss AM/PM
call_from String 主叫号码。
call_to String 被叫号码。
account_code String 通过受 PIN 码限制的呼出路由进行外呼时所使用的,并被记录在通话记录中的 PIN 码。
注:
ext_group String 分机组的唯一 ID,用于查询分机组内成员的通话。
注:
  • 可使用 获取菜单选项 接口查询分机组 ID。
  • 使用半角逗号 , 分隔多个 ID。
disposition_code_list String 话务标签的唯一 ID。
注:
  • 你可以使用 获取菜单选项 接口查询话务标签的 ID。
  • 使用半角逗号 , 分隔多个 ID。
call_note_remark String 备注。
did String 指定 DID 以筛选通话记录。

取值范围{did_number}:{trunk_name}{did_name}:{trunk_name}

注:
  • 可使用 搜索特定中继 接口查询中继名称。
  • 使用半角逗号 , 分隔多个 DID。
ai_receptionist_list String AI 接待员的唯一 ID,用于查询指定 AI 接待员的通话。
注:
  • 可使用 获取菜单选项 接口查询 AI 接待员 ID。
  • 使用半角逗号 , 分隔多个 AI 接待员 ID。
ai_receptionist_status String AI 接待员通话的处理结果。

取值范围

  • resolved:AI 接待员成功解决了来电者的问题,未转接通话。
  • unresolved:AI 接待员将通话转接至其他目的地。
  • transfered:AI 接待员既未解决客户问题,也未转接通话。
  • noprocessingresult:通话因错误或超时异常结束,无法确定处理结果。
ai_transcription String AI 转录内容。
注: 可先从 下载的 AI 通话转写数据 中的 leg_id 参数中获取通话阶段 ID,再通过 获取 AI 通话转写原文获取 AI 通话总结 获取转录内容。
disconnected_by String 挂断通话的对象。
  • Extension:内部分机
  • External:外部号码
  • System:其他方
    注: 当来电在最大等待时长内未被接听、通话因紧急号码抢占而被强制终止等情况时,挂断方记为 System
dod_number String 被叫话机上显示的号码。
handling_duration String 通话被应答到通话结束的时间,包括保持时长。
注: 支持输入数字、-=<<=>>= 或数字范围。
routing_duration String 通话开始到通话被应答的时间。
注: 支持输入数字、-=<<=>>= 或数字范围。
second_participant String 第二个通话阶段的被叫。
last_participant String 最后一个通话阶段的被叫。
last_status String 通话的最终状态。

取值范围

  • ANSWERED:已接
  • NO ANSWER:未接
  • ABANDONED:放弃
  • BUSY:忙
  • FAILED:失败
  • VOICEMAIL:语音留言
org_list String 部门的唯一 ID,用于查询指定部门的通话。
注:
  • 可使用 搜索特定部门 接口查询部门 ID。
  • 使用半角逗号 , 分隔多个部门 ID。
queue_list String 队列的唯一 ID,用于查询指定队列的通话记录。
注:
  • 可使用 搜索特定队列 接口查询队列 ID。
  • 使用半角逗号 , 分隔多个队列 ID。
recording_type Integer 展示所有通话记录、带录音的通话记录、或不带录音的通话记录。

取值范围

  • 0:全部通话记录
  • 1:带录音的通话记录
  • 2:不带录音的通话记录
segments String 通话阶段的数量。
srcaddr String 主叫设备的 IP 地址。
trunk String 中继名称。
uid String 通话记录的唯一 ID。

响应参数

参数 类型 说明
errcode Integer 返回错误码。
  • 0:请求成功。
  • 非零值:请求失败。
注: 更多错误码和错误信息说明,请参见 错误码 & 错误信息
errmsg String 返回信息。
  • SUCCESS:请求成功。
  • FAILURE:请求失败。
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 码。

AI_Receptionist

参数 类型 说明
name String AI 接待员名称。
number String AI 接待员号码。
status String AI 接待员通话的处理结果。
  • resolved:AI 接待员成功解决了来电者的问题,未转接通话。
  • unresolved:AI 接待员将通话转接至其他目的地。
  • transfered:AI 接待员既未解决客户问题,也未转接通话。
  • noprocessingresult:通话因错误或超时异常结束,无法确定处理结果。

Call_Note

参数 类型 说明
agent_name String 添加通话备注的分机用户的名称。
disposition_code_list Array<Disposition_Codes> 通话备注中选择的话务标签信息。
group_id String 通话备注的组 ID。
id String 通话备注的唯一 ID。
registration_time Long 分机用户添加通话备注的时间。
remark String 备注。

Queue

参数 类型 说明
name String 队列名称。
number String 队列号码。
status String 通话状态。

Ring_Group

参数 类型 说明
name String 响铃组名称。
number String 响铃组号码。
status String 通话状态。

Disposition_Codes

参数 类型 说明
id Integer 话务标签的唯一 ID。
name String 话务标签。
description String 话务标签说明。

示例

请求示例

查询分机 1002 在 2026/06/04 00:00:00-2026/06/04 11:59:59 期间拨打电话的通话记录详情 (CDR)。
重要: 如果要通过日期和时间筛选 CDR,time_begintime_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
        }
    ]
}