Информация по взаимодействию с 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;