用途
telnyx-account-reports-go 面向使用 Go 语言的开发者,帮助其在 Telnyx 平台上生成和获取账户用量报告,用于计费核对、用量分析与对账。该技能以 Go SDK 代码示例的形式给出,涵盖从客户端初始化到各类报告接口调用的完整流程。
主要能力
技能覆盖的报告接口包括:
- 通话事件列表:GET /call_events,按过滤器参数筛选通话事件,事件按 occurred_at 排序;若未提供 leg_id 或 application_session_id 过滤条件,则仅筛选最近 24 小时内的事件。返回字段含 call_leg_id、call_session_id、event_timestamp、metadata、name、record_type、type 等。
- 账本账单组报告:POST /ledger_billing_group_reports 创建,可选 month、year;GET /ledger_billing_group_reports/{id} 获取。返回字段含 created_at、id、organization_id、record_type、report_url、status(pending、complete、failed、deleted)、updated_at。
- MDR 详细报告请求(消息):GET /legacy/reporting/batch_detail_records/messaging 列出全部请求;POST 创建(必填 start_time、end_time,可选 connections、directions、filters、include_message_body、managed_accounts、profiles、record_types、report_name、select_all_managed_accounts、timezone);GET /{id} 获取;DELETE /{id} 删除。
- CDR 报告请求(语音):GET /legacy/reporting/batch_detail_records/voice 列出全部;POST 创建(必填 start_time、end_time,可选 call_types、connections、fields、filters、include_all_metadata、managed_accounts、record_types、report_name、select_all_managed_accounts、source、timezone);GET /{id} 获取;DELETE /{id} 删除;GET /voice/fields 获取 CDR 报告可用字段,返回 Billing、Interaction Data、Number Information、Telephony Data 等分组。
- MDR 用量报告:GET /legacy/reporting/usage_reports/messaging 列出历史请求;POST 创建(含 aggregation_type);GET /{id} 获取;DELETE /{id} 删除。
- 号码查询用量报告:GET /legacy/reporting/usage_reports/number_lookup 分页列出;POST 提交;GET /{id} 获取;DELETE /{id} 删除。
- CDR 用量报告:GET /legacy/reporting/usage_reports/voice 列出历史请求;POST 创建(含 start_time、end_time)。
使用方式
安装命令:
go get github.com/team-telnyx/telnyx-go
初始化示例:
import ( "context" "fmt" "os"
"github.com/team-telnyx/telnyx-go" "github.com/team-telnyx/telnyx-go/option" )
client := telnyx.NewClient( option.WithAPIKey(os.Getenv("TELNYX_API_KEY")), )
文档中的示例均假定 client 已按上述方式初始化。分页场景建议使用 ListAutoPaging() 自动迭代,例如 iter := client.Resource.ListAutoPaging(ctx, params); for iter.Next() { item := iter.Current() }。
错误处理
所有 API 调用可能因网络错误、限流(429)、校验错误(422)或认证错误(401)而失败。文档建议在生产代码中始终处理错误,示例使用 errors.As 判断是否为 *telnyx.Error 并读取 StatusCode。常见错误码:401 无效 API key、403 权限不足、404 资源未找到、422 校验错误(检查字段格式)、429 限流(使用指数退避重试)。
适用场景
适合需要在 Go 应用中集成 Telnyx 账户用量与详细记录报告的开发者,用于计费、分析与对账流程。
限制
关于收费、价格、报告生成时延或数据保留策略等具体信息,资料中暂未提供。