用途
Telnyx SETI JavaScript 技能用于在 JavaScript 项目中通过 Telnyx 官方 SDK 访问 SETI(Space Exploration Telecommunications Infrastructure)API。该技能以示例代码的形式,展示如何初始化客户端、调用接口以及处理错误,帮助开发者快速接入相关通信能力。
主要能力
该技能提供的示例覆盖以下内容:
- 安装与初始化:通过 npm 安装 telnyx 包,并使用 API Key 初始化客户端。
- 错误处理:演示如何捕获并区分网络错误(APIConnectionError)、速率限制错误(RateLimitError,对应 429)、API 错误(APIError)等,并给出针对 429 的指数退避重试思路。
- 获取枚举:调用
client.messaging10dlc.getEnum('mno'),对应接口GET /10dlc/enum/{endpoint}。 - 检索黑盒测试结果:调用
client.seti.retrieveBlackBoxTestResults(),对应接口GET /seti/black_box_test_results,返回字段包括 black_box_tests(数组[对象])、product(字符串)、record_type(字符串)。
使用方式
安装命令:
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
});
错误处理示例:
try {
const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
if (err instanceof Telnyx.APIConnectionError) {
console.error('Network error — check connectivity and retry');
} else if (err instanceof Telnyx.RateLimitError) {
// 429: rate limited — wait and retry with exponential backoff
const retryAfter = err.headers?.['retry-after'] || 1;
await new Promise(r => setTimeout(r, retryAfter * 1000));
} else if (err instanceof Telnyx.APIError) {
console.error(`API error ${err.status}: ${err.message}`);
if (err.status === 422) {
console.error('Validation error — check required fields and formats');
}
}
}
获取枚举示例:
const response = await client.messaging10dlc.getEnum('mno');
console.log(response);
检索黑盒测试结果示例:
const response = await client.seti.retrieveBlackBoxTestResults();
console.log(response.data);
适用场景
适用于需要在 JavaScript/Node.js 应用中集成 Telnyx SETI API 的开发者,尤其是需要调用 10DLC 枚举接口或获取黑盒测试结果的场景。示例中的错误处理模式也可作为生产环境 API 调用的参考。
限制
资料中未提供该技能的收费、价格、平台支持范围、性能效果或完整接口清单等信息。常见错误码说明包括:401 无效 API Key、403 权限不足、404 资源未找到、422 验证错误(检查字段格式)、429 速率限制(使用指数退避重试)。