SuperAPI AI 工具集

telnyx-numbers-services-javascript

编程与开发

查看项目

更新于 10-16 05:24

技能介绍

用途

本技能面向使用 JavaScript 的开发者,帮助通过 Telnyx 官方 SDK 配置电话号码相关的服务,包括语音信箱(voicemail)、语音通道(voice channels / Channel Billing)以及紧急呼叫(E911)服务。所有示例均基于 telnyx npm 包。

安装与初始化

安装命令:

npm install telnyx

初始化方式:

import Telnyx from 'telnyx';

const client = new Telnyx({ apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted });

文档中所有示例均假设 client 已按上述方式初始化。

错误处理

所有 API 调用都可能因网络错误、速率限制(429)、校验错误(422)或认证错误(401)而失败。生产代码中应始终处理错误。示例展示了如何区分 Telnyx.APIConnectionError、Telnyx.RateLimitError 和 Telnyx.APIError,并对 429 采用指数退避重试。常见错误码包括:401 无效 API 密钥、403 权限不足、404 资源未找到、422 校验错误(检查字段格式)、429 速率限制(使用指数退避重试)。

分页

列表方法返回自动分页迭代器,可使用 for await (const item of result) { ... } 自动遍历所有页面。

主要能力

语音通道(非美国区域)

  • 列出非美国区域的语音通道:GET /channel_zones,返回 channels、countries、created_at、id、name、record_type、updated_at。
  • 更新非美国区域的语音通道数量:PUT /channel_zones/{channel_zone_id},必填参数 channels。用于根据预期呼叫量增减容量,以处理对非美国号码的多个并发呼入。

语音通道(美国区域)

  • 列出美国区域的语音通道:GET /inbound_channels,返回 channels、record_type。
  • 更新美国区域的语音通道数量:PATCH /inbound_channels,必填参数 channels。用于处理对美国号码的多个并发呼入。

使用 Channel Billing 的号码列表

  • 列出所有使用 Channel Billing 的号码(按 Zone 分组):GET /list,返回 number_of_channels、numbers、zone_id、zone_name。
  • 列出指定 Zone 使用 Channel Billing 的号码:GET /list/{channel_zone_id},返回字段同上。

动态紧急地址(E911)

  • 列出动态紧急地址:GET /dynamic_emergency_addresses,返回 administrative_area、country_code(US、CA、PR)、created_at、extended_address、house_number、house_suffix、id、locality、postal_code、record_type、sip_geolocation_id、status(pending、activated、rejected)、street_name、street_post_directional、street_pre_directional、street_suffix、updated_at。
  • 创建动态紧急地址:POST /dynamic_emergency_addresses,必填 house_number、street_name、locality、administrative_area、postal_code、country_code。
  • 获取动态紧急地址:GET /dynamic_emergency_addresses/{id}。
  • 删除动态紧急地址:DELETE /dynamic_emergency_addresses/{id}。

动态紧急端点(E911)

  • 列出动态紧急端点:GET /dynamic_emergency_endpoints,返回 callback_number、caller_name、created_at、dynamic_emergency_address_id、id、record_type、sip_from_id、status、updated_at。
  • 创建动态紧急端点:POST /dynamic_emergency_endpoints,必填 dynamic_emergency_address_id、callback_number、caller_name。
  • 获取动态紧急端点:GET /dynamic_emergency_endpoints/{id}。
  • 删除动态紧急端点:DELETE /dynamic_emergency_endpoints/{id}。

语音信箱

  • 获取语音信箱设置:GET /phone_numbers/{phone_number_id}/voicemail,返回 enabled、pin。
  • 创建语音信箱设置:POST /phone_numbers/{phone_number_id}/voicemail,可选参数 enabled、pin。
  • 更新语音信箱设置:PATCH /phone_numbers/{phone_number_id}/voicemail,可选参数 enabled、pin。

适用场景

适用于需要在 Node.js 应用中通过代码管理 Telnyx 电话号码服务的开发者,例如批量配置语音信箱、根据呼叫量调整语音通道容量、为号码配置 E911 紧急地址与端点等。

限制

资料未提供价格、收费、平台兼容性、性能指标或具体使用步骤之外的额外说明。部分接口的完整参数与返回字段以官方文档为准。