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

Публичные API Core: производство, склад, сотрудники и цены Ozon.

База API: https://expri-server.ru/api/public/v1. Устаревшие методы показывают дату отключения и замену; отключённые остаются в справке зачёркнутыми.

Расширение Ozon · API цен и СПП

Сбор цен Ozon Seller и интеграция с Core или внешней системой.
JSON API
1. АвторизацияВ Core код подключения доступен в разделе Ozon → СПП. Для внешней интеграции используется отдельный ключ магазина.
2. Подключение расширенияОткройте панель подключения через иконку в шапке расширения, введите код или ключ магазина и нажмите «Подключить».
3. Сбор каталогаОткройте первую страницу раздела «Цены» в Ozon Seller без фильтров и нажмите «Собрать цены». Каталог обрабатывается в одной вкладке.
4. Ежедневный сборРасписание доступно после подключения магазина. Для выполнения сбора необходимы работающий Chrome и активная сессия Ozon Seller.
Внешняя интеграция

API доступен без учётной записи Core. Идентификатор магазина создаётся при выдаче ключа; доступ к данным определяется ключом в заголовке Authorization: Bearer.

POST /api/public/v1/ozon/seller-prices — импорт цен продавца. POST /api/public/v1/ozon/batches — приём полного сбора расширения. GET /api/public/v1/ozon/prices и GET /api/public/v1/ozon/history — получение текущих значений и истории СПП.

Источник цены продавца: поле marketing_seller_price метода Ozon Seller API /v5/product/info/prices. Ключи Ozon Seller API используются на стороне интеграции и не передаются расширению.

Расчёт СПП

(цена продавца с акциями − цена покупателя) / цена продавца с акциями × 100.

Поле site_price содержит «Цену на сайте», realization_price — «Цену реализации» из Ozon Seller. Во внешней интеграции расчёт по цене с Ozon Картой включается параметром realization_is_ozon_card=true при импорте цен продавца. При отсутствии подтверждения используется только цена на сайте.

Возраст замера цены покупателя — не более 48 часов. Интервал между замерами цен продавца и покупателя — не более 24 часов. Ответ API содержит время обоих замеров и признак актуальности stale.

Повторный запрос с тем же batch_id допускается только для идентичных данных. Политика обработки данных расширения.

Начало работы

Авторизация, настройка доступа и первый запрос.
1. Выпуск токенаТокены доступны управляющему в кабинете клиента на вкладке Public API.
2. Настройка разрешенийВыберите только необходимые разрешения: например, orders для заказов, stock для готовой продукции и ink для чернил.
3. Проверка доступаМетод /api/public/v1/ping возвращает сведения об авторизации и доступных разрешениях.
4. Хранение токенаПолный токен отображается один раз при выпуске. Храните его в переменной окружения или защищённых настройках интеграции.

Возможности Public API

34 методов чтения данных организации. Доступ к каждому разделу определяется разрешениями токена.
API возвращает сохранённые данные Core. Ответы не запускают импорт заказов, печать или новые замеры. generated_at означает время ответа; актуальность записей оценивайте по updated_at, snapshot_at, snapshot_date и времени измерения. При ещё не настроенном сборе соответствующая коллекция будет пустой.

Авторизация

Токен организации даёт доступ на чтение в пределах выбранных разрешений.
Формат токена Core Public API: sorld_core_live_.... Полный токен отображается один раз при выпуске. Для API цен Ozon используется отдельный ключ магазина.
Базовый 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);

Периоды, форматы и пагинация

Правила запросов к Core Public API.
Период сводок, персонала и архива

date_from и date_to задаются вместе в формате YYYY-MM-DD, обе даты входят в период. При наличии обеих дат они имеют приоритет над month и segment. Без полной пары дат используется месяц: first — 1–15, second — 16–последний день, all — весь месяц. Даты трактуются по времени сервера. Некорректный формат месяца или segment заменяется значением по умолчанию.

Страницы новых методов

Производственные методы orders, print-queues, stock, ink, новые методы каталога, плана, движения, поставок, измерений и все методы marketplaces/wb/* и marketplaces/ozon/* принимают limit от 1 до 250, по умолчанию 100. Пока has_more=true, передавайте next_cursor как cursor следующего запроса, сохраняя фильтры. На последней странице next_cursor=null. Курсор относится к конкретной организации и методу. При изменении фильтров начинайте обход заново.

Синхронизация изменений

В методах с полем обновления есть updated_since (точный список указан в карточке): ISO 8601 с часовым поясом. Граница включена. Повторяйте небольшой интервал предыдущей выгрузки и объединяйте записи по ключу. Страницы читают текущее состояние; общий неизменяемый снимок на время обхода не создаётся. Передавайте параметры через URL-кодирование, особенно + в часовом поясе.

Период новых коллекций

Если метод поддерживает date_from/date_to, передавайте обе даты в формате YYYY-MM-DD. Границы включены. Без пары дат возвращается вся сохранённая история постранично. Несуществующая дата, неполная пара или обратный период дают 422. Поле отбора указано в карточке метода; month/segment эти коллекции не используют. Для воронки WB даты относятся к снимкам, а не к отдельным дням показателей.

Ограниченные выборки

В archive, defects и bugs — до 250 записей без cursor/offset. Для большого объёма делите период; достижение лимита не подтверждает полноту выгрузки. Сводки брака и ошибок относятся к возвращённой выборке.

Общий ответ

Успешные ответы данных содержат ok, api_version, generated_at и tenant. Денежные и количественные показатели возвращаются числами. Пустые коллекции могут быть [], включая поля, которые с данными представлены объектом. Справочник /api/public/v1/docs открыт без токена. Методы данных требуют токен; tenant_id в запросе не выбирает другую организацию.

Разрешения доступа

Разрешения определяют доступные методы API.
summary
Сводка по tenant и базовым метрикам
analytics
Аналитика по печати, часам и начислениям
employees
Сотрудники и роли
materials
Материалы и складские остатки
archive
Архив печати и событий
schedule
Общий график сотрудников
defects
Карточки брака
bugs
Баг-репорты
payroll
Расчёт выплат
orders
Производственные заказы и статусы
print_queues
Очереди печати и состав рулонов
stock
Остатки готовой продукции по внутренним складам
ink
Расход чернил по SKU
products
Каталог продукции
production_plan
План производства FBO
stock_movements
Движения готовой продукции
supplies
Поставки FBO и их состав
ink_history
История измерений чернил
wb_prices
WB: цены продавца
wb_stocks
WB: остатки по складам
wb_orders
WB: заказы
wb_sales
WB: продажи и возвраты
wb_spp
История СПП WB по товарам и распределение по группам
wb_analytics
WB: воронка продаж
wb_ads
WB: рекламная аналитика
ozon_products
Ozon: каталог и цены продавца
ozon_stocks
Ozon: остатки по складам
ozon_analytics
Ozon: аналитика по дням
ozon_postings
Ozon: отправления
ozon_finance
Ozon: финансовые операции

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

Базовые ответы, которые стоит обработать на стороне клиента.
200
Запрос выполнен; проверьте ok и содержимое ответа.
401
Токен отсутствует, неверен или отключён; организация неактивна; отсутствует нужное разрешение. Причина указана в error.
405
Поддерживаются GET и OPTIONS. Ответ OPTIONS — 204.
422
В новых методах коллекций: неверный фильтр, дата, limit или cursor.
500
В новых методах коллекций: ошибка чтения данных. Повторите запрос с увеличением интервала.
Коды авторизации: public_api_key_required, public_api_key_invalid, tenant_inactive, public_api_scope_denied:scope. Старые методы также возвращают 401 при исключении внутри обработчика. HTTP-статус сверяйте с error.

Методы API

Назначение, параметры, примеры запросов и ответы.
Что делает метод
Не требует отдельного scope. last_used_at содержит значение, прочитанное до обновления отметки текущим запросом.
Маршрут
/api/public/v1/ping
Метод
GET
Доступ
любой активный публичный токен
Параметры запроса
Дополнительные query-параметры не нужны.
Поля ответа
token.scopes
Разрешения, доступные именно этому токену.
tenant.id
Организация определяется токеном; передавать tenant_id для Public API не требуется.
generated_at
Время формирования ответа сервера.
Примеры запроса
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", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/ping", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/ping'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Пробный запрос
Проверка токена запросом к API. Токен не сохраняется.
Что делает метод
Сводка показывает текущее состояние; archive_events_total и attendance_events_total — количество сохранённых событий, без фильтра по периоду.
Маршрут
/api/public/v1/summary
Метод
GET
Доступ
summary
Параметры запроса
Дополнительные query-параметры не нужны.
Поля ответа
summary.employees_total
Количество записей сотрудников.
summary.materials_length_m
Суммарный остаток материалов, м.
summary.inks_total / boxes_total / supplies_total
Суммарные количества расходников.
summary.archive_events_total / attendance_events_total
Количество событий в соответствующих журналах.
Примеры запроса
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", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/summary", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/summary'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Площадь рассчитывается по производственному архиву; scheduled_hours — часы по графику. stock отражает текущие остатки, а не состояние склада на конец выбранного периода.
Маршрут
/api/public/v1/analytics?month=2026-10&segment=all
Метод
GET
Доступ
analytics
Параметры запроса
date_from
Начало периода, YYYY-MM-DD. Работает вместе с date_to.
date_to
Конец периода, YYYY-MM-DD. Обе даты включены в выборку.
month
Месяц YYYY-MM; по умолчанию текущий месяц сервера.
segment
all — весь месяц; first — 1–15; second — 16–последний день. По умолчанию all.
Поля ответа
period
Фактически выбранные границы периода, month и segment.
summary
Площадь, число дней печати, пиковый день, часы и выплаты.
print_area_by_day
Объект: дата → площадь, м².
hours_by_employee
Объект: имя сотрудника → часы по графику.
payroll_by_employee
Объект: имя → часы, ставка, начисления, корректировки и статус выплаты. При совпадающих именах ключи могут совпасть; для учёта по emp_id используйте payroll.
stock
Текущая складская сводка.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/analytics?month=2026-10&segment=all'
const response = await fetch("https://expri-server.ru/api/public/v1/analytics?month=2026-10&segment=all", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/analytics?month=2026-10&segment=all", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/analytics?month=2026-10&segment=all'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Список содержит все записи, которые возвращает справочник сотрудников организации.
Маршрут
/api/public/v1/employees
Метод
GET
Доступ
employees
Параметры запроса
Дополнительные query-параметры не нужны.
Поля ответа
employees[].emp_id
Идентификатор сотрудника для фильтров и связей.
employees[].name / role
Имя и роль.
employees[].rfid_uid
RFID-идентификатор из справочника.
employees[].sort_order / updated_at
Порядок и время обновления записи.
Примеры запроса
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", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/employees", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/employees'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
materials содержит материалы поштучно; остальные виды расходников представлены суммарными количествами в overview.
Маршрут
/api/public/v1/materials
Метод
GET
Доступ
materials
Параметры запроса
Дополнительные query-параметры не нужны.
Поля ответа
overview
Количество материалов, длина, чернила, коробки, расходники и число QR-привязок wall_map_count.
materials[].material_id / mat_type
Идентификатор и тип материала.
materials[].length_m / cell_qr
Остаток в метрах и QR ячейки.
materials[].created_at / updated_at
Время создания и обновления.
Примеры запроса
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", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/materials", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/materials'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
schedule.rows — массив, а ключи days — номера дней месяца. worked означает наличие отметки прихода или ухода; это не отдельный расчёт оплаченных часов.
Маршрут
/api/public/v1/schedule?month=2026-10
Метод
GET
Доступ
schedule
Параметры запроса
month
Месяц YYYY-MM. По умолчанию текущий месяц сервера.
Поля ответа
schedule.days_in_month
Количество дней в месяце.
schedule.rows[].employee
Запись сотрудника из справочника.
schedule.rows[].days
Объект: номер дня → сведения о смене. Пример показывает один день; в ответе присутствуют все дни месяца.
days.N.value / note / staff_note
План смены и примечания.
days.N.worked / fact
Признак фактической отметки и её данные.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/schedule?month=2026-10'
const response = await fetch("https://expri-server.ru/api/public/v1/schedule?month=2026-10", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/schedule?month=2026-10", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/schedule?month=2026-10'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
По умолчанию до 100 событий, максимум 250. offset и cursor не поддерживаются; для объёмных выгрузок делите период. event_type и payload зависят от вида события.
Маршрут
/api/public/v1/archive?month=2026-10&segment=all&limit=100
Метод
GET
Доступ
archive
Параметры запроса
date_from
Начало периода, YYYY-MM-DD. Работает вместе с date_to.
date_to
Конец периода, YYYY-MM-DD. Обе даты включены в выборку.
month
Месяц YYYY-MM; по умолчанию текущий месяц сервера.
segment
all — весь месяц; first — 1–15; second — 16–последний день. По умолчанию all.
emp_id
Необязательный идентификатор сотрудника.
limit
По умолчанию 100, максимум 250. Значения меньше 1 заменяются на 100.
Поля ответа
archive[].ts / date_key
Время события и нормализованная дата.
archive[].emp_id / employee_name
Сотрудник, связанный с событием.
archive[].event_type / area_m2
Тип события и площадь, если она присутствует.
archive[].payload
Нормализованные данные исходного события.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/archive?month=2026-10&segment=all&limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/archive?month=2026-10&segment=all&limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/archive?month=2026-10&segment=all&limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/archive?month=2026-10&segment=all&limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Выборка ограничена limit; сводка считается по возвращённым карточкам, после фильтра и ограничения. Статус сравнивается без учёта регистра. Пагинация offset/cursor не поддерживается.
Маршрут
/api/public/v1/defects?month=2026-10&segment=all&limit=100
Метод
GET
Доступ
defects
Параметры запроса
date_from
Начало периода, YYYY-MM-DD. Работает вместе с date_to.
date_to
Конец периода, YYYY-MM-DD. Обе даты включены в выборку.
month
Месяц YYYY-MM; по умолчанию текущий месяц сервера.
segment
all — весь месяц; first — 1–15; second — 16–последний день. По умолчанию all.
status
Необязательное точное значение статуса, без учёта регистра.
limit
По умолчанию 100, максимум 250.
Поля ответа
defects[]
Карточки с ключом, статусом, датой, описанием и данными автора; содержимое зависит от карточки.
summary.count
Количество карточек в возвращённой выборке.
summary.photos
Количество фото или вложений в этой выборке.
summary.status_counts
Количество карточек по статусам; для пустой выборки пустой массив.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/defects?month=2026-10&segment=all&limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/defects?month=2026-10&segment=all&limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/defects?month=2026-10&segment=all&limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/defects?month=2026-10&segment=all&limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Выборка ограничена limit; сводка считается по возвращённым карточкам, после фильтра и ограничения. Статус сравнивается без учёта регистра. Пагинация offset/cursor не поддерживается.
Маршрут
/api/public/v1/bugs?month=2026-10&segment=all&limit=100
Метод
GET
Доступ
bugs
Параметры запроса
date_from
Начало периода, YYYY-MM-DD. Работает вместе с date_to.
date_to
Конец периода, YYYY-MM-DD. Обе даты включены в выборку.
month
Месяц YYYY-MM; по умолчанию текущий месяц сервера.
segment
all — весь месяц; first — 1–15; second — 16–последний день. По умолчанию all.
status
Необязательное точное значение статуса, без учёта регистра.
limit
По умолчанию 100, максимум 250.
Поля ответа
bugs[]
Карточки с ключом, статусом, датой, описанием и данными автора; содержимое зависит от карточки.
summary.count
Количество карточек в возвращённой выборке.
summary.attachments
Количество фото или вложений в этой выборке.
summary.status_counts
Количество карточек по статусам; для пустой выборки пустой массив.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/bugs?month=2026-10&segment=all&limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/bugs?month=2026-10&segment=all&limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/bugs?month=2026-10&segment=all&limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/bugs?month=2026-10&segment=all&limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Метод только читает расчёт. scheduled_hours — план по графику; net_amount — итог с корректировками. Связывайте строки по emp_id, а не по имени.
Маршрут
/api/public/v1/payroll?month=2026-10&segment=all
Метод
GET
Доступ
payroll
Параметры запроса
date_from
Начало периода, YYYY-MM-DD. Работает вместе с date_to.
date_to
Конец периода, YYYY-MM-DD. Обе даты включены в выборку.
month
Месяц YYYY-MM; по умолчанию текущий месяц сервера.
segment
all — весь месяц; first — 1–15; second — 16–последний день. По умолчанию all.
Поля ответа
payroll[].emp_id / name / role
Сотрудник.
scheduled_days / scheduled_hours / penalty_hours / required_hours
Плановые дни и часы, штрафные и требуемые часы.
current_rate
Ставка расчёта.
gross_amount / adjustments_amount / net_amount
Начисления, корректировки и итоговая сумма.
payout_status
Статус выплаты.
summary
Суммы scheduled_hours, required_hours, gross_amount, adjustments_amount и net_amount.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/payroll?month=2026-10&segment=all'
const response = await fetch("https://expri-server.ru/api/public/v1/payroll?month=2026-10&segment=all", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/payroll?month=2026-10&segment=all", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/payroll?month=2026-10&segment=all'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Источник — сохранённые записи Core, без обращения к API маркетплейсов. Фильтры совпадают со значениями полей записи. По умолчанию включает все source_type, в том числе ручные и складские записи. Сортировка: updated_at и order_key по убыванию. Изменения во время обхода могут переместить запись; для синхронизации используйте updated_since с перекрытием и объединяйте по order_key.
Маршрут
/api/public/v1/orders?limit=100
Метод
GET
Доступ
orders
Параметры запроса
marketplace
Точное значение marketplace, например WB или OZON.
source_type
Точный тип исходной записи Core.
status
Точный текущий статус Core.
sku
Точный SKU.
updated_since
Изменения с указанного времени включительно, ISO 8601 с часовым поясом, например 2026-10-01T00:00:00+05:00.
limit
Размер страницы: 1–250, по умолчанию 100.
cursor
next_cursor предыдущего ответа. Фильтры должны совпадать; limit можно изменить.
Поля ответа
orders[].order_key
Стабильный ключ записи внутри Core.
marketplace / source_type / sku / title
Маркетплейс, тип, SKU и название.
order_no / external_order_id / posting_number
Идентификаторы исходного заказа.
status / qty
Статус Core и количество.
production_code / production_date / production_printer
Код изделия, дата производства и ключ принтера; могут быть пустыми.
warehouse_target / created_at / updated_at
Целевой склад и время записи.
count / limit
Количество записей на этой странице и запрошенный размер страницы.
has_more / next_cursor
Если has_more=true, передайте next_cursor в следующий запрос; на последней странице next_cursor=null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/orders?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/orders?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/orders?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/orders?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Метод только читает очередь. Он не выдаёт задание агенту и не запускает печать. Сортировка jobs: created_at и id по убыванию. Включает прямые задания и ещё не выданные артефакты; archived=true для completed/superseded. Состояние обработки агентом не заменяет подтверждение фактической печати.
Маршрут
/api/public/v1/print-queues?limit=100
Метод
GET
Доступ
print_queues
Параметры запроса
printer
Необязательный ключ зарегистрированного принтера, например sakura.
state
Точное состояние: pending, received, processing, completed, failed, uncertain, superseded.
limit
Размер страницы: 1–250, по умолчанию 100.
cursor
next_cursor предыдущего ответа. Фильтры должны совпадать; limit можно изменить.
Поля ответа
printers[]
Ключ, название и цвет доступных принтеров; архивные принтеры исключены.
jobs[].id / roll_id / printer
Ключ задания, номер рулона и принтер. До прямой выдачи id может иметь префикс artifact:.
jobs[].state / archived
Состояние доставки/обработки и принадлежность к архиву.
jobs[].layouts[]
article, code, strips, marketplace, source — состав рулона.
jobs[].content_error
Описание отсутствующего состава; пустая строка при успешном разборе.
count / limit
Количество записей на этой странице и запрошенный размер страницы.
has_more / next_cursor
Если has_more=true, передайте next_cursor в следующий запрос; на последней странице next_cursor=null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/print-queues?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/print-queues?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/print-queues?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/print-queues?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Источник — внутренний учёт движений и заказов Core. Это не остатки FBO на складах маркетплейсов. Учитывает Склад, Склад WB и Склад OZON; картины объединяются на локальном Складе. Отрицательные остатки сохраняются. Нулевые строки без производства не возвращаются. Сортировка: warehouse и sku по возрастанию. updated_at — последняя отметка учёта, а generated_at — время чтения.
Маршрут
/api/public/v1/stock?limit=100
Метод
GET
Доступ
stock
Параметры запроса
warehouse
Склад, Склад WB или Склад OZON. Без фильтра — все три склада.
sku
Точный SKU.
limit
Размер страницы: 1–250, по умолчанию 100.
cursor
next_cursor предыдущего ответа. Фильтры должны совпадать; limit можно изменить.
Поля ответа
stock[].warehouse / sku
Склад и SKU; составляют ключ строки.
qty
Учтённый остаток изделий, шт.
in_production_qty
Количество в производстве, учтённое складским расчётом Core.
updated_at
Время последнего изменения, использованного в расчёте.
count / limit
Количество записей на этой странице и запрошенный размер страницы.
has_more / next_cursor
Если has_more=true, передайте next_cursor в следующий запрос; на последней странице next_cursor=null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/stock?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/stock?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/stock?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/stock?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Источник — сохранённый расход SKU: замеры, импорт или ручной учёт. Новые измерения запрос не выполняет. Сортировка: updated_at и внутренний ключ SKU по убыванию. Для синхронизации используйте updated_since с перекрытием и объединяйте строки по sku. Метод возвращает текущее значение; историю отдельных измерений не выдаёт.
Маршрут
/api/public/v1/ink?limit=100
Метод
GET
Доступ
ink
Параметры запроса
sku
Точный SKU.
category
Точная категория: wallpaper, picture или poster.
active
1 — активные SKU (по умолчанию); 0 — неактивные; all — все.
updated_since
Изменения с указанного времени включительно, ISO 8601 с часовым поясом, например 2026-10-01T00:00:00+05:00.
limit
Размер страницы: 1–250, по умолчанию 100.
cursor
next_cursor предыдущего ответа. Фильтры должны совпадать; limit можно изменить.
Поля ответа
ink[].sku / category / source / ink_mode
SKU, категория и источник сохранённого расхода.
width_cm / height_cm / area_m2
Размеры в сантиметрах и площадь в м².
ink_c_ml / ink_m_ml / ink_y_ml / ink_k_ml / ink_total_ml
CMYK и полный расход в мл.
ink_ml_m2
Расход в мл/м².
strip_count / box_size / media_name / passes
Полосы, короб, материал и число проходов.
review_status / active / last_measured_at / updated_at
Статус проверки, активность и временные отметки.
count / limit
Количество записей на этой странице и запрошенный размер страницы.
has_more / next_cursor
Если has_more=true, передайте next_cursor в следующий запрос; на последней странице next_cursor=null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/ink?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/ink?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/ink?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/ink?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Каталог производственных товаров Core. Размеры в миллиметрах; ml_per_unit — сохранённая норма, а не отдельное измерение чернил. По умолчанию active=1; active=all включает архивные позиции. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по updated_at, product_key. Между страницами состояние может измениться.
Маршрут
/api/public/v1/products?limit=100
Метод
GET
Доступ
products
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
marketplace
Точное совпадение. Маркетплейс позиции в Core.
source_type
Точное совпадение. Категория или тип продукции в источнике.
sku
Точное совпадение. Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id.
active
0 или 1; по умолчанию 1. all включает неактивные позиции.
updated_since
ISO 8601 с часовым поясом. Фильтр по updated_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: core. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
products[].product_key
Ключ записи для сопоставления и объединения выгрузок. Тип: text. NULL источника сохраняется как null.
products[].source_type
Категория или тип продукции в источнике. Тип: text. NULL источника сохраняется как null.
products[].marketplace
Маркетплейс позиции в Core. Тип: text. NULL источника сохраняется как null.
products[].sku
Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id. Тип: text. NULL источника сохраняется как null.
products[].title
Название товара в источнике. Тип: text. NULL источника сохраняется как null.
products[].article_mp
Артикул продавца в соответствующем источнике. Тип: text. NULL источника сохраняется как null.
products[].width_mm
Размер продукции в миллиметрах. Тип: int. NULL источника сохраняется как null.
products[].height_mm
Размер продукции в миллиметрах. Тип: int. NULL источника сохраняется как null.
products[].strips
Количество полос. Тип: int. NULL источника сохраняется как null.
products[].ml_per_unit
Сохранённая норма расхода чернил на единицу, мл. Тип: int. NULL источника сохраняется как null.
products[].priority
Сохранённый приоритет обработки. Тип: int. NULL источника сохраняется как null.
products[].active
Признак активной позиции, boolean. Тип: bool. NULL источника сохраняется как null.
products[].created_at
Время создания записи в источнике. Тип: text. NULL источника сохраняется как null.
products[].updated_at
Время последнего сохранённого обновления записи. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/products?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/products?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/products?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/products?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Сохранённый план FBO. Метод не запускает пересчёт потребности и не создаёт задания на печать. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по updated_at, plan_key. Между страницами состояние может измениться.
Маршрут
/api/public/v1/production-plan?limit=100
Метод
GET
Доступ
production_plan
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
marketplace
Точное совпадение. Маркетплейс позиции в Core.
sku
Точное совпадение. Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id.
updated_since
ISO 8601 с часовым поясом. Фильтр по updated_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: core. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
production_plan[].plan_key
Ключ записи для сопоставления и объединения выгрузок. Тип: text. NULL источника сохраняется как null.
production_plan[].marketplace
Маркетплейс позиции в Core. Тип: text. NULL источника сохраняется как null.
production_plan[].sku
Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id. Тип: text. NULL источника сохраняется как null.
production_plan[].product_key
Ключ записи для сопоставления и объединения выгрузок. Тип: text. NULL источника сохраняется как null.
production_plan[].print_priority
Сохранённый приоритет обработки. Тип: int. NULL источника сохраняется как null.
production_plan[].need_print
Количество в сохранённом плане производства. Тип: int. NULL источника сохраняется как null.
production_plan[].remaining_qty
Количество в сохранённом плане производства. Тип: int. NULL источника сохраняется как null.
production_plan[].in_production_m2
Площадь продукции в производстве, м². Тип: float. NULL источника сохраняется как null.
production_plan[].not_printed_m2
Оставшаяся непечатанная площадь, м². Тип: float. NULL источника сохраняется как null.
production_plan[].not_printed_qty
Количество в сохранённом плане производства. Тип: int. NULL источника сохраняется как null.
production_plan[].updated_at
Время последнего сохранённого обновления записи. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/production-plan?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/production-plan?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/production-plan?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/production-plan?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
qty возвращается в исходном виде; направление движения определяется kind. Не суммируйте qty без учёта типа движения. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по ts, id. Между страницами состояние может измениться.
Маршрут
/api/public/v1/stock-movements?limit=100
Метод
GET
Доступ
stock_movements
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
marketplace
Точное совпадение. Маркетплейс позиции в Core.
warehouse
Точное совпадение. Название склада источника.
sku
Точное совпадение. Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id.
kind
Точное совпадение. Тип движения; определяет приход или расход.
date_from
Начало периода YYYY-MM-DD включительно по полю ts. Задаётся вместе с date_to. Без пары дат — вся сохранённая история.
date_to
Конец периода YYYY-MM-DD включительно. Даты должны существовать; date_from ≤ date_to. month/segment здесь не используются.
updated_since
ISO 8601 с часовым поясом. Фильтр по updated_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: core. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
stock_movements[].id
Числовой идентификатор записи в Core. Тип: int. NULL источника сохраняется как null.
stock_movements[].ts
Время складского движения. Тип: text. NULL источника сохраняется как null.
stock_movements[].kind
Тип движения; определяет приход или расход. Тип: text. NULL источника сохраняется как null.
stock_movements[].marketplace
Маркетплейс позиции в Core. Тип: text. NULL источника сохраняется как null.
stock_movements[].warehouse
Название склада источника. Тип: text. NULL источника сохраняется как null.
stock_movements[].sku
Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id. Тип: text. NULL источника сохраняется как null.
stock_movements[].qty
Количество в исходной записи; направление движения задаётся kind. Тип: int. NULL источника сохраняется как null.
stock_movements[].area_m2
Площадь в квадратных метрах. Тип: float. NULL источника сохраняется как null.
stock_movements[].order_key
Связанный ключ производственного заказа, если задан. Тип: text. NULL источника сохраняется как null.
stock_movements[].updated_at
Время последнего сохранённого обновления записи. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/stock-movements?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/stock-movements?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/stock-movements?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/stock-movements?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Поставки, заведённые в Core. Состав доступен в supply-items по supply_key. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по updated_at, supply_key. Между страницами состояние может измениться.
Маршрут
/api/public/v1/supplies?limit=100
Метод
GET
Доступ
supplies
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
marketplace
Точное совпадение. Маркетплейс позиции в Core.
status
Точное совпадение. Статус или подстатус в сохранённом источнике.
supply_key
Точное совпадение. Ключ записи для сопоставления и объединения выгрузок.
date_from
Начало периода YYYY-MM-DD включительно по полю created_at. Задаётся вместе с date_to. Без пары дат — вся сохранённая история.
date_to
Конец периода YYYY-MM-DD включительно. Даты должны существовать; date_from ≤ date_to. month/segment здесь не используются.
updated_since
ISO 8601 с часовым поясом. Фильтр по updated_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: core. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
supplies[].supply_key
Ключ записи для сопоставления и объединения выгрузок. Тип: text. NULL источника сохраняется как null.
supplies[].marketplace
Маркетплейс позиции в Core. Тип: text. NULL источника сохраняется как null.
supplies[].supply_no
Номер поставки в Core. Тип: text. NULL источника сохраняется как null.
supplies[].status
Статус или подстатус в сохранённом источнике. Тип: text. NULL источника сохраняется как null.
supplies[].shipped_at
Время отправки поставки, если отмечено. Тип: text. NULL источника сохраняется как null.
supplies[].accepted_at
Время приёмки поставки, если отмечено. Тип: text. NULL источника сохраняется как null.
supplies[].created_at
Время создания записи в источнике. Тип: text. NULL источника сохраняется как null.
supplies[].updated_at
Время последнего сохранённого обновления записи. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/supplies?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/supplies?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/supplies?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/supplies?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Строки поставок Core. qty — заявлено, accepted_qty — принято, transit_qty — в пути. Все поставки можно выгрузить постранично; supply_key ограничивает выборку одной поставкой. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по updated_at, id. Между страницами состояние может измениться.
Маршрут
/api/public/v1/supply-items?limit=100
Метод
GET
Доступ
supplies
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
supply_key
Точное совпадение. Ключ записи для сопоставления и объединения выгрузок.
marketplace
Точное совпадение. Маркетплейс позиции в Core.
warehouse
Точное совпадение. Название склада источника.
sku
Точное совпадение. Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id.
updated_since
ISO 8601 с часовым поясом. Фильтр по updated_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: core. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
supply_items[].id
Числовой идентификатор записи в Core. Тип: int. NULL источника сохраняется как null.
supply_items[].supply_key
Ключ записи для сопоставления и объединения выгрузок. Тип: text. NULL источника сохраняется как null.
supply_items[].marketplace
Маркетплейс позиции в Core. Тип: text. NULL источника сохраняется как null.
supply_items[].warehouse
Название склада источника. Тип: text. NULL источника сохраняется как null.
supply_items[].sku
Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id. Тип: text. NULL источника сохраняется как null.
supply_items[].qty
Заявленное количество в строке поставки Core. Тип: int.
supply_items[].accepted_qty
Количество, отмеченное принятым в поставке Core. Тип: int. NULL источника сохраняется как null.
supply_items[].transit_qty
Количество, отмеченное в пути в поставке Core. Тип: int. NULL источника сохраняется как null.
supply_items[].created_at
Время создания записи в источнике. Тип: text. NULL источника сохраняется как null.
supply_items[].updated_at
Время последнего сохранённого обновления записи. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/supply-items?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/supply-items?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/supply-items?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/supply-items?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Отдельные сохранённые измерения, включая предыдущие значения. Актуальный расход по SKU доступен в ink. Локальные пути, подписи устройств и комментарии операторов не передаются. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по measured_at, id. Между страницами состояние может измениться.
Маршрут
/api/public/v1/ink-measurements?limit=100
Метод
GET
Доступ
ink_history
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
sku
Точное совпадение. Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id.
category
Точное совпадение. Категория или тип продукции в источнике.
source
Точное совпадение. Источник появления записи или измерения.
date_from
Начало периода YYYY-MM-DD включительно по полю measured_at. Задаётся вместе с date_to. Без пары дат — вся сохранённая история.
date_to
Конец периода YYYY-MM-DD включительно. Даты должны существовать; date_from ≤ date_to. month/segment здесь не используются.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: core. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
ink_measurements[].id
Числовой идентификатор записи в Core. Тип: int. NULL источника сохраняется как null.
ink_measurements[].event_id
Уникальный идентификатор измерения чернил. Тип: text. NULL источника сохраняется как null.
ink_measurements[].sku
Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id. Тип: text. NULL источника сохраняется как null.
ink_measurements[].category
Категория или тип продукции в источнике. Тип: text. NULL источника сохраняется как null.
ink_measurements[].source
Источник появления записи или измерения. Тип: text. NULL источника сохраняется как null.
ink_measurements[].measured_at
Время измерения чернил. Тип: text. NULL источника сохраняется как null.
ink_measurements[].ink_c_ml
Расход соответствующего канала CMYK, мл. Тип: float. NULL источника сохраняется как null.
ink_measurements[].ink_m_ml
Расход соответствующего канала CMYK, мл. Тип: float. NULL источника сохраняется как null.
ink_measurements[].ink_y_ml
Расход соответствующего канала CMYK, мл. Тип: float. NULL источника сохраняется как null.
ink_measurements[].ink_k_ml
Расход соответствующего канала CMYK, мл. Тип: float. NULL источника сохраняется как null.
ink_measurements[].ink_total_ml
Общий расход чернил, мл. Тип: float. NULL источника сохраняется как null.
ink_measurements[].ink_ml_m2
Расход чернил на квадратный метр, мл/м². Тип: float. NULL источника сохраняется как null.
ink_measurements[].width_cm
Размер измеренного макета в сантиметрах. Тип: float. NULL источника сохраняется как null.
ink_measurements[].height_cm
Размер измеренного макета в сантиметрах. Тип: float. NULL источника сохраняется как null.
ink_measurements[].area_m2
Площадь в квадратных метрах. Тип: float. NULL источника сохраняется как null.
ink_measurements[].strip_count
Количество полос. Тип: int. NULL источника сохраняется как null.
ink_measurements[].box_size
Сохранённое обозначение размера продукции. Тип: text. NULL источника сохраняется как null.
ink_measurements[].media_name
Название материала печати. Тип: text. NULL источника сохраняется как null.
ink_measurements[].passes
Количество проходов печати. Тип: int. NULL источника сохраняется как null.
ink_measurements[].created_at
Время создания записи в источнике. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/ink-measurements?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/ink-measurements?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/ink-measurements?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/ink-measurements?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Сохранённые цены продавца и скидки по размерам. discounted_price и club_discounted_price не означают цену витрины после СПП; цена карточки и СПП доступны отдельно, если собраны. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по snapshot_at, row_key. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/wb/prices?limit=100
Метод
GET
Доступ
wb_prices
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
nm_id
Точное совпадение. Числовой артикул товара WB.
vendor_code
Точное совпадение. Артикул продавца в соответствующем источнике.
size_id
Точное совпадение. Идентификатор размера WB.
updated_since
ISO 8601 с часовым поясом. Фильтр по snapshot_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: wb. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
prices[].row_key
Ключ записи для сопоставления и объединения выгрузок. Тип: text. NULL источника сохраняется как null.
prices[].snapshot_at
Время сохранения снимка источника; не время текущего запроса. Тип: text. NULL источника сохраняется как null.
prices[].nm_id
Числовой артикул товара WB. Тип: int. NULL источника сохраняется как null.
prices[].vendor_code
Артикул продавца в соответствующем источнике. Тип: text. NULL источника сохраняется как null.
prices[].size_id
Идентификатор размера WB. Тип: int. NULL источника сохраняется как null.
prices[].tech_size_name
Название размера WB. Тип: text. NULL источника сохраняется как null.
prices[].price
Цена из соответствующего источника; смысл указан в описании метода. Тип: float. NULL источника сохраняется как null.
prices[].discounted_price
Цена продавца WB после скидки продавца; без гарантии совпадения с витриной. Тип: float. NULL источника сохраняется как null.
prices[].discount
Скидка продавца WB, проценты. Тип: float. NULL источника сохраняется как null.
prices[].club_discount
Скидка WB Клуба, проценты. Тип: float. NULL источника сохраняется как null.
prices[].club_discounted_price
Цена WB с клубной скидкой из сохранённого отчёта цен. Тип: float. NULL источника сохраняется как null.
prices[].currency
Валюта денежного показателя в источнике. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/wb/prices?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/wb/prices?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/wb/prices?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/wb/prices?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Сохранённые остатки WB по складам и размерам. Это отдельный источник от внутренних складов Core. При отсутствии детализации по складам ответ может быть пустым; данные не подменяются суммарными остатками. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по snapshot_at, row_key. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/wb/stocks?limit=100
Метод
GET
Доступ
wb_stocks
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
nm_id
Точное совпадение. Числовой артикул товара WB.
warehouse_id
Точное совпадение. Идентификатор склада; WB — число, Ozon — строка.
supplier_article
Точное совпадение. Артикул продавца в соответствующем источнике.
updated_since
ISO 8601 с часовым поясом. Фильтр по snapshot_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: wb. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
stocks[].row_key
Ключ записи для сопоставления и объединения выгрузок. Тип: text. NULL источника сохраняется как null.
stocks[].snapshot_at
Время сохранения снимка источника; не время текущего запроса. Тип: text. NULL источника сохраняется как null.
stocks[].warehouse_id
Идентификатор склада; WB — число, Ozon — строка. Тип: int. NULL источника сохраняется как null.
stocks[].warehouse_name
Название склада источника. Тип: text. NULL источника сохраняется как null.
stocks[].region_name
Регион склада WB. Тип: text. NULL источника сохраняется как null.
stocks[].chrt_id
Идентификатор размера WB. Тип: int. NULL источника сохраняется как null.
stocks[].nm_id
Числовой артикул товара WB. Тип: int. NULL источника сохраняется как null.
stocks[].barcode
Штрихкод позиции. Тип: text. NULL источника сохраняется как null.
stocks[].supplier_article
Артикул продавца в соответствующем источнике. Тип: text. NULL источника сохраняется как null.
stocks[].quantity
Количество в исходном отчёте. Тип: int. NULL источника сохраняется как null.
stocks[].in_way_to_client
Количество WB в пути к покупателям. Тип: int. NULL источника сохраняется как null.
stocks[].in_way_from_client
Количество WB в пути от покупателей. Тип: int. NULL источника сохраняется как null.
stocks[].quantity_full
Полное количество из отчёта WB; передаётся без пересчёта. Тип: int. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/wb/stocks?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/wb/stocks?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/wb/stocks?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/wb/stocks?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Исходные заказы WB из сохранённой аналитики, включая отмены. Это не производственные op_orders. Поля сумм и spp передаются как сохранены в отчёте; свежий расчёт СПП по ним не выполняется. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по order_date, row_key. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/wb/orders?limit=100
Метод
GET
Доступ
wb_orders
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
nm_id
Точное совпадение. Числовой артикул товара WB.
supplier_article
Точное совпадение. Артикул продавца в соответствующем источнике.
is_cancel
Точное совпадение. Признак отменённого заказа WB, boolean. Передавайте 0 или 1.
date_from
Начало периода YYYY-MM-DD включительно по полю order_date. Задаётся вместе с date_to. Без пары дат — вся сохранённая история.
date_to
Конец периода YYYY-MM-DD включительно. Даты должны существовать; date_from ≤ date_to. month/segment здесь не используются.
updated_since
ISO 8601 с часовым поясом. Фильтр по snapshot_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: wb. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
orders[].row_key
Ключ записи для сопоставления и объединения выгрузок. Тип: text. NULL источника сохраняется как null.
orders[].snapshot_at
Время сохранения снимка источника; не время текущего запроса. Тип: text. NULL источника сохраняется как null.
orders[].order_date
Дата и время заказа WB. Тип: text. NULL источника сохраняется как null.
orders[].last_change_date
Время изменения операции WB по данным отчёта. Тип: text. NULL источника сохраняется как null.
orders[].srid
Идентификатор заказа WB для связи заказов и продаж. Тип: text. NULL источника сохраняется как null.
orders[].warehouse_name
Название склада источника. Тип: text. NULL источника сохраняется как null.
orders[].warehouse_type
Тип склада или вида запаса в источнике. Тип: text. NULL источника сохраняется как null.
orders[].supplier_article
Артикул продавца в соответствующем источнике. Тип: text. NULL источника сохраняется как null.
orders[].nm_id
Числовой артикул товара WB. Тип: int. NULL источника сохраняется как null.
orders[].barcode
Штрихкод позиции. Тип: text. NULL источника сохраняется как null.
orders[].category
Категория или тип продукции в источнике. Тип: text. NULL источника сохраняется как null.
orders[].subject
Категория или тип продукции в источнике. Тип: text. NULL источника сохраняется как null.
orders[].brand
Бренд товара в источнике. Тип: text. NULL источника сохраняется как null.
orders[].tech_size
Название размера WB. Тип: text. NULL источника сохраняется как null.
orders[].income_id
Идентификатор поставки WB. Тип: int. NULL источника сохраняется как null.
orders[].is_supply
Флаг источника WB, boolean. Тип: bool. NULL источника сохраняется как null.
orders[].is_realization
Флаг источника WB, boolean. Тип: bool. NULL источника сохраняется как null.
orders[].total_price
Сохранённая сумма total_price соответствующего отчёта. Тип: float. NULL источника сохраняется как null.
orders[].discount_percent
Скидка из отчёта WB, проценты. Тип: float. NULL источника сохраняется как null.
orders[].spp
СПП из записи заказа WB, проценты; не новый расчёт по карточке. Тип: float. NULL источника сохраняется как null.
orders[].finished_price
Сохранённая конечная цена из отчёта WB. Тип: float. NULL источника сохраняется как null.
orders[].price_with_disc
Сохранённая цена со скидкой из отчёта WB. Тип: float. NULL источника сохраняется как null.
orders[].is_cancel
Признак отменённого заказа WB, boolean. Тип: bool. NULL источника сохраняется как null.
orders[].cancel_date
Время отмены заказа WB, если есть. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/wb/orders?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/wb/orders?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/wb/orders?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/wb/orders?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Сохранённые продажи и возвраты WB. is_return обозначает возврат; денежные поля возвращаются со знаком источника. for_pay — сумма к перечислению из отчёта, а не цена покупателя. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по sale_date, row_key. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/wb/sales?limit=100
Метод
GET
Доступ
wb_sales
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
nm_id
Точное совпадение. Числовой артикул товара WB.
supplier_article
Точное совпадение. Артикул продавца в соответствующем источнике.
is_return
Точное совпадение. Признак возврата WB, boolean. Передавайте 0 или 1.
date_from
Начало периода YYYY-MM-DD включительно по полю sale_date. Задаётся вместе с date_to. Без пары дат — вся сохранённая история.
date_to
Конец периода YYYY-MM-DD включительно. Даты должны существовать; date_from ≤ date_to. month/segment здесь не используются.
updated_since
ISO 8601 с часовым поясом. Фильтр по snapshot_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: wb. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
sales[].row_key
Ключ записи для сопоставления и объединения выгрузок. Тип: text. NULL источника сохраняется как null.
sales[].snapshot_at
Время сохранения снимка источника; не время текущего запроса. Тип: text. NULL источника сохраняется как null.
sales[].sale_date
Дата и время продажи или возврата WB. Тип: text. NULL источника сохраняется как null.
sales[].last_change_date
Время изменения операции WB по данным отчёта. Тип: text. NULL источника сохраняется как null.
sales[].sale_id
Идентификатор операции продажи WB. Тип: text. NULL источника сохраняется как null.
sales[].srid
Идентификатор заказа WB для связи заказов и продаж. Тип: text. NULL источника сохраняется как null.
sales[].g_number
Номер заказа WB по данным источника. Тип: text. NULL источника сохраняется как null.
sales[].warehouse_name
Название склада источника. Тип: text. NULL источника сохраняется как null.
sales[].supplier_article
Артикул продавца в соответствующем источнике. Тип: text. NULL источника сохраняется как null.
sales[].nm_id
Числовой артикул товара WB. Тип: int. NULL источника сохраняется как null.
sales[].barcode
Штрихкод позиции. Тип: text. NULL источника сохраняется как null.
sales[].total_price
Сохранённая сумма total_price соответствующего отчёта. Тип: float. NULL источника сохраняется как null.
sales[].finished_price
Сохранённая конечная цена из отчёта WB. Тип: float. NULL источника сохраняется как null.
sales[].price_with_disc
Сохранённая цена со скидкой из отчёта WB. Тип: float. NULL источника сохраняется как null.
sales[].for_pay
Сумма к перечислению из отчёта WB; не цена покупателя. Тип: float. NULL источника сохраняется как null.
sales[].is_return
Признак возврата WB, boolean. Тип: bool. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/wb/sales?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/wb/sales?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/wb/sales?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/wb/sales?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Только сохранённые наблюдения СПП по конкретным товарам. null означает отсутствие значения. Если используется только групповая матрица, этот метод может быть пустым: групповые проценты не назначаются отдельным SKU. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по snapshot_date, nm_id. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/wb/spp?limit=100
Метод
GET
Доступ
wb_spp
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
nm_id
Точное совпадение. Числовой артикул товара WB.
vendor_code
Точное совпадение. Артикул продавца в соответствующем источнике.
product_group
Точное совпадение. Группа продукции в сохранённой аналитике СПП WB.
date_from
Начало периода YYYY-MM-DD включительно по полю snapshot_date. Задаётся вместе с date_to. Без пары дат — вся сохранённая история.
date_to
Конец периода YYYY-MM-DD включительно. Даты должны существовать; date_from ≤ date_to. month/segment здесь не используются.
updated_since
ISO 8601 с часовым поясом. Фильтр по updated_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: wb. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
spp[].snapshot_date
Дата сохранённого снимка источника. Тип: text. NULL источника сохраняется как null.
spp[].nm_id
Числовой артикул товара WB. Тип: int. NULL источника сохраняется как null.
spp[].vendor_code
Артикул продавца в соответствующем источнике. Тип: text. NULL источника сохраняется как null.
spp[].product_name
Название товара в источнике. Тип: text. NULL источника сохраняется как null.
spp[].subject_name
Категория или тип продукции в источнике. Тип: text. NULL источника сохраняется как null.
spp[].brand_name
Бренд товара в источнике. Тип: text. NULL источника сохраняется как null.
spp[].product_group
Группа продукции в сохранённой аналитике СПП WB. Тип: text. NULL источника сохраняется как null.
spp[].seller_price
Цена продавца WB до скидки в сохранённом наблюдении. Тип: float. NULL источника сохраняется как null.
spp[].seller_discounted_price
Цена продавца WB после скидки в сохранённом наблюдении. Тип: float. NULL источника сохраняется как null.
spp[].card_list_price
Цена карточки WB до скидки в сохранённом наблюдении. Тип: float. NULL источника сохраняется как null.
spp[].card_price
Сохранённая цена покупателя с карточки WB; не текущая проверка. Тип: float. NULL источника сохраняется как null.
spp[].explicit_spp
СПП, прочитанная из источника карточки WB, проценты; null при отсутствии. Тип: float. NULL источника сохраняется как null.
spp[].computed_spp
Сохранённая расчётная СПП WB, проценты; null при отсутствии. Тип: float. NULL источника сохраняется как null.
spp[].effective_spp
Сохранённое итоговое значение СПП WB, проценты; null при отсутствии. Тип: float. NULL источника сохраняется как null.
spp[].diff_rub
Сохранённая разница цен продавца и покупателя, ₽. Тип: float. NULL источника сохраняется как null.
spp[].updated_at
Время последнего сохранённого обновления записи. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/wb/spp?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/wb/spp?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/wb/spp?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/wb/spp?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Сохранённая матрица из подключённого источника Google Sheets: количество карточек nm_count с данным процентом СПП в группе на дату. Это агрегат, не цена и не СПП конкретного артикула. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по snapshot_date, product_group, spp_percent. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/wb/spp-groups?limit=100
Метод
GET
Доступ
wb_spp
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
product_group
Точное совпадение. Группа продукции в сохранённой аналитике СПП WB.
date_from
Начало периода YYYY-MM-DD включительно по полю snapshot_date. Задаётся вместе с date_to. Без пары дат — вся сохранённая история.
date_to
Конец периода YYYY-MM-DD включительно. Даты должны существовать; date_from ≤ date_to. month/segment здесь не используются.
updated_since
ISO 8601 с часовым поясом. Фильтр по updated_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: wb. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
spp_groups[].snapshot_date
Дата сохранённого снимка источника. Тип: text. NULL источника сохраняется как null.
spp_groups[].product_group
Группа продукции в сохранённой аналитике СПП WB. Тип: text. NULL источника сохраняется как null.
spp_groups[].spp_percent
Процент СПП в групповом распределении WB. Тип: int. NULL источника сохраняется как null.
spp_groups[].nm_count
Количество карточек WB в группе с данным процентом СПП. Тип: int. NULL источника сохраняется как null.
spp_groups[].updated_at
Время последнего сохранённого обновления записи. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/wb/spp-groups?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/wb/spp-groups?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/wb/spp-groups?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/wb/spp-groups?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Показатели за period_days дней, заканчивающихся датой снимка. date_from/date_to фильтруют даты снимков. Пересекающиеся периоды нельзя суммировать как независимые дни. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по snapshot_date, period_days, nm_id. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/wb/funnel?limit=100
Метод
GET
Доступ
wb_analytics
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
nm_id
Точное совпадение. Числовой артикул товара WB.
vendor_code
Точное совпадение. Артикул продавца в соответствующем источнике.
period_days
Точное совпадение. Количество дней в периоде, к которому относятся показатели снимка.
date_from
Начало периода YYYY-MM-DD включительно по полю snapshot_date. Задаётся вместе с date_to. Без пары дат — вся сохранённая история.
date_to
Конец периода YYYY-MM-DD включительно. Даты должны существовать; date_from ≤ date_to. month/segment здесь не используются.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: wb. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
funnel[].snapshot_date
Дата сохранённого снимка источника. Тип: text. NULL источника сохраняется как null.
funnel[].period_days
Количество дней в периоде, к которому относятся показатели снимка. Тип: int. NULL источника сохраняется как null.
funnel[].nm_id
Числовой артикул товара WB. Тип: int. NULL источника сохраняется как null.
funnel[].title
Название товара в источнике. Тип: text. NULL источника сохраняется как null.
funnel[].vendor_code
Артикул продавца в соответствующем источнике. Тип: text. NULL источника сохраняется как null.
funnel[].brand_name
Бренд товара в источнике. Тип: text. NULL источника сохраняется как null.
funnel[].subject_name
Категория или тип продукции в источнике. Тип: text. NULL источника сохраняется как null.
funnel[].open_count
Количество открытий карточки за период источника. Тип: int. NULL источника сохраняется как null.
funnel[].cart_count
Количество добавлений в корзину за период источника. Тип: int. NULL источника сохраняется как null.
funnel[].order_count
Количество заказов за период источника. Тип: int. NULL источника сохраняется как null.
funnel[].order_sum
Сумма заказов за период источника. Тип: float. NULL источника сохраняется как null.
funnel[].buyout_count
Количество выкупов за период источника. Тип: int. NULL источника сохраняется как null.
funnel[].buyout_sum
Сумма выкупов за период источника. Тип: float. NULL источника сохраняется как null.
funnel[].cancel_count
Количество отмен за период источника. Тип: int. NULL источника сохраняется как null.
funnel[].cancel_sum
Сумма отмен за период источника. Тип: float. NULL источника сохраняется как null.
funnel[].avg_price
Средняя цена за период источника. Тип: float. NULL источника сохраняется как null.
funnel[].avg_orders_count_per_day
Среднее количество заказов в день за период источника. Тип: float. NULL источника сохраняется как null.
funnel[].share_order_percent
Доля заказов, проценты. Тип: float. NULL источника сохраняется как null.
funnel[].add_to_wishlist
Количество добавлений в избранное. Тип: int. NULL источника сохраняется как null.
funnel[].localization_percent
Процент локализации из отчёта WB. Тип: float. NULL источника сохраняется как null.
funnel[].add_to_cart_percent
Конверсия в корзину из отчёта WB, проценты. Тип: float. NULL источника сохраняется как null.
funnel[].cart_to_order_percent
Конверсия из корзины в заказ, проценты. Тип: float. NULL источника сохраняется как null.
funnel[].buyout_percent
Доля выкупов, проценты. Тип: float. NULL источника сохраняется как null.
funnel[].currency
Валюта денежного показателя в источнике. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/wb/funnel?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/wb/funnel?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/wb/funnel?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/wb/funnel?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Сохранённые снимки рекламной аналитики. date_from/date_to отбирают даты снимков; показатели могут относиться к окну сбора, а не одному дню. Суммируйте только непересекающиеся периоды источника. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по snapshot_date, advert_id. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/wb/ads?limit=100
Метод
GET
Доступ
wb_ads
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
advert_id
Точное совпадение. Идентификатор рекламной кампании WB.
advert_status
Точное совпадение. Тип или статус рекламной кампании WB, код источника.
date_from
Начало периода YYYY-MM-DD включительно по полю snapshot_date. Задаётся вместе с date_to. Без пары дат — вся сохранённая история.
date_to
Конец периода YYYY-MM-DD включительно. Даты должны существовать; date_from ≤ date_to. month/segment здесь не используются.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: wb. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
ads[].snapshot_date
Дата сохранённого снимка источника. Тип: text. NULL источника сохраняется как null.
ads[].advert_id
Идентификатор рекламной кампании WB. Тип: int. NULL источника сохраняется как null.
ads[].advert_type
Тип или статус рекламной кампании WB, код источника. Тип: int. NULL источника сохраняется как null.
ads[].advert_status
Тип или статус рекламной кампании WB, код источника. Тип: int. NULL источника сохраняется как null.
ads[].campaign_name
Название рекламной кампании. Тип: text. NULL источника сохраняется как null.
ads[].views
Количество показов или кликов за период источника. Тип: int. NULL источника сохраняется как null.
ads[].clicks
Количество показов или кликов за период источника. Тип: int. NULL источника сохраняется как null.
ads[].ctr
Кликабельность CTR, проценты. Тип: float. NULL источника сохраняется как null.
ads[].cpc
Стоимость клика из отчёта рекламы. Тип: float. NULL источника сохраняется как null.
ads[].cpm
Стоимость тысячи показов из отчёта рекламы. Тип: float. NULL источника сохраняется как null.
ads[].orders_count
Количество заказов за период источника. Тип: int. NULL источника сохраняется как null.
ads[].atbs
Добавления в корзину из отчёта рекламы. Тип: int. NULL источника сохраняется как null.
ads[].canceled
Количество отмен за период источника. Тип: int. NULL источника сохраняется как null.
ads[].sum_spent
Расход на рекламу за период источника. Тип: float. NULL источника сохраняется как null.
ads[].sum_price
Сумма заказов из отчёта рекламы за период источника. Тип: float. NULL источника сохраняется как null.
ads[].compare_to_date
Дата снимка, с которым рассчитаны изменения. Тип: text. NULL источника сохраняется как null.
ads[].spend_delta
Сохранённое изменение соответствующего показателя относительно compare_to_date. Тип: float. NULL источника сохраняется как null.
ads[].revenue_delta
Сохранённое изменение соответствующего показателя относительно compare_to_date. Тип: float. NULL источника сохраняется как null.
ads[].clicks_delta
Сохранённое изменение соответствующего показателя относительно compare_to_date. Тип: int. NULL источника сохраняется как null.
ads[].views_delta
Сохранённое изменение соответствующего показателя относительно compare_to_date. Тип: int. NULL источника сохраняется как null.
ads[].orders_delta
Сохранённое изменение соответствующего показателя относительно compare_to_date. Тип: int. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/wb/ads?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/wb/ads?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/wb/ads?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/wb/ads?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Каталог, сохранённый аналитикой Ozon из Seller API. marketing_seller_price — сохранённая цена продавца с акциями. marketing_price не подтверждает цену с Ozon Картой. Цены покупателя и СПП расширения доступны в отдельном сервисе /api/public/v1/ozon/prices с ключом магазина; этот метод их не заменяет. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по snapshot_at, product_id. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/ozon/products?limit=100
Метод
GET
Доступ
ozon_products
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
product_id
Точное совпадение. Идентификатор товара Ozon, строка.
offer_id
Точное совпадение. Артикул продавца в соответствующем источнике.
sku
Точное совпадение. Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id.
status
Точное совпадение. Статус или подстатус в сохранённом источнике.
updated_since
ISO 8601 с часовым поясом. Фильтр по snapshot_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: ozon. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
products[].product_id
Идентификатор товара Ozon, строка. Тип: text. NULL источника сохраняется как null.
products[].snapshot_at
Время сохранения снимка источника; не время текущего запроса. Тип: text. NULL источника сохраняется как null.
products[].offer_id
Артикул продавца в соответствующем источнике. Тип: text. NULL источника сохраняется как null.
products[].sku
Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id. Тип: text. NULL источника сохраняется как null.
products[].name
Название товара в источнике. Тип: text. NULL источника сохраняется как null.
products[].status
Статус или подстатус в сохранённом источнике. Тип: text. NULL источника сохраняется как null.
products[].visibility
Сохранённая видимость товара Ozon. Тип: text. NULL источника сохраняется как null.
products[].price
Цена из соответствующего источника; смысл указан в описании метода. Тип: float. NULL источника сохраняется как null.
products[].old_price
Сохранённая старая цена Ozon. Тип: float. NULL источника сохраняется как null.
products[].marketing_price
Поле маркетинговой цены Ozon; не подтверждённая цена с Ozon Картой. Тип: float. NULL источника сохраняется как null.
products[].marketing_seller_price
Цена продавца Ozon с акциями из сохранённого Seller API. Тип: float. NULL источника сохраняется как null.
products[].min_price
Сохранённая минимальная цена из каталога Ozon. Тип: float. NULL источника сохраняется как null.
products[].currency
Валюта денежного показателя в источнике. Тип: text. NULL источника сохраняется как null.
products[].barcode
Штрихкод позиции. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/ozon/products?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/ozon/products?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/ozon/products?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/ozon/products?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Сохранённые остатки Ozon. present, promised и reserved возвращаются отдельными показателями источника; метод не вычисляет их сумму как доступный остаток. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по snapshot_at, row_key. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/ozon/stocks?limit=100
Метод
GET
Доступ
ozon_stocks
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
product_id
Точное совпадение. Идентификатор товара Ozon, строка.
offer_id
Точное совпадение. Артикул продавца в соответствующем источнике.
sku
Точное совпадение. Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id.
warehouse_id
Точное совпадение. Идентификатор склада; WB — число, Ozon — строка.
warehouse_type
Точное совпадение. Тип склада или вида запаса в источнике.
stock_type
Точное совпадение. Тип склада или вида запаса в источнике.
updated_since
ISO 8601 с часовым поясом. Фильтр по snapshot_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: ozon. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
stocks[].row_key
Ключ записи для сопоставления и объединения выгрузок. Тип: text. NULL источника сохраняется как null.
stocks[].snapshot_at
Время сохранения снимка источника; не время текущего запроса. Тип: text. NULL источника сохраняется как null.
stocks[].product_id
Идентификатор товара Ozon, строка. Тип: text. NULL источника сохраняется как null.
stocks[].offer_id
Артикул продавца в соответствующем источнике. Тип: text. NULL источника сохраняется как null.
stocks[].sku
Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id. Тип: text. NULL источника сохраняется как null.
stocks[].warehouse_id
Идентификатор склада; WB — число, Ozon — строка. Тип: text. NULL источника сохраняется как null.
stocks[].warehouse_name
Название склада источника. Тип: text. NULL источника сохраняется как null.
stocks[].warehouse_type
Тип склада или вида запаса в источнике. Тип: text. NULL источника сохраняется как null.
stocks[].stock_type
Тип склада или вида запаса в источнике. Тип: text. NULL источника сохраняется как null.
stocks[].present
Сохранённый показатель остатка Ozon; значения не суммируются методом. Тип: int. NULL источника сохраняется как null.
stocks[].promised
Сохранённый показатель остатка Ozon; значения не суммируются методом. Тип: int. NULL источника сохраняется как null.
stocks[].reserved
Сохранённый показатель остатка Ozon; значения не суммируются методом. Тип: int. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/ozon/stocks?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/ozon/stocks?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/ozon/stocks?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/ozon/stocks?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Сохранённые дневные показатели Ozon по SKU. date_from/date_to задают дни отчёта включительно; повторно импортированные дни заменяют прежние данные. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по day, sku. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/ozon/analytics?limit=100
Метод
GET
Доступ
ozon_analytics
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
sku
Точное совпадение. Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id.
offer_id
Точное совпадение. Артикул продавца в соответствующем источнике.
product_id
Точное совпадение. Идентификатор товара Ozon, строка.
date_from
Начало периода YYYY-MM-DD включительно по полю day. Задаётся вместе с date_to. Без пары дат — вся сохранённая история.
date_to
Конец периода YYYY-MM-DD включительно. Даты должны существовать; date_from ≤ date_to. month/segment здесь не используются.
updated_since
ISO 8601 с часовым поясом. Фильтр по updated_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: ozon. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
analytics[].day
День отчёта Ozon, YYYY-MM-DD. Тип: text. NULL источника сохраняется как null.
analytics[].sku
Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id. Тип: text. NULL источника сохраняется как null.
analytics[].offer_id
Артикул продавца в соответствующем источнике. Тип: text. NULL источника сохраняется как null.
analytics[].product_id
Идентификатор товара Ozon, строка. Тип: text. NULL источника сохраняется как null.
analytics[].product_name
Название товара в источнике. Тип: text. NULL источника сохраняется как null.
analytics[].ordered_units
Количество заказанных единиц за день по данным Ozon. Тип: float. NULL источника сохраняется как null.
analytics[].revenue
Выручка за день по данным аналитики Ozon. Тип: float. NULL источника сохраняется как null.
analytics[].delivered_units
Количество доставленных единиц за день по данным Ozon. Тип: float. NULL источника сохраняется как null.
analytics[].returns
Количество возвратов или отмен за день по данным Ozon. Тип: float. NULL источника сохраняется как null.
analytics[].cancellations
Количество возвратов или отмен за день по данным Ozon. Тип: float. NULL источника сохраняется как null.
analytics[].hits_view
Сохранённый показатель просмотра или корзины аналитики Ozon. Тип: float. NULL источника сохраняется как null.
analytics[].hits_tocart
Сохранённый показатель просмотра или корзины аналитики Ozon. Тип: float. NULL источника сохраняется как null.
analytics[].session_view
Сохранённый показатель просмотра или корзины аналитики Ozon. Тип: float. NULL источника сохраняется как null.
analytics[].conv_tocart_percent
Конверсия в корзину по данным Ozon, проценты. Тип: float. NULL источника сохраняется как null.
analytics[].updated_at
Время последнего сохранённого обновления записи. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/ozon/analytics?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/ozon/analytics?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/ozon/analytics?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/ozon/analytics?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Сохранённые отправления Ozon. scheme передаётся в форме источника (FBO/FBS). finance_ready — битовая маска наличия финансовых показателей: 1 — payout, 2 — commission, 4 — delivery_charge; 7 — все три. Если соответствующий бит отсутствует, значение может быть неполным. Маска означает наличие данных источника, а не окончательную сверку выплаты. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по created_at, posting_number. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/ozon/postings?limit=100
Метод
GET
Доступ
ozon_postings
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
posting_number
Точное совпадение. Номер отправления Ozon; связывает отправление, состав и операции.
scheme
Точное совпадение. Схема отправления в формате источника, например FBO или FBS.
status
Точное совпадение. Статус или подстатус в сохранённом источнике.
date_from
Начало периода YYYY-MM-DD включительно по полю created_at. Задаётся вместе с date_to. Без пары дат — вся сохранённая история.
date_to
Конец периода YYYY-MM-DD включительно. Даты должны существовать; date_from ≤ date_to. month/segment здесь не используются.
updated_since
ISO 8601 с часовым поясом. Фильтр по snapshot_at включительно; допускает повторные записи при синхронизации.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: ozon. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
postings[].posting_number
Номер отправления Ozon; связывает отправление, состав и операции. Тип: text. NULL источника сохраняется как null.
postings[].scheme
Схема отправления в формате источника, например FBO или FBS. Тип: text. NULL источника сохраняется как null.
postings[].snapshot_at
Время сохранения снимка источника; не время текущего запроса. Тип: text. NULL источника сохраняется как null.
postings[].order_id
Идентификатор заказа Ozon, строка. Тип: text. NULL источника сохраняется как null.
postings[].status
Статус или подстатус в сохранённом источнике. Тип: text. NULL источника сохраняется как null.
postings[].substatus
Статус или подстатус в сохранённом источнике. Тип: text. NULL источника сохраняется как null.
postings[].created_at
Время создания записи в источнике. Тип: text. NULL источника сохраняется как null.
postings[].in_process_at
Время начала обработки отправления Ozon. Тип: text. NULL источника сохраняется как null.
postings[].shipment_date
Сохранённое время отгрузки Ozon. Тип: text. NULL источника сохраняется как null.
postings[].delivering_date
Сохранённое время передачи в доставку Ozon. Тип: text. NULL источника сохраняется как null.
postings[].delivered_at
Сохранённое время доставки Ozon. Тип: text. NULL источника сохраняется как null.
postings[].cancellation_at
Сохранённое время отмены Ozon. Тип: text. NULL источника сохраняется как null.
postings[].warehouse_name
Название склада источника. Тип: text. NULL источника сохраняется как null.
postings[].products_count
Количество товарных строк в отправлении. Тип: int. NULL источника сохраняется как null.
postings[].units_count
Количество единиц товара в отправлении. Тип: int. NULL источника сохраняется как null.
postings[].total_price
Сохранённая сумма total_price соответствующего отчёта. Тип: float. NULL источника сохраняется как null.
postings[].payout
Сохранённая сумма выплаты; наличие показателя отмечено битом 1 в finance_ready. Тип: float. NULL источника сохраняется как null.
postings[].commission
Сохранённая комиссия по отправлению. Тип: float. NULL источника сохраняется как null.
postings[].delivery_charge
Сохранённая сумма доставки из соответствующего отчёта Ozon. Тип: float. NULL источника сохраняется как null.
postings[].finance_ready
Битовая маска integer: 1 — payout, 2 — commission, 4 — delivery_charge. Комбинация 7 означает наличие всех трёх показателей. Это наличие сохранённых данных, а не окончательная сверка выплаты.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/ozon/postings?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/ozon/postings?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/ozon/postings?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/ozon/postings?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Строки сохранённых отправлений. posting_number связывает строки с postings. price — цена позиции в отправлении; это не подтверждённая актуальная цена витрины с Ozon Картой. Для обновлений выгружайте состав заново: в источнике нет времени обновления строки. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по posting_number, row_key. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/ozon/posting-items?limit=100
Метод
GET
Доступ
ozon_postings
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
posting_number
Точное совпадение. Номер отправления Ozon; связывает отправление, состав и операции.
scheme
Точное совпадение. Схема отправления в формате источника, например FBO или FBS.
offer_id
Точное совпадение. Артикул продавца в соответствующем источнике.
sku
Точное совпадение. Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: ozon. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
posting_items[].row_key
Ключ записи для сопоставления и объединения выгрузок. Тип: text. NULL источника сохраняется как null.
posting_items[].posting_number
Номер отправления Ozon; связывает отправление, состав и операции. Тип: text. NULL источника сохраняется как null.
posting_items[].scheme
Схема отправления в формате источника, например FBO или FBS. Тип: text. NULL источника сохраняется как null.
posting_items[].offer_id
Артикул продавца в соответствующем источнике. Тип: text. NULL источника сохраняется как null.
posting_items[].sku
Артикул в Core; в методах Ozon — SKU Ozon. Не смешивайте с offer_id. Тип: text. NULL источника сохраняется как null.
posting_items[].product_id
Идентификатор товара Ozon, строка. Тип: text. NULL источника сохраняется как null.
posting_items[].product_name
Название товара в источнике. Тип: text. NULL источника сохраняется как null.
posting_items[].quantity
Количество в исходном отчёте. Тип: int. NULL источника сохраняется как null.
posting_items[].price
Цена из соответствующего источника; смысл указан в описании метода. Тип: float. NULL источника сохраняется как null.
posting_items[].currency
Валюта денежного показателя в источнике. Тип: text. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/ozon/posting-items?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/ozon/posting-items?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/ozon/posting-items?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/ozon/posting-items?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Сохранённые финансовые операции Ozon. Суммы сохраняют знак источника. Для доступа требуется отдельное финансовое разрешение ozon_finance. Коррекции ранее загруженных операций требуют повторной выгрузки периода. Возвращаются только сохранённые данные организации токена. generated_at — время ответа. По умолчанию выдаются все сохранённые записи постранично, начиная с последних по operation_date, operation_id. Между страницами состояние может измениться.
Маршрут
/api/public/v1/marketplaces/ozon/finance?limit=100
Метод
GET
Доступ
ozon_finance
Параметры запроса
limit
Размер страницы: 1–250; по умолчанию 100.
cursor
next_cursor предыдущего ответа. Сохраняйте фильтры; курсор привязан к методу и организации.
posting_number
Точное совпадение. Номер отправления Ozon; связывает отправление, состав и операции.
scheme
Точное совпадение. Схема отправления в формате источника, например FBO или FBS.
operation_type
Точное совпадение. Тип или название финансовой операции в формате Ozon.
transaction_type
Точное совпадение. Тип или название финансовой операции в формате Ozon.
date_from
Начало периода YYYY-MM-DD включительно по полю operation_date. Задаётся вместе с date_to. Без пары дат — вся сохранённая история.
date_to
Конец периода YYYY-MM-DD включительно. Даты должны существовать; date_from ≤ date_to. month/segment здесь не используются.
Поля ответа
available
false: модуль ещё не создал таблицу данных; коллекция пустая. true: таблица существует; пустой результат возможен при отсутствии подходящих записей.
data_source
Источник сохранённых данных: ozon. Запрос не запускает синхронизацию источника.
count / limit / has_more / next_cursor
Количество записей страницы, её лимит, наличие продолжения и курсор. Последняя страница: next_cursor=null.
finance[].operation_id
Идентификатор финансовой операции Ozon, строка. Тип: text. NULL источника сохраняется как null.
finance[].operation_date
Дата и время финансовой операции Ozon. Тип: text. NULL источника сохраняется как null.
finance[].operation_type
Тип или название финансовой операции в формате Ozon. Тип: text. NULL источника сохраняется как null.
finance[].operation_name
Тип или название финансовой операции в формате Ozon. Тип: text. NULL источника сохраняется как null.
finance[].transaction_type
Тип или название финансовой операции в формате Ozon. Тип: text. NULL источника сохраняется как null.
finance[].posting_number
Номер отправления Ozon; связывает отправление, состав и операции. Тип: text. NULL источника сохраняется как null.
finance[].scheme
Схема отправления в формате источника, например FBO или FBS. Тип: text. NULL источника сохраняется как null.
finance[].amount
Сумма финансовой операции со знаком источника. Тип: float. NULL источника сохраняется как null.
finance[].accruals_for_sale
Начисления за продажу из операции Ozon. Тип: float. NULL источника сохраняется как null.
finance[].sale_commission
Комиссия за продажу из операции Ozon, со знаком источника. Тип: float. NULL источника сохраняется как null.
finance[].delivery_charge
Сохранённая сумма доставки из соответствующего отчёта Ozon. Тип: float. NULL источника сохраняется как null.
finance[].return_delivery_charge
Сумма обратной доставки из операции Ozon. Тип: float. NULL источника сохраняется как null.
finance[].services_total
Общая сумма услуг из сохранённой операции Ozon. Тип: float. NULL источника сохраняется как null.
Примеры запроса
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/marketplaces/ozon/finance?limit=100'
const response = await fetch("https://expri-server.ru/api/public/v1/marketplaces/ozon/finance?limit=100", { method: "GET", headers: { "X-Public-Api-Key": "sorld_core_live_your_token_here" } }); const data = await response.json(); if (!response.ok || data.ok === false) throw new Error(JSON.stringify(data)); console.log(data);
import requests response = requests.request( "GET", "https://expri-server.ru/api/public/v1/marketplaces/ozon/finance?limit=100", headers={"X-Public-Api-Key":"sorld_core_live_your_token_here"}, timeout=30, ) response.raise_for_status() print(response.json())
$ch = curl_init('https://expri-server.ru/api/public/v1/marketplaces/ozon/finance?limit=100'); curl_setopt_array($ch, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['X-Public-Api-Key: sorld_core_live_your_token_here'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $body = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . PHP_EOL; echo $body;
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Проверка ключа доступа. Возвращает идентификатор, название и тип магазина, а также версию протокола.
Маршрут
/api/public/v1/ozon/connection
Метод
GET
Доступ
Ключ магазина ozs2.… или код Core ozs1.…, Authorization: Bearer
Параметры запроса
Дополнительные query-параметры не нужны.
Примеры запроса
curl -H "Authorization: Bearer YOUR_SHOP_TOKEN" "https://expri-server.ru/api/public/v1/ozon/connection"
const response = await fetch("https://expri-server.ru/api/public/v1/ozon/connection", { method: "GET", headers: { Authorization: "Bearer YOUR_SHOP_TOKEN" } }); console.log(await response.json());
import os, requests response = requests.get("https://expri-server.ru/api/public/v1/ozon/connection", headers={"Authorization": "Bearer " + os.environ["OZON_PRICES_TOKEN"]}, timeout=30) response.raise_for_status() print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/ozon/connection"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("OZON_PRICES_TOKEN")], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); echo curl_exec($ch); curl_close($ch);
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Приём полного сбора цен Ozon Seller. Сопоставление товаров выполняется по offer_id; расчёт СПП — на стороне API.
Маршрут
/api/public/v1/ozon/batches
Метод
POST
Доступ
Ключ магазина ozs2.… или код Core ozs1.…, Authorization: Bearer
Параметры запроса
products[]
offer_id, status=seller_price_pair, site_price, realization_price, observed_at. Все цены — числа в RUB.
Тело JSON · сохраните как batch.json
{ "source": "seller_price_table", "batch_id": "demo-01-p2-contenthash", "status": "done", "product_count": 1, "started_on_first_page": true, "completed_to_end": true, "view_complete": true, "products": [ { "offer_id": "DEMO_01", "status": "seller_price_pair", "site_price": 1078, "realization_price": 971, "observed_at": "2026-10-12T10:56:55+00:00" } ] }
Примеры запроса
curl -H "Authorization: Bearer YOUR_SHOP_TOKEN" -H "Content-Type: application/json" --data-binary @batch.json "https://expri-server.ru/api/public/v1/ozon/batches"
const response = await fetch("https://expri-server.ru/api/public/v1/ozon/batches", { method: "POST", headers: { Authorization: "Bearer YOUR_SHOP_TOKEN", "Content-Type": "application/json" }, body: JSON.stringify({ "source": "seller_price_table", "batch_id": "demo-01-p2-contenthash", "status": "done", "product_count": 1, "started_on_first_page": true, "completed_to_end": true, "view_complete": true, "products": [ { "offer_id": "DEMO_01", "status": "seller_price_pair", "site_price": 1078, "realization_price": 971, "observed_at": "2026-10-12T10:56:55+00:00" } ] }) }); console.log(await response.json());
import os, requests import json with open("batch.json", encoding="utf-8") as file: body = json.load(file) response = requests.post("https://expri-server.ru/api/public/v1/ozon/batches", headers={"Authorization": "Bearer " + os.environ["OZON_PRICES_TOKEN"]}, json=body, timeout=30) response.raise_for_status() print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/ozon/batches"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("OZON_PRICES_TOKEN"), "Content-Type: application/json"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, CURLOPT_POST => true, CURLOPT_POSTFIELDS => file_get_contents("batch.json"), ]); echo curl_exec($ch); curl_close($ch);
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Импорт цен продавца для внешней интеграции. Источник: marketing_seller_price метода Ozon Seller API /v5/product/info/prices.
Маршрут
/api/public/v1/ozon/seller-prices
Метод
POST
Доступ
Ключ магазина ozs2.… или код Core ozs1.…, Authorization: Bearer
Параметры запроса
products[]
offer_id, price, field=marketing_seller_price, source=/v5/product/info/prices, currency=RUB, observed_at. sku, product_id, name необязательны.
realization_is_ozon_card
Необязательный логический параметр. Значение true подтверждает соответствие realization_price цене с Ozon Картой и включает расчёт СПП для tier=card. Без подтверждения используется только tier=site.
Тело JSON · сохраните как seller-prices.json
{ "realization_is_ozon_card": true, "products": [ { "offer_id": "DEMO_01", "sku": "1549432508", "name": "Демонстрационный товар", "price": 2100, "field": "marketing_seller_price", "source": "/v5/product/info/prices", "currency": "RUB", "observed_at": "2026-10-12T10:56:55+00:00" } ] }
Примеры запроса
curl -H "Authorization: Bearer YOUR_SHOP_TOKEN" -H "Content-Type: application/json" --data-binary @seller-prices.json "https://expri-server.ru/api/public/v1/ozon/seller-prices"
const response = await fetch("https://expri-server.ru/api/public/v1/ozon/seller-prices", { method: "POST", headers: { Authorization: "Bearer YOUR_SHOP_TOKEN", "Content-Type": "application/json" }, body: JSON.stringify({ "realization_is_ozon_card": true, "products": [ { "offer_id": "DEMO_01", "sku": "1549432508", "name": "Демонстрационный товар", "price": 2100, "field": "marketing_seller_price", "source": "/v5/product/info/prices", "currency": "RUB", "observed_at": "2026-10-12T10:56:55+00:00" } ] }) }); console.log(await response.json());
import os, requests import json with open("seller-prices.json", encoding="utf-8") as file: body = json.load(file) response = requests.post("https://expri-server.ru/api/public/v1/ozon/seller-prices", headers={"Authorization": "Bearer " + os.environ["OZON_PRICES_TOKEN"]}, json=body, timeout=30) response.raise_for_status() print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/ozon/seller-prices"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("OZON_PRICES_TOKEN"), "Content-Type: application/json"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, CURLOPT_POST => true, CURLOPT_POSTFIELDS => file_get_contents("seller-prices.json"), ]); echo curl_exec($ch); curl_close($ch);
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
Возвращает последние сохранённые наблюдения каждого товара и вида цены. Цена может быть устаревшей: проверяйте observed_at и stale.
Маршрут
/api/public/v1/ozon/prices
Метод
GET
Доступ
Ключ магазина ozs2.… или код Core ozs1.…, Authorization: Bearer
Параметры запроса
tier
all (по умолчанию), card или site.
offer_id
Необязательный точный артикул.
limit
От 1 до 1000; по умолчанию 100.
offset
Смещение; продолжение в next_offset.
Примеры запроса
curl -H "Authorization: Bearer YOUR_SHOP_TOKEN" "https://expri-server.ru/api/public/v1/ozon/prices"
const response = await fetch("https://expri-server.ru/api/public/v1/ozon/prices", { method: "GET", headers: { Authorization: "Bearer YOUR_SHOP_TOKEN" } }); console.log(await response.json());
import os, requests response = requests.get("https://expri-server.ru/api/public/v1/ozon/prices", headers={"Authorization": "Bearer " + os.environ["OZON_PRICES_TOKEN"]}, timeout=30) response.raise_for_status() print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/ozon/prices"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("OZON_PRICES_TOKEN")], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); echo curl_exec($ch); curl_close($ch);
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON
Что делает метод
История по дням Екатеринбурга, до 366 дней в запросе. Точные времена обоих замеров возвращаются отдельно.
Маршрут
/api/public/v1/ozon/history?date_from=2026-10-01&date_to=2026-10-12
Метод
GET
Доступ
Ключ магазина ozs2.… или код Core ozs1.…, Authorization: Bearer
Параметры запроса
date_from
Обязательная дата начала YYYY-MM-DD.
date_to
Обязательная дата конца YYYY-MM-DD.
tier
all, card или site.
offer_id
Необязательный точный артикул.
limit
От 1 до 1000.
offset
Смещение; продолжение в next_offset.
Примеры запроса
curl -H "Authorization: Bearer YOUR_SHOP_TOKEN" "https://expri-server.ru/api/public/v1/ozon/history?date_from=2026-10-01&date_to=2026-10-12"
const response = await fetch("https://expri-server.ru/api/public/v1/ozon/history?date_from=2026-10-01&date_to=2026-10-12", { method: "GET", headers: { Authorization: "Bearer YOUR_SHOP_TOKEN" } }); console.log(await response.json());
import os, requests response = requests.get("https://expri-server.ru/api/public/v1/ozon/history?date_from=2026-10-01&date_to=2026-10-12", headers={"Authorization": "Bearer " + os.environ["OZON_PRICES_TOKEN"]}, timeout=30) response.raise_for_status() print(response.json())
$ch = curl_init("https://expri-server.ru/api/public/v1/ozon/history?date_from=2026-10-01&date_to=2026-10-12"); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("OZON_PRICES_TOKEN")], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); echo curl_exec($ch); curl_close($ch);
Прямая ссылка
Примеры ответа · демонстрационные данные
Тип контента
application/json
JSON

Примеры интеграции

Запросы к сохранённым данным Core и обход страниц.
Проверить токен
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-10&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-10-01&date_to=2026-10-12&emp_id=emp_001&limit=100"
Остатки готовой продукции
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/stock?limit=100'
Расход чернил по SKU
curl -H 'X-Public-Api-Key: sorld_core_live_your_token_here' 'https://expri-server.ru/api/public/v1/ink?limit=100'
Все страницы заказов · Python
import os import requests params = {"limit": 250} headers = {"X-Public-Api-Key": os.environ["CORE_PUBLIC_API_KEY"]} while True: response = requests.get( "https://expri-server.ru/api/public/v1/orders", headers=headers, params=params, timeout=30, ) response.raise_for_status() data = response.json() if not data.get("ok"): raise RuntimeError(data) for order in data["orders"]: print(order["order_key"], order["status"]) if not data["has_more"]: break params["cursor"] = data["next_cursor"]