API та інтеграції
Інтегруйте Xcellerate RMM з PSA-інструментами, платформами документації та власними робочими процесами через REST API.
Огляд
Xcellerate RMM надає комплексний REST API, що дозволяє програмно читати та записувати практично кожен ресурс платформи — точки доступу, групи, патчі, скрипти, сповіщення, користувачів та інше. API використовує JSON через HTTPS і дотримується стандартних REST-конвенцій.
Окрім самого API, Xcellerate включає вбудовані конектори інтеграцій для популярних PSA (Professional Services Automation) та інструментів документації. Ці конектори двосторонньо синхронізують дані, тому вам не потрібно будувати власні інтеграції для типових робочих процесів.
Ключові поняття
- API-ключ — токен для автентифікації API-запитів. Генерується для кожного користувача на сторінці Administration. Додавайте його в заголовок
Authorization: Bearer <key>. - REST-ендпоінт — URL-шлях, що відповідає ресурсу (наприклад,
GET /api/v1/endpointsповертає всі точки доступу,POST /api/v1/scripts/{id}/runзапускає скрипт). - Вебхук — URL зворотного виклику, який Xcellerate викликає при настанні певної події (наприклад, спрацювання сповіщення, встановлення патчу, реєстрація точки доступу). Використовуйте вебхуки для запуску зовнішніх робочих процесів у реальному часі.
- Конектор інтеграції — готовий міст до стороннього інструменту (ConnectWise, Autotask, HaloPSA, IT Glue, Hudu). Налаштовується облікові дані та правила синхронізації.
- Обмеження частоти — API обмежує до 60 запитів на хвилину на один API-ключ. Перевищення повертає відповідь
429 Too Many Requests.
Покрокова інструкція
Згенеруйте API-ключ
Перейдіть до Administration → API keys → New key. Назвіть ключ (наприклад, "PSA sync"), виберіть користувача та область дозволів (повний доступ або лише читання). Натисніть Generate. Скопіюйте ключ одразу — він показується лише один раз.
Ознайомтесь з API-документацією
Перейдіть до Administration → API → Documentation (або відвідайте https://your-server/api/docs). Інтерактивна документація містить список усіх ендпоінтів із прикладами запитів/відповідей та кнопкою Try it.
Зробіть перший API-виклик
Використовуйте будь-який HTTP-клієнт (curl, Postman, вашу улюблену мову). Приклад: curl -H "Authorization: Bearer YOUR_KEY" https://your-server/api/v1/endpoints повертає JSON-масив усіх точок доступу.
Налаштуйте вебхук
Перейдіть до Administration → Webhooks → New webhook. Введіть URL призначення, виберіть події для підписки (наприклад, alert.created, endpoint.enrolled) та за бажанням додайте секрет для перевірки підпису. Збережіть.
Налаштуйте PSA-конектор
Перейдіть до Administration → Integrations. Клікніть на конектор для вашого PSA-інструменту (наприклад, ConnectWise Manage). Введіть URL API, облікові дані та правила відповідності полів (які поля Xcellerate відповідають яким полям PSA). Натисніть Test connection, потім Enable sync.
Приклад: створення точки доступу через API
curl -X POST https://your-server/api/v1/endpoints \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"hostname": "WS-LONDON-042",
"group_id": "grp_abc123",
"os": "Windows 11",
"tags": ["london", "sales"]
}'Поради та найкращі практики
- Створюйте окремі API-ключі для кожної інтеграції або скрипту — якщо один буде скомпрометований, ви зможете відкликати його без впливу на інші.
- Використовуйте область лише для читання для ключів, що лише отримують дані (звітність, дашборди).
- Впровадьте перевірку підпису вебхуків на стороні отримувача, щоб запобігти підробленим подіям.
- Поважайте обмеження частоти (60 запитів/хв). Для масових операцій використовуйте пакетні ендпоінти або додайте затримку між запитами.
- Тестуйте відповідності полів PSA-конектора у пісочниці перед увімкненням синхронізації у продакшені, щоб уникнути дублювання тікетів.
- Моніторте журнал доставки вебхуків щодо невдалих доставок — вони можуть вказувати, що приймаючий сервер недоступний або відхиляє дані.
?page=1&per_page=50. Завжди використовуйте пагінацію при отриманні великих наборів даних, щоб уникнути таймаутів.