- 主页
- /
- 文章
合作伙伴中心的 Webex Calling 详细通话记录 webhook
Webex Calling 多租户 (MT) 合作伙伴可以设置 webhook 来收集所有客户的 Webex Calling 记录。这样就可以高效地进行账单核对、 分析和报告,而无需单独查询每个客户。
概览
详细通话记录 webhook 提供了一个安全、可扩展且强大的解决方案,该方案由事件驱动,而不是由请求驱动。此网络钩子可让您更清楚地了解客户的 Webex Calling 活动,支持从计费到定制报告的各种用例。
您可以使用此 webhook 方便地收集通过 Partner Hub 管理的所有客户的记录,而无需单独查询每个客户。此网络钩子允许您为内部业务需求和增值服务开发自定义报告、计费和分析应用程序。
如需了解 webhook 及其相关 API 的介绍,请观看此 视频:Webex Calling Partner 详细通话历史记录 API。
合作伙伴 Webhook 提供的功能
该网络钩子每 5 分钟提供一次详细的通话历史记录。每个 webhook 有效负载包含:
- 通话记录显示,通话结束时间在当前时间前 5 分钟至 10 分钟之间。
- Webex Calling 云处理的任何延迟记录。
- 自动将延迟的通话记录填充到后续的 webhook 有效负载中,以确保可靠交付。
为了展示通话记录是如何包含在每个有效载荷中的,请参考以下示例:
- 接收到的有效载荷 14:05 包含在以下时间段结束的通话: 13:55 和 14:00.
- 通话结束于 14:00 和 14:05 包含在内 14:10 有效载荷。
- 先前完成的记录(例如,结束于 14:04) 但 Webex Calling 云平台处理延迟(例如,在 14:11) 包含在下一个计划的有效载荷中(例如, 14:15).
网络钩子能够可靠地传输记录。但是,当系统在某些条件下重放记录时,您可能会在后续的 webhook 有效负载中收到重复记录。您负责处理记录去重。要识别重复记录,请使用 reportId 字段作为主键,并使用 reportTime 字段来确定何时完成或处理呼叫。使用这些字段可以更新或插入内部数据存储中的记录。
合作伙伴中心的 Webhook
通过提供 webhook,您可以使分析平台能够在生成通话记录时将其发送到您的回调 URL。
Webex 通话记录采用与现有 详细通话记录 API相同的格式提供。您可以设置一个 webhook,并在两种类型的信息流之间进行选择:
- 分析——包括合作伙伴与其建立 Webex Calling 关系的所有客户组织的全部通话记录。这包括以下类型的组织:
- 合作伙伴以合作伙伴完全管理员角色管理客户组织。
- 客户组织在合作伙伴组织内拥有有效的 Webex Calling 订阅。
- 计费—包括使用合作伙伴销售和提供的 Webex Calling 许可证的用户拨打的电话的通话记录。此信息流中包含工作区的通话记录。
访问和数据隐私
只有拥有该设备的合作伙伴才能访问通话详细记录 (CDR) 以进行计费。
- 管理与通话记录相关的许可证的合伙人(或子合伙人)成为所有权合伙人。
- 所有权由以下因素决定:用户身份 > 许可证 ID > 订阅 ID > 合作伙伴 ID。
- 每个 CDR 仅供单个合作伙伴访问。
- 有些通话记录无法与计费合作伙伴关联,而且与组织关联的合作伙伴并非都能平等地访问所有记录,因为这些记录可能包含个人身份信息 (PII)。
设置 Webhook 回拨 URL
在合作伙伴中心配置 webhook。每个合作伙伴组织只能设置一个 webhook。
请确保您拥有“合作伙伴完全管理员角色”和 “组织完全管理员级别访问权限”,并且在 Control Hub(位于 ”。 > 用户,选择完全管理员或合作伙伴完全管理员,然后选择 )。

| 1 |
登录合作伙伴中心。 |
| 2 |
前往 。 |
| 3 |
在 Webhook下输入要使用的 URL。 URL 必须以……结尾 /webhook (例如, https://yourdomain.com/webhook).
|
| 4 |
如果您想使用密钥令牌验证您的 webhook 有效负载,您可以添加一个密钥令牌。要了解有关 Webex Webhook 和密钥令牌的更多信息,请参阅 Webex for Developers:Webhooks。 |
| 5 |
请选择以下 资源类型 之一用于webhook:
|
合作伙伴 API 端点
除了 webhook 之外,Webex Calling 还提供 API 端点以支持数据协调。这些端点允许您将数据存储与 webhook 监听器可能未收到的任何缺失记录进行核对或调整。这两个 API 端点分别是 协调 API 和 记录 API。
这些 API 的记录可保留 30 天。为确保您收到所有预期记录,我们建议您定期核对您的记录存储,例如每 12 或 24 小时核对一次。
您必须使用合作伙伴访问令牌才能访问这些 API。根据标准的 Webex Developer 访问令牌管理实践获取和管理您的合作伙伴访问令牌。
API窗口范围适用于两个端点,以便更好地处理服务负载。
- 对于超过 48 小时的时间范围,允许的最大窗口持续时间为 12 小时(建议并强制执行)。
- 对于 48 小时或更短的时间范围,允许的最大窗口持续时间为 48 小时(不建议使用;此选项将于 2026 年 1 月 30 日弃用)。
- 对于合作伙伴组织 ID,API 的速率限制为每分钟每个令牌范围一个初始 API 请求。如果使用分页,则每个令牌每分钟最多允许 10 个额外的分页 API 请求,这些请求可以在初始请求之后立即发出。
对账 API 端点
对账 API 端点返回合作伙伴在指定时间段内管理的每个客户生成的呼叫记录总数。您可以利用这些总数来验证本地存储,并识别特定客户的任何缺失或不一致的通话记录。
如果您管理超过 200 个客户组织,API 将对结果进行分页显示,以提高可读性。
对账 API 端点 URL 使用以下格式:
https://analytics-calling.webexapis.com/v1/partners/cdrcountbyorg?endTime=YYYY-MM-DDTHH:MM:SS.000Z&startTime=YYYY-MM-DDTHH:MM:SS.000Z API 参数
您可以使用 API 检索最近 30 天的通话记录。您选择的时间窗口必须至少在当前 UTC 时间前 5 分钟开始,并且在单次 API 调用中,开始时间和结束时间之间的时长不能超过 12 小时。
API参数如下:
- startTime (必需,字符串)—要收集的第一条记录的开始日期和时间(UTC)。确保:
- 时间格式为
YYYY-MM-DDTHH:MM:SS.mmmZ。例如,2025-08-15T06:00:00.000Z。
- 开始日期和时间不得早于当前 UTC 时间 30 天。
-
startTime和endTime之间的时间窗口不能超过 12 小时。
- 时间格式为
- endTime (必需,字符串)—要收集的记录的结束日期和时间(UTC)。记录以报告时间为准,即通话结束的时间。确保:
- 时间格式为
YYYY-MM-DDTHH:MM:SS.mmmZ。例如,2025-08-15T18:00:00.000Z。 - 结束日期和时间必须比当前 UTC 时间早 5 分钟,且不得早于 30 天。
- 结束日期和时间必须大于
startTime。 -
startTime和endTime之间的时间窗口不能超过 12 小时。
- 时间格式为
对账 API 端点 JSON 响应示例:
{
"cdr_counts": [
{
"orgId": "zzzzzzzz-yyyy-zzzz-xxxx-yyyyyyyyyyyy",
"count": 3009
},
{
"orgId": "yyyyyyyy-yyyy-zzzz-xxxx-yyyyyyyyyyyy",
"count": 129
},
{
"orgId": "xxxxxxxx-yyyy-zzzz-xxxx-yyyyyyyyyyyy",
"count": 27895
}
]
}
API 响应标头指示返回的组织总数以及是否有其他页面可用。请检查以下标头参数,确保已查询所有页面:
- 页数:总页数(例如,2)
- 组织总数:参与调查的机构总数(例如,283 个)
- 当前页码:当前页码(例如,1)
例如,如果标题显示 num-pages=2, total-orgs=283, 和 current-page=1, 您正在查看包含 283 个组织的两页回复的第一页。要访问下一页,请添加 page=2 GET 请求的参数,如下所示:
https://analytics-calling.webexapis.com/v1/partners/cdrcountbyorg?endTime=YYYY-MM-DDTHH:MM:SS.000Z&startTime=YYYY-MM-DDTHH:MM:SS.000Z&page=2 记录 API 端点
Records API 端点用于查询特定组织中缺失的呼叫记录,这些组织在使用 Reconciliation API 识别出差异或缺失数据。
Records API 以 JSON 格式返回通话记录,与 详细通话历史记录 API中描述的格式相同。返回的有效载荷包含与详细通话历史记录返回的有效载荷相同的字段。有关字段及其值的更多信息,请参阅 Webex Calling 详细通话历史记录报告。
API 提供当前时间前 5 分钟结束的通话记录。为确保所有通话记录均可获取,我们建议您在首选时间窗口后一小时查询 API。
Records API 端点 URL 使用以下格式:
https://analytics-calling.webexapis.com/v1/partners/cdrsbyorg?orgId=zzzzzzzz-yyyy-zzzz-xxxx-yyyyyyyyyyyy&endTime=YYYY-MM-DDTHH:MM:SS.000Z&startTime=YYYY-MM-DDTHH:MM:SS.000Z
API 参数
- OrgID (必需,字符串)—要检索记录的组织 ID。您可以从对账 API 获取组织 ID。
- startTime (必需,字符串)—要收集的第一条记录的开始日期和时间(UTC)。确保:
- 时间格式为
YYYY-MM-DDTHH:MM:SS.mmmZ。例如,2025-08-15T06:00:00.000Z。 - 开始日期和时间不得早于当前 UTC 时间 30 天。
- 在单个 API 请求中,方括号
startTime和endTime方括号 之间的间隔不得超过 12 小时。
- 时间格式为
- endTime (必需,字符串)—要收集的最后一条记录的结束日期和时间(UTC)。记录以报告时间为准,即通话结束的时间。确保:
- 时间格式为
YYYY-MM-DDTHH:MM:SS.mmmZ。例如,2025-08-15T18:00:00.000Z。 - 结束日期和时间必须至少比当前 UTC 时间早 5 分钟,且不得早于 30 天。
- 结束日期和时间必须大于
startTime。 - 在单个 API 请求中,方括号
startTime和endTime方括号 之间的间隔不得超过 12 小时。
- 时间格式为
- Max (可选,数字)—限制响应中每页的最大记录数。确保:
- 范围从 500 到 5000。默认值为 5000。例如,
Max=1000。 - 如果 API 返回的记录数超过指定的最大值,则响应将分页显示。
- 如果指定的值小于 500,则会自动调整到 500。如果指定的值大于 5000,则将其向下调整至 5000。
- 范围从 500 到 5000。默认值为 5000。例如,
分页
要确定 API 响应是否分页,请检查响应标头中的 Link 标头。如果 Link 标头中存在 next 链接,则提取该链接并使用 startTimeForNextFetch 值请求下一组记录。如果没有下一个链接,则会收集所选时间范围内的所有报告。
可以立即发出后续页面的 API 请求,但必须限制速率,每个令牌范围每分钟最多只能发出 10 个分页请求。
例如,如果初始 API 请求是:
https://analytics-calling.webexapis.com/v1/partners/cdrsbyorg?orgId=zzzzzzzz-yyyy-zzzz-xxxx-yyyyyyyyyyyy&endTime=2025-08-15T18:00:00.000Z&startTime=2025-08-15T06:00:00.000Z&Max=5000 那么响应中的 Link 标头就是:
; rel="next" 其他可能的链接值包括 rel="first" 和 rel="prev" ,分别表示第一页和上一页。
此 API 的分页遵循 RFC5988(Web 链接)标准。有关更多信息,请参阅 REST API 基础知识。
伙伴 reports/templates API
您可以使用 合作伙伴报告 API生成和下载合作伙伴中心中提供的报告。更多信息,请参阅 合作伙伴 report/templates。
合作伙伴还可以直接从合作伙伴中心访问和下载多份报告。有关更多信息,请参阅 合作伙伴中心报告。