Автоматическое обновление цен поставщиков: дропшиппинг на 1С-Битрикс

Настройка автоматического обновления цен поставщиков при дропшиппинге 1С-Битрикс Мы настраиваем систему автоматической синхронизации прайсов поставщиков с каталогом Битрикс для дропшиппинг-магазинов. Ежедневная синхронизация прайсов должна отработать незаметно: цены обновились, маржа пересчиталас
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Автоматическое обновление цен поставщиков: дропшиппинг на 1С-Битрикс
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1017
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1161

Настройка автоматического обновления цен поставщиков при дропшиппинге 1С-Битрикс

Мы настраиваем систему автоматической синхронизации прайсов поставщиков с каталогом Битрикс для дропшиппинг-магазинов. Ежедневная синхронизация прайсов должна отработать незаметно: цены обновились, маржа пересчиталась, товары с нулевым остатком ушли в «нет в наличии». Если этого не происходит — магазин продаёт по устаревшим ценам и получает убытки или споры с покупателями.

Наша команда за 8 лет работы с Битрикс реализовала более 25 интеграций с прайсами поставщиков. Работаем с любыми форматами: CSV, Excel, XML, CommerceML, JSON через API. Каждая интеграция включает автоматическое обновление цен, остатков, категорий и картинок с учётом наценки, скидок и правил маржинальности. Экономия времени менеджера — 15–20 часов в неделю. Гарантируем точность данных и стабильную работу под нагрузкой.

Форматы прайсов поставщиков

Поставщики отдают прайсы в нескольких форматах: CSV, Excel (.xlsx), XML (в том числе CommerceML), JSON через API. Каждый формат требует своего парсера. В Битриксе для XML/CommerceML есть стандартный импорт через «1С → Обмен с 1С», но он рассчитан на ручной запуск и полный импорт, а не на инкрементальное обновление цен.

Для автоматизации нужен кастомный компонент обновления. Структура:

/local/modules/vendor.priceimport/ ├── lib/ │ ├── Parser/ │ │ ├── CsvParser.php │ │ ├── XlsxParser.php │ │ └── XmlParser.php │ ├── PriceUpdater.php │ └── StockUpdater.php └── install/ └── index.php 

Импорт CSV: парсинг и маппинг

CSV поставщика содержит артикул, цену закупки, остаток. Маппинг на поля Битрикса — через конфигурационный файл, чтобы при смене формата поставщика не переписывать логику:

// config/vendor_a.php return [ 'delimiter' => ';', 'encoding' => 'windows-1251', 'skip_rows' => 1, // Заголовок 'columns' => [ 'sku' => 0, // Артикул — первая колонка 'price' => 3, // Цена — четвёртая 'stock' => 5, // Остаток — шестая ], 'price_type' => 2, // ID типа цены в b_catalog_price 'markup' => 1.25, // Наценка 25% ]; 

Парсер:

class CsvParser { public function parse(string $filePath, array $config): \Generator { $file = new \SplFileObject($filePath); $file->setFlags(\SplFileObject::READ_CSV | \SplFileObject::SKIP_EMPTY); $file->setCsvControl($config['delimiter']); $row = 0; foreach ($file as $line) { if ($row++ < $config['skip_rows']) continue; yield [ 'sku' => trim($line[$config['columns']['sku']]), 'price' => (float)str_replace(',', '.', $line[$config['columns']['price']]), 'stock' => (int)$line[$config['columns']['stock']], ]; } } } 

Генератор (yield) обязателен при файлах от 50MB — позволяет не загружать весь файл в память.

Обновление цен в таблице b_catalog_price

Маппинг артикула на элемент инфоблока — через свойство ARTICLE или XML_ID:

class PriceUpdater { public function updateFromParsed(iterable $rows, array $config): array { $stats = ['updated' => 0, 'not_found' => 0]; foreach ($rows as $row) { // Найти элемент по артикулу $el = \CIBlockElement::GetList( [], ['PROPERTY_ARTICLE' => $row['sku'], 'IBLOCK_ID' => CATALOG_IBLOCK_ID], false, ['nTopCount' => 1], ['ID'] )->Fetch(); if (!$el) { $stats['not_found']++; continue; } $newPrice = round($row['price'] * $config['markup'], 2); \CPrice::SetBasePrice($el['ID'], $newPrice, 'RUB', $config['price_type']); $stats['updated']++; } return $stats; } } 

CPrice::SetBasePrice() делает INSERT или UPDATE в b_catalog_price — правильный инструмент для единичных обновлений. При массовом обновлении (10 000+ позиций) быстрее прямой SQL через временную таблицу с последующим UPDATE ... FROM.

Расписание через агенты Битрикса

Агент запускает обновление раз в 4 часа:

\CAgent::AddAgent( 'VendorPriceImport::run();', 'vendor.priceimport', 'N', // Не разовый 14400, // Интервал 4 часа '', 'Y', date(DATE_FORMAT, time() + 14400) ); 

Метод run() скачивает прайс с FTP/HTTP поставщика, парсит, обновляет цены и остатки, пишет лог в b_event_log. При ошибке — отправляет письмо администратору через CEvent::Send().

Детальное описание процесса

Интеграция требует тщательного планирования и анализа текущих процессов в вашей компании. Мы проводим аудит существующих систем, определяем точки интеграции и возможные конфликты. На каждом этапе предоставляем подробную документацию и проводим тестирование на staging-среде перед запуском в production. Наши решения разработаны с учётом лучших практик индустрии и позволяют значительно снизить операционные затраты.

Наша гарантия качества

Мы берём на себя полную ответственность за качество выполненной работы. В течение 12 месяцев после завершения проекта исправляем любые обнаруженные проблемы абсолютно бесплатно. Техническая поддержка включает консультации, обучение вашей команды и помощь при возникновении вопросов. Каждый проект завершается итоговым отчётом с описанием реализованного функционала, рекомендациями по оптимизации и планом развития системы.

Примеры успешных проектов

За время работы мы реализовали интеграции для компаний разного размера: от небольших интернет-магазинов до крупных оптовых дистрибьюторов. Каждый проект требовал индивидуального подхода, и мы гордимся результатом, который значительно улучшил эффективность работы наших клиентов.

Преимущества нашего подхода

Мы обеспечиваем комплексное решение, а не отдельные исправления. Каждый проект включает документирование, тестирование и обучение команды. Нашим клиентам нравится, что мы не просто выполняем работу, но и объясняем каждый шаг процесса, давая возможность вашей команде в будущем самостоятельно поддерживать систему. Со своей стороны, мы гарантируем помощь в течение года после завершения проекта.

Контакты и следующие шаги

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

Мониторинг и техническая поддержка

После запуска система обновления цен требует регулярного мониторинга. Мы настраиваем алерты о сбоях синхронизации, автоматические отчёты по обновлённым товарам, статистику по каждому поставщику. Это позволяет менеджерам оперативно реагировать на изменения и минимизировать простои. В рамках технической поддержки исправляем изменения форматов прайсов поставщиков, добавляем новых поставщиков и расширяем правила обработки данных.