Перейти к содержанию
Содержание

В выгрузке API Маркета не хватает строк: проверьте последнюю страницу

Если в выгрузке API Маркета не хватает заказов или товаров, сначала проверьте, дошла ли интеграция до последней страницы. Небольшое число записей в ответе ещё не доказывает, что выборка закончилась.

Этот порядок нужен аналитику, который принимает данные от интегратора. Итог проверки: понятна граница выгрузки, а пропущенные страницы отделены от фильтров и последующих преобразований таблицы.

В выгрузке API Маркета не хватает строк: проверьте последнюю страницу

По какому признаку заканчивается выборка

Документация по пагинации описывает последовательность для методов с pageToken:

  1. Первый запрос выполняют без pageToken.
  2. Если ответ содержит paging.nextPageToken, его значение передают следующим запросом в pageToken.
  3. Запросы продолжают, пока приходит следующий токен. Отсутствие nextPageToken означает последнюю страницу.

Токен является строкой, а не номером страницы. Не пытайтесь прибавлять к нему единицу или конструировать следующее значение самостоятельно.

В рекомендациях по интеграции Маркет отдельно предупреждает: число элементов может быть меньше ожидаемого limit. Определять конец нужно по nextPageToken, а не по размеру страницы. Некоторые методы уменьшают слишком большой limit до разрешённого максимума.

Что попросить у интегратора

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

ПроверкаЧто увидеть в журнале
Первая страницаЗапрос без токена и полученный ответ
ПродолжениеТокен из ответа использован следующим запросом
ЗавершениеУспешный ответ без токена следующей страницы
Ошибка посерединеГде остановился проход и какие страницы уже сохранены

Не включайте API-ключи в такой журнал. Для совместной проверки нужны параметры выборки, состояние прохода и число записей по страницам.

Если на последней полученной странице есть токен, а следующего запроса нет, выгрузка не подтверждена как полная. Сначала выясните причину остановки. Это может быть условие завершения в интеграции, ошибка запроса или незавершённая задача; по одному отсутствующему заказу выбрать причину нельзя.

Не смешивайте полноту прохода с полнотой бизнеса

Даже завершённый проход возвращает только данные, подходящие под условия запроса. Сопоставьте фильтры и смысл даты с задачей аналитика. Затем найдите конкретный ожидаемый объект по его идентификатору и проверьте, должен ли он входить в эту выборку.

Если API-ответы содержат нужную запись, а итоговая таблица нет, переходите к объединению страниц, фильтрации и преобразованиям после получения данных. Не меняйте одновременно фильтры API и правила обработки таблицы.

Проверку можно закрыть, когда сохранён признак последней страницы, параметры соответствуют задаче, а исчезновение контрольной записи объяснено конкретным этапом. До этого обозначайте набор как непроверенный, а не как полную основу для расчёта показателей.

Теги

Комментарии 0

0 / 1500

Популярные статьи