Документация по API

Формат запроса

Интерфейс API работает по протоколу JSON‑RPC 2.0 через HTTP.

Формат запроса

Content-Type: application/json
X-API-KEY: ваш_ключ_API

Вызов одного метода

Тело запроса — объект с одним методом:

{
    "jsonrpc": "2.0",
    "method": "test",
    "params": {
        "foo": "bar",
        "api_hash": "..."
    },
    "id": 1
}

Вызов нескольких методов (batch)

Тело запроса — массив объектов:

[
    {
        "jsonrpc": "2.0",
        "method": "test",
        "params": { ... },
        "id": 1
    },
    {
        "jsonrpc": "2.0",
        "method": "account",
        "params": { ... },
        "id": 2
    }
]

Поле api_hash

Перед отправкой запроса необходимо сформировать хеш-подпись в параметрах:

JSON.stringify(sorted_params) + method + api_key

Таким образом, финальный объект params будет выглядеть так:

{
    "key1": "значение1",
    "key2": "значение2",
    "api_hash": "..."
}

Пример на JavaScript

Ниже — минимальная функция для отправки одного метода. Никакого лишнего кода (без UI, без лишних логов).

<script>
/**
* Отправляет один JSON‑RPC метод к API.
*
* @param {string} method  - имя метода
* @param {Object} params  - параметры
* @param {string} api_key - ключ API
* @param {string} api_salt - соль для хэша
* @param {Function} hmacSha256 - async функция HMAC‑SHA256
* @returns {Promise<any>} ответ от сервера
*/
async function sendApiMethod(
method,
params,
api_key,
api_salt,
hmacSha256
) {
// 1. Сортируем ключи параметров
const sortedParams = Object.keys(params || {})
    .sort()
    .reduce((acc, key) => {
    acc[key] = params[key];
    return acc;
    }, {});

// 2. Вычисляем api_hash
sortedParams.api_hash = await hmacSha256(
    JSON.stringify(sortedParams) + method + api_key,
    api_salt
);

// 3. Формируем тело запроса
const body = {
    jsonrpc: "2.0",
    method: method,
    params: sortedParams,
    id: 1
};

// 4. Отправляем POST с X-API-KEY в заголовке
const response = await fetch("https://api_back.com/api/", {
    method: "POST",
    credentials: "include",
    headers: {
    "Content-Type": "application/json",
    "X-API-KEY": api_key
    },
    body: JSON.stringify(body)
});

const result = await response.json();
return result;
}

</script>

Пример использования

const result = await sendApiMethod(
    "account",                    // method
    { account_id: "123" },       // params
    "ваш_api_key",               // api_key
    "ваш_api_salt",              // api_salt
    hmacSha256                  // функция хэша
);

Методы

Метод: test

Тестовый метод, проверяет доступность API и корректность работы хеша. Данный метод не существует.

Общие

Метод: account_in_code_create

Генерация кода авторизации для входа в аккаунт по email.

Входные параметры

Название Тип Обязательный Описание
email string да Электронный адрес аккаунта, для которого генерируется код.

Параметры результата

Название Тип Обязательный Описание
code_length int да Длина сгенерированного кода авторизации.

Коды ошибок

Код ошибки Описание
50201 Пользователь уже авторизован
50202 Не задан параметр "email"
50203 Неверное значение параметра "email"
50204 Ошибка отправки кода авторизации на почту
50205 Ошибка сохранения кода авторизации
Метод: account_in_code_apply

Запрос на вход в аккаунт по коду.

Входные параметры

Название Тип Обязательный Описание
code string да Код аккаунта для входа в аккаунт

Параметры результата

Название Тип Описание
is_performed bool Флаг фактического применения кода

Коды ошибок

Код ошибки Описание
50101 Пользователь уже авторизован
50102 Не задан параметр "code"
50103 Неверное значение параметра "code"
50104 Указанный код не найден
50105 Ошибка вычисления идентификатора аккаунта
50106 Аккаунт выключен
50107 Ошибка генерации идентификатора сессии
50108 Ошибка привязки идентификатора сессии к аккаунту
50109 Аккаунт не найден
Метод: account

Данные текущего аккаунта.

Входные параметры

Название Тип Обязательный Описание
Нет

Параметры результата

Название Тип Описание
is_auth bool Флаг авторизованности пользователя
account array Массив параметров аккаунта
Метод: account_out

Запрос на выход из аккаунта.

Входные параметры

Название Тип Обязательный Описание
Нет

Параметры результата

Название Тип Описание
is_performed bool Флаг фактического выхода из аккаунта
Метод: account_delete

Удаление аккаунта.

Входные параметры

Название Тип Обязательный Описание
Нет

Параметры результата

Название Тип Описание
is_performed bool Флаг фактического удаления аккаунта
Метод: product_list

Получение списка продуктов.

Входные параметры

Название Тип Обязательный Описание
Нет

Параметры результата

Название Тип Описание
columns array Список столбцов
columns_title array Список заголовков столбцов
list array Данные записей списка
page int Номер страницы
page_total int Всего страниц

Серверные

Метод: node_key_update

Регистрация сервера и обновление его ключа.

Входные параметры

Название Тип Обязательный Описание
ip string да IP адрес сервера
port int да Порт сервера
key string да Ключ сервера
country string да Код страны

Параметры результата

Название Тип Описание
is_performed bool Флаг фактического регистрации/обработки ключей
key_ttl int Рекомендуемое время смены ключа, c.

Коды ошибок

Код ошибки Описание
60101 Не задан параметр "ip"
60102 Не задан параметр "port"
60103 Не задан параметр "key"
60104 Не задан параметр "country"
60105 Неверное значение параметра "ip"
60106 Неверное значение параметра "port"
60107 Неверное значение параметра "key"
60108 Неверное значение параметра "country"
60109 Ошибка регистрации сервера
60110 Ошибка обновления ключа сервера

Бекофис

Метод: cp_list

Список записей постранично.

Входные параметры

Название Тип Обязательный Описание
table string да Тип списка
limit int да Предел количество записей на страницу
offset int да Смещение по списку записей
sort array нет Массив полей для сортировки записей

Параметры результата

Название Тип Описание
total int Количество всего записей
columns array Массив полей для вывода
list array Часть списка
offset int Смещение по списку
limit int Предел по количеству элементов списка

Коды ошибок

Код ошибки Описание
80101 Не задан параметр "table"
80102 Неверное значение параметра "table"
80103 Не задан параметр "limit"
80104 Не задан параметр "offset"
80105 Неверное значение параметра "limit"
80106 Неверное значение параметра "offset"
80107 Указано неверное направление сортировки
80108 Указано недопустимое поле для сортировки
Метод: cp_delete

Удаление записей по id.

Входные параметры

Название Тип Обязательный Описание
table string да Тип списка
ids array да Массив идентификаторов для удаления

Параметры результата

Название Тип Описание
count_deleted int Количество удаленных записей

Коды ошибок

Код ошибки Описание
80201 Не задан параметр "table"
80202 Неверное значение параметра "table"
80203 Не задан параметр "ids"
80204 Неверное значение параметра "ids"
Метод: cp_edit

Внесение изменений в записи по id.

Входные параметры

Название Тип Обязательный Описание
table string да Тип списка
ids array да Массив идентификаторов для модификации
columns array да Массив ассоциативный с новыми значениями полей

Параметры результата

Название Тип Описание
count_edit int Количество отредактированных записей

Коды ошибок

Код ошибки Описание
80301 Не задан параметр "table"
80302 Неверное значение параметра "table"
80303 Не задан параметр "ids"
80304 Неверное значение параметра "ids"
80305 Неверное значение параметра "columns"
Метод: cp_create

Внесение записи в список.

Входные параметры

Название Тип Обязательный Описание
table string да Тип списка
columns array да Массив имен полей
data array да Массив данных (ассоциативный с новыми значениями полей)

Параметры результата

Название Тип Описание
count_create int Количество созданных записей

Коды ошибок

Код ошибки Описание
80401 Не задан параметр "table"
80402 Не задан параметр "columns"
80403 Неверное значение параметра "columns"
80404 Не задан параметр "data"
80405 Неверное значение параметра "data"
80406 Неверное значение параметра "table"
80407 Неверное значение параметра "columns"
80408 Неверное сигнатра параметра "data"
Метод: cp_cache_clear

Очистка кеша.

Входные параметры

Название Тип Обязательный Описание
Нет

Параметры результата

Название Тип Описание
is_performed bool Флаг фактического удаления кеша
Метод: cp_scheme

Получение данных о списках данных.

Входные параметры

Название Тип Обязательный Описание
Нет

Параметры результата

Название Тип Описание
tables array Массив таблиц и их структура
values array Массив значений для полей
Метод: cp_statistics

Статистика по таблицам.

Входные параметры

Название Тип Обязательный Описание
days_count int нет Период в днях для отображения статистики (по умолчанию 30)

Параметры результата

Название Тип Описание
accounts array Массив статистики для таблицы аккаунтов
devices array Массив статистики для таблицы устройств
orders array Массив статистики для таблицы покупок
servers array Массив статистики для таблицы серверов
Метод: cp_search_id

Получение списка значений идентификаторов по поиску в поле.

Входные параметры

Название Тип Обязательный Описание
table string да Тип списка
columns string да Имя колонки для поиска
search_column string да Имя колонки для поиска
search_value string да Искомое значение

Параметры результата

Название Тип Описание
columns array Список столбцов
columns_title array Список заголовков столбцов
list array Данные записей списка
page int Номер страницы
page_total int Всего страниц

Коды ошибок

Код ошибки Описание
80501 Не задан параметр "table"
80502 Неверное значение параметра "table"
80503 Не задан параметр "search_value"
80504 Неверное значение параметра "search_value"
80505 Не задан параметр "search_column"
80506 Неверное значение параметра "search_column"
80507 Не задан параметр "columns"
80508 Неверное значение параметра "columns"
Метод: cp_node_deploy

Разворачивание ПО на сервере.

Входные параметры

Название Тип Обязательный Описание
ip string да IP-адрес
user string да Пользователь
password string да Пароль

Параметры результата

Название Тип Описание
Структура результата не описана array Данные об операции

Личный кабинет

Метод: lk_product_execute

Оплата n‑единиц товара.

Входные параметры

Название Тип Обязательный Описание
product_id int да Идентификатор товара
product_count int да Количество единиц товара
options array да Массив параметров

Параметры результата

Название Тип Описание
is_performed bool Флаг фактического совершения операции

Коды ошибок

Код ошибки Описание
70201 Не задан параметр "product_id"
70202 Неверное значение параметра "product_id"
70203 Неверное значение параметра "count"
70204 Неверное значение параметра "options"
70205 Продукт не найден
70206 Продукт недоступен
70207 Продукт не для продажи
70208 Продукт не действует
70209 Продукт не применим
70210 Недостаточно средств
70211 Ошибка транзакции
70212 Покупка недоступна
70213 Недостаточно средств в аккаунте
70214 Ошибка регистрации операции
70215 Ошибка проведения операции
Метод: lk_equipment_list

Получение списка товаров.

Входные параметры

Название Тип Обязательный Описание
Нет

Параметры результата

Название Тип Описание
columns array Список столбцов
columns_title array Список заголовков столбцов
list array Данные записей списка
page int Номер страницы
page_total int Всего страниц
Метод: lk_equipment_bind

Привязка продукта к устройству.

Входные параметры

Название Тип Обязательный Описание
device_id int да Идентификатор устройства
product_id int да Идентификатор товара

Параметры результата

Название Тип Описание
is_performed bool Флаг фактического применения продукта к устройству

Коды ошибок

Код ошибки Описание
70301 Не задан параметр "device_id"
70302 Неверное значение параметра "device_id"
70303 Не задан параметр "product_id"
70304 Неверное значение параметра "product_id"
70305 Устройство не найдено
70306 Устройство недоступно
70307 Нет продукта
70308 Превышен лимит устройств
Метод: lk_device_list

Получение списка устройств аккаунта.

Входные параметры

Название Тип Обязательный Описание
Нет

Параметры результата

Название Тип Описание
columns array Список столбцов
columns_title array Список заголовков столбцов
list array Данные записей списка
page int Номер страницы
page_total int Всего страниц
Метод: lk_device_code_apply

Применение кода устройства для привязки его в аккаунт.

Входные параметры

Название Тип Обязательный Описание
code string да Код устройства для привязки его в аккаунт

Параметры результата

Название Тип Описание
is_performed bool Флаг фактического применения кода

Коды ошибок

Код ошибки Описание
70101 Не задан параметр "code"
70102 Неверное значение параметра "code"
70103 Указанный код не найден
70104 Нет данных по коду
Метод: lk_device_delete

Удаление устройства из аккаунта.

Входные параметры

Название Тип Обязательный Описание
device_id string да Хеш устройства

Параметры результата

Название Тип Описание
is_performed bool Флаг фактического удаления устройства из аккаунта

Коды ошибок

Код ошибки Описание
70401 Не задан параметр "device_id"
70402 Неверное значение параметра "device_id"

Приложения

Метод: app_device_reg

Регистрация устройства или обновление его IP и имени.

Входные параметры

Название Тип Обязательный Описание
device_hash string да Хеш устройства
device_name string да Название устройства
device_platform int да Платформа устройства

Параметры результата

Название Тип Описание
is_performed bool Флаг фактического регистрации/обновления данных устройства
token_app string Временный ключ для доступа к данным приложения
device_id int Идентификатор устройства

Коды ошибок

Код ошибки Описание
90101 Не задан параметр "device_hash"
90102 Не задан параметр "device_name"
90103 Не задан параметр "device_platform"
90104 Неверное значение параметра "device_hash"
90105 Неверное значение параметра "device_name"
90106 Неверное значение параметра "device_platform"
90107 Ошибка сохранения данных устройства
90108 Устройство не найдено
Метод: app_device_code_create

Генерация кода устройства для привязки в аккаунте.

Входные параметры

Название Тип Обязательный Описание
token_app string да Временный ключ для доступа к данным приложения
device_id int да Идентификатор устройства
device_hash string да Хеш устройства

Параметры результата

Название Тип Описание
code_length int Длина созданного кода

Коды ошибок

Код ошибки Описание
90201 Не задан параметр "token_app"
90202 Неверное значение параметра "token_app"
90203 Не задан параметр "device_hash"
90204 Неверное значение параметра "device_hash"
90205 Не задан параметр "device_id"
90206 Неверное значение параметра "device_id"
90207 Устройство не найдено
90208 Неверное устройство
90209 Устройство недоступно
90210 Ошибка сохранения кода устройства
Метод: app_device_product_info

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

Входные параметры

Название Тип Обязательный Описание
token_app string да Временный ключ для доступа к данным приложения
device_id int да Идентификатор устройства
device_hash string да Хеш устройства

Параметры результата

Название Тип Описание
product_id int Идентификатор товара
product_name string Название продукта
product_description string Описание продукта
product_type int Тип товара
options array Массив опций продукта
is_can_execute bool Флаг возможности приобрести/использовать товар
is_active bool Флаг действия продукта
is_have bool Флаг наличие продукта у устройства

Коды ошибок

Код ошибки Описание
90601 Не задан параметр "token_app"
90602 Неверное значение параметра "token_app"
90603 Не задан параметр "device_hash"
90604 Неверное значение параметра "device_hash"
90605 Не задан параметр "device_id"
90606 Неверное значение параметра "device_id"
90607 Устройство не найдено
90608 Неверное устройство
90609 Устройство недоступно
Метод: app_notices_list

Получение страницы уведомлений.

Входные параметры

Название Тип Обязательный Описание
page string нет Номер страницы
token_app string да Временный ключ для доступа к данным приложения

Параметры результата

Название Тип Описание
columns array Список столбцов
columns_title array Список заголовков столбцов
list array Данные записей списка
page int Номер страницы
page_total int Всего страниц

Коды ошибок

Код ошибки Описание
90401 Не задан параметр "token_app"
90402 Неверное значение параметра "token_app"
Метод: app_showcase_list

Получение страницы витрины.

Входные параметры

Название Тип Обязательный Описание
page string нет Номер страницы
token_app string да Временный ключ для доступа к данным приложения

Параметры результата

Название Тип Описание
columns array Список столбцов
columns_title array Список заголовков столбцов
list array Данные записей списка
page int Номер страницы
page_total int Всего страниц

Коды ошибок

Код ошибки Описание
90301 Не задан параметр "token_app"
90302 Неверное значение параметра "token_app"
Метод: app_icons_list

Получение списка иконок.

Входные параметры

Название Тип Обязательный Описание
token_app string да Временный ключ для доступа к данным приложения

Параметры результата

Название Тип Описание
columns array Список столбцов
columns_title array Список заголовков столбцов
list array Данные записей списка
page int Номер страницы
page_total int Всего страниц

Коды ошибок

Код ошибки Описание
90501 Не задан параметр "token_app"
90502 Неверное значение параметра "token_app"
Метод: app_nodes_list

Получение списка серверов.

Входные параметры

Название Тип Обязательный Описание
token_app string да Временный ключ для доступа к данным приложения

Параметры результата

Название Тип Описание
columns array Список столбцов
columns_title array Список заголовков столбцов
list array Данные записей списка
page int Номер страницы
page_total int Всего страниц

Коды ошибок

Код ошибки Описание
90801 Не задан параметр "token_app"
90802 Неверное значение параметра "token_app"
Метод: app_account

Получение параметров аккаунта.

Входные параметры

Название Тип Обязательный Описание
token_app string да Временный ключ для доступа к данным приложения
device_id int да Идентификатор устройства
device_hash string да Хеш устройства

Параметры результата

Название Тип Описание
account array Массив параметров аккаунта

Коды ошибок

Код ошибки Описание
90701 Не задан параметр "token_app"
90702 Неверное значение параметра "token_app"
90703 Не задан параметр "device_hash"
90704 Неверное значение параметра "device_hash"
90705 Не задан параметр "device_id"
90706 Неверное значение параметра "device_id"
90707 Устройство не найдено
90708 Неверное устройство
90709 Устройство недоступно
90710 Аккаунт не найден
90711 Аккаунт недоступен

Разное

Другие коды ошибок

Общие коды ошибок АПИ

Код ошибки Описание
40101 Не задан параметр "api_key"
40102 Неверное значение параметра "api_key"
40103 Значение параметра "api_key" не подходит
40201 Не верный метод запроса
40202 Не заданы данные запроса
40203 Неверное сигнатура данных запроса
40204 Неверное значение данных запроса
40205 Вызываемый метод вне разрешенного диапазона
40301 Не задан параметр "api_hash"
40302 Неверное значение параметра "api_hash"
40303 Данные запроса не найдены
40304 Не задан параметр "method" запроса
40305 Неверное значение параметра "method" запроса
40306 Не задан параметр "params" запроса
40307 Неверное значение параметра "params" запроса
40308 Не задан параметр "id" запроса
40309 Неверное значение параметра "id" запроса
40310 Вызываемый метод недоступен
40401 Необходима авторизация
40402 Нет прав

Коды ошибок БД

Код ошибки Описание
30101 БД не поддерживается
30201 Ошибка подключения
30301 Нет подключения
30302 Ошибка выполнения запроса
30303 Ошибка создания схемы запроса
30304 Ошибка рендринга схемы и исполнения запроса
30401 Не заданы поля для обновления
30402 Не заданы поля для проверки уникальности

Коды ошибок кеша

Код ошибки Описание
20101 Модуль для работы с памятью недоступен

Общие коды ошибок

Код ошибки Описание
-1 Нет данных
0 Нет ошибок
10001 Ошибка запуска
Информация по запросу


Время запроса, с.:

Данные запроса:

Получены данные: