Миграция сайта с InSales на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Миграция сайта с InSales на 1С-Битрикс
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1167
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    563
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    743
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Миграция сайта с InSales на 1С-Битрикс

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

Специфика источника

InSales — SaaS-платформа. Прямого доступа к базе данных нет. Данные выгружаются тремя способами:

  1. REST API InSales — основной метод. Документированное API с авторизацией по ключу приложения. Возвращает JSON.
  2. YML/CSV-выгрузки — из административной панели InSales можно экспортировать товары в YML (Яндекс.Маркет), CSV, и заказы в CSV.
  3. Экспорт через приложения — некоторые данные (клиенты, полный архив заказов) доступны только через API или специальные приложения InSales.

Что доступно через API

Товары: GET /admin/products.json — возвращает товары с вариантами, характеристиками, изображениями. Пагинация по 100 записей. Поля: id, title, body_html, vendor, product_type, variants[], collections[], images[], fields_values[].

Варианты (variants) — аналог торговых предложений. Каждый вариант содержит sku, price, compare_at_price, quantity, weight, опции.

Категории: GET /admin/collections.json — список категорий. Иерархия определяется через parent_id.

Заказы: GET /admin/orders.json — заказы с позициями, адресами, статусами. Лимит — последние N заказов или диапазон дат.

Покупатели: GET /admin/clients.json — клиенты с адресами.

Скрипт сбора данных

Пишем PHP-скрипт, который постранично запрашивает данные из InSales API и сохраняет в промежуточный формат (JSON-файлы или промежуточная БД). API InSales имеет rate limiting: не более 2 запросов в секунду. При каталоге в 10 000 товаров (100 страниц × 100 товаров) — минимум 50 секунд только на товары.

GET https://{shop}.myinsales.ru/admin/products.json
Authorization: Basic base64(api_key:api_password)

Товары и варианты → Битрикс

После сбора данных из API строим импорт в Битрикс:

  • products[].titleNAME элемента инфоблока.
  • products[].body_htmlDETAIL_TEXT (HTML).
  • products[].fields_values[] → свойства инфоблока (создаём заранее по уникальным именам полей).
  • products[].collections[] → разделы инфоблока (по collection_id).

Для вариантов: если у товара один вариант — это простой товар, цену и остаток ставим на сам элемент. Если вариантов несколько — создаём торговые предложения в инфоблоке ТП, опции вариантов становятся свойствами ТП.

Изображения

API возвращает URL изображений на CDN InSales. Скачиваем через file_get_contents() или curl, сохраняем на сервер, регистрируем через CFile::SaveFile(). Важно: после переезда CDN InSales остаётся доступным какое-то время, но рассчитывать на постоянный доступ к чужим URL нельзя — все изображения нужно физически скопировать.

Заказы и клиенты

Заказы из InSales API переносим в b_sale_order. Статусы из InSales (new, confirmed, delivering, delivered, cancelled) маппируем на статусы Битрикс. Клиентов создаём через CUser::Add().

Особенность: в InSales покупатель может оформить заказ без регистрации (guest checkout). В Битрикс тоже возможен заказ без регистрации, но если нужна история заказов в ЛК — придётся создать пользователей для всех клиентов с email.

SEO-данные

InSales хранит SEO-поля в каждом ресурсе: seo_title, seo_description — их вытягиваем через API (поля fields_values или отдельные атрибуты объекта). URL в InSales строятся по шаблону /products/{handle} и /categories/{handle}. Строим 301-редиректы со старых URL на новые.

Что остаётся за рамками

InSales API не выдаёт историю изменений заказов (только текущий статус), историю просмотров товаров, данные аналитики. Если нужна детальная история — просим клиента экспортировать через административный интерфейс InSales перед отключением магазина.

Сроки

Этап Типовые сроки
Анализ API InSales, структуры данных 0,5 дня
Написание скрипта сбора через API 1–2 дня
Проектирование инфоблоков в Битрикс 1 день
Импорт товаров, вариантов, категорий 2–3 дня
Скачивание изображений 1 день
Заказы, клиенты 1 день
SEO-редиректы 0,5 дня
Тестирование 1 день
Итого 8–10 рабочих дней

Ограничение InSales API — главный замедляющий фактор. Большой каталог (50 000+ SKU) потребует нескольких часов только на сбор данных с учётом rate limiting.