API для розробників і реселерів

У XServer Cloud з'явився відкритий API. Через нього можна робити те саме, що й в особистому кабінеті: замовляти й продовжувати сервери, керувати ними, оплачувати рахунки. Тільки тепер це робить ваш код, а не ви вручну. Вбудуйте замовлення серверів у свою панель, автоматизуйте рутину або будуйте на наших серверах власний бізнес.
Кому це знадобиться
Реселерам і веб-студіям. Продавайте сервери XServer Cloud своїм клієнтам під своїм брендом і за своїми цінами. Ваш сайт або білінг замовляє сервер через API, оплата списується з вашого балансу, клієнт отримує готову машину. Що більше серверів, то нижча ваша закупівельна ціна: від 5 активних серверів діє знижка 5%, від 10 – 10%, від 15 – 15%. Якщо у вас уже є персональна знижка, вона діє незалежно від кількості серверів. Знижки не сумуються: коли знижка за обсяг більша за персональну, застосовується вона.
DevOps-інженерам. Перезавантаження, перевстановлення ОС, снапшоти перед оновленням, бекапи, SSH-ключі, додаткові IP-адреси — усе це тепер можна викликати зі скриптів, CI/CD і систем оркестрації.
Тим, хто веде облік. Список серверів, терміни оплати, баланс і рахунки можна забирати у свою систему моніторингу або бухгалтерію.
Що вміє API
- Сервери: список і статус, увімкнення, вимкнення й перезавантаження, консоль, перевстановлення ОС, IP-адреси, снапшоти й бекапи.
- Замовлення: попередній розрахунок вартості й замовлення віртуального або фізичного сервера, з додатковими послугами та промокодом.
- Продовження: розрахунок і продовження з балансу.
- Оплата: оплата рахунку з балансу.
- Довідники: локації, тарифи, шаблони ОС, додаткові послуги.
- Фінанси: баланс, рахунки, історія операцій.
Як почати

- Відкрийте Налаштування → Автентифікація і в розділі «API-токени» натисніть «Створити токен».
- Дайте токену ім'я та виберіть права. Для моніторингу вистачить читання. Щоб замовляти й продовжувати сервери, потрібне право
billing:write— «Замовляти й продовжувати сервери, оплачувати рахунки з балансу». - Скопіюйте токен: він показується один раз.
- Відкрийте документацію API (кнопка там само) — усі методи можна спробувати просто в браузері.
Безпека
API працює з вашими грошима й серверами, тому ми зробили захист суворим за замовчуванням:
- Лише потрібні права. Токен отримує тільки ті права, які ви вибрали. Співробітник вашої команди не може видати токену більше, ніж дозволено йому самому.
- Прив'язка до IP. Токен можна обмежити адресами ваших серверів, запити з будь-якої іншої адреси буде відхилено. Для токена, який може витрачати баланс, ми наполегливо радимо це зробити.
- Відкликання в один клік. У списку токенів видно, коли кожен використовувався востаннє. Непотрібний або підозрілий токен відкликається миттєво.
- Ліміт на операції з грошима. Один токен може виконати до 20 замовлень, продовжень і оплат на годину — це захищає баланс, якщо токен потрапить у чужі руки. Якщо вашому бізнесу потрібно більше, напишіть у підтримку, і ми збільшимо ліміт для вашого акаунта.
- Гроші тільки з балансу. API не може списати гроші з картки. Якщо на балансі не вистачає коштів, замовлення не губиться: ви отримуєте рахунок, який можна оплатити пізніше.
Приклад: замовлення сервера за два запити
Спочатку дізнаємося точну ціну. Розрахунок враховує вашу знижку і збігається зі списанням до цента:
curl -X POST https://app.xserver.cloud/api/v1/orders/preview \
-H "Authorization: Bearer $XSC_TOKEN" \
-H "Content-Type: application/json" \
-d '{"cpu": 2, "ram": 4, "ssd": 40, "location_code": "DE",
"os_template_code": "ubuntu2404", "period_months": 1}'
Ціна влаштовує – замовляємо з тим самим тілом запиту:
curl -X POST https://app.xserver.cloud/api/v1/orders \
-H "Authorization: Bearer $XSC_TOKEN" \
-H "Content-Type: application/json" \
-d '{"cpu": 2, "ram": 4, "ssd": 40, "location_code": "DE",
"os_template_code": "ubuntu2404", "period_months": 1}'
У відповіді замовлення й оплачений рахунок. Сервер з'явиться в списку, щойно буде готовий.
Документація
Повний опис усіх методів із прикладами у документації API. Там само можна надіслати запит просто з браузера. Опис у форматі OpenAPI (openapi.json) підходить, щоб згенерувати клієнтську бібліотеку для вашої мови програмування.
Спробуйте
Створіть перший токен у Налаштуваннях → Автентифікація. Бракує якогось методу чи є ідея, як зробити API зручнішим? Напишіть нам у підтримку — ми розвиваємо API разом із тими, хто ним користується.
