API для управления серверами, IP и финансами
На прошлой неделе функционал платформы Mnogoweb пополнился обновлённым API для взаимодействия с платформой из внешних приложений.
Теперь с помощью нового API можно создавать серверы и управлять ими, заказывать IP-адреса к серверам и управлять их PTR-записями, создавать SSH-ключи, а также оплачивать услуги.
Документация по APIКак устроен API?
При создании нового API мы старались сделать его максимально простым и понятным. API построен на формате JSON и использует стандартную авторизацию через HTTP-заголовок Authorization
, в котором передаётся API-ключ.
API-ключ можно получить в личном кабинете здесь.
Пример взаимодействия
Давайте рассмотрим несколько простых примеров.
Предположим, для некой задачи нужно получить список услуг. Для этого нужно сделать следующее:
1. Отправить GET-запрос на эндпоинт https://api.mnogoweb.com/v1/services
2. В заголовках передать API-ключ: Authorization: Bearer Q61PJ8R.......
В результате мы получим ответ со списоком услуг:
{
"status": true,
"response": {
"count": 1,
"services": [
{
"id": 1234,
"type": 3,
"tarif": 750,
"status": 1,
"domain": "domain.ru",
"identifier": "account1",
"order_date": "2020-12-01 10:00:00",
"start_date": "2020-12-01 10:00:00",
"to_date": "2020-12-01 10:00:00",
"discount": 0,
"monthly_price": 0,
"price_curr": "RUR",
"parent_service_id": 0,
"is_renewal_allowed": true,
"is_auto_charge_allowed": true
}
]
}
}
Или другой пример: создадим новый сервер. Для этого нужно сделать следующее:
1. Отправить POST-запрос на эндпоинт https://api.mnogoweb.com/v1/servers
2. В заголовках передать API-ключ: Authorization: Bearer Q61PJ8R.......
3. В теле запроса передать JSON следующего вида:
{
"type": "vps",
"location": "msk",
"cpu": 1,
"ram": 2048,
"disk": 10,
"bandwidth": 250,
"os": "almalinux9",
"backups": "daily"
}
В результате мы получим ответ вида:
{
"status": true,
"response": {
"message": "Order has been placed",
"service_id": 12345,
"invoice_id": 12345,
"amount": 900,
"curr": "RUR",
"is_paid": true
}
}
Обратите внимание на значение параметра service_id
, с его помощью затем можно будет получить информацию о созданном сервере и его ID для работы через другие методы.