SuperAPI AI 工具集

telnyx-sip-integrations-curl

部署与运维

查看项目

更新于 10-16 07:05

技能介绍

用途

该技能面向需要管理 Telnyx SIP 集成相关资源的开发者,提供一组基于 curl 的 REST API 调用示例。文档覆盖自定义存储凭证、Dialogflow 连接、外部连接(External Connections)及其下属的日志、地址、电话号码、发布(Releases)与上传(Uploads)等资源。

主要能力

自定义存储凭证(Custom Storage Credentials)

  • 获取、创建、更新、删除存储凭证配置。
  • 使用 GET/POST/PUT/DELETE /custom_storage_credentials/{connection_id}。
  • 返回字段包括 backend(gcs、s3、azure)与 configuration。

Dialogflow 连接(Dialogflow Connections)

  • 获取、创建、更新、删除与 CallControl 连接关联的 Dialogflow 连接。
  • 使用 GET/POST/PUT/DELETE /dialogflow_connections/{connection_id}。
  • 返回字段包括 connection_id、conversation_profile_id、environment、record_type、service_account。

外部连接(External Connections)

  • 列出、创建、获取、更新、删除 External Connection。
  • 创建时 external_sip_connection(枚举 zoom、operator_connect)与 outbound 为必填。
  • 支持字段包括 active、inbound、tags、webhook_event_failover_url、webhook_event_url、webhook_timeout_secs。
  • 删除可能因号码占用、连接处于活动状态或为 Operator Connect 连接而被阻止;移除 Operator Connect 集成需联系 Telnyx 支持。

日志消息(Log Messages)

  • 列出所有外部连接的日志消息、获取单条日志、删除(Dismiss)日志消息。

地址与位置(Civic Addresses / Locations)

  • 列出、获取外部连接下的 civic addresses 及位置。
  • 更新位置静态紧急地址:PATCH /external_connections/{id}/locations/{location_id},必填 static_emergency_address_id。

电话号码(Phone Numbers)

  • 列出、获取外部连接下的电话号码,并异步更新号码设置(可选 location_id)。

发布(Releases)与上传(Uploads)

  • 列出、获取 Release 请求,Release 在变更 Microsoft Teams 号码的 connection_id 时自动创建。
  • 列出、创建 Upload 请求,并刷新所有 Upload 请求状态。创建 Upload 时 number_ids 必填,最多 1000 个号码;civic_address_id 与 location_id 只能提供其一;usage 枚举为 calling_user_assignment、first_party_app_assignment。

使用方式

  • curl 在 macOS、Linux 与 Windows 10+ 上预装。
  • 设置环境变量:export TELNYX_API_KEY="YOUR_API_KEY_HERE"。
  • 所有示例使用 Authorization: Bearer $TELNYX_API_KEY 进行认证。
  • 分页:列表端点返回分页结果,可使用 page[number] 与 page[size] 查询参数翻页,并检查响应中的 meta.total_pages。

错误处理

所有 API 调用可能因网络错误、速率限制(429)、验证错误(422)或认证错误(401)而失败。生产代码中应始终处理错误。示例通过 -w "\n%{http_code}" 捕获 HTTP 状态码并使用 case 分支处理:

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 速率限制(使用指数退避重试)。

适用场景

  • 通过命令行脚本管理 Telnyx SIP 中继集成配置。
  • 为 SIP 中继接入配置外部连接、存储凭证与 Dialogflow 连接。
  • 管理 Microsoft Teams 相关号码上传、发布流程与紧急地址。

限制

  • 文档未提供各接口的速率限制具体阈值、计费方式与价格信息。
  • 创建 Upload 请求时 number_ids 数组最大支持 1000 个号码;civic_address_id 与 location_id 只能提供其一。
  • 部分外部连接删除操作可能被阻止,需联系 Telnyx 支持。
  • 文档中的返回字段、枚举值与必填/可选要求以原文为准。