====== Синхронизация данных (клиенты, товары, заказы) ====== ===== Клиенты и их бонусные балансы ===== В inSales есть два типа клиентов: зарегистрированные и не зарегистрированные (подробнее об отличиях можно прочитать [[https://www.insales.ru/collection/doc-klienty|в документации по Insales]]). В рамках расширения мы работаем только с зарегистрированными клиентами. Телефон покупателя в Maxma является уникальным, а в inSales может быть несколько зарегистрированных пользователей с одним номером телефона. Поэтому расширение синхронизирует клиентов по номеру телефона, передавая информацию по бонусам самому старому пользователю inSales. При первой установке расширение **НЕ** производит выгрузку всех зарегистрированных клиентов и их бонусных балансов в Maxma. Это сделано для того, чтобы не засорять базу неактуальными данными. Выгрузка клиента в Maxma из inSales происходит при регистрации или авторизации зарегистрированного клиента в inSales. Если пользователя нет в Maxma, то он будет создан, и ему будут начислены бонусы из inSales. Если пользователь с таким номером телефона существует, то он автоматически привяжется к ранее созданному в Maxma клиенту с таким номером, а бонусные балансы будут просуммированы по данным из обоих систем. **Важно!** В магазине может работать только одна программа лояльности: либо от Insales, либо от Maxma. Т.е. при использовании бонусной программы от Maxma в магазине механизм работы с бонусами/промокодами от insales будет отключен. ===== Товары ===== Номенклатура товаров из inSales-магазина автоматически выгружается в Maxma с помощью XML-фида. Данный фид создается один раз при первоначальной настройке расширения. Подробнее про этот процесс смотрите в разделе [[insales_maxma:setup]]. Идентификатором товара в фиде является ID варианта из inSales. ===== Заказы ===== Информация о заказах, оформленных зарегистрированными покупателями, передается из inSales в Maxma. Это позволяет системе лояльности начислить бонусы или скидки по промокодам. Заказы, оформленные незарегистрированными пользователями, передаются в Maxma, но бонусы в inSales будут начислены только после регистрации этого клиента в интернет-магазине. Данная возможность отключена по умолчанию и доступна администратору в настройках магазина. Корректно обрабатываются все статусы заказа inSales, включая отмены и возвраты. В расширении реализована настройка параметров для подтверждения заказа по статусу/статусам оплаты или заказа. Администратор магазина самостоятельно устанавливает необходимые настройки для перевода заказа в статус «подтвержден» в настройках магазина. Если выбрано несколько статусов заказа, то подтверждение заказа происходит по первому присвоенному статусу. Для подтверждения заказа должны одновременно совпасть и статус заказа, и статус оплаты (если он выбран). Отмена заказа возможна только до подтверждения заказа в Maxma. При получении статуса возврат из inSales проверяется статус заказа в Maxma и далее обрабатываем заказ согласно алгоритму: * Для ожидающих или зачисленных заказов делаем возврат. * Для отмененных или возвращенных заказов не делаем ничего. * Для новых заказов проводим подтверждение заказа и сразу делаем возврат. ===== Бонусная программа ===== Настраиваемая логика бонусной программы приложения помогает : * Определить, могут ли неавторизованные пользователи видеть бонусы и вводить промокоды. * Выбрать статусы заказов (например, "Оплачен", "Выдан"), при наступлении которых клиенту будут начислены бонусы. * Настраивать правила исключений (например, запрет на скидки для уцененных товаров). * Выбирать принцип идентификации клиента (начислять бонусы на первый найденный аккаунт или на все с одинаковым номером телефона).