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

Dev-страница для клиентов и их разработчиков.

С чего начать

Нормальный быстрый старт: токен, доступ, маршрут, параметры, примеры и ответы.
1. Создай токенВыпуск токенов находится в кабинете клиента, у управляющего во вкладке Public API.
2. Выдай только нужные scopeДля BI обычно хватает summary и analytics. Для склада нужны materials и archive.
3. Всегда начни с pingСначала проверь токен через /api/public/v1/ping, и только потом подключай боевые методы.
4. Храни токен как парольПолный токен показывается только один раз. Сохрани его сразу в env, secret manager или настройках коннектора.

Авторизация

Public API работает только по персональному read-only токену.
Новый формат токена: sorld_core_live_.... Токены теперь заметно длиннее и безопаснее. Полный ключ показывается только один раз после создания.
Базовый URL
https://expri-server.ru/api/public/v1/
Через X-Public-Api-Key
X-Public-Api-Key: sorld_core_live_your_token_here
Через Bearer
Authorization: Bearer sorld_core_live_your_token_here
Пример curl
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/ping"
Пример JavaScript
const response = await fetch("https://expri-server.ru/api/public/v1/summary", { headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); console.log(data);

Scopes

Выдавай интеграции только тот доступ, который ей реально нужен.
summary
Сводка по tenant и базовым метрикам
analytics
Аналитика по печати, часам и начислениям
employees
Сотрудники и роли
materials
Материалы и складские остатки
archive
Архив печати и событий
schedule
Общий график сотрудников
defects
Карточки брака
bugs
Баг-репорты
payroll
Расчёт выплат

Ошибки и статусы

Базовые ответы, которые стоит обработать на стороне клиента.
200
Запрос выполнен успешно.
401
Токен не передан, неверен или уже отключён.
403
У токена нет нужного scope или tenant неактивен.
429
Слишком много запросов. Добавь backoff и повторную попытку.

Методы API

Открывай карточку метода и сразу смотри назначение, параметры, код-примеры и JSON-ответы.
Что делает метод
Это лучший стартовый метод для отладки интеграции. Сначала всегда вызывайте ping.
Маршрут
/api/public/v1/ping
Метод
GET
Доступ
любой валидный токен
Параметры
Дополнительные query-параметры не нужны.
Примеры запроса
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/ping"
const response = await fetch("https://expri-server.ru/api/public/v1/ping", { headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); console.log(data);
import requests response = requests.get( "https://expri-server.ru/api/public/v1/ping", headers={"X-Public-Api-Key": "sorld_core_live_your_token_here"}, timeout=30, ) print(response.status_code) print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/ping"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["X-Public-Api-Key: sorld_core_live_your_token_here"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $code . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа
Тип контента
application/json
JSON
Пробный запрос
Быстрая проверка токена прямо из dev. Токен никуда не сохраняется.
Что делает метод
Подходит для виджетов на главной, внешних дашбордов, CRM и быстрых health-check экранов.
Маршрут
/api/public/v1/summary
Метод
GET
Доступ
summary
Параметры
Дополнительные query-параметры не нужны.
Примеры запроса
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/summary"
const response = await fetch("https://expri-server.ru/api/public/v1/summary", { headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); console.log(data);
import requests response = requests.get( "https://expri-server.ru/api/public/v1/summary", headers={"X-Public-Api-Key": "sorld_core_live_your_token_here"}, timeout=30, ) print(response.status_code) print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/summary"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["X-Public-Api-Key: sorld_core_live_your_token_here"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $code . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа
Тип контента
application/json
JSON
Что делает метод
Лучший метод для BI и собственных внутренних панелей клиента.
Маршрут
/api/public/v1/analytics?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all
Метод
GET
Доступ
analytics
Параметры
date_from
Дата начала периода в формате YYYY-MM-DD.
date_to
Дата конца периода в формате YYYY-MM-DD.
month
Месяц YYYY-MM, если удобнее работать помесячно.
segment
first, second или all. Используется вместе с month.
Примеры запроса
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/analytics?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all"
const response = await fetch("https://expri-server.ru/api/public/v1/analytics?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all", { headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); console.log(data);
import requests response = requests.get( "https://expri-server.ru/api/public/v1/analytics?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all", headers={"X-Public-Api-Key": "sorld_core_live_your_token_here"}, timeout=30, ) print(response.status_code) print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/analytics?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["X-Public-Api-Key: sorld_core_live_your_token_here"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $code . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа
Тип контента
application/json
JSON
Что делает метод
Удобно для интеграции в сторонние панели доступа, дашборды и ERP.
Маршрут
/api/public/v1/employees
Метод
GET
Доступ
employees
Параметры
Дополнительные query-параметры не нужны.
Примеры запроса
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/employees"
const response = await fetch("https://expri-server.ru/api/public/v1/employees", { headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); console.log(data);
import requests response = requests.get( "https://expri-server.ru/api/public/v1/employees", headers={"X-Public-Api-Key": "sorld_core_live_your_token_here"}, timeout=30, ) print(response.status_code) print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/employees"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["X-Public-Api-Key: sorld_core_live_your_token_here"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $code . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа
Тип контента
application/json
JSON
Что делает метод
Подходит для внешнего склада, BI и складских виджетов.
Маршрут
/api/public/v1/materials
Метод
GET
Доступ
materials
Параметры
Дополнительные query-параметры не нужны.
Примеры запроса
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/materials"
const response = await fetch("https://expri-server.ru/api/public/v1/materials", { headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); console.log(data);
import requests response = requests.get( "https://expri-server.ru/api/public/v1/materials", headers={"X-Public-Api-Key": "sorld_core_live_your_token_here"}, timeout=30, ) print(response.status_code) print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/materials"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["X-Public-Api-Key: sorld_core_live_your_token_here"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $code . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа
Тип контента
application/json
JSON
Что делает метод
Используйте этот метод для мобильных кабинетов, инфо-панелей и HR-интеграций.
Маршрут
/api/public/v1/schedule?month=2026-08
Метод
GET
Доступ
schedule
Параметры
month
Месяц в формате YYYY-MM.
Примеры запроса
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/schedule?month=2026-08"
const response = await fetch("https://expri-server.ru/api/public/v1/schedule?month=2026-08", { headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); console.log(data);
import requests response = requests.get( "https://expri-server.ru/api/public/v1/schedule?month=2026-08", headers={"X-Public-Api-Key": "sorld_core_live_your_token_here"}, timeout=30, ) print(response.status_code) print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/schedule?month=2026-08"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["X-Public-Api-Key: sorld_core_live_your_token_here"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $code . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа
Тип контента
application/json
JSON
Что делает метод
Подходит для журналов, аудита, внешних отчетов и выгрузок в Data Warehouse.
Маршрут
/api/public/v1/archive?date_from=2026-08-01&date_to=2026-08-15&emp_id=emp_001&limit=100
Метод
GET
Доступ
archive
Параметры
date_from
Дата начала периода в формате YYYY-MM-DD.
date_to
Дата конца периода в формате YYYY-MM-DD.
emp_id
Необязательный фильтр по сотруднику.
limit
Лимит записей, максимум 250.
Примеры запроса
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/archive?date_from=2026-08-01&date_to=2026-08-15&emp_id=emp_001&limit=100"
const response = await fetch("https://expri-server.ru/api/public/v1/archive?date_from=2026-08-01&date_to=2026-08-15&emp_id=emp_001&limit=100", { headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); console.log(data);
import requests response = requests.get( "https://expri-server.ru/api/public/v1/archive?date_from=2026-08-01&date_to=2026-08-15&emp_id=emp_001&limit=100", headers={"X-Public-Api-Key": "sorld_core_live_your_token_here"}, timeout=30, ) print(response.status_code) print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/archive?date_from=2026-08-01&date_to=2026-08-15&emp_id=emp_001&limit=100"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["X-Public-Api-Key: sorld_core_live_your_token_here"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $code . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа
Тип контента
application/json
JSON
Что делает метод
Используйте для внешних отчётов по качеству и контроля открытых проблем.
Маршрут
/api/public/v1/defects?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all&status=value&limit=100
Метод
GET
Доступ
defects
Параметры
date_from
Дата начала периода в формате YYYY-MM-DD.
date_to
Дата конца периода в формате YYYY-MM-DD.
month
Месяц YYYY-MM, если удобнее работать помесячно.
segment
first, second или all.
status
Необязательный фильтр по статусу.
limit
Лимит записей, максимум 250.
Примеры запроса
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/defects?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all&status=value&limit=100"
const response = await fetch("https://expri-server.ru/api/public/v1/defects?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all&status=value&limit=100", { headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); console.log(data);
import requests response = requests.get( "https://expri-server.ru/api/public/v1/defects?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all&status=value&limit=100", headers={"X-Public-Api-Key": "sorld_core_live_your_token_here"}, timeout=30, ) print(response.status_code) print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/defects?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all&status=value&limit=100"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["X-Public-Api-Key: sorld_core_live_your_token_here"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $code . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа
Тип контента
application/json
JSON
Что делает метод
Подходит для внешнего трекера или отчёта по техническим проблемам.
Маршрут
/api/public/v1/bugs?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all&status=value&limit=100
Метод
GET
Доступ
bugs
Параметры
date_from
Дата начала периода в формате YYYY-MM-DD.
date_to
Дата конца периода в формате YYYY-MM-DD.
month
Месяц YYYY-MM, если удобнее работать помесячно.
segment
first, second или all.
status
Необязательный фильтр по статусу.
limit
Лимит записей, максимум 250.
Примеры запроса
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/bugs?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all&status=value&limit=100"
const response = await fetch("https://expri-server.ru/api/public/v1/bugs?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all&status=value&limit=100", { headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); console.log(data);
import requests response = requests.get( "https://expri-server.ru/api/public/v1/bugs?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all&status=value&limit=100", headers={"X-Public-Api-Key": "sorld_core_live_your_token_here"}, timeout=30, ) print(response.status_code) print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/bugs?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all&status=value&limit=100"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["X-Public-Api-Key: sorld_core_live_your_token_here"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $code . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа
Тип контента
application/json
JSON
Что делает метод
Метод read-only. Изменение выплат остаётся в менеджменте.
Маршрут
/api/public/v1/payroll?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all
Метод
GET
Доступ
payroll
Параметры
date_from
Дата начала периода в формате YYYY-MM-DD.
date_to
Дата конца периода в формате YYYY-MM-DD.
month
Месяц YYYY-MM.
segment
first, second или all.
Примеры запроса
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/payroll?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all"
const response = await fetch("https://expri-server.ru/api/public/v1/payroll?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all", { headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); console.log(data);
import requests response = requests.get( "https://expri-server.ru/api/public/v1/payroll?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all", headers={"X-Public-Api-Key": "sorld_core_live_your_token_here"}, timeout=30, ) print(response.status_code) print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/payroll?date_from=2026-08-01&date_to=2026-08-15&month=2026-08&segment=all"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["X-Public-Api-Key: sorld_core_live_your_token_here"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $code . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа
Тип контента
application/json
JSON

Быстрые рецепты

То, что чаще всего реально нужно внешнему разработчику.
Проверить токен
curl -H "Authorization: Bearer sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/ping"
Забрать аналитику за текущий месяц
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/analytics?month=2026-08&segment=all"
Получить архив по одному сотруднику
curl -H "X-Public-Api-Key: sorld_core_live_your_token_here" "https://expri-server.ru/api/public/v1/archive?date_from=2026-08-01&date_to=2026-08-15&emp_id=emp_001&limit=100"