Как получить данные о начислениях, услугах рекламы и компенсациях Ozon через API?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При настройке интеграции учетных систем 1С с маркетплейсом Ozon одной из ключевых задач становится получение полной финансовой картины: стоимости услуг агентов, затрат на рекламу и продвижение, а также сумм компенсаций и удержаний. Разберем по шагам, с помощью каких методов Seller API можно извлечь эти показатели, как они детализируются по отправлениям и с какими техническими ограничениями предстоит столкнуться разработчику.

Эволюция методов Seller API для финансовых начислений

Ранее для выгрузки всех транзакций разработчики традиционно использовали метод v3/finance/transaction/list. Однако в современных версиях API маркетплейса данный метод признан устаревшим и выведен из эксплуатации. Рассмотрим актуальный стек методов, пришедший ему на смену:

  1. /v1/finance/accrual/postings — основной метод для получения детализированных начислений с жесткой привязкой к конкретным номерам отправлений;
  2. /v1/finance/accrual/by-day — метод для получения агрегированных данных о начислениях и списаниях, сгруппированных по календарным дням;
  3. /v1/finance/accrual/types — справочник всех существующих типов начислений и удержаний, который необходим для корректной классификации строк в учетной системе;
  4. /v1/finance/compensation и /v1/finance/decompensation — специализированные методы для получения информации о начисленных компенсациях (например, за утерю или повреждение товара) и декомпенсациях (обратных списаниях и корректировках).

Уровни детализации: поотправленческие начисления и общекабинетные расходы

Проанализируем структуру затрат, которую отдает маркетплейс. Все финансовые операции Ozon строго разделены на два фундаментальных уровня, что напрямую влияет на возможность получения аналитики в разрезе отправлений:

  1. Поотправленческие операции. Сюда входят комиссия за продажу, сборка заказа, магистраль, доставка последней мили и эквайринг. Эти затраты всегда содержат номер отправления (posting number), что позволяет сразу привязать их к конкретному документу заказа или реализации в 1С.
  2. Общекабинетные расходы. К этой категории относятся продвижение и реклама, размещение товаров на складах Ozon (хранение), утилизация, подписки, а также агентские и сервисные вознаграждения. В ответе API идентификатор отправления для таких операций отсутствует.

Выясним причину: реклама или абонентская плата начисляются на весь личный кабинет или конкретную товарную позицию за период, поэтому маркетплейс не связывает их с отдельным заказом. Если в управленческом учете требуется видеть сквозную себестоимость конкретного отправления с учетом рекламы, распределение необходимо выполнять расчетным путем на стороне 1С — например, пропорционально сумме выручки, маржинальности или количеству проданных единиц за выбранный период.

Детализация затрат на продвижение и рекламу через Performance API

Рассмотрим подробнее нюансы учета рекламных бюджетов. В рамках стандартного Seller API расходы на рекламу возвращаются лишь итоговой агрегированной суммой удержания за расчетный интервал. Если вашей учетной системе требуется подробная аналитика до конкретных товаров (SKU), рекламных кампаний или инструментов (трафареты, продвижение в поиске), возможностей базового Seller API будет недостаточно.

Для этих целей маркетплейс предоставляет отдельный сервис — Performance API. Обратите внимание на его особенности при разработке механизмов обмена:

  1. Performance API использует отдельную пару учетных данных — собственные Client ID и Client Secret, отличающиеся от ключей Seller API;
  2. Авторизация выполняется через получение временного bearer-токена;
  3. Сервис позволяет запрашивать детальную статистику по кликам, показам и списаниям в разрезе конкретных артикулов и маркетинговых кампаний.

Технические ограничения и специфика загрузки данных в 1С

При проектировании алгоритмов выгрузки финансовых показателей в конфигурации 1С обязательно учитывайте регламентные ограничения протокола Ozon API:

  1. Интервал запроса. Методы начислений не позволяют выгружать интервал времени более одного календарного месяца (30–31 день) в рамках одного HTTP-вызова. Если вам требуется загрузить историю за квартал или год, разбейте период на циклы по месяцам в коде обработки.
  2. Постраничная выгрузка (пагинация). Финансовые данные возвращаются порциями. Алгоритм в 1С должен анализировать признаки наличия следующей страницы в теле ответа и циклически считывать порции данных до полного завершения выборки.
  3. Лимиты частоты запросов (Rate Limits). Маркетплейс ограничивает количество запросов в секунду. При массовой выгрузке транзакций за длительный интервал обязательно контролируйте задержки между пакетами, чтобы предотвратить возникновение ошибки с кодом 429 Too Many Requests.

Оперативный баланс и регламентированная отчетность в 1С

Разберем различия между оперативным и бухгалтерским учетом начислений. Финансовые транзакции, получаемые через методы /v1/finance/accrual/*, носят оперативный характер. Маркетплейс оставляет за собой право вносить корректировки в течение отчетного месяца (например, производить перерасчет стоимости логистики или регистрировать запоздалые возвраты).

По этой причине для задач управленческого учета, мониторинга ежедневной маржинальности и контроля остатков на балансе маркетплейса отлично подходят оперативные методы начислений. Однако для регламентированного и бухгалтерского учета в 1С рекомендуется использовать метод /v1/finance/realization. Он отдает официальный закрывающий отчет о реализации за календарный месяц, в котором все удержания, агентские вознаграждения, реклама и компенсации зафиксированы в итоговом виде для формирования актов и проводок.

← На главную