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


Методы взаимодействия

0

Пользователь

Получение информации о пользователе под которым произошла авторизация.

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;
                    
1

Ноды

Управление нодами (узлами) под учетной записью пользователя.

GET api/account/list

GET api/account/new

server_id int: - id сервера для создания ноды (если есть выбор)
                    
2

Серверы

Получение информации о серверах доступных для заказа.

GET api/server/list

3

Синонимы для домена

Получение информации о синонимах доменов на нодах пользователя.

GET api/aliases/list/:node_id

4

Домены

Получение информации о доменах на нодах пользователя.

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: - имя домена для создания
                    
5

DNS

Управление DNS записями для доменов в нодах пользователя.

GET api/domains/dns/list/:domain_name

6

Базы данных

Управление базами данных в нодах пользователя.

GET api/database/list/:node_id

Создание новой базы данных

GET api/database/new

node_id *int: - id ноды для создания базы данных
db_name *str: - имя базы данных для создания, без префикса ноды
                    
7

Пользователи баз данных

Управление пользователями баз данных в нодах пользователя.

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 символов)

                    
8

Биллинг

Информация о расчетах за услуги хостинга

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;