用途
Telnyx Account Reports - JavaScript 提供了一组 JavaScript SDK 示例,用于生成和获取 Telnyx 账户的使用报告,服务于计费、分析与对账等场景。使用者可通过这些示例调用 Telnyx 平台的报表类 API,查询通话、消息等业务的用量与明细数据。
主要能力
技能文档覆盖以下几类报表接口:
- 呼叫事件列表(GET /call_events):按过滤参数查询呼叫事件,事件按 occurred_at 排序。若未提供 leg_id 或 application_session_id 过滤条件,仅返回最近 24 小时的事件。
- 账本计费组报告(ledger billing group reports):支持创建(POST /ledger_billing_group_reports,可选 month、year)与获取(GET /ledger_billing_group_reports/{id}),返回状态含 pending、complete、failed、deleted。
- MDR 详细记录(消息类,/legacy/reporting/batch_detail_records/messaging):支持列出全部请求、创建(必填 start_time、end_time,可选 connections、directions、filters、include_message_body、managed_accounts、profiles、record_types、report_name、select_all_managed_accounts、timezone)、按 ID 获取以及删除。
- CDR 详细记录(语音类,/legacy/reporting/batch_detail_records/voice):支持列出全部请求、创建(必填 start_time、end_time,可选 call_types、connections、fields、filters、include_all_metadata、managed_accounts、record_types、report_name、select_all_managed_accounts、source、timezone)、按 ID 获取、删除,以及获取可用 CDR 报表字段(含 Billing、Interaction Data、Number Information、Telephony Data 等分组)。
- 用量报告:包括 MDR 用量报告(/legacy/reporting/usage_reports/messaging)、CDR 用量报告(/legacy/reporting/usage_reports/voice)以及号码查询用量报告(/legacy/reporting/usage_reports/number_lookup)的列出、创建、按 ID 获取与删除操作。
使用方式
安装依赖:
npm install telnyx@6.74.2
初始化客户端:
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});
文档中的所有示例均假设 client 已按上述方式初始化。列表方法返回自动分页迭代器,可用 for await (const item of result) { ... } 自动遍历所有分页。
错误处理
文档建议在生产代码中始终处理错误。常见状态码包括:401(API 密钥无效)、403(权限不足)、404(资源未找到)、422(校验错误,需检查字段格式)、429(触发限流,应配合指数退避重试)。示例中针对网络错误(Telnyx.APIConnectionError)、限流错误(Telnyx.RateLimitError,可通过 err.headers?.['retry-after'] 获取等待时间)与通用 API 错误(Telnyx.APIError)分别给出了处理方式。
适用场景与限制
该技能适用于使用 Telnyx 通信平台、需要通过 JavaScript SDK 获取账户计费、用量与明细报告的开发者,可用于账单核对、用量分析和运营统计集成。需要注意的是:文档中部分接口位于 legacy 路径下;呼叫事件查询在缺少特定过滤条件时仅覆盖最近 24 小时;关于计费方式、价格、平台支持范围等未在资料中提供,暂未提供相关信息。