用途
本技能用于通过 Telnyx REST API(curl 命令)配置电话号码设置,涵盖主叫号码显示、呼叫转移、消息功能启用、连接分配、紧急呼叫设置等号码管理操作。适合在命令行或脚本环境中直接调用 Telnyx API 完成号码配置与批量管理。
主要能力
- 号码查询与列表:列出电话号码(GET /phone_numbers)、精简列表(GET /phone_numbers/slim,性能更高、速率限制更宽松)、带消息设置的号码列表(GET /phone_numbers/messaging)、带语音设置的号码列表(GET /phone_numbers/voice)、移动号码消息设置列表(GET /mobile_phone_numbers/messaging)。
- 单个号码操作:检索号码详情(GET /phone_numbers/{id})、更新号码(PATCH /phone_numbers/{id},可设置 address_id、billing_group_id、connection_id、customer_reference、external_pin、hd_voice_enabled、tags 等)、删除号码(DELETE /phone_numbers/{id})。
- 号码归属验证:POST /phone_numbers/actions/verify_ownership,返回号码与 ID 的映射及未找到的号码列表。
- 批量作业:批量更新号码(POST /phone_numbers/jobs/update_phone_numbers,单次最多 1000 个号码)、批量删除号码(POST /phone_numbers/jobs/delete_phone_numbers)、批量更新紧急设置(POST /phone_numbers/jobs/update_emergency_settings)、查询作业列表(GET /phone_numbers/jobs)与作业详情(GET /phone_numbers/jobs/{id})。
- 消息配置批量更新:POST /messaging_numbers_bulk_updates 批量更新号码的消息配置文件,支持 assign_only 参数;GET /messaging_numbers_bulk_updates/{order_id} 查询批量更新状态。
使用方式
- 环境准备:curl 在 macOS、Linux 和 Windows 10+ 上已预装。
- 认证设置:export TELNYX_API_KEY="YOUR_API_KEY_HERE",所有示例使用 $TELNYX_API_KEY 进行认证,请求头为 Authorization: Bearer $TELNYX_API_KEY。
- 调用示例(批量更新消息配置文件):
curl
-X POST
-H "Authorization: Bearer $TELNYX_API_KEY"
-H "Content-Type: application/json"
-d '{
"messaging_profile_id": "550e8400-e29b-41d4-a716-446655440000",
"numbers": [
"+13125550001"
]
}'
"https://api.telnyx.com/v2/messaging_numbers_bulk_updates"
- 错误处理:生产代码中应始终处理错误。示例通过 curl -s -w "\n%{http_code}" 获取 HTTP 状态码,再根据状态码分支处理:2* 成功、422 验证错误、429 速率限制(延迟后重试)、401 认证失败。常见错误码包括 401 无效 API 密钥、403 权限不足、404 资源未找到、422 验证错误、429 速率限制(建议指数退避重试)。
适用场景
- 批量配置号码的消息配置文件或连接分配。
- 批量更新或删除电话号码(单次最多 1000 个)。
- 批量更新紧急呼叫设置。
- 查询号码的语音、消息、紧急设置等详细配置。
- 验证号码归属并获取号码 ID 映射。
限制与注意事项
- 电话号码必须使用 E.164 格式(如 +13125550001),包含 + 前缀和国家代码,不能有空格、短横线或括号。
- 列表端点返回分页结果,使用 page[number] 和 page[size] 查询参数翻页,并检查响应中的 meta.total_pages。
- 批量更新号码时,单次 API 调用最多更新 1000 个号码,且至少提交一个可更新字段。
- 批量删除号码同样单次最多 1000 个。
- 关于收费、价格、平台支持范围等更多信息,资料中暂未提供。