API для управления серверами, IP и финансами
На прошлой неделе функционал платформы Mnogoweb пополнился обновлённым API для взаимодействия с платформой из внешних приложений.
Теперь с помощью нового API можно создавать серверы и управлять ими, заказывать IP-адреса к серверам и управлять их PTR-записями, создавать SSH-ключи, а также оплачивать услуги.
Как устроен 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 для работы через другие методы.