GSE Electro. Потолок 3 400
GSE Electro
Каталог поставщика на Битриксе
Поставщик дал нестабильный API без фильтра по складу. Первая боевая выгрузка упёрлась в 3 400 товаров, и работу приняли только как прототип. Довёл её до конца за пять дней.
- 1 000
Тестовый домен. Мало намеренно, надо было согласовать поля.
- 3 399
Первая боевая выгрузка. Я написал про 5 тысяч и ошибся. Настоящее число 3 399.
- из 10 000
Руководство сравнило с витриной поставщика, там около 10 000. Принято как рабочий прототип, нужна доработка.
- 5 400
«Пробил потолок». «Фух». «Но ещё рано радоваться».
- итог
Перенёс на боевой. «Это всё, что я смог вытащить». Точное число осталось на скриншоте, сюда его не пишу.
Лист 2Сито22–24 июля 2025
200 000 ради нескольких тысяч
Фильтр «Москва»
Нажми рубильник.
Беру весь каталог и каждый товар проверяю отдельным запросом. Остаётся несколько тысяч.
1 модуль = 1 000 товаров. 200 тысяч и несколько тысяч это моя условная оценка, точного счёта не было.
Мне нужен был один склад. Фильтра по складу в API не было: получить можно только весь каталог и потом по идентификатору проверять каждый товар. Если в это время на API идут чужие запросы, оно падает, и исход выгрузки почти непредсказуем.
Три дня оптимизации «разными схемами»
Моя оценка из переписки, лога нет.
Лист 3Следующая страница28–29 июля 2025
Страница, которая не перелистывается
Каталог отдаётся порциями. За следующей надо приходить с новым scrollId. 28 июля API стало возвращать тот же самый. Попробуй сам.
- Запросов
- 0
- Страница
- 1
- Новых товаров
- 0
Запрос ещё не отправлен.
Настоящая строка лога, 29 июля, значения скрытыСетевая ошибка (попытка 1): /product/scroll?hasStock=true… HTTP/1.1 503 Service Temporarily Unavailable
Потом API ожило, значит сбой был на стороне источника. Строку с 503 я прислал подрядчику, разговор с поставщиком вёл он. Он же предложил выгрузку по разделам. Я доработал выгрузку, и раздел, который почти пустовал, начал заполняться.
Лист 4Разделы24–29 июля 2025
«Совсем грустный раздел»
519
Кабеленесущие системы
1
Электрощитовое оборудование
5191, затем 222 июля вечером я предупредил: у нового поставщика своя иерархия, вывод может подвести. На следующий день так и вышло. Меню и блоки на главной были сделаны статично под старую структуру.
Ложная тревога тоже была. Подрядчик посчитал по разделам и получил 1 400. Кеш Битрикса: после сброса цифры сошлись.
Лист 5Спецификация работиюль 2025
Что сделал я и что сделали другие
| Участок | Сделал я | Другие |
|---|---|---|
| Постановка | До старта спросил про склады: всё или один город. Ответ определил всю задачу. | Подрядчик уточнил: только Москва. |
| Импорт | Написал скрипт из API поставщика в инфоблок Битрикса: цены, фото, поля. | API и документация поставщика. |
| Выкладка | Снял бэкапы, работал на тестовом домене. На боевой перенёс только скрипт. | Подрядчик поднял тариф хостинга и выдал доступы. |
| Сайт | Левое меню, карточки на главной, подкатегории, нумерация, поля карточки. | Шаблон сделала другая студия. |
| Расписание | Каталог раз в 29 дней. Цены и остатки раз в день, только изменившиеся. | Частоту обновления цен предложил подрядчик. |
| Доработка | Пробил потолок выгрузки, перенёс на боевой. | Идею выгрузки по разделам предложил подрядчик, он же говорил с поставщиком. |
PHP · 1С-Битрикс · API поставщика · cron

Карточка без лишнего
Руководство просило убрать шесть полей и имя поставщика. Нажми строку, и она уйдёт из карточки.
ID в системе поставщикаID в системеАртикул поставщикаАртикулОстаток в МосквеОстаток
Цен в API две, тариф и оптовая, и они всегда совпадают: 10,29 ₽ и 10,29 ₽. Посмотрел на живом товаре.
Два ритма
- Каждый день
- цены и остатки, только изменившиеся
- Раз в 29 дней
- каталог. Именно каждые 29 дней, а не 29-го числа: на этом тоже споткнулись
Лист 6Приёмка29 июля 2025
Спасибо, что не бросил работу и решил довести её до конца. Такой подход уважаю.
Представитель заказчика. Пересказ из переписки.
24 июля я считал работу законченной. 28 июля её не приняли. 29 июля я довёл выгрузку и перенёс на боевой. Поблагодарили именно за это.
Договор закрыл интеграцию, а постановка ждала каталог целиком, и числа товаров не было ни там, ни там. Если данные идут от поставщика, которого никто не тестировал, это отдельный риск. Его надо называть до договора, а в задании писать число, по которому принимается работа.