用途
Telnyx Account Management - Ruby 是一个面向经销商(reseller)与企业场景的 Ruby SDK 技能,用于管理 Telnyx 子账户(managed accounts)以及组织用户。它通过 Ruby SDK 提供账户管理相关 API 的调用示例,帮助开发者在 Ruby 项目中集成 Telnyx 的账户管理能力。
主要能力
该技能覆盖以下账户管理操作:
- 列出当前用户管理的账户(GET /managed_accounts)。用户需要经 Telnyx 明确批准才能成为管理账户。
- 创建新的托管账户(POST /managed_accounts),必填字段为 business_name,可选字段包括 email、managed_account_allow_custom_pricing、password、rollup_billing。
- 查看当前用户可分配的全局出站通道信息(GET /managed_accounts/allocatable_global_outbound_channels),仅账户管理者可用。
- 检索单个托管账户详情(GET /managed_accounts/{id})。
- 更新托管账户(PATCH /managed_accounts/{id}),可选字段为 managed_account_allow_custom_pricing。
- 禁用托管账户(POST /managed_accounts/{id}/actions/disable),禁止其使用 Telnyx 服务(包括收发电话与短信),进行中的通话不受影响,账户及其子用户将无法登录 mission control portal。
- 启用托管账户(POST /managed_accounts/{id}/actions/enable),可选字段为 reenable_all_connections。
- 更新分配给特定托管账户的可分配全局出站通道数量(PATCH /managed_accounts/{id}/update_global_channel_limit),可选字段为 channel_limit。
- 列出组织用户(GET /organizations/users)。
- 获取组织用户分组报告(GET /organizations/users/users_groups_report),该端点返回全部用户且不分页,始终包含分组信息,可通过特定 content-type 头以 JSON 或 CSV 格式获取。
- 获取组织用户详情(GET /organizations/users/{id})。
- 删除组织用户(POST /organizations/users/{id}/actions/remove)。
使用方式
安装:
gem install telnyx
初始化客户端:
require "telnyx"
client = Telnyx::Client.new( api_key: ENV["TELNYX_API_KEY"], # This is the default and can be omitted )
所有示例均假设 client 已按上述方式初始化。
错误处理:所有 API 调用都可能因网络错误、速率限制(429)、验证错误(422)或认证错误(401)而失败。生产代码中应始终处理错误:
begin result = client.messages.send_(to: "+13125550001", from: "+13125550002", text: "Hello") rescue Telnyx::Errors::APIConnectionError puts "Network error — check connectivity and retry" rescue Telnyx::Errors::RateLimitError
429: rate limited — wait and retry with exponential backoff
sleep(1) # Check Retry-After header for actual delay rescue Telnyx::Errors::APIStatusError => e puts "API error #{e.status}: #{e.message}" if e.status == 422 puts "Validation error — check required fields and formats" end end
常见错误码:401 无效 API key,403 权限不足,404 资源未找到,422 验证错误(检查字段格式),429 速率限制(使用指数退避重试)。
分页:使用 .auto_paging_each 自动迭代:page.auto_paging_each { |item| puts item.id }。
适用场景
适用于经销商和企业通过 Ruby 应用管理 Telnyx 子账户与组织用户的场景,例如批量创建和管理托管账户、控制账户启用与禁用、调整全局出站通道分配,以及查询组织用户及其分组信息。
限制
使用托管账户功能需要经 Telnyx 明确批准才能成为管理账户。可分配的全局出站通道信息仅账户管理者可用。组织用户分组报告端点返回全部用户且不分页。