telnyx-numbers-ruby
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
Telnyx Numbers - Ruby
Telnyx Numbers - Ruby
Installation
安装
bash
gem install telnyxbash
gem install telnyxSetup
配置
ruby
require "telnyx"
client = Telnyx::Client.new(
api_key: ENV["TELNYX_API_KEY"], # This is the default and can be omitted
)All examples below assume is already initialized as shown above.
clientruby
require "telnyx"
client = Telnyx::Client.new(
api_key: ENV["TELNYX_API_KEY"], # 这是默认配置,可以省略
)以下所有示例均假设已按上述方式完成初始化。
clientError Handling
错误处理
All API calls can fail with network errors, rate limits (429), validation errors (422),
or authentication errors (401). Always handle errors in production code:
ruby
available_phone_numbers = client.available_phone_numbers.list
puts(available_phone_numbers)Common error codes: invalid API key, insufficient permissions,
resource not found, validation error (check field formats),
rate limited (retry with exponential backoff).
401403404422429所有API调用都可能因网络错误、速率限制(429)、校验错误(422)或认证错误(401)而失败。在生产代码中请务必处理错误:
ruby
available_phone_numbers = client.available_phone_numbers.list
puts(available_phone_numbers)常见错误码: API密钥无效, 权限不足, 资源未找到, 校验错误(请检查字段格式), 触发速率限制(请使用指数退避策略重试)。
401403404422429Important Notes
重要注意事项
- Phone numbers must be in E.164 format (e.g., ). Include the
+13125550001prefix and country code. No spaces, dashes, or parentheses.+ - Pagination: Use for automatic iteration:
.auto_paging_each.page.auto_paging_each { |item| puts item.id }
- 电话号码必须采用E.164格式(例如 )。需包含
+13125550001前缀和国家代码,不得有空格、短横线或括号。+ - 分页: 使用实现自动迭代:
.auto_paging_each。page.auto_paging_each { |item| puts item.id }
Reference Use Rules
参考使用规则
Do not invent Telnyx parameters, enums, response fields, or webhook fields.
- If the parameter, enum, or response field you need is not shown inline in this skill, read references/api-details.md before writing code.
- Before using any operation in , read the optional-parameters section and the response-schemas section.
## Additional Operations
不要自行编造Telnyx的参数、枚举值、响应字段或webhook字段。
- 如果本技能中没有你需要的参数、枚举值或响应字段,请在编写代码前阅读references/api-details.md。
- 在使用中的任何接口前,请阅读可选参数章节和响应模式章节。
## 其他操作
Core Tasks
核心任务
Search available phone numbers
搜索可用电话号码
Number search is the entrypoint for provisioning. Agents need the search method, key query filters, and the fields returned for candidate numbers.
client.available_phone_numbers.list()GET /available_phone_numbers| Parameter | Type | Required | Description |
|---|---|---|---|
| object | No | Consolidated filter parameter (deepObject style). |
ruby
available_phone_numbers = client.available_phone_numbers.list
puts(available_phone_numbers)Response wrapper:
- items:
available_phone_numbers.data - pagination:
available_phone_numbers.meta
Primary item fields:
phone_numberrecord_typequickshipreservablebest_effortcost_information
号码搜索是号码开通的入口。Agent需要掌握搜索方法、关键查询筛选条件以及候选号码返回字段。
client.available_phone_numbers.list()GET /available_phone_numbers| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| object | 否 | 合并筛选参数(deepObject风格)。 |
ruby
available_phone_numbers = client.available_phone_numbers.list
puts(available_phone_numbers)响应包装:
- 条目:
available_phone_numbers.data - 分页信息:
available_phone_numbers.meta
主要条目字段:
phone_numberrecord_typequickshipreservablebest_effortcost_information
Create a number order
创建号码订单
Number ordering is the production provisioning step after number selection.
client.number_orders.create()POST /number_orders| Parameter | Type | Required | Description |
|---|---|---|---|
| array[object] | Yes | |
| string (UUID) | No | Identifies the connection associated with this phone number. |
| string (UUID) | No | Identifies the messaging profile associated with the phone n... |
| string (UUID) | No | Identifies the billing group associated with the phone numbe... |
| ... | +1 optional params in references/api-details.md |
ruby
number_order = client.number_orders.create(phone_numbers: [{"phone_number": "+18005550101"}])
puts(number_order)Primary response fields:
number_order.data.idnumber_order.data.statusnumber_order.data.phone_numbers_countnumber_order.data.requirements_metnumber_order.data.messaging_profile_idnumber_order.data.connection_id
号码订购是选号后的生产环境开通步骤。
client.number_orders.create()POST /number_orders| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| array[object] | 是 | |
| string (UUID) | 否 | 标识与该电话号码关联的连接。 |
| string (UUID) | 否 | 标识与电话号码关联的消息配置文件。 |
| string (UUID) | 否 | 标识与电话号码关联的计费组。 |
| ... | 还有1个可选参数见references/api-details.md |
ruby
number_order = client.number_orders.create(phone_numbers: [{"phone_number": "+18005550101"}])
puts(number_order)主要响应字段:
number_order.data.idnumber_order.data.statusnumber_order.data.phone_numbers_countnumber_order.data.requirements_metnumber_order.data.messaging_profile_idnumber_order.data.connection_id
Check number order status
查询号码订单状态
Order status determines whether provisioning completed or additional requirements are still blocking fulfillment.
client.number_orders.retrieve()GET /number_orders/{number_order_id}| Parameter | Type | Required | Description |
|---|---|---|---|
| string (UUID) | Yes | The number order ID. |
ruby
number_order = client.number_orders.retrieve("550e8400-e29b-41d4-a716-446655440000")
puts(number_order)Primary response fields:
number_order.data.idnumber_order.data.statusnumber_order.data.requirements_metnumber_order.data.phone_numbers_countnumber_order.data.phone_numbersnumber_order.data.connection_id
订单状态可判断开通是否完成,或是否有其他需求阻碍交付。
client.number_orders.retrieve()GET /number_orders/{number_order_id}| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (UUID) | 是 | 号码订单ID。 |
ruby
number_order = client.number_orders.retrieve("550e8400-e29b-41d4-a716-446655440000")
puts(number_order)主要响应字段:
number_order.data.idnumber_order.data.statusnumber_order.data.requirements_metnumber_order.data.phone_numbers_countnumber_order.data.phone_numbersnumber_order.data.connection_id
Important Supporting Operations
重要支持操作
Use these when the core tasks above are close to your flow, but you need a common variation or follow-up step.
当上述核心任务与你的流程相近,但你需要常见的变体或后续步骤时使用这些接口。
Create a number reservation
创建号码预留
Create or provision an additional resource when the core tasks do not cover this flow.
client.number_reservations.create()POST /number_reservations| Parameter | Type | Required | Description |
|---|---|---|---|
| array[object] | Yes | |
| enum (pending, success, failure) | No | The status of the entire reservation. |
| string (UUID) | No | |
| string | No | |
| ... | +3 optional params in references/api-details.md |
ruby
number_reservation = client.number_reservations.create(phone_numbers: [{"phone_number": "+18005550101"}])
puts(number_reservation)Primary response fields:
number_reservation.data.idnumber_reservation.data.statusnumber_reservation.data.created_atnumber_reservation.data.updated_atnumber_reservation.data.customer_referencenumber_reservation.data.errors
当核心任务未覆盖该流程时,创建或开通额外资源。
client.number_reservations.create()POST /number_reservations| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| array[object] | 是 | |
| enum (pending, success, failure) | 否 | 整个预留的状态。 |
| string (UUID) | 否 | |
| string | 否 | |
| ... | 还有3个可选参数见references/api-details.md |
ruby
number_reservation = client.number_reservations.create(phone_numbers: [{"phone_number": "+18005550101"}])
puts(number_reservation)主要响应字段:
number_reservation.data.idnumber_reservation.data.statusnumber_reservation.data.created_atnumber_reservation.data.updated_atnumber_reservation.data.customer_referencenumber_reservation.data.errors
Retrieve a number reservation
查询号码预留
Fetch the current state before updating, deleting, or making control-flow decisions.
client.number_reservations.retrieve()GET /number_reservations/{number_reservation_id}| Parameter | Type | Required | Description |
|---|---|---|---|
| string (UUID) | Yes | The number reservation ID. |
ruby
number_reservation = client.number_reservations.retrieve("550e8400-e29b-41d4-a716-446655440000")
puts(number_reservation)Primary response fields:
number_reservation.data.idnumber_reservation.data.statusnumber_reservation.data.created_atnumber_reservation.data.updated_atnumber_reservation.data.customer_referencenumber_reservation.data.errors
在更新、删除或进行控制流决策前获取当前状态。
client.number_reservations.retrieve()GET /number_reservations/{number_reservation_id}| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (UUID) | 是 | 号码预留ID。 |
ruby
number_reservation = client.number_reservations.retrieve("550e8400-e29b-41d4-a716-446655440000")
puts(number_reservation)主要响应字段:
number_reservation.data.idnumber_reservation.data.statusnumber_reservation.data.created_atnumber_reservation.data.updated_atnumber_reservation.data.customer_referencenumber_reservation.data.errors
List Advanced Orders
列出高级订单
Inspect available resources or choose an existing resource before mutating it.
client.advanced_orders.list()GET /advanced_ordersruby
advanced_orders = client.advanced_orders.list
puts(advanced_orders)Response wrapper:
- items:
advanced_orders.data
Primary item fields:
idstatusarea_codecommentscountry_codecustomer_reference
在修改资源前检查可用资源或选择现有资源。
client.advanced_orders.list()GET /advanced_ordersruby
advanced_orders = client.advanced_orders.list
puts(advanced_orders)响应包装:
- 条目:
advanced_orders.data
主要条目字段:
idstatusarea_codecommentscountry_codecustomer_reference
Create Advanced Order
创建高级订单
Create or provision an additional resource when the core tasks do not cover this flow.
client.advanced_orders.create()POST /advanced_orders| Parameter | Type | Required | Description |
|---|---|---|---|
| enum (local, mobile, toll_free, shared_cost, national, ...) | No | |
| string (UUID) | No | The ID of the requirement group to associate with this advan... |
| string (ISO 3166-1 alpha-2) | No | |
| ... | +5 optional params in references/api-details.md |
ruby
advanced_order = client.advanced_orders.create
puts(advanced_order)Primary response fields:
advanced_order.idadvanced_order.statusadvanced_order.area_codeadvanced_order.commentsadvanced_order.country_codeadvanced_order.customer_reference
当核心任务未覆盖该流程时,创建或开通额外资源。
client.advanced_orders.create()POST /advanced_orders| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| enum (local, mobile, toll_free, shared_cost, national, ...) | 否 | |
| string (UUID) | 否 | 与该高级订单关联的需求组ID。 |
| string (ISO 3166-1 alpha-2) | 否 | |
| ... | 还有5个可选参数见references/api-details.md |
ruby
advanced_order = client.advanced_orders.create
puts(advanced_order)主要响应字段:
advanced_order.idadvanced_order.statusadvanced_order.area_codeadvanced_order.commentsadvanced_order.country_codeadvanced_order.customer_reference
Update Advanced Order
更新高级订单
Modify an existing resource without recreating it.
client.advanced_orders.update_requirement_group()PATCH /advanced_orders/{advanced-order-id}/requirement_group| Parameter | Type | Required | Description |
|---|---|---|---|
| string (UUID) | Yes | |
| enum (local, mobile, toll_free, shared_cost, national, ...) | No | |
| string (UUID) | No | The ID of the requirement group to associate with this advan... |
| string (ISO 3166-1 alpha-2) | No | |
| ... | +5 optional params in references/api-details.md |
ruby
response = client.advanced_orders.update_requirement_group("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
puts(response)Primary response fields:
response.idresponse.statusresponse.area_coderesponse.commentsresponse.country_coderesponse.customer_reference
无需重建即可修改现有资源。
client.advanced_orders.update_requirement_group()PATCH /advanced_orders/{advanced-order-id}/requirement_group| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (UUID) | 是 | |
| enum (local, mobile, toll_free, shared_cost, national, ...) | 否 | |
| string (UUID) | 否 | 与该高级订单关联的需求组ID。 |
| string (ISO 3166-1 alpha-2) | 否 | |
| ... | 还有5个可选参数见references/api-details.md |
ruby
response = client.advanced_orders.update_requirement_group("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
puts(response)主要响应字段:
response.idresponse.statusresponse.area_coderesponse.commentsresponse.country_coderesponse.customer_reference
Get Advanced Order
查询高级订单
Fetch the current state before updating, deleting, or making control-flow decisions.
client.advanced_orders.retrieve()GET /advanced_orders/{order_id}| Parameter | Type | Required | Description |
|---|---|---|---|
| string (UUID) | Yes |
ruby
advanced_order = client.advanced_orders.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
puts(advanced_order)Primary response fields:
advanced_order.idadvanced_order.statusadvanced_order.area_codeadvanced_order.commentsadvanced_order.country_codeadvanced_order.customer_reference
在更新、删除或进行控制流决策前获取当前状态。
client.advanced_orders.retrieve()GET /advanced_orders/{order_id}| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (UUID) | 是 |
ruby
advanced_order = client.advanced_orders.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
puts(advanced_order)主要响应字段:
advanced_order.idadvanced_order.statusadvanced_order.area_codeadvanced_order.commentsadvanced_order.country_codeadvanced_order.customer_reference
List available phone number blocks
列出可用电话号码块
Inspect available resources or choose an existing resource before mutating it.
client.available_phone_number_blocks.list()GET /available_phone_number_blocks| Parameter | Type | Required | Description |
|---|---|---|---|
| object | No | Consolidated filter parameter (deepObject style). |
ruby
available_phone_number_blocks = client.available_phone_number_blocks.list
puts(available_phone_number_blocks)Response wrapper:
- items:
available_phone_number_blocks.data - pagination:
available_phone_number_blocks.meta
Primary item fields:
phone_numbercost_informationfeaturesrangerecord_typeregion_information
在修改资源前检查可用资源或选择现有资源。
client.available_phone_number_blocks.list()GET /available_phone_number_blocks| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| object | 否 | 合并筛选参数(deepObject风格)。 |
ruby
available_phone_number_blocks = client.available_phone_number_blocks.list
puts(available_phone_number_blocks)响应包装:
- 条目:
available_phone_number_blocks.data - 分页信息:
available_phone_number_blocks.meta
主要条目字段:
phone_numbercost_informationfeaturesrangerecord_typeregion_information
Retrieve all comments
查询所有评论
Inspect available resources or choose an existing resource before mutating it.
client.comments.list()GET /comments| Parameter | Type | Required | Description |
|---|---|---|---|
| object | No | Consolidated filter parameter (deepObject style). |
ruby
comments = client.comments.list
puts(comments)Response wrapper:
- items:
comments.data - pagination:
comments.meta
Primary item fields:
idbodycreated_atupdated_atcomment_record_idcomment_record_type
在修改资源前检查可用资源或选择现有资源。
client.comments.list()GET /comments| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| object | 否 | 合并筛选参数(deepObject风格)。 |
ruby
comments = client.comments.list
puts(comments)响应包装:
- 条目:
comments.data - 分页信息:
comments.meta
主要条目字段:
idbodycreated_atupdated_atcomment_record_idcomment_record_type
Additional Operations
其他操作
Use the core tasks above first. The operations below are indexed here with exact SDK methods and required params; use references/api-details.md for full optional params, response schemas, and lower-frequency webhook payloads.
Before using any operation below, read the optional-parameters section and the response-schemas section so you do not guess missing fields.
| Operation | SDK method | Endpoint | Use when | Required params |
|---|---|---|---|---|
| Create a comment | | | Create or provision an additional resource when the core tasks do not cover this flow. | None |
| Retrieve a comment | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Mark a comment as read | | | Modify an existing resource without recreating it. | |
| Get country coverage | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Get coverage for a specific country | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| List customer service records | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Create a customer service record | | | Create or provision an additional resource when the core tasks do not cover this flow. | None |
| Verify CSR phone number coverage | | | Create or provision an additional resource when the core tasks do not cover this flow. | None |
| Get a customer service record | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| List inexplicit number orders | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Create an inexplicit number order | | | Create or provision an additional resource when the core tasks do not cover this flow. | |
| Retrieve an inexplicit number order | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Create an inventory coverage request | | | Inspect available resources or choose an existing resource before mutating it. | None |
| List mobile network operators | | | Inspect available resources or choose an existing resource before mutating it. | None |
| List network coverage locations | | | Inspect available resources or choose an existing resource before mutating it. | None |
| List number block orders | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Create a number block order | | | Create or provision an additional resource when the core tasks do not cover this flow. | |
| Retrieve a number block order | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Retrieve a list of phone numbers associated to orders | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Retrieve a single phone number within a number order. | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Update requirements for a single phone number within a number order. | | | Modify an existing resource without recreating it. | |
| List number orders | | | Create or inspect provisioning orders for number purchases. | None |
| Update a number order | | | Modify an existing resource without recreating it. | |
| List number reservations | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Extend a number reservation | | | Trigger a follow-up action in an existing workflow rather than creating a new top-level resource. | |
| Retrieve the features for a list of numbers | | | Create or provision an additional resource when the core tasks do not cover this flow. | |
| Lists the phone number blocks jobs | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Deletes all numbers associated with a phone number block | | | Create or provision an additional resource when the core tasks do not cover this flow. | |
| Retrieves a phone number blocks job | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| List sub number orders | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Retrieve a sub number order | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Update a sub number order's requirements | | | Modify an existing resource without recreating it. | |
| Cancel a sub number order | | | Modify an existing resource without recreating it. | |
| Create a sub number orders report | | | Create or provision an additional resource when the core tasks do not cover this flow. | None |
| Retrieve a sub number orders report | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Download a sub number orders report | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
请优先使用上述核心任务。下方列出的操作在此处索引了准确的SDK方法和必填参数;请参考references/api-details.md查看完整可选参数、响应模式和低频次webhook payload。
在使用下方任何操作前,请阅读可选参数章节和响应模式章节,请勿猜测缺失字段。
| 操作 | SDK方法 | 端点 | 使用场景 | 必填参数 |
|---|---|---|---|---|
| 创建评论 | | | 当核心任务未覆盖该流程时,创建或开通额外资源。 | 无 |
| 查询评论 | | | 在更新、删除或进行控制流决策前获取当前状态。 | |
| 标记评论为已读 | | | 无需重建即可修改现有资源。 | |
| 获取国家覆盖范围 | | | 在修改资源前检查可用资源或选择现有资源。 | 无 |
| 获取指定国家覆盖范围 | | | 在更新、删除或进行控制流决策前获取当前状态。 | |
| 列出客户服务记录 | | | 在修改资源前检查可用资源或选择现有资源。 | 无 |
| 创建客户服务记录 | | | 当核心任务未覆盖该流程时,创建或开通额外资源。 | 无 |
| 校验CSR电话号码覆盖 | | | 当核心任务未覆盖该流程时,创建或开通额外资源。 | 无 |
| 获取客户服务记录 | | | 在更新、删除或进行控制流决策前获取当前状态。 | |
| 列出非显式号码订单 | | | 在修改资源前检查可用资源或选择现有资源。 | 无 |
| 创建非显式号码订单 | | | 当核心任务未覆盖该流程时,创建或开通额外资源。 | |
| 查询非显式号码订单 | | | 在更新、删除或进行控制流决策前获取当前状态。 | |
| 创建库存覆盖请求 | | | 在修改资源前检查可用资源或选择现有资源。 | 无 |
| 列出移动网络运营商 | | | 在修改资源前检查可用资源或选择现有资源。 | 无 |
| 列出网络覆盖位置 | | | 在修改资源前检查可用资源或选择现有资源。 | 无 |
| 列出号码块订单 | | | 在修改资源前检查可用资源或选择现有资源。 | 无 |
| 创建号码块订单 | | | 当核心任务未覆盖该流程时,创建或开通额外资源。 | |
| 查询号码块订单 | | | 在更新、删除或进行控制流决策前获取当前状态。 | |
| 查询订单关联的电话号码列表 | | | 在修改资源前检查可用资源或选择现有资源。 | 无 |
| 查询号码订单中的单个电话号码 | | | 在更新、删除或进行控制流决策前获取当前状态。 | |
| 更新号码订单中单个电话号码的需求 | | | 无需重建即可修改现有资源。 | |
| 列出号码订单 | | | 创建或查询号码购买的开通订单。 | 无 |
| 更新号码订单 | | | 无需重建即可修改现有资源。 | |
| 列出号码预留 | | | 在修改资源前检查可用资源或选择现有资源。 | 无 |
| 延长号码预留有效期 | | | 在现有工作流中触发后续操作,无需创建新的顶层资源。 | |
| 查询号码列表的功能 | | | 当核心任务未覆盖该流程时,创建或开通额外资源。 | |
| 列出电话号码块任务 | | | 在修改资源前检查可用资源或选择现有资源。 | 无 |
| 删除电话号码块关联的所有号码 | | | 当核心任务未覆盖该流程时,创建或开通额外资源。 | |
| 查询电话号码块任务 | | | 在更新、删除或进行控制流决策前获取当前状态。 | |
| 列出子号码订单 | | | 在修改资源前检查可用资源或选择现有资源。 | 无 |
| 查询子号码订单 | | | 在更新、删除或进行控制流决策前获取当前状态。 | |
| 更新子号码订单需求 | | | 无需重建即可修改现有资源。 | |
| 取消子号码订单 | | | 无需重建即可修改现有资源。 | |
| 创建子号码订单报表 | | | 当核心任务未覆盖该流程时,创建或开通额外资源。 | 无 |
| 查询子号码订单报表 | | | 在更新、删除或进行控制流决策前获取当前状态。 | |
| 下载子号码订单报表 | | | 在更新、删除或进行控制流决策前获取当前状态。 | |
Other Webhook Events
其他Webhook事件
| Event | | Description |
|---|---|---|
| | Number Order Status Update |
For exhaustive optional parameters, full response schemas, and complete webhook payloads, see references/api-details.md.
| 事件 | | 描述 |
|---|---|---|
| | 号码订单状态更新 |
如需完整的可选参数、全量响应模式和完整webhook payload,请查看references/api-details.md。