Нативные оболочки для Ajoxi API. Приступайте к работе за считанные минуты с помощью типобезопасных клиентов и встроенной проверки веб-перехватчика.
Одинаковая площадь поверхности для всех четырех языков. Та же частота выпусков. То же соглашение об уровне обслуживания.
$ npm install @ajoxi/sdk$ pip install ajoxi$ go get github.com/ajoxi/ajoxi-go$ gem install ajoxiОдна и та же операция во всех 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 повторяют попытку автоматически с экспоненциальной задержкой, соблюдая Retry-After.
Однострочная проверка подписи HMAC-SHA256 со сравнением в постоянное время.
Перебирайте миллионы записей, не записывая ни одного цикла курсора.
Каждый запрос возвращает идентификатор X-Request-Id, который вы можете указать для поддержки — он появляется при каждой ошибке.
Переключение между тестовыми ключами и рабочими ключами с помощью одного конструктора arg.
Если вы предпочитаете работать с 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 с одинаковым соглашением об уровне обслуживания.
Он помечен как бета-версия, потому что общедоступный API не был заморожен — мы можем переименовать один или два параметра до версии 1.0. Функционально он охватывает все конечные точки и уже более года работает в наших собственных внутренних конвейерах. Производственное использование в порядке; прикрепить к минорной версии.
SDK ориентированы на последнюю стабильную версию API (в настоящее время v1). Когда выходит новая версия API, сопровождающие SDK обновляют клиенты в течение двух циклов выпуска — вам не нужно выбирать. SDK поддерживают закрепление определенной версии API с помощью опции конструктора для миграции.
Да. Node.js по умолчанию является асинхронным (все методы возвращают обещания). Python предоставляет как синхронизирующие, так и асинхронные клиенты («Ajoxi» и «AsyncAjoxi»). Go учитывает контекст при каждом вызове. Ruby синхронен с параллелизмом на основе Fiber, доступным через дополнительный гем ajoxi-async.
Node.js SDK поставляется с вручную созданными типами TypeScript, охватывающими каждую конечную точку, запрос и ответ. Сужение типов в ответах объединения работает так, как и следовало ожидать. Сгенерированные типы также публикуются отдельно в `@ajoxi/sdk-types` для проектов, которым нужны типы без клиента времени выполнения.
Да, все четыре SDK находятся в открытом доступе на GitHub. Вопросы и пиар приветствуются. Мы оставляем за собой право переписывать детали реализации для обеспечения соответствия внутренним шаблонам, но опубликованная поверхность рассматривается как контракт.
Создайте ключ песочницы и доставьте рабочую интеграцию до конца дня.