Инструкция для разработчика по синхронизации номенклатуры для Maxma API
ВАЖНО: Применять данный гайд нужно с умом. Дело в том, что синхронизация каталогов - это иногда нетривиальная задача. В зрелых системах, где много уже чего реализовано, переделывать схему идентификации товаров может встать в полгода разработки!
Терминология (важное примечание)
Для избежания путаницы в терминах, используемых в интеграции:
АРТИКУЛ товара в рамках Maxma передается в поле skuID товара в рамках Maxma передается в поле externalIdВ рамках 1С ID товара имеет значение GUID = externalid
1. Цель и Проблема
Мы интегрируем платформу лояльности Maxma с различными системами (1С, веб-сайты, другие кассовые ПО). Для корректной работы акций и промокодов, привязанных к товарам, необходимо, чтобы один и тот же физический товар во всех системах имел единый уникальный идентификатор.
Проблема: В разных системах (например, в 1С и на сайте) изначально могут использоваться свои внутренние ID товаров. Если передавать их "как есть", платформа Maxma будет видеть один и тот же товар как два разных, что сделает невозможной настройку сквозных акций.
2. Ключевое Требование
Глобальный идентификатор товара Maxma (externalId) должен быть синхронизирован и одинаков для каждого товара во всех системах, интегрированных с Maxma.
В API Maxma этот идентификатор передается в поле externalId.
Это поле является обязательным для сопоставления товаров в рамках единого каталога платформы.
3. Важное примечание по артикулам (SKU)
Поле sku (артикул) также рекомендуется синхронизировать между всеми системами!
В API Maxma артикул передается в поле sku
Почему это важно: В личном кабинете Maxma можно настраивать акции и промокоды не только по конкретному товару (через externalId), но и по группе товаров через артикул (например, "Применить скидку на все товары с артикулом ABC-123").
Статус: В отличие от externalId, синхронизация sku является опциональной, но настоятельно рекомендуемой. Если артикулы будут различаться в разных системах, то настройка акций по артикулам будет невозможна или некорректна.
Выберите главную систему, которая будет источником истины для товарного каталога. В данном контексте — это 1С.
Процесс синхронизации:
При создании или изменении товара в 1С ему присваивается уникальный externalId и корректный sku.
Эти данные экспортируются во все остальные интегрированные системы (веб-сайт, другие кассовые приложения).
Веб-сайт и другие системы не должны генерировать свои собственные ID externalId для товаров, которые пришли из 1С. Они обязаны использовать переданные значения.
Для sku: Также рекомендуется использовать артикулы из 1С, чтобы обеспечить возможность настройки акций по артикулам.
5. Практическая Реализация
Для разработчика 1С (источник данных):
При выгрузке товаров на веб-сайт или в другие системы эти поля (ID и АРТИКУЛ) должны быть включены в выгрузку.
В методах API Maxma гарантируйте, что передаются корректные externalId и sku из 1С.
Для разработчика веб-сайта / кассового ПО (приемник данных):
При импорте номенклатуры из 1С необходимо сохранять полученные ID и АРТИКУЛ в соответствующих полях товара в базе данных сайта/системы.
В методах API Maxma гарантируйте, что передаются те самые externalId и sku, которые были получены из 1С.
6. Примеры: ПРАВИЛЬНЫЙ подход
Обратите внимание, что в обоих примерах для одного и того же товара используются одинаковые externalId И sku.
Запрос из 1С (set-purchase):
{
"calculationQuery":{
"rows":[
{
"product":{
"externalId":"b27b505e-6a5c-11ec-ab4b-00155d017001",// <-- ID из 1С
"sku":"00-00000242",// <-- Артикул из 1С
"title":"Пример товара",
// ... другие поля ...
}
}
]
}
}
Запрос с веб-сайта (set-order):
{
"calculationQuery":{
"rows":[
{
"product":{
"externalId":"b27b505e-6a5c-11ec-ab4b-00155d017001",// <-- Тот же ID, что и в 1С
"sku":"00-00000242",// <-- Тот же артикул, что и в 1С
"title":"Пример товара",
// ... другие поля ...
}
}
]
}
}
7. Примеры: НЕПРАВИЛЬНЫЙ подход
Сценарий: Каждая система использует свои собственные внутренние ID в качестве externalId и свои форматы артикулов.
Проблема: Maxma будет считать один и тот же физический товар РАЗНЫМИ товарами в зависимости от канала продаж. Это приведет к поломке логики акций и некорректной аналитике.
Пример неправильных запросов:
Запрос из 1С (set-purchase):
{
"calculationQuery":{
"rows":[
{
"product":{
"externalId":"1C_SYSTEM_ID_12345",// <-- Формат ID товара в 1С
"sku":"001-242",// <-- Формат артикула в 1С
"title":"Пример товара",
// ...
}
}
]
}
}
Запрос с веб-сайта (set-order):
{
"calculationQuery":{
"rows":[
{
"product":{
"externalId":"WEBSITE_PRODUCT_ID_67890",// <-- Формат ID товара на сайте
"sku":"242",// <-- Другой формат артикула на сайте
"title":"Пример товара",
// ...
}
}
]
}
}
Последствия такого подхода:
Акции не работают в одной из интеграци
Акция "Купи 2 товара 'Пример товара' в одном из каналов - получи скидку" не сработает из-за разных externalId.
Акция "Скидка 10% на все товары с артикулом 001-242" не сработает на сайте из-за другого формата sku.
Некорректная аналитика: В отчетах вы не сможете получить общую статистику по продажам конкретного товара, придется формировать 2 разных отчета по одному и тому же товару.
Невозможность сквозного учета: Нельзя отследить историю покупок конкретного товара конкретным клиентом across всех каналов.
8. Контрольный Чек-лист для Разработчика
Перед запуском интеграции ответьте "Да" на все вопросы:
Источник: Определена ли система-источник (мастер-данных) для externalId и sku (например, 1С)?
Синхронизация: Реализован ли процесс выгрузки ID и АРТИКУЛ из источника и загрузки их во все системы-приемники?
Передача в API: Во всех вызовах API Maxma, где участвует товар (set-purchase, set-order, /v2/calculate-purchase), вы передаете корректные, externalId и sku?
Тестирование: Протестировали ли вы сквозной сценарий: один товар с одинаковыми externalId и sku продается через 1С и через сайт, и в личном кабинете Maxma отображается единая история покупок и начисляются бонусы?
Важное условие: Если вы выполнили настройку и загрузили в Maxma 2 или более разных каталога товаров из разных систем, необходимо вручную связать каждую точку продаж с правильным каталогом.
Альтернативный способ: В левом боковом меню выберите пункт «Настройки», а затем в открывшемся списке — «Точки продаж».
Add a caption...
Шаг 2: Выбор точек для настройки
Перед вами откроется список всех ваших точек продаж.
Вы можете выбрать точку, просто кликните на название нужной точки из списка.
Шаг 3: Настройка привязки к каталогу и сохранение
После выбора точки на экране появится всплывающее окно (поп-ап) с настройками.
В этом окне найдите и выберите пункт «Каталог товаров».
Перед вами откроется выпадающий список, в котором будут все загруженные в систему каталоги. Выберите из списка тот каталог, который соответствует товарам, продающимся в данной точке (или выбранных точках).
После выбора каталога не забудьте нажать кнопку «Сохранить», чтобы применить изменения.
Add a caption...
Повторите шаги 2 и 3 для всех точек продаж, которым требуется сменить или назначить каталог.
Что проверить после настройки:
Убедитесь, что каждой точке продаж назначен правильный каталог. Это критически важно для корректной работы программы лояльности.
Соблюдение этих правил — залог успешной и предсказуемой работы всей программы лояльности.
Связка 1С и 1C bitrix
Техническая инструкция: Настройка интеграции 1С и 1С-Bitrix Актуально для типового модуля интеграции Maxma.
1. Предварительные требования
Убедитесь, что:
Настроен обмен данными между 1С и 1С-Битрикс (выгрузка номенклатуры).
Настроен обмен данными между 1С и MAXMA через comercML
2. Выгрузка номенклатуры в Maxma
В системе 1С:
Откройте план обмена данными с Maxma.
Настройте выгрузку справочника «Номенклатура» по инструкции
Запустите полноценную выгрузку номенклатуры.
3. Синхронизация номенклатуры с 1С-Битрикс
В административной панели 1С-Битрикс:
Перейдите в раздел «Магазин» → «Обмен с 1С».
Настройте профиль обмена для выгрузки товаров:
Убедитесь, что в карточках товаров в Битрикс передаются внешние ID из 1С.
Add a caption...
4. Активация передачи внешних ID в Maxma
В настройках Maxma 1С-Битрикс:
Перейдите в настройки модуля («Настройки модуля Maxma»).
Активируйте опцию:«Передавать в операциях внешний ID» (галочка).
Сохраните изменения.
Add a caption...
5. Проверка работоспособности
Тестирование:
Создайте тестовый заказ в 1С-Битрикс.
Убедитесь, что в Maxma передаются корректные данные:
Внешние ID товаров совпадают с выгруженными из 1С.
Заказ отображается в Maxma с правильными товарными позициями.
6. Возможные проблемы и решения
Проблема
Решение
Товары не синхронизируются с Maxma
Проверьте внешние ID в 1С и настройки обмена с Битрикс.
Заказы не передаются в Maxma
Убедитесь, что галка «Передавать в операциях внешний ID» активна.
Ошибки в полях номенклатуры
Сверьте форматы данных (артикул, единицы измерения) в 1С и Maxma.