Информация по взаимодействию с API
API (Application Programming Interface) - это интерфейс, который позволяет взаимодействовать между различными приложениями и программами. Он определяет набор правил, протоколов и стандартов для обмена данными между компонентами системы. API может быть реализован на разных языках программирования и используется для разработки приложений, интеграции различных систем и автоматизации процессов. API позволяет программистам работать с данными и функциями удаленной системы, используя ее в своих собственных приложениях.
Выбрать режим тестовый или боевой можно в настройках профиля на странице https://cp.elasticweb.org/user/api.
Полученный API ключ передаётся в заголовках запроса, в X-API-KEY
Возможные статусы ответа системы
200 OK: Successful API request.
201 Created: The request has been fulfilled and a new resource has been created.
400 Bad Request: The request cannot be fulfilled due to bad syntax.
401 Unauthorized: Authentication is required and has not been provided or has failed.
404 Not Found: The requested resource could not be found but could be available again in the future.
Методы взаимодействия
Пользователь
Получение информации о пользователе под которым произошла авторизация.
GET api/user/me
Пример реализации (PHP)
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://elasticweb.org/api/user/me'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_VERBOSE, 0); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'X-API-KEY: {YOUR_API_KEY}', ]); $response = curl_exec($ch); curl_close($ch); echo $response;
Ноды
Управление нодами (узлами) под учетной записью пользователя.
GET api/account/list
GET api/account/new
server_id int: - id сервера для создания ноды (если есть выбор)
Серверы
Получение информации о серверах доступных для заказа.
GET api/server/list
Синонимы для домена
Получение информации о синонимах доменов на нодах пользователя.
GET api/aliases/list/:node_id
Домены
Получение информации о доменах на нодах пользователя.
GET api/domains/list/:node_id
Редактирование домена
GET api/domains/edit/:domain_id
access_log int:[0,1] - выключение / выключение логов доступа error_log int:[0,1] - выключение / выключение логов ошибок wildcard int:[0,1] - выключение / выключение wildcard nginx_id int:[1,100] - передача id конфига nginx
Получение информации о стандартных nginx конфигах.
GET api/nginx/list
Создание нового домена
GET api/domains/new
node_id *int: - id ноды для создания домена domain_name *str: - имя домена для создания
DNS
Управление DNS записями для доменов в нодах пользователя.
GET api/domains/dns/list/:domain_name
Базы данных
Управление базами данных в нодах пользователя.
GET api/database/list/:node_id
Создание новой базы данных
GET api/database/new
node_id *int: - id ноды для создания базы данных db_name *str: - имя базы данных для создания, без префикса ноды
Пользователи баз данных
Управление пользователями баз данных в нодах пользователя.
GET api/database_user/list/:node_id
GET api/database_user/new
node_id *int: - id ноды для создания базы данных db_name *str: - имя базы данных для подключения пользователя, без префикса ноды db_user *str: - имя пользователя базы данных, без префикса ноды db_user_password *str: - пароль пользователя базы данных (латиница, от 5 символов)
Биллинг
Информация о расчетах за услуги хостинга
GET api/billing/operation_types
GET api/billing/operations/:type_name
Пример реализации (PHP)
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://elasticweb.org/api/billing/operations/daily_invoice'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_VERBOSE, 0); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'X-API-KEY: {YOUR_API_KEY}', ]); $response = curl_exec($ch); curl_close($ch); echo $response;