Единый каталог



Инструкция для разработчика по синхронизации номенклатуры для 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 является опциональной, но настоятельно рекомендуемой. Если артикулы будут различаться в разных системах, то настройка акций по артикулам будет невозможна или некорректна.
4. Решение: Централизованная синхронизация номенклатуры
    Выберите главную систему, которая будет источником истины для товарного каталога. В данном контексте — это .
    Процесс синхронизации:
  • При создании или изменении товара в 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 или более разных каталога товаров из разных систем, необходимо вручную связать каждую точку продаж с правильным каталогом.


Шаг 1: Переход в раздел настроек "Точки продаж"
    Авторизуйтесь в своем личном кабинете MAXMA.
    Перейдите по прямой ссылке:  https://my.maxma.com/#/app/settings/shops 
  • Альтернативный способ: В левом боковом меню выберите пункт «Настройки», а затем в открывшемся списке — «Точки продаж».
Шаг 2: Выбор точек для настройки
    Перед вами откроется список всех ваших точек продаж.
    Вы можете выбрать точку, просто кликните на название нужной точки из списка.
Шаг 3: Настройка привязки к каталогу и сохранение
    После выбора точки на экране появится всплывающее окно (поп-ап) с настройками.
    В этом окне найдите и выберите пункт «Каталог товаров».
    Перед вами откроется выпадающий список, в котором будут все загруженные в систему каталоги. Выберите из списка тот каталог, который соответствует товарам, продающимся в данной точке (или выбранных точках).
    После выбора каталога не забудьте нажать кнопку «Сохранить», чтобы применить изменения.
Повторите шаги 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С.


4. Активация передачи внешних ID в Maxma

В настройках Maxma 1С-Битрикс:
  • Перейдите в настройки модуля («Настройки модуля Maxma»).
  • Активируйте опцию:«Передавать в операциях внешний ID» (галочка).
  • Сохраните изменения.


5. Проверка работоспособности

Тестирование:
  • Создайте тестовый заказ в 1С-Битрикс.
  • Убедитесь, что в Maxma передаются корректные данные:
  • Внешние ID товаров совпадают с выгруженными из 1С.
  • Заказ отображается в Maxma с правильными товарными позициями.


6. Возможные проблемы и решения

Проблема
Решение
Товары не синхронизируются с Maxma
Проверьте внешние ID в 1С и настройки обмена с Битрикс.
Заказы не передаются в Maxma
Убедитесь, что галка «Передавать в операциях внешний ID» активна.
Ошибки в полях номенклатуры
Сверьте форматы данных (артикул, единицы измерения) в 1С и Maxma.