用途
本技能面向 Telnyx 电话号码的监管合规管理,提供 REST API 的 curl 调用示例。它覆盖监管要求、要求组、号码捆绑包、支持文档以及已验证号码等合规相关资源,帮助开发者通过命令行完成号码合规流程的查询与操作。
主要能力
捆绑包(Bundles)
- 获取所有允许的捆绑包:
GET /bundle_pricing/billing_bundles - 按 ID 获取单个捆绑包:
GET /bundle_pricing/billing_bundles/{bundle_id} - 获取用户捆绑包分页列表:
GET /bundle_pricing/user_bundles - 批量创建用户捆绑包:
POST /bundle_pricing/user_bundles/bulk(可选 idempotency_key、items) - 获取未使用的用户捆绑包:
GET /bundle_pricing/user_bundles/unused - 按 ID 获取用户捆绑包:
GET /bundle_pricing/user_bundles/{user_bundle_id} - 停用用户捆绑包:
DELETE /bundle_pricing/user_bundles/{user_bundle_id} - 获取用户捆绑包资源:
GET /bundle_pricing/user_bundles/{user_bundle_id}/resources
文档(Documents)
- 列出所有文档链接:
GET /document_links - 列出所有文档(支持过滤、排序):
GET /documents - 上传文档:
POST /documents(可选 customer_reference、file、filename、url)。上传的文件必须在 30 分钟内关联到服务,否则会被自动删除。 - 检索文档:
GET /documents/{id} - 更新文档:
PATCH /documents/{id} - 删除文档:
DELETE /documents/{id}。仅当文档未关联服务时可删除;若已关联,需先解除关联。 - 下载文档:
GET /documents/{id}/download - 生成临时下载链接:
GET /documents/{id}/download_link,返回无需认证即可直接下载的预签名 URL。
监管要求与要求组(Regulatory Requirements & Requirement Groups)
- 为号码订单电话号码更新要求组:
POST /number_order_phone_numbers/{id}/requirement_group(必填 requirement_group_id) - 检索一组电话号码的监管要求:
GET /phone_numbers_regulatory_requirements - 检索监管要求:
GET /regulatory_requirements - 列出要求组:
GET /requirement_groups - 创建要求组:
POST /requirement_groups(必填 country_code、phone_number_type、action;可选 customer_reference、regulatory_requirements) - 按 ID 获取单个要求组:
GET /requirement_groups/{id} - 更新要求组中的要求值:
PATCH /requirement_groups/{id} - 按 ID 删除要求组:
DELETE /requirement_groups/{id} - 提交要求组审批:
POST /requirement_groups/{id}/submit_for_approval - 列出所有要求类型:
GET /requirement_types - 按 ID 检索要求类型:
GET /requirement_types/{id} - 列出所有要求(支持过滤、排序、分页):
GET /requirements - 检索文档要求记录:
GET /requirements/{id} - 为子号码订单更新要求组:
POST /sub_number_orders/{id}/requirement_group(必填 requirement_group_id)
使用方式
安装
curl 在 macOS、Linux 和 Windows 10+ 上已预装。
设置
export TELNYX_API_KEY="YOUR_API_KEY_HERE"
所有示例均使用 $TELNYX_API_KEY 进行认证。
错误处理
所有 API 调用都可能因网络错误、速率限制(429)、验证错误(422)或认证错误(401)而失败。生产代码中应始终处理错误。示例:
response=$(curl -s -w "\n%{http_code}" \
-X POST "https://api.telnyx.com/v2/messages" \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"to": "+13125550001", "from": "+13125550002", "text": "Hello"}')
http_code=$(echo "$response" | tail -1)
body=$(echo "$response" | sed '$d')
case $http_code in
2*) echo "Success: $body" ;;
422) echo "Validation error — check required fields and formats" ;;
429) echo "Rate limited — retry after delay"; sleep 1 ;;
401) echo "Authentication failed — check TELNYX_API_KEY" ;;
*) echo "Error $http_code: $body" ;;
esac
常见错误码:401 无效 API 密钥,403 权限不足,404 资源未找到,422 验证错误(检查字段格式),429 速率限制(使用指数退避重试)。
重要说明
- 电话号码必须为 E.164 格式(例如 +13125550001),包含 + 前缀和国家代码,不能有空格、短横线或括号。
- 分页:列表端点返回分页结果,使用
page[number]和page[size]查询参数翻页,检查响应中的meta.total_pages。
适用场景
适用于需要通过命令行或脚本方式管理 Telnyx 电话号码合规事务的开发者,例如:查询可用捆绑包、上传并关联合规文档、创建并提交监管要求组审批、为号码订单指定要求组等。
限制
- 文档上传后必须在 30 分钟内关联到服务,否则自动删除。
- 文档仅在未关联服务时可删除,已关联需先解除关联。
- 电话号码必须使用 E.164 格式。
- 列表端点分页返回,需自行处理翻页。
- 需有效的 TELNYX_API_KEY 进行认证。
- 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。