用途:面向 Java 应用的 Telnyx 语音呼叫控制 SDK,用于在服务端以编程方式发起与接听电话、控制通话状态,并通过 webhook 接收实时呼叫事件。
主要能力: dial() 发起外呼;actions().answer() 接听来电;actions().transfer() 转接通话;actions().bridge() 桥接通话;actions().hangup() 挂断;actions().reject() 拒接(cause 为 CALL_REJECTED 或 USER_BUSY);retrieveStatus() 查询通话状态;connections().listActiveCalls() 列出某连接的活动通话;并对 call control applications 提供 create/retrieve/update/delete 管理。
使用方式:通过 Maven 依赖 com.telnyx.sdk:telnyx:6.89.0 或 Gradle implementation("com.telnyx.sdk:telnyx:6.89.0") 引入。用 TelnyxOkHttpClient.fromEnv() 初始化 TelnyxClient。号码须为 E.164 格式(如 +13125550001),带 + 与国家代码,不含空格、横线或括号。列表方法返回分页,可用 autoPager() 自动迭代,或用 hasNextPage()/nextPage() 手动控制。生产代码需处理 401、403、404、422、429 等错误,429 建议指数退避重试。
Webhook:Telnyx 使用 Ed25519 签名,请求头含 telnyx-signature-ed25519 与 telnyx-timestamp,生产环境须调用 client.webhooks().unwrap() 校验。事件包括 call.initiated、call.answered、call.hangup 等,payload 含 call_control_id、connection_id、call_leg_id、call_session_id 等字段。
限制:呼叫控制是事件驱动的,需使用 webhook 事件中的 call_control_id 发起后续命令;外呼与呼入流程不同,呼入须先通过来电 webhook 接听才能执行其他命令;必须有公网可达的 webhook 端点,否则通话虽可接通但应用无法驱动实时呼叫状态。参数、枚举、响应字段与 webhook 字段需查阅 references/api-details.md 和 webhook payload 参考,不应自行猜测。其他细节暂未提供。