Створюйте робочі процеси зв’язку операторського рівня за допомогою нашого RESTful API. JSON через HTTPS, автентифікація маркера носія та веб-хуки в реальному часі.
curl -X POST https://api.ajoxi.com/v1/calls \
-H "Authorization: Bearer AJX_LIVE_..." \
-H "Content-Type: application/json" \
-d '{ "to": "+14155551234", "from": "+14155550100", "ai_receptionist": true }'{
"id": "call_8f2a1b3c",
"status": "ringing",
"ai_handler": "receptionist_v2"
}Усі запити автентифікуються за допомогою маркера носія в Authorization заголовок. Згенеруйте ключі на вкладці API вашої консолі Ajoxi — використовуйте AJX_LIVE_… для виробництва трафіку і AJX_TEST_… для пісочниці.
curl https://api.ajoxi.com/v1/calls \
-H "Authorization: Bearer AJX_LIVE_XXXXX"Здійснюйте, перераховуйте, переадресовуйте та приймайте голосові виклики.
/v1/callsСписок усіх дзвінків із розбивкою курсору на сторінки та фільтрами дати.
/v1/callsЗдійсніть новий вихідний дзвінок або запустіть кампанію дозвону.
/v1/calls/{id}Отримати один виклик за ідентифікатором із повними метаданими.
/v1/calls/{id}/transferПереадресація активного дзвінка іншому агенту або внутрішньому номеру.
Пошук, надання, перенесення та звільнення телефонних номерів.
/v1/numbersПошук доступних місцевих, безкоштовних або міжнародних номерів.
/v1/numbersВведіть новий номер у свій обліковий запис.
/v1/numbers/{id}Оновіть маршрутизацію, ідентифікатор абонента або конфігурацію SMS на номері.
/v1/numbers/{id}Відпустіть номер назад до пулу. Необоротний.
Надсилайте та отримуйте SMS, MMS та історію розмов.
/v1/messagesСписок повідомлень, фільтрація за напрямком, каналом або розмовою.
/v1/messagesНадіслати SMS або MMS. Підтримує мультимедійні вкладення та шаблони.
Отримуйте доступ до записів дзвінків, розшифровок і даних, створених штучним інтелектом.
/v1/recordingsСписок записів дзвінків із додатковими фільтрами дати та агента.
/v1/recordings/{id}Отримайте один запис із стенограмою та резюме AI.
/v1/transcripts/{id}Отримайте повну стенограму дзвінка або запису.
Підпишіться на події платформи в реальному часі.
/v1/webhooksПерелік налаштованих підписок на вебхук.
/v1/webhooksПідпишіться на одну або декілька подій (дзвінок.початок, повідомлення.отримано).
/v1/webhooks/{id}Видалити підписку на вебхук.
Кожна відповідь про помилку повертає JSON із error.code і error.message. Код статусу HTTP відповідає категорії.
Стандартні облікові записи обмежені 100 запитами на секунду на ключ API. Корпоративні плани не мають фіксованого обмеження — ми масштабуємо разом із вашим трафіком. Кожна відповідь містить три заголовки обмеження швидкості:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1715800000Коли ліміт перевищено, ви отримаєте відповідь 429 із a Retry-After заголовок за секунди. Клієнти SDK автоматично реалізують експоненціальне відставання від цих заголовків.
Кінцеві точки списку за замовчуванням повертають щонайбільше 50 елементів на сторінку (можна налаштувати до 200 через ?limit=200). Кожна відповідь містить a next_cursor — передати назад як ?cursor=… щоб отримати наступну сторінку. Коли next_cursor має значення null, ви досягли кінця.
{
"data": [ ... ],
"next_cursor": "Y3Vyc29yX2FmMmI...",
"has_more": true
}Підпишіться на події платформи за допомогою підписаних HTTPS POST. Кожен запит на вебхук містить X-Ajoxi-Signature заголовок — перевірте його як HMAC-SHA256 над необробленим тілом запиту, використовуючи свій секрет вебхуку.
call.startedЗапускається, коли починає дзвонити вхідний або вихідний виклик.call.answeredСпрацьовує, коли на дзвінок відповідає людина або секретар зі штучним інтелектом.call.completedСпрацьовує після завершення виклику. Корисне навантаження включає тривалість, URL-адресу запису та остаточне розташування.message.receivedСпрацьовує, коли на вказаний номер надходить вхідне SMS або MMS.message.deliveredЗапускається, коли оператор підтверджує доставку вихідного повідомлення.recording.readyЗапускається, коли запис дзвінка оброблено та доступний для завантаження.transcript.readyСпрацьовує після завершення обробки стенограми AI для запису.Невдалі доставки повторюють спробу з експоненціальною відстрочкою протягом до 24 годин. Після останньої спроби подія переміщується до черги мертвих листів, яку можна відтворити з консолі.
Поточна стабільна версія v1. Порушення пересилання змін під новим префіксом (/v2/тощо) — ніколи не всередині існуючої версії. Застарілі версії залишаються доступними принаймні 18 місяців після надходження наступної версії з попередженням електронною поштою за 6 місяців до завершення.
Пакети SDK першої сторони доступні для Node.js, Python, Go та Ruby. Кожен поставляється з введеними клієнтами, логікою повтору та a verifyWebhook() помічник.
Усі запити використовують автентифікацію носія. Згенеруйте ключ API на консолі Ajoxi, а потім передавайте його як `Authorization: Bearer AJX_LIVE_XXXXX` під час кожного запиту. Використовуйте окремий ключ `AJX_TEST_…` для трафіку ізольованого програмного середовища — тестове середовище є ізольованим і ніколи не здійснює реальних викликів.
так Дзвінки, здійснені за допомогою ключів тестового режиму, направляються через наш симулятор, а не через мережу живого оператора — ідеально підходить для конвеєрів CI та навантажувального тестування. Запити в тестовому режимі не стягуються з вашої хвилини та ніколи не дзвонять на справжній телефон.
100 запитів на секунду за стандартним планом, без обмежень на підприємстві. Кожна відповідь містить заголовки `X-RateLimit-Limit`, `X-RateLimit-Remaining` і `X-RateLimit-Reset`, щоб ви могли точно регулювати трафік. Коли ви перевищите ліміт, ви отримаєте 429 зі значенням «Повторити після».
Кожен запит на вебхук містить заголовок `X-Ajoxi-Signature`. Обчисліть HMAC-SHA256 над необробленим тілом запиту, використовуючи ваш секрет вебхука, а потім порівняйте два значення в постійному часі. Клієнти SDK (Node, Python, Go, Ruby) постачаються з помічником verifyWebhook(), який виконує це за вас.
Ми ніколи не порушуємо стабільну версію API. Зміни, які порушуються, надсилаються за новою версією (наприклад, `/v2/`). Застарілі версії залишаються активними принаймні 18 місяців після надходження наступної, і ви отримуєте попередження електронною поштою щонайменше за 6 місяців до будь-якого припинення дії.
Зараз немає. API — це REST + JSON із додатковими подіями, надісланими сервером, для потокової передачі кінцевих точок, як-от живі стенограми. Якщо GraphQL розблокує для вас певний робочий процес, надішліть запит через команду свого облікового запису — ми відстежуємо попит і відповідно розставляємо пріоритети.
Розкрутіть ключ пісочниці, інсталюйте SDK і здійсніть свій перший програмований дзвінок до обіду.