Перенос магазина с InSales на 1С-Битрикс: сохранение данных и SEO

Магазин на InSales — отличный старт, но когда бизнес растет, SaaS-ограничения становятся тормозом. Нет прямого доступа к базе, нельзя установить произвольный код, сложно интегрироваться с внешними сервисами. Миграция на собственную CMS — 1С-Битрикс — решает эти проблемы. Однако перенос данных — слож
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Перенос магазина с InSales на 1С-Битрикс: сохранение данных и SEO
Средний
~1-2 недели

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

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

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    996
  • 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
    735
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    773
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1134

Магазин на InSales — отличный старт, но когда бизнес растет, SaaS-ограничения становятся тормозом. Нет прямого доступа к базе, нельзя установить произвольный код, сложно интегрироваться с внешними сервисами. Миграция на собственную CMS — 1С-Битрикс — решает эти проблемы. Однако перенос данных — сложная задача: потеря данных или падение SEO-позиций случаются часто. Мы разработали методику, которая исключает эти риски. За 8–10 рабочих дней мы перенесем магазин с полным сохранением данных, минимальным даунтаймом и гарантией целостности. Ниже — конкретные шаги и подводные камни, собранные на более чем 50 проектах. Автоматизация через InSales API позволяет выполнить выгрузку в 10 раз быстрее ручного экспорта.

Ограничения InSales и что доступно через API

InSales — SaaS-платформа. Доступ к данным — только через API или экспортные форматы. Прямого SQL нет. Основной способ — REST API InSales, авторизация по ключу приложения, ответ в JSON. Также доступны YML/CSV-выгрузки из админки (товары, заказы).

Через API InSales доступны:

  • Товары: 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 — заказы с позициями, адресами, статусами. Ограничение по дате.
  • Покупатели: GET /admin/clients.json — клиенты с адресами.

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

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

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

Как перенести товары, варианты и изображения?

После сбора данных строим импорт. Вот таблица соответствия полей InSales → Битрикс:

Поле InSales Поле Битрикс Примечание
title NAME
body_html DETAIL_TEXT HTML
fields_values[] Свойства инфоблока Создаются динамически
collections[] Разделы инфоблока
variants[].price CATALOG_PRICE Цена
variants[].quantity CATALOG_QUANTITY Остаток
images[] CFile::SaveFile() Скачиваем на сервер

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

Изображения: API возвращает URL на CDN InSales. Скачиваем через curl, сохраняем на сервер, регистрируем через CFile::SaveFile(). Важно: после переезда CDN InSales может стать недоступным, поэтому все изображения физически копируем. Для дальнейшей синхронизации с 1С используется CommerceML.

Перенос заказов, клиентов и SEO

Пошагово:

  1. Получить список заказов через GET /admin/orders.json.
  2. Маппировать статусы (new→N, confirmed→P, delivering→D, delivered→F, cancelled→C).
  3. Создать заказы в b_sale_order через CSaleOrder::Add().
  4. Клиентов создать через CUser::Add(); для guest-заказов — либо без регистрации, либо создать пользователя по email.

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

Ограничения API InSales

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

Почему важна автоматизация через InSales API?

Ручной экспорт через админку InSales занимает много времени и подвержен ошибкам. Автоматизация через API сокращает время выгрузки до 30% по сравнению с ручным трудом. Например, каталог из 10 000 товаров через API выгружается за 1 час, а вручную — более 3 часов. Кроме того, API исключает человеческий фактор при сопоставлении полей. Экономия бюджета за счёт автоматизации достигает 40% — это позволяет направить средства на развитие магазина. Свяжитесь с нами, чтобы оценить экономию для вашего проекта.

Процесс миграции

Этапы и сроки

Этап Типовые сроки
Анализ 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.

Типичные ошибки при миграции

Ошибка Последствия Решение
Игнорирование rate limiting Блокировка IP на 24 часа Реализовать задержки между запросами
Прямая вставка HTML в DETAIL_TEXT без очистки Ломается вёрстка Использовать HTMLPurifier или CFile::MakeFileArray()
Пропуск маппинга статусов заказов Заказы теряются Создать таблицу соответствия заранее
Перенос без 301 редиректов Потеря SEO-позиций Настроить редиректы до запуска

Что входит в работу?

Миграция под ключ за 8–10 дней. Входит:

  • Полная документация по перенесённым данным и структуре.
  • Передача всех доступов и инструкция по дальнейшей работе.
  • Гарантийная поддержка 2 недели после миграции.

Стоимость проекта рассчитывается индивидуально, но в среднем составляет от 100 000 до 200 000 рублей в зависимости от объёма данных и сложности интеграций. Закажите миграцию и получите гарантированное сохранение данных и SEO-позиций.