Пока опция включена, платформа пишет в базу журнал обращений технических адаптеров поставщиков: что отправлялось, что приходило, сколько длился запрос, был ли HTTP‑ответ и текст ошибки (если есть). Это серверные логи: их можно просматривать в панели позже, в отличие от отладки проценки в публичной части.
Записи создаются только при включённой отладке. Если переключатель выключить, новые строки не появляются.
Где находится переключатель
Настройки → Общие настройки → вкладка «Проценка» → блок «Отладка» → «Включить отладку поставщиков»
Где смотреть журнал
Настройки продаж → Поставщики → откройте нужного поставщика → вкладка «Отладка».
После шага проценки откройте поставщика, по которому хотите разобрать цепочку запросов.
Как пользоваться (кратко)
- Включите отладку поставщиков и нажмите Сохранить
- Выполните проценку по артикулу, который точно есть в наличии у этого поставщика — так в логах будут полноценные ответы API и корректные данные для разбора
- Откройте карточку поставщика и вкладку «Отладка»
- Отсортируйте по времени (по умолчанию сверху — последние записи), при необходимости отфильтруйте по «Успех»
- Нажмите «Подробнее» у строки, чтобы увидеть полные запрос и ответ в модальном окне
Таблица журнала: колонки и смысл
| Колонка | Что означает |
|---|---|
| ID | Уникальный номер записи в таблице storage_adapter_logs. |
| Адаптер | Полное имя PHP‑класса адаптера (например Modules\StorageAdapters\Rossko\RosskoAdapter). По нему видно, какой модуль обслуживает поставщика. |
| Действие | Короткий код этапа обработки (см. ниже). |
| Успех | Признак «ошибки нет»: в данных записи поле ошибки пустое. Если внутри цепочки заполнено текстовое поле ошибки — в колонке неуспех, даже если запись носит диагностический характер (см. ниже). |
| HTTP | Код ответа HTTP от API поставщика при реальном запросе (см. ниже). Для записей без HTTP‑запроса может быть пусто. |
| Длительность, мс | Длительность операции в миллисекундах там, где она измерялась (запрос к API, ожидание пакета параллельных запросов и т. д.). |
| Создано | Время создания записи; в панели выводится с учётом часового пояса браузера. |
Колонка «HTTP»: коды ответа
В колонку попадают обычные сетевые коды ответа (как в браузере: 200, 404 и т. д.) — их отдал сервер поставщика на запрос программы. Это не придумка платформы и не отдельная таблица «у каждого поставщика свои числа» — коды одинаковые по правилам интернета, но разные поставщики по-разному их используют (см. таблицу и блок «Важно» ниже).
| Диапазон / пример | Коротко, что это значит |
|---|---|
| 2xx (часто 200) | Связь с сервером поставщика прошла без сбоя — ответ доехал. Но одной цифры 200 мало: по ней не видно, нашёлся артикул или нет. Часто при 200 в ответе всё равно пусто или написано «не найдено» — откройте «Подробнее» и прочитайте ответ целиком. |
| 4xx (например 404, 401, 403) | Обычно что‑то не так с запросом или доступом (ключ, права, адрес). Подробности — в «Подробнее» и в тексте ошибки в записи. |
| 5xx (например 500, 502, 503) | Ошибка или перегрузка на стороне сервера поставщика (или промежуточного шлюза). |
Важно: у одного поставщика «номера нет» может быть при 200 и пустом ответе, у другого — сразу 404. Одной таблицы «код → что случилось у всех» не существует: в колонке HTTP — грубо «ответ дошёл или нет», а нашлось ли что‑то по артикулу — только в «Подробнее» (и в ошибке, если адаптер её записал).
Если колонка HTTP пустая — для этой строки часто не было отдельного сетевого ответа (сводка по нескольким запросам, отбор «лучших» позиций и т. п.).
Колонка «Успех»
В коде платформы признак успеха выставляется так: успех = текст ошибки не задан (error пустой). Любая непустая строка в поле ошибки даёт неуспех в таблице — в том числе для служебных сообщений вроде «неуспешный HTTP‑код» или «параллельные запросы заняли больше ожидаемого времени», если они были записаны в поле ошибки.
Отдельные информационные записи (например сводка по «медленным» запросам дольше 3 секунд) могут быть с пустым error — у них будет успех, хотя в response есть поясняющий текст.
«Подробнее»
В модальном окне — что отправляли поставщику и что он прислал (часто длинный текст в «техническом» виде), плюс при необходимости ошибка, код HTTP, время. Точный вид зависит от версии платформы.
Значения поля «Действие» (action)
Набор кодов задаётся в коде адаптеров и общей логики. Ниже — типичные группы; у конкретного поставщика могут встречаться и другие строки, если адаптер логирует свои этапы.
Запрос брендов и запрос позиций
brands— этап подбора брендов по артикулу (или аналогичный запрос к API в терминах данного адаптера).parts— этап запроса позиций / цен по артикулу (и связанным параметрам), когда ответ уже привязан к выбранным брендам или к логике адаптера.
Это основные «пользовательские» типы записей при разборе проценки.
Параллельные запросы по списку брендов (общая логика BaseAdapter)
Если адаптер использует параллельный опрос нескольких брендов, в журнале могут появляться:
| Код | Назначение (по смыслу записи) |
|---|---|
parts_parallel_start |
Старт пакета: сколько промисов создано, какие бренды в пакете. |
parts_parallel_results |
Сводка после завершения ожидания: сколько запросов выполнено/отклонено, сколько времени заняло ожидание. |
parts_parallel_batch |
Итоговое время ожидания всего пакета (мс). |
parts_parallel |
Результат по одному бренду: URL, параметры, число позиций после разбора, HTTP‑код; либо текст ошибки (сеть, JSON, не‑2xx и т. д.). |
parts_parallel_no_promises |
Не удалось создать ни одного HTTP‑запроса (пакет пустой на выходе). |
parts_parallel_empty |
После ожидания результатов нет или они в неожиданном виде. |
parts_parallel_error |
Исключение на этапе ожидания всех промисов (критическая ошибка пакета). |
parts_parallel_slow |
Либо предупреждение о слишком долгом общем ожидании (в поле ошибки может быть пояснение), либо информация о запросах дольше 3 секунд по отдельным брендам — смотрите, заполнено ли поле ошибки и тело response. |
Ограничение выдачи по настройкам проценки
parts_top_items_selected— сработало ограничение «Возвращать только лучшие позиции»: в запросе/ответе фиксируются числа «сколько аналогов было» и «сколько оставлено после отбора топ‑N».
Прочие коды
Отдельные адаптеры могут писать, например, auth_token — получение токена авторизации перед основными запросами. Точный смысл всегда можно уточнить в «Подробнее» по полям request / response.
Очистка журнала
Накопленные записи можно удалить массово: Система → Очистка системы — действие, которое очищает логи запросов поставщиков (таблица storage_adapter_logs). Имеет смысл перед этим убедиться, что нужные данные сохранены или диагностика завершена.
Когда включать
- при подключении нового поставщика;
- при ошибках, пустой выдаче, подозрении на таймауты или неверный ответ API;
- для сравнения длительности запросов между поставщиками.
Запись каждой операции увеличивает объём данных в базе и нагрузку. Не оставляйте отладку включённой постоянно в продакшене — только на время диагностики.
Связанные настройки
- Отладка проценки в публичной части — отладка на стороне клиента в публичной части, без истории в панели.