所有四种语言的表面积相同。相同的发布节奏。相同的 SLA。
每个 SDK 都执行相同的操作 — 初始化客户端、调用 calls.create,记录结果。选择一种语言并复制片段。
测试模式键(AJX_TEST_…)对我们的模拟器发出呼叫。他们从不拨打真正的电话,也不会根据您的分钟限额计费——非常适合 CI。
import Ajoxi from '@ajoxi/sdk';
const ajoxi = new Ajoxi({ apiKey: process.env.AJOXI_KEY });
const call = await ajoxi.calls.create({
to: '+14155551234',
from: '+14155550100',
aiReceptionist: true,
});
console.log(call.id, call.status);每个 Ajoxi SDK 都提供相同的操作原语,因此您可以专注于业务逻辑。
每个端点和响应的完整类型定义 - 无需猜测字段名称。
网络信号和 5xx 错误会按照指数退避自动重试,并遵守重试后规则。
具有恒定时间比较的单行 HMAC-SHA256 签名验证。
无需编写单个游标循环即可迭代数百万条记录。
每个请求都会返回一个 X-Request-Id,您可以引用它来支持 — 每个错误都会出现。
使用一个构造函数参数在测试密钥和生产密钥之间切换。
如果您更愿意使用 Rust、PHP、.NET 或 Elixir,社区可以满足您的需求。这些不是第一方,可能在新功能上落后——固定到生产中经过测试的版本。
cargo add ajoxi-rs由@ajoxi-community 维护composer require ajoxi/ajoxi-php由@ajoxi-community 维护dotnet add package Ajoxi由@ajoxi-community 维护mix deps.get ajoxi_ex由@ajoxi-community 维护选择与您的运行时间相匹配的一个。 Node.js 和 Python 首先获得功能更新,并且具有最广泛的生产用途。 Go 和 Ruby 在一两个版本中提供了相同的表面积。所有四个都是第一方 — 由 Ajoxi 团队维护,并具有相同的支持 SLA。
它被标记为 beta 是因为公共 API 尚未冻结——我们可能会在 v1.0 之前重命名一两个参数。从功能上讲,它涵盖了每个端点,并且已经在我们自己的内部管道中运行了一年多。生产使用没问题;固定到次要版本。
SDK 针对最新的稳定 API 版本(当前为 v1)。当新的 API 版本发布时,SDK 维护人员会在两个发布周期内更新客户端 - 您不必选择。 SDK 支持通过构造函数选项固定特定的 API 版本以进行迁移。
是的。 Node.js 默认是异步的(所有方法都返回 Promises)。 Python 提供同步和异步客户端(“Ajoxi”和“AsyncAjoxi”)。 Go 在每次调用时都是上下文感知的。 Ruby 通过可选的“ajoxi-async” gem 与基于 Fiber 的并发同步。
Node.js SDK 附带了手工策划的 TypeScript 类型,涵盖每个端点、请求和响应。工会响应的类型缩小正如您所期望的那样。对于需要没有运行时客户端的类型的项目,生成的类型也会单独发布到“@ajoxi/sdk-types”。
是的 — 所有四个 SDK 均在 GitHub 上开源。欢迎提出问题和 PR。我们有权重写实现细节以与内部模式保持一致,但已发布的表面积被视为合同。
启动沙盒密钥并在一天结束之前交付工作集成。