retailCRM Документация

Интеграция InSales c системой

Интеграцию интернет-магазина на InSales с системой можно произвести с помощью приложения интеграции. При установке приложение и выставления параметров в настройках интеграции, автоматически загрузит существующие заказы в систему.

После установки приложение будет:

Регистрация интернет-магазина в системе

Перед установкой зарегистрируйте Ваш интернет-магазин в Вашем экземпляре системы (раздел Администрирование > Магазины, например, в демо-версии):

Далее сгенерируйте API-ключ в разделе Администрирование > Интеграция > Ключи API, для взаимодействия системы и InSales, и привяжите к нему созданный магазин:

Важно!!! Тип доступа API ключа должен быть «Доступ к отдельным магазинам» и выбран только один магазин. Если у Вас к одному аккаунту системы подключено несколько магазинов, необходимо для каждого магазина создавать свой API-ключ. В противном случае заказы не будут выгружаться из InSales в систему.

Желательно созданный API ключ не использовать для других целей.

Для созданного ключа необходимо убедиться, что ниже перечисленные методы активированы:

"/api/orders/create"
"/api/orders/upload"
"/api/orders/fix-external-ids"
"/api/orders/{externalId}"
"/api/orders/{externalId}/edit" 
"/api/orders/history"
"/api/orders/statuses"
"/api/orders/payments/create" (API v5)
"/api/orders/payments/{id}/edit" (API v5)
"/api/orders/payments/{id}/delete" (API v5)
"/api/customers/create"
"/api/customers/history"
"/api/customers/upload"
"/api/customers/{externalId}"
"/api/customers/{externalId}/edit"
"/api/reference/delivery-types"
"/api/reference/delivery-types/{code}/edit"
"/api/reference/payment-types"
"/api/reference/payment-types/{code}/edit"
"/api/reference/statuses"
"/api/reference/payment-statuses"
"/api/reference/payment-statuses/{code}/edit"

Подробнее об управлении ключами читайте в разделе Создание и редактирование ключа.

Установка приложения в InSales

Настройки выгрузки заказов

Для выгрузки справочников (доставки и оплаты) из InSales можно активировать флаг “Выгрузить справочники из InSales” и после сохранения формы будет запущена выгрузка имеющихся справочников из Вашего магазина.

После сохранения данных системы Вам необходимо указать, каким образом будет генерироваться Ваш ICML-каталог для системы и настроить соответствия справочников двух систем. Варианты для генерации каталога, рассмотрены в главе Настройка выгрузки товаров ниже.

Настройка выгрузки товаров

Вариант 1. Генерация каталога средствами приложения

Для того, чтобы регулярно генерировать каталог средствами приложения, необходимо в настройках отметить метод генерации каталога для системы «Выгружать ICML средствами приложения».

Важно! Выбор метода выгрузки каталога влияет не только на генерацию каталога, но и на формирование заказов для отправки в систему или из системы в InSales. Не допускается установка флага «Выгружать ICML средствами приложения» и использование стороннего каталога без составного идентификатора, так как такие действия могут спровоцировать неправильную передачу товаров в заказах.

Возможности генерации каталога средствами приложения:

Формирование отдельных товарных предложений по формату ICML

Адрес файла каталога Вы увидите сверху, его понадобится указать в качестве источника каталога в настройках магазина в системе. Файл каталога генерируется в течение 3х часов.

Основные поля, которые формируются для товарного предложения при генерации каталога:

Подробнее о полях в документации по Формату ICML.

Габариты товара

В формируемый каталог передаются и габариты товаров, если они занесены в стандартном поле InSales. Обращаем Ваше внимание, что в InSales габариты записываются в формате ШхГхВ (Ширина/Глубина/Высота в сантиметрах), а в систему передается по формату Длина/Ширина/Высота (также в сантиметрах).

Настройка добавления xmlId в ICML для синхронизации с системой МойСклад

Если Вы помимо InSales и retailCRM используете складскую систему МойСклад, то в таком случае можно генерировать каталог ICML с «Внешними кодами» из системы МойСклад для товаров.

Для этого требуется выставить флаг «Дополнять каталог xmlId».

Важно! Обращаем Ваше внимание, что флаг «Дополнять каталог xmlId» не может быть указан без выбранного метода «Выгружать ICML средствами приложения». То есть потребуется использовать каталог для интеграции, который генерируется средствами приложения.

Далее необходимо выбрать, какой именно вариант Вам подходит для добавления «Внешних кодов» из системы МойСклад:

Важно! Если Вы указали получать данные из InSales - убедитесь, что в настройках интеграции InSales и МойСклад установлен флаг «Обновлять внешние идентификаторы». Это требуется для того, чтобы Внешние коды полученные из системы МойСклад были актуальные.

При установки флага «Дополнять каталог xmlId» обязательно выбрать один из вариантов описанных выше. Если этого не сделать - данные формы не сохранятся. И Вам высветиться сообщение с возникшей проблемой.

Фиксирование домена

Также присутствует возможность указания домена для генерации ссылок на товары в ICML каталоге. Данный функционал необходим для указания ссылок на товары с определенным (указанным в настройках InSales) доменом в выгружаемом каталоге. Необходимость указания домена заключается в том, что при стандартном URL (напр. example.myinsales.ru) статистика к товарам не подгружалась.

Конвертация валют

Раздел «Валюты» служит для конвертации разных валют в одну. В данном разделе Вы выбираете валюту в системе для генерации каталога и источник получения курса обмена. Для выбора доступно два источника: Центральный банк РФ и система InSales. При выборе InSales - курс валют подгружается непосредственно из InSales, из раздела "Настройка валют на складе".

Вариант 2. Генерация каталога средствами InSales

Важно! Если у Вас в каталоге присутствуют торговые предложения (несколько торговых предложений одного товара), то рекомендуем использовать генерацию каталога средствами приложения или генерацию каталога по шаблону с товарными предложениями.

Описанные ниже способы приведены для примера. Если у Вас возникли вопросы по настройки генерации каталога средствами InSales, то обратитесь в тех.поддержку InSales.

Не забудьте, что ICML для загрузки в систему должен иметь формат описанный в документации.

Простая генерация каталога без товарных предложений

Если у Вас в каталоге торговые предложения отсутствуют, перейдите в раздел «Продвижение -> Товарные площадки» вашего магазина. Нужно добавить новую выгрузку «Яндекс.Маркет - Упрощенное описание».

Введите необходимые названия и укажите категории, которые будут добавлены в каталог.

Необходимо указать кодировку файла — она должна быть utf-8.

В данном случае будет сгенерирован каталог с идентификаторами товаров.

Важно! Если Вы используете этот способ, то в настройках интеграции необходимо указать «Сторонний каталог. В offer id фиксируется идентификаторы товаров» в выборе метода генерации каталога для системы.

Важно! Указанный способ использовать не рекомендуется, так как при синхронизации данных в InSales требуется указывать идентификатор вариантов, а в описанном выше способе генерации зафиксированы идентификаторы товаров. В данном случае производится дополнительный запрос для получения идентификатора варианта у выбранного в заказе товара.

Генерация каталога по шаблону с товарными предложениями

Если у Вас в каталоге присутствуют торговые предложения, но по какой-то причине генерируемый каталог приложением retailCRM (интеграцией) Вас не устраивает, то Вы можете создать каталог по шаблону.

Перейдите в раздел Продвижение > Товарные площадки вашего магазина. Нужно добавить новую выгрузку «Яндекс.Маркет - Произвольная выгрузка».

Далее настраиваете данные магазина и указываете какие категории будут загружены в каталог.

Для выгрузки с товарными приложениями рассмотренными в этом примере необходимо активировать флаг “Выгружать модификации”. Кодировка каталога должна быть utf-8.

Далее необходимо добавить шаблон в поле “Шаблон блока offer”.

Один из вариантов такого шаблона указан ниже.

{% for variant in product.variants %}   
<offer 
id="{{variant.id}}" 
productId="{{product.id}}" 
quantity="{% if variant.quantity >= 0 %}{{variant.quantity}}{% else %}0{% endif %}" 
>
        <url>{{account.url}}/product/{{product.handle}}</url>
        <price>{{variant.price}}</price>
        <productActivity>{% if product.available %}Y{% else %}N{% endif %}</productActivity>
        <purchasePrice>{{variant.cost_price}}</purchasePrice>
        {%for image in product.images limit: 1 %}
                <picture>{{image.url}}</picture>
        {% endfor %}
        <categoryId>{{product.canonical_collection.id}}</categoryId>
        <name>{{product.title}} {{variant.title}}</name>
        <productName>{{product.title}}</productName>
        <param code="weight" name="Вес">{{variant.weight}}</param>
        <param code="article" name="Артикул">{{variant.sku}}</param>
        <param code="description" name="Описание">{{product.short_description}}</param>
</offer>
{% endfor %}

При составлении шаблона не забудьте придерживаться формата указанного в http://help.retailcrm.ru/docs/Developers/ICML

Адрес файла выгрузки, полученный при создании одного из вариантов, также необходимо прописать в настройках системы, и установить галочку «Загрузить каталог из ICML сейчас».

Важно! Если Вы используете указанный способ, то в настройках интеграции необходимо указать «Сторонний каталог. В offer id фиксируется идентификаторы вариантов» в выборе метода генерации каталога для системы.

Настройка соответствий справочников

При настройке соответствий оплат, доставок, пользовательских статусов и статусов оплат в настройках приложения в разделе Приложения > Установленные > retailCRM есть некоторые ограничения:

Соответствие должно быть выставлено по правилу «один к одному» - это значит, что нельзя нескольким элементам в InSales назначить один элемент в системе.

Если на какой-то элемент не будет выставлено соответствие, то это поле не будет принимать участие в обмене. Так, добавив новый тип оплаты, и не выставив для него соответствующий тип оплаты в системе, этот тип оплаты не будет передаваться в заказе при интеграции.

Важно! Используемая версия API влияет на передачу данных. Для версии V4 описанные выше действия повлияют только на пустоту в поле тип оплаты, а вот для версии V5 это может привести к потере заказа. Подробнее в главе Версионность.

Пользовательские статусы

Для корректной синхронизации данных между двумя системами, необходимо настроить соответствия статусов InSales со статусами системы. В ином случае статусы будут передаваться «по умолчанию».

Работа со статусами заказов выполняется по принципу: если нет или не установлены соответствия пользовательских или стандартных статусов в настройках интеграции с InSales, то используются статусы «по умолчанию»:

Важно! Если вы для всех или некоторых статусов InSales не выставили соответствия статусов системы, убедитесь, что в системе присутствуют статусы с символьными кодами, которые описаны выше.

При этом, если не будет выставлено соответствие для пользовательского статуса, то в обмене будет участвовать системный статус, являющийся его родителем и будет использоваться соответствие статусов «по умолчанию», описанные выше.

Статусы оплаты

В интеграции появилась возможность настройки соответствия стандартных статусов оплат и одного дополнительного.

В InSales существует два стандартных статуса «Оплачен» и «Не оплачен». Если не выставлять этим статусам соответствия, то для синхронизации заказов будет использовано соответствия «по умолчанию»:

Статусы оплат для синхронизации по умолчанию создаются при выгрузке справочников из InSales.

Дополнительный статус «Бесплатная оплата заказа» используется при синхронизации данных как из InSales в систему, так и наоборот. Этот статус необходим для возможности передачи заказов с нулевой стоимостью из InSales, так как создание таких заказов в InSales присутствует, а в системе нет.

При синхронизации изменений статуса оплаты, который выставлен в соответствие к статусу «Бесплатная оплата заказа», из системы в InSales статус будет передан как «Оплачен», вне зависимости от того, какой механизм синхронизации статусов оплат выбран (подробнее о механизме в разделе «Оплаты»).

Для того чтобы использовать этот статус, необходимо выбрать уже из имеющихся или создать новый статус оплаты с неактивным флагом “Оплата произведена”. Для того чтобы система не фиксировала оплату заказа и имелась возможность работать с заказом в системе.

На этом настройка интеграции с InSales завершена.

Периодичность синхронизации данных между системами

После настройки интеграции происходит обмен заказами и клиентами, которые выгружаются в обе стороны:

Файл каталога запрашивается системой раз в 3-4 часа.

Если в заказе системы поменять какие-либо данные заказа, то временные диапазоны обновления заказов такие же как и загрузка заказов.

Важно! Если в созданном в системе заказе не выбраны товары, этот заказ не придет в InSales. Это связано с ограничением API со стороны InSales.

Также стоит выделить несколько особенностей при синхронизации клиентов:

Так как в InSales поле для наименования организации и имя частного лица одно (name), то при создании в InSales организации, «Наименование» будет поступать в поле «Полное наименование контрагента», причем в клиенте не будет фиксироваться имя. Данная реализация была принята в связи с тем, что наименование организации может превышать длину строки в 250 символов, что в свою очередь является недопустимым для имени клиента в системе. Это может повлиять на загрузку клиента из InSales в систему.

Также стоит отметить еще один момент. В случае изменения в системе юридического лица или ИП на физическое лицо, при синхронизации с InSales данные контрагента в обоих системах удаляться.

Синхронизация номера телефона

В карточке клиента InSales можно указать только один номер телефона, а в системе множество. В связи с этим синхронизация номеров телефона происходит следующим образом:

Из InSales в систему

Из InSales номер телефона передается тогда, когда он отсутствует в списке номеров клиента в системе. Причем номер телефона, который был до изменения, не удалится автоматически в системе, так как нет данных в клиенте InSales о его предыдущем номере.

Из системы в InSales

Производится проверка номера телефона в карточке клиента InSales:

Выгрузка архива заказов и клиентов из InSales

В настройках интеграции присутствует возможность выгрузки архивных заказов и клиентов из InSales в систему тогда, когда это необходимо. Для этого, если ранее архив не был выгружен, отображается вкладка «Архив» в настройках интеграции.

Обращаем Ваше внимание, что перед выгрузкой архива желательно отключить триггеры, которые могут запустить механизмы отправки SMS и email писем.

На этой вкладке отображается информация, о не настроенных соответствиях справочников (типов оплат, типов доставок, статусов оплат, статусов заказов). Но присутствуют стандартные соответствия статусов. То есть, если не будут настроены статусы заказа или оплаты, то будут использоваться стандартные соответствия. Для типов оплат или доставок, если не были установлены соответствия, заказы будут поступать с пустыми данными.

При нажатии на кнопку «Выгрузить архив» ставится задача на выполнение. После завершения выполнении задачи вкладка «Архив» не будет отображаться или отобразится соответствующее сообщение на странице с выгрузкой архива.

Выгружать архив можно один раз.

Обратите внимание, что чем больше у Вас архивных данных, тем дольше будет производится выгрузка. Замедлить выгрузку архива также может большое количество пользователей в очереди на выгрузку архива.

Если в течении 2х часов после нажатии на кнопку «Выгрузить архив» выгрузка не произошла, пожалуйста, обратитесь к нам по почту support@retailcrm.ru.

Особенности работы с комплектами

В системе не реализована работа с комплектами как в InSales. Но подобный функционал добавлен в интеграцию для улучшения синхронизации комплектов в заказе.

Если у Вас присутствуют комплекты, то изучите материал ниже, он поможет разобраться в новой механики синхронизации данных. Разработанная механика работы с комплектами доступна только если у вас используется генерация ICML с помощью приложения.

Есть несколько методов обработки комплектов:

Подробнее о каждом методе ниже.

Комплекты в системе

Для того чтобы не было путаницы между простыми товарами и комплектами в генерацию ICML к комплектным товарам была добавлена метка (Комплект).

Остаток для комплекта в системе является суммой остатка по всем элементам комплекта.

Синхронизация комплектов как в InSales

Для того, чтобы в интеграции использовался метод «Синхронизация элементов комплекта» необходимо выбрать его в настройках интеграции.

Важно! Для того чтобы использовать метод обработки комплектов «Синхронизация элементов комплекта», требуется активировать настройку в системе «Возможность добавлять в заказ одинаковые торговые предложения как разные позиции». Это связано с тем, что при разбиении комплекта в заказе могут быть одинаковые товары которые заказал клиент как отдельной позицией так и в комплекте и при синхронизации в системе будет зафиксирована только одна.

Рассмотрим по направлениям синхронизации работу с комплектами в заказе.

Из InSales в систему

Комплектный товар из InSales поступает в систему разбитым на элементы комплекта, как они есть в InSales.

На изображении выше показано 2 товарного предложения которые входят в состав комплекта «мебель в офис» и одного дополнительного офисного кресла. Все позиции заказа системы связаны с позициями заказа InSales и как можно заметить сумма элементов комплекта равна цене комплекта. Ниже показан указанный в заказе комплект «мебель в офис» в InSales.

Из системы в InSales

Для примера создадим заказ в системе с комплектом «мебель в офис» и с отдельным товаром «Офисное кресло».

Состав заказа в системе до синхронизации данных с InSales выглядит следующим образом:

После синхронизации данного заказа с InSales получаем разбитый комплект на элементы и товар «Офисное кресло»:

Синхронизация комплектов без разбиения на элементы комплектов

Главное отличие от предыдущего метода обработки комплектов «Синхронизации элементов комплекта» в том, что в системе будут фиксироваться сами комплекты, а не элементы комплектов.

Синхронизация комплектов не разбивая на элементы комплектов доступна только для пятой и выше версии API системы. Если версия API системы будет не соответствовать требованиям, то при сохранении настроек отобразится сообщение:

Если в системе используется "Возможность добавлять в заказ одинаковые торговые предложения как разные позиции", то нежелательно дублировать комплекты в системе это приведет к тому, что синхронизация будет происходить только по одному из них. Например, в системе указали два одинаковых комплекта с разными ценами. После синхронизации с InSales останется только один.

Рассмотрим подробнее механизм обработки синхронизации комплектов.

Для его активации потребуется перейти в настройки интеграции, во вкладку «Система», и выбрать вариант "Синхронизация комплектов" в методе обработки комплектов.

При синхронизации товаров в заказе из InSales происходит объединение элементов в один комплект, в котором:

При синхронизации товаров в заказе из системы в InSales будет передаваться комплект при добавлении еще не зафиксированного товара в заказе и элементы комплекта при обновлении уже существующего комплекта, в которых:

Особенность синхронизации скидок

Важно понимать, что в InSales скидки хранятся несколько иначе, чем в системе:

Важно! Если в системе поменять эти поля вручную, то в InSales скидки перезапишутся, и в заказе появится по одной скидке на каждый тип в системе (одна скидка в рублевом расчете, и одна в процентном).

Скидки, выставленные в InSales:

Наценка на способ оплаты в заказе не передается в систему ввиду отсутствия её в системе.

Новый обработчик скидок (бета)

В интеграции с InSales присутствует механизм передачи скидок между системами. Для использования этого механизма необходимо в настройках интеграции выставить флаг «Использовать новый обработчик скидок (бета)».

Передача скидок из InSales

Глобальные изменения произошли именно в передаче скидок из-за того, что из InSales передается только валютная величина скидки на каждый товар, для которого распространяется та или иная скидка.

Причина, по которой пришлось прибегнуть к такому варианту заключается в следующем: механика расчета скидок в InSales и системы во многих аспектах различается. Например, валютная скидка для товара считается для всех единиц товара, а в системы для каждой единицы.

Приведем пример того, какие именно будут задействованы данные для отправки скидок в системе.

При передачи скидки в систему для товара «Офисное кресло» добавится скидка 377,64 руб. = 1132,92 руб. / 3 То есть скидки передаваемые в систему будут зависеть от единиц товара. На следующим скриншоте виден результат создания заказа с указанной скидкой.

Передача скидок из CRM

Рассмотрим добавление валютной скидки на весь заказ в CRM. Добавим к уже созданному заказу 1000 руб скидки и 1 товар «Кровать детская» с ценой 2000 руб.

Версия API v5

Как видим из скриншота, скидка в 1000 руб. распределилась по товарам.

Для товара «Офисное кресло» в итоге 677,64 руб. (вместе с распределенной скидкой) при переводе в InSales эта скидка будет равняться 2032,92 руб. = 677,64 руб. * 3.

Для товара «Кровать детская» распределенная скидка равна 100 руб. Так как у этого товара только одна единица, то и в InSales для этого товара присвоится скидка в 100 руб.

Вышеописанный пример передачи скидки из CRM в InSales были рассмотрены в CRM версией 6.7.4, собственно версия API v5

Версия API v4

Так как в v4 нет автоматического распределения скидки заказа по товарам, то валютная скидка в 1000 руб. на весь заказ так и создастся в InSales, но при обратной синхронизации (InSales -> CRM) все равно скидка распределиться по товарам по логике InSales и с учетом уже существующей скидки для товара «Офисное кресло».

Изменение единиц товара

Разрабатывая эту систему синхронизации скидки, пришлось пожертвовать, в некотором роде, автоматизацией. А именно при изменении количества товара в InSales, если есть валютная скидка для этого товара, сама скидка не пересчитывается и в систему поступает большая скидка для товара чем была ранее.

Из системы поступил заказ, который показан на скриншоте выше, с одним товаром «Неактивный товар» количество которого равно 6 шт.

Так как в системе была выставлена скидка 30 руб. на каждую единицу товара, то в InSales скидка создалась в 180 руб. = 30 руб. * 6.

И теперь если мы изменим количество единиц товара до 5 шт., то скидка для товара не пересчитается, а останется так же 180 руб.

Автоматически нет возможности менять скидку после изменения количества товара. В InSales также не предусмотрен такой механизм, так как валютная скидка товара применяется к одной единице товара.

И вот что получилось в итоге в CRM после передачи изменений из InSales.

Как можно заметить сумма заказа одинаковая, но вместо валютной скидки в 30 руб. для товара, получилась скидка в 36 руб.

Важно! В связи с этим при изменении единиц товара в InSales, для которой применена валютная скидка, не забудьте изменить и саму скидку с расчетом на сколько единиц изменился этот товар. То есть в примере выше в InSales нужно изменить валютную скидку до 150 руб.

Процентные скидки на заказ

Механика расчета процентных скидок на весь заказ в системе и в InSales различается.

В системе рассчитывается сначала сумма по товарам с учетом скидок на товары, затем применяются скидки на заказ и добавляется стоимость доставки.

Например, на скриншоте ниже показан состав заказа в котором показан результат вышеуказанного механизма.

В InSales механика расчета суммы заказа с процентной скидкой на заказ отличается от механики системы. А именно, в InSales рассчитывается сумма по товарам, применяется процентная скидка на заказ, и потом уже применяются скидки на товары и прибавляется стоимость доставки.

Результат показан на скриншоте ниже.

Описанная ситуация более заметна в интеграции InSales и системы ниже 6 версии. Так как в 6 версии системы было добавлено распределение скидки по товарам и при синхронизации данных с InSales отправляются только валютные скидки на товары.

При добавлении процентной скидки на весь товар эту особенность стоит учитывать и по возможности не использовать. А если и использовать, то быть готовым к тому, что данные в InSales и в системе по скидкам будут различны.

Механика добавления валютной скидки на заказ в InSales и в системе не различается.

Кастомизация приложения

Передача пользовательских полей

Приложением предусмотрена передача пользовательских полей из InSales в систему и обратно. Для этого заранее создайте необходимые поля в InSales и в системе, и обратитесь в техподдержку.

Дополнительные настройки

Односторонняя интеграция

Появилась возможность сделать приложение одностороннем, например, если Вам требуется по какой-либо причине отключить передачу данных из InSales или из системы. То для этого потребуется обратиться в техподдержку системы.

Обновление номера

Если Вам требуется чтобы в системах была одинаковая номенклатура, то можно настроить передачу номера заказа при создании заказа в системе. Для этого потребуется обратиться в тех. поддержку системы и в обращении указать, что согласны на изменения номера системы номером InSales.

Важно! Перед тем как соглашаться на изменение номера, проверьте может быть у Вас при создании заказа в системе отправляется письмо или сообщение клиенту с номером заказа. Если номер заказа задействован для отправки уведомления клиенту, то не рекомендуется менять номер, так как при создании заказа в системе номер указывается по шаблону записанном в настройках, а номер изменяется уже после создания заказа в InSales. И клиенту при создании отправится один номер заказа (номер системы), а через некоторое время придет сообщение с другим номером заказа (номер InSales).

Конвертация стоимости

Если в InSales у Вас присутствуют товары с разными валютами в ценах и вы используете каталог, который генерируется средствами приложения, то можно конвертировать стоимость товаров в одну валюту, которая у Вас указана в настройках системы.

Для этого потребуется обратиться в техподдержку системы и сообщить что вы согласны на конвертацию валют для каталога.

Версионность

Интеграция предназначена для версии API V4 и выше. Распределение по версиям происходит автоматически. Вам не нужно устанавливать используемую версию API вручную.

Использование версии API retailCRM V4

Скидки

Работа со скидками для версии API V4 описана в главе «Особенность синхронизации скидок».

Использование версии API retailCRM V5

Скидки

Из-за того что по отношению к предыдущей версии API изменилось получение скидок из системы, изменение заказа в двух системах приведет к переводу общей скидки на скидки на каждую позицию.

Причем при передачи скидок из InSales в систему возможно и передача скидок на весь заказ, но при обратной синхронизации (Система > InSales) будут скидки приведены к формату “скидка на каждый товар в заказе”.

Оплаты

Так как в версии API V5 появилась работа с мультиоплатами, а в InSales всего одна оплата в заказе, то синхронизация оплат в заказе происходит следующим образом.

Если заказ создан в InSales, то при создании заказа в системе будет присвоена одна оплата и ей же будет присвоен внешний ID оплаты, идентичный внешнему ID заказа. В синхронизации заказов будет участвовать та оплата, которая привязана к заказу внешним ID. Если же заказ был создан в системе или связанная оплата была удалена, то при первом изменении оплат в заказе системы, первая из списка оплата заменит оплату в InSales.

Синхронизация статусов оплаты происходит по одному из сценариев описанных ниже:

1. Синхронизация по 100% оплате заказа (по дате полной оплаты заказа)
Статус полной оплаты из системы в InSales передается только тогда, когда дата полной оплаты будет выставлена в заказе. То есть, когда все оплаты в заказе будут с пометкой «Оплачен». За исключением статуса оплаты системы, который связан с дополнительным статусом «Бесплатная оплата заказа». В случае, если в системе будет выставлен подобный статус, то в InSales будет передан статус «Оплачен».

2. Синхронизация по одной оплате
Синхронизация статусов будет производится только по одной оплате из системы, которая связана с оплатой в заказе InSales внешним ID. То есть, все остальные оплаты в заказе системы не будут принимать участие в синхронизации статусов оплаты.

Один из перечисленных сценариев можно указать во вкладке «Система», в настройках интеграции. Опция «Синхронизация по 100% оплате заказа (по дате полной оплаты заказа)» является механикой по умолчанию для синхронизации статусов оплат.

Обращение в техподдержку

Важно!


Редакция от 06.12.2019 14:22