RetailCRM — различия между версиями

Материал из Меасофт
Перейти к: навигация, поиск
м (Передача заказа при смене статуса)
(На некоторые заказы)
 
(не показано 65 промежуточных версий 4 участников)
Строка 1: Строка 1:
  
==Введение==
+
<div style="font-size: 18px; color: #a92424; background-color: #ffdede; border: 1px solid #ebccd1; padding: 3px 10px 10px;">
;Триггер
+
Обратите внимание, RetailCRM не передает Услуги, не используйте их.
:Хранимая процедура специального типа, автоматически выполняющаяся при наступлении заданного события.
+
</div>
  
Пример: каждый месяц 1-го числа списывается абонентская плата за интернет. Триггер «1-ый день месяца» — это событие, при наступлении которого срабатывает процедура «списание абонентской платы».
 
  
Для RetailCRM предусмотрены следующие триггеры:
+
== Настройка интеграции ==
* [[Настройка триггеров для RetailCRM#Передача заказа при смене статуса|«Отправка заказа в КС2008»]] — при наступлении события «Смена статуса заказа на "Отправлен в КС2008"». При установке статуса, означающего, что заказ отправлен в курьерскую службу, срабатывает триггер, и заказ передается в MeaSoft;
 
* «Отмена заказа в КС2008» — при наступлении события «Смена типа доставки у заказа». При изменении типа доставки с доставки MeaSoft на доставку, например, Почтой России, заказ в MeaSoft отменяется, если он туда передан и имеет статус «Новый» или «Ожидает синхронизации»;
 
* «Изменения заказа в КС2008» — при наступлении события «Изменение заказа в RetailCRM». При изменении заказа в RetailCRM новые данные отправляются в MeSoft, если заказ передан и имеет статус «Новый» или «Ожидает синхронизации».
 
  
== Передача заказа при смене статуса ==
+
# В RetailСRM cоздайте API-ключ. Для этого откройте '''Настройки''' > '''Интеграция''' > '''Ключи доступа к API''' и нажмите на кнопку '''Добавить'''. Откроется страница «Новый ключ API». На этой странице:
 
+
## В поле '''Комментарий''' введите краткое описание интеграции, например «По городу».
Чтобы настроить триггер:
+
## В поле '''Тип доступа''' выберите '''Доступ ко всем магазинам'''.
# Cоздайте пользовательский статус заказа, при установке которого заказ будет автоматически передаваться в курьерскую службу. Можно создать любое количество статусов.
+
## В списке '''Разрешенные методы API''' установите все флажки.
## В RetailCRM выберите '''Администрирование''' > '''Статусы''' и нажмите на кнопку '''Добавить'''. Откроется окно «Новый статус»: [[Файл:Rcrm trig103.png|600 px|none]]
+
## Нажмите на кнопку '''Сохранить'''.
## Заполните поля формы. В поле '''Символьный код''' используйте только цифры и латинские буквы без пробелов. Запишите созданный символьный код, он понадобится на следующих шагах.
+
#: API-ключей может быть несколько, и для каждого API-ключа необходимо выполнить эти настройки. Подробнее об управлении API-ключами см. [https://help.retailcrm.ru/Users/ApiKeys документацию RetailCRM].
# Выберите '''Администрирование''' > '''Справочники''' > '''Типы доставок'''. Запишите символьные коды доставок, которые будут использоваться в триггере. В примере ниже используются коды outcity и incity.[[Файл:rcrm_trig104.png|600px|none]]
+
# Настройте интеграцию в [[Личный кабинет клиента#Интеграция|личном кабинете клиента MeaSoft]]:
# Откройте '''Администрирование''' > '''Коммуникации''' > '''Триггеры''' и нажмите на кнопку '''Добавить'''. Откроется окно «Новый триггер».  
+
## Выберите пункт основного меню '''Настройки''' > '''Интеграция''', перейдите на вкладку '''Настройки интеграции''' и в списке «Все интеграции» в строке «RetailCRM» нажмите '''Добавить'''.  
#:Заполните поля:
+
## В окне «Настройка интеграции RetailCRM» укажите название интеграции, домен RetailCRM, созданный выше API-ключ. При необходимости укажите значения других полей. Описание некоторых полей:
#: '''Название'''. Название триггера, например «Отправка заказа в MeaSoft».
+
##* '''Получать статусы доставки''' — выберите '''Получать''', чтобы в RetailCRM передавались статусы заказа из MeaSoft. Настройки передачи статусов для RetailCRM см. в разделе [[#Передача статусов из MeaSoft|«Передача статусов из MeaSoft»]];
#: '''Событие'''. Выберите значение '''Изменение заказа'''.
+
##* '''Получать тип и сумму оплаты''' — выберите значение '''Получать''', чтобы получать тип и сумму оплаты из MeaSoft. Если тип оплаты, указанный в заказе, не совпадает с типом оплаты в MeaSoft и цена заказа не равна нулю, платеж в RetailCRM удаляется, создается новый платеж с суммой и типом оплаты из MeaSoft. Данные передаются, если в заказе осталась только одна сумма к оплате;
#: '''Условие применения триггера'''. Добавьте следующий скрипт: <code>order.getStatus().getCode() in ["SentMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"]</code>, где
+
##* '''Код поля для имени курьера''' — укажите символьный код пользовательского поля в заказе RetailCRM, в которое будет передано имя курьера. Чтобы создать поле или увидеть символьный код, в RetailCRM выберите '''Настройки''' > '''Системные''' > '''Пользовательские поля'''. Подробнее о настройке пользовательских полей см. [https://help.retailcrm.ru/Users/CustomFields документацию RetailCRM];
#* <code>SentMeaSoft</code> — символьный код статуса заказа. Если нужно указать 2 статуса, напишите их через запятую в виде: <code>["SentMeaSoft","SentMeaSoft_2"]</code> вместо <code>["SentMeaSoft"]</code>;
+
##* '''Код статуса оплаты''' укажите символьный код статуса платежа, чтобы в RetailCRM отображался статус платежа после доставки заказа. Чтобы увидеть символьный код статуса, в RetailCRM выберите '''Настройки''' > '''Справочники''' > '''Статусы оплат'''. Статус платежа передается, если на момент закрытия заказа оставалась только одна сумма к оплате;
#* <code>outcity</code>, <code>incity</code> — символьные коды типа доставки. Если нужно указать 1 тип доставки, напишите его в виде <code>["incity"]</code> вместо <code>["outcity","incity"]</code>.
+
##* '''Использовать данные склада как отправителя''' — если выбрано значение '''Использовать''', данные отправителя заполняются следующей информацией о складе: адрес, название склада, телефон контактного лица ('''Настройки''' > '''Магазины''' > '''Склады''');
# Нажмите '''Добавить действие''' > '''Выполнить HTTP-запрос'''. Появятся дополнительные поля настроек. Заполните их следующим образом:
+
##* '''Передавать ФИО получателя из пользовательского поля''' — укажите символьный код пользовательского поля в заказе RetailCRM, в которое вводится имя фактического получателя. Чтобы создать поле или увидеть символьный код, в RetailCRM выберите '''Настройки''' > '''Системные''' > '''Пользовательские поля'''. Подробнее о настройке пользовательских полей см. [https://help.retailcrm.ru/Users/CustomFields документацию RetailCRM];
#* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/trigger/retailcrm;
+
##* '''Передавать телефон получателя из пользовательского поля''' — укажите символьный код пользовательского поля в заказе RetailCRM, в которое вводится телефон фактического получателя. Чтобы создать поле или увидеть символьный код, в RetailCRM выберите '''Настройки''' > '''Системные''' > '''Пользовательские поля'''. Подробнее о настройке пользовательских полей см. [https://help.retailcrm.ru/Users/CustomFields документацию RetailCRM]. Интеграция не передает электронную почту получателя.
#* '''HTTP метод''' — '''POST''';
+
##* '''Обновлять заказ при изменении''' — определяет, будет ли заказ в MeaSoft обновлен при изменении данных на стороне RetailCRM. Возможные значения: '''Да''', '''Нет'''.
#* '''Передавать параметры''' — '''В теле запроса (urlencode)''';
+
#: По завершении настройки нажмите '''Сохранить'''.
# Нажмите на кнопку '''Добавить параметр''' 3 раза подряд и заполните появившиеся поля следующими данными:
+
# Настройте интеграцию в RetailCRM:
#* '''id''' — <nowiki>{{ order.getNumber() }}</nowiki>;
+
## Откройте '''Настройки''' > '''Справочники''' > '''Типы доставок''' и на странице «Типы доставок» нажмите на кнопку '''Добавить'''. Откроется окно «Новая доставка»:[[Файл:Retail1.png|none|1000 px|]]
#* '''sum''' — <nowiki>{{ order.getIntegrationDeliveryData().getDeclaredSum() }}</nowiki>;
+
## В этом окне заполните обязательные поля и в выпадающем списке '''Интегрировать с''' выберите значение '''MeaSoft'''.
#* '''key''' — <nowiki>{{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}</nowiki>.
+
## Нажмите '''Сохранить'''.
#:'''Примечание'''. Переносы строк не допускаются.
 
# Нажмите '''Сохранить'''.
 
  
Триггер настроен.
+
'''Примечание'''. Интеграция привязана к личному кабинету клиента курьерской службы. При необходимости работать из другого личного кабинета создайте новую интеграцию, начиная с пункта настройки в личном кабинете.
  
==Триггер “Отмена заказа при смене Типа доставки”==
+
Чтобы отправлять заказы в курьерскую службу по статусам и отменять при изменении типа доставки, используйте [[RetailCRM#Настройка триггеров|триггеры]].
  
 +
== Передача типа платежа в ЛК из retailCRM ==
 +
Если символьный код передаваемого платежа содержит вхождение слова "card", то платеж передается как Карта, иначе Наличные.
 +
Если заказ будет оплачен, то передается NO.
  
<div style="font-size: 16px; color: #a92424; background-color: #ffdede; border: 1px solid #ebccd1; padding: 3px 10px 10px;">
 
'''Примечание:'''
 
  
Запрос отмены предназначен для отмены тех заказов, по которым не было произведено изменений - статуса доставки, статуса корреспонденции, времени доставки - то есть заказов, которые ещё не находятся в работе.
+
== Исключение печати чеков ==
Возможность отмены заказа есть только у курьерских служб с тарифом '''"Премиум"''' и по-умолчанию она выключена, ее нужно отдельно включить: [[Личный кабинет курьерской службы#Дополнительные настройки]].
+
В настройках интеграции есть настройка '''Не печатать чеки для способа оплаты'''.
  
При отмене заказа поле '''"Инфо о доставке"''' получает значение '''"Отменено заказчиком"''', поле '''"Дата доставки"''' - текущую дату, а '''"Вручил курьер"''' - системную запись '''"ОТМЕНА"'''.
+
Данная настройка выводит список способов оплаты из retailCRM.
</div>
 
[[Файл:rcrm_trig1.png|190px|thumb|right|рис.1 Типы доставок]]
 
1.Для начала потребуется найти и сопоставить пары:
 
<span style="color: red;>символьный код Типа доставки - API ключ</span>
 
  
 +
Вы можете выбрать те способы оплаты, при наличии которых в заказе в систему MeaSoft будет передана нулевая цена по товарам и нулевая сумма по заказу. Это полезно для оплаты заказа безналом по счету юр.лицами и для перемещения товаров между своими складами без оплаты.
  
2.Идем в настройки Типов доставок:
+
== Передача наложенного платежа ==
'''Настройки (1) -> Справочники (2)  -> Типы доставок (3)''' (рис.1 Типы доставок).
 
  
 +
Чтобы настроить корректную передачу наложенного платежа:
 +
# Откройте '''Настройки''' > '''Интеграция''' и выберите модуль MEASOFT.
 +
# На странице «Настройки интеграции с MeaSoft» перейдите на вкладку '''Доставка''' и на панели справа выберите пункт '''Способы оплаты'''.
 +
# Установите флажки для способов оплаты, которые могут использоваться для передачи наложенного платежа, и нажмите '''Сохранить '''.[[Файл:Retail5.png|none|1000 px]]
  
3.Находим нужные нам доставки (или доставку).
+
Интеграция транслирует НДС товаров.
На примере мы видим 2 Типа доставок:
 
  
'''Доставка межгород''', символьный код <span style="color: red;>'''outcity'''</span>
+
== Передача статусов из MeaSoft ==
  
'''Доставка по городу''', символьный код <span style="color: red;>'''incity'''</span>
+
Чтобы получать статусы заказа из MeaSoft:
 +
# Откройте '''Настройки''' > '''Интеграция''' и выберите модуль MEASOFT.
 +
# На странице «Настройки интеграции с MeaSoft» перейдите на вкладку '''Доставка''' и на панели справа выберите пункт '''Статусы'''.
 +
# Настройте сопоставление статусов MeaSoft и RetailCRM. Для этого в столбце «Статус в RetailCRM» из выпадающего списка выберите соответствие для каждого статуса службы доставки. ''' [[Файл:Retail передача статусов.png|none|1000 px]]
 +
# Нажмите на кнопку '''Сохранить'''.
  
<span style="color: red;>'''Запишем эти значения.'''</span>
+
Статус из MeaSoft в RetailCRM передается 1 раз в 30 минут. Поэтому некоторые промежуточные статусы для заказа могут быть пропущены, и будет показан последний выставленный на момент синхронизации статус заказа.
{|align="right"
 
|-valign="top"
 
|[[Файл:rcrm_trig2.png|170px|thumb|right|рис.2 Тип доставки город]]
 
|[[Файл:rcrm_trig3.png|170px|thumb|right|рис.3 Тип доставки межгород]]
 
|}
 
  
 +
В интеграции RetailCRM нет понятия "Финальный статус". Интеграция отправляет все статусы, которые есть у заказа, без дополнительных условий.
  
4.Создаем тестовые заказы на каждый Тип доставки.  
+
== Проверка интеграции ==
 +
Чтобы проверить настройки интеграции:
 +
# Перейдите в форму создания заказа и убедитесь, что в списке '''Тип доставки''' появилось соответствующее значение:[[Файл:Retail2.png|none|1000 px]]
 +
# Нажмите '''Выбрать тариф'''. Тарифы должны передаваться из настроек курьерской службы:[[Файл:Retail3.png|none|800 px]]<br>В случае ошибки обратитесь в курьерскую службу для настройки тарифов. Проверить тарифы можно в ЛК MeaSoft в разделе '''Калькулятор'''.
  
У нас в примере 2 доставки, поэтому создадим 2 тестовых заказа, <span style="color: red;>обязательно выбирая тариф.</span>
+
==Печатные формы ==
  
Создав 2 заказа, <span style="color: red;>обязательно выбирая тариф</span>, мы видим следующее (рис.2 и рис.3 Два типа доставок город и межгород).
+
Чтобы в RetailCRM формировать печатные формы, аналогичные формам в Личном кабинете MeaSoft, используйте один из следующих способов:
+
* в сохраненном заказе на панели действий сверху нажмите '''Печать''' и выберите нужную печатную форму «Курьерская служба»;
Таким образом получаем, что:
+
* в списке заказов отметьте заказы флажками, внизу страницы нажмите '''Действия''' > '''Распечатать документы''' и выберите печатную форму «Курьерская служба».
  
Доставка межгород, символьный код <span style="color: red;>'''outcity'''</span>, API ключ:
+
== Настройка триггеров ==
<span style="color: red;>'''WZHjxt5hsxxxxxxxxxxxxxxxxxxxxxxx'''</span>
 
  
Доставка по городу, символьный код <span style="color: red;>'''incity'''</span>, API ключ:
+
;Триггер
<span style="color: red;>'''fVJ4dO1h8xxxxxxxxxxxxxxxxxxxxxxx'''</span>
+
:Хранимая процедура специального типа, автоматически выполняющаяся при наступлении заданного события.
  
Пары символьный код <span style="color: red;>Типа доставки - API ключ</span> нужно записать. Текстовые наименования Типа доставки нам больше НЕ нужны.
+
Пример: каждый месяц 1-го числа списывается абонентская плата за интернет. Триггер «1-ый день месяца» — это событие, при наступлении которого срабатывает процедура «списание абонентской платы».
  
 +
Триггеры используются для автоматической отправки заказов в курьерскую службу и необязательны для работы модуля. Вы можете отправлять заказы вручную, снимая флажок '''Не синхронизировать со службой доставки''' в разделе '''Доставка''' на странице заказа перед его сохранением.
  
5.Теперь, имея сопоставленные пары <span style="color: red;>символьный код Типа доставки - API ключ</span>, мы можем создать сам триггер:
+
Для RetailCRM предусмотрены следующие триггеры:
{|align="right"
+
* [[Настройка триггеров для RetailCRM#Передача заказа при смене статуса|«Отправка заказа в MeaSoft»]] — при наступлении события «Смена статуса заказа на "Отправлен в MeaSoft"». При установке статуса, означающего, что заказ отправлен в курьерскую службу, срабатывает триггер, и заказ передается в MeaSoft;
|-valign="top"
+
* [[Настройка триггеров для RetailCRM#Отмена заказа при смене типа доставки|«Отмена заказа в MeaSoft»]] — при наступлении события «Смена типа доставки у заказа». При изменении типа доставки с доставки MeaSoft на доставку, например, Почтой России, заказ в MeaSoft отменяется, если он туда передан и имеет статус «Новый» или «Ожидает синхронизации»;
|[[Файл:rcrm_trig4.png|190px|thumb|right|рис.4 Настройки Триггеров]]
+
* [[Настройка триггеров для RetailCRM#Передача изменений заказа|«Изменения заказа в MeaSoft»]] — при наступлении события «Изменение заказа в RetailCRM». При изменении заказа в RetailCRM новые данные отправляются в MeSoft, если заказ передан и имеет статус «Новый» или «Ожидает синхронизации».
|[[Файл:rcrm_trig5.png|190px|thumb|right|рис.5 Кнопка "Добавить"]]
 
|-
 
|[[Файл:rcrm_trig6.png|190px|thumb|right|рис.6 Поле "Название"]]
 
|[[Файл:rcrm_trig7.png|190px|thumb|right|рис.7 Поле "Условие применения триггера"]]
 
|}
 
  
Идем в настройки Триггеров: '''Настройки (1) -> Коммуникации (2) -> Триггеры (3)''' (рис.4 Настройки Триггеров)
+
'''Примечание.''' Триггеры отправки и обновления данных заказа не учитывают [[#Передача наложенного платежа|типы оплат для наложенного платежа]]. Поэтому если наложенный платеж для неоплаченного заказа равен нулю (например, при оплате на сайте), триггер все равно передаст сумму к оплате. Для корректной отправки таких заказов не используйте триггеры.
 
  
6.Жмем '''“Добавить”''' (рис.5 Кнопка "Добавить")
+
=== Передача заказа при смене статуса ===
  
В появившемся окне нужно заполнить и настроить несколько полей:
+
Чтобы настроить триггер:
 
+
# Cоздайте пользовательский статус заказа, при установке которого заказ будет автоматически передаваться в курьерскую службу. Можно создать любое количество статусов.
1.Поле '''"Название"''' (рис.6 Поле "Название")
+
## В RetailCRM выберите '''Настройки''' > '''Статусы''' и нажмите на кнопку '''Добавить'''. Откроется окно «Новый статус»: [[Файл:Rcrm trig103.png|600 px|none]]
+
## Заполните поля формы. В поле '''Символьный код''' используйте только цифры и латинские буквы без пробелов. Запишите созданный символьный код, он понадобится на следующих шагах.
2.Поле '''"Условие применения триггера"''' (рис.7 Поле "Условие применения триггера"):
+
# Выберите '''Настройки''' > '''Справочники''' > '''Типы доставок'''. Запишите символьные коды доставок, которые будут использоваться в триггере. В примере ниже используются коды outcity и incity.[[Файл:rcrm_trig104.png|600px|none]]
 
+
# Откройте '''Настройки''' > '''Триггеры''' и нажмите на кнопку '''+ Триггер'''. Откроется окно «Новый триггер».
Вбиваем скрипт:
+
#:Заполните поля:
<source lang="javascript">
+
#: '''Название'''. Название триггера, например «Отправка заказа в MeaSoft».
changeSet.hasChangedField("delivery_type") and changeSet.getOldValue("delivery_type").getCode() in ["outcity","incity"]
+
#: В разделе '''Событие''' нажмите на кнопку '''+ Событие''', выберите значение '''Изменение заказа''' и нажмите на кнопку '''Добавить'''.
 +
#: В разделе '''Условие''' установите переключатель '''Редактор''' и добавьте следующий скрипт:
 +
#:<source lang="javascript">
 +
order.getStatus().getCode() in ["SentMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"] and changeSet.hasChangedField("status")
 
</source>
 
</source>
[[Файл:rcrm_trig8.png|190px|thumb|right|рис.8 выбор меню "Добавить действие"]]
+
#:где
Где:  
+
#* <code>SentMeaSoft</code> — символьный код статуса заказа. Если нужно указать 2 статуса, напишите их через запятую в виде: <code>["SentMeaSoft","SentMeaSoft_2"]</code> вместо <code>["SentMeaSoft"]</code>;
*значения '''"outcity"''','''"incity"''' - это <span style="color: red;>символьные коды Типа доставки.</span>
+
#* <code>outcity</code>, <code>incity</code> — символьные коды типа доставки. Если нужно указать 1 тип доставки, напишите его в виде <code>["incity"]</code> вместо <code>["outcity","incity"]</code>.
:*Если у вас будет 1 Тип доставки, то нужно вписать в таком виде: '''["incity”]''' вместо '''["outcity","incity"]'''
+
# В разделе '''Действие''' нажмите на кнопку '''+ Действие''', выберите '''Выполнить HTTP-запрос'''. Появятся дополнительные поля настроек. Заполните их следующим образом:
 +
#* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/trigger/retailcrm;
 +
#* '''HTTP метод''' — '''POST''';
 +
#* '''Передавать параметры''' — '''В теле запроса (urlencode)''';
 +
# Нажмите на кнопку '''Добавить параметр''' 3 раза подряд и заполните появившиеся поля следующими данными:
 +
:::{|class="wikitable"
 +
!Параметр
 +
!Значение
 +
|-
 +
|id||<nowiki>{{ order.getNumber() }}</nowiki>
 +
|-
 +
|sum||<nowiki>{{ order.getIntegrationDeliveryData().getDeclaredSum() }}</nowiki>
 +
|-
 +
|key||<nowiki>{{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}</nowiki>
 +
|}
 +
::'''Примечание'''. Переносы строк не допускаются.
 +
:6. В панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер.
  
3.Далее нужно нажать '''Добавить действие''' (1) -> '''Выполнить HTTP-запрос''' (2) (рис.8 выбор меню "Добавить действие"), чтобы появились дополнительные поля настроек (рис.9 Дополнительные поля настроек).
+
:[[Файл:Новый триггер.png|600 px|none]]
 
  
4.В поле '''"Адрес"''' прописываем адрес: https://home.courierexe.ru/reintegrations/requests/cancel/retailcrm
+
Триггер настроен.
  
[[Файл:rcrm_trig9.png|190px|thumb|right|рис.9 Дополнительные поля настроек]]
+
=== Отмена заказа при смене статуса ===
  
 +
Чтобы настроить триггер:
 +
# Cоздайте пользовательский статус заказа, при установке которого заказ будет автоматически отменяться. Можно создать любое количество статусов.
 +
## В RetailCRM выберите '''Настройки''' > '''Статусы''' и нажмите на кнопку '''Добавить'''. Откроется окно «Новый статус»: [[Файл:Rcrm trig103.png|600 px|none]]
 +
## Заполните поля формы. В поле '''Символьный код''' используйте только цифры и латинские буквы без пробелов. Запишите созданный символьный код, он понадобится на следующих шагах.
 +
# Выберите '''Настройки''' > '''Справочники''' > '''Типы доставок'''. Запишите символьные коды доставок, которые будут использоваться в триггере. В примере ниже используются коды outcity и incity.[[Файл:rcrm_trig104.png|600px|none]]
 +
# Откройте '''Настройки''' > '''Триггеры''' и нажмите на кнопку '''+ Триггер'''. Откроется окно «Новый триггер».
 +
#:Заполните поля:
 +
#: '''Название'''. Название триггера, например «Отмена заказа в MeaSoft».
 +
#: В разделе '''Событие''' нажмите на кнопку '''+ Событие''', выберите значение '''Изменение заказа''' и нажмите на кнопку '''Добавить'''.
 +
#: В разделе '''Условие''' установите переключатель '''Редактор''' и добавьте следующий скрипт:
 +
#:<source lang="javascript">
 +
order.getStatus().getCode() in ["CancelMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"] and changeSet.hasChangedField("status")
 +
</source>
 +
#:где
 +
#* <code>CancelMeaSoft</code> — символьный код статуса заказа. Если нужно указать 2 статуса, напишите их через запятую в виде: <code>["CancelMeaSoft_1","CancelMeaSoft_2"]</code> вместо <code>["SentMeaSoft"]</code>;
 +
#* <code>outcity</code>, <code>incity</code> — символьные коды типа доставки. Если нужно указать 1 тип доставки, напишите его в виде <code>["incity"]</code> вместо <code>["outcity","incity"]</code>.
 +
# В разделе '''Действие''' нажмите на кнопку '''+ Действие''', выберите '''Выполнить HTTP-запрос'''. Появятся дополнительные поля настроек. Заполните их следующим образом:
 +
#* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/cancelbystatus/retailcrm;
 +
#* '''HTTP метод''' — '''POST''';
 +
#* '''Передавать параметры''' — '''В теле запроса (urlencode)''';
 +
# Нажмите на кнопку '''Добавить параметр''' 3 раза подряд и заполните появившиеся поля следующими данными:
 +
:::{|class="wikitable"
 +
!Параметр
 +
!Значение
 +
|-
 +
|id||<nowiki>{{ order.getNumber() }}</nowiki>
 +
|-
 +
|key||<nowiki>{{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}</nowiki>
 +
|}
 +
::'''Примечание'''. Переносы строк не допускаются.
 +
:6. В панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер.
  
5.В списке '''"HTTP метод"''' выбираем '''"POST"'''.
+
:[[Файл:Новый триггер.png|600 px|none]]
  
 +
Триггер настроен.
  
6.В списке '''"Передавать параметры"''' выбираем '''"В теле запроса (urlencode)"'''
+
=== Отмена заказа при смене типа доставки ===
Получим пример заполнения, как на (рис.9 Дополнительные поля настроек).
 
 
  
7.Жмите кнопку '''"Добавить"''' параметр 2 раза.
+
Запрос отмены предназначен для заказов, которые еще не приняты в работу: не было изменений статуса доставки, статуса корреспонденции, времени доставки.
  
 +
Возможность отмены заказа есть только у курьерских служб с тарифом «Премиум» или «Максимум». По умолчанию она выключена, ее нужно включить в [[Личный кабинет курьерской службы#Параметры|личном кабинете курьерской службы]]: '''Управление ЛК''' > '''Параметры''' > '''Расширенные''' > '''Разрешить отмену и изменение заказов'''.
  
8.Теперь снова жмите кнопку '''"Добавить параметр"''' столько раз, сколько у вас было сопоставленных пар <span style="color: red;>символьный код Типа доставки - API ключ.</span>
+
При отмене заказа поле '''Инфо о доставке''' получает значение '''Отменено заказчиком''', поле '''Дата доставки''' заполняется текущей датой, а в поле '''Вручил курьер''' появляется системная запись '''Отмена'''.
[[Файл:rcrm_trig10.png|200px|thumb|right|рис.10 Добавление параметров]]
 
  
 
+
Чтобы настроить триггер:
В нашем случае было 2 пары, поэтому мы опять нажмем 2 раза. Итого у нас будет 4 нажатия и мы увидим следующее (рис.10 Добавление параметров).
+
# В RetailCRM выберите '''Настройки''' > '''Справочники''' > '''Типы доставок'''. [[Файл:Rcrm_trig104.png|600 px|none]]
+
#: Запишите символьный код типа доставки (доставок), заказы которой отправляются в MeaSoft.
9.Теперь нам нужно эти поля заполнить следующими данными:
+
# Перейдите в раздел '''Продажи''' и нажмите на кнопку '''Новый заказ'''. В разделе '''Доставка''' выберите тип доставки, заказы которой отправляются в MeaSoft, укажите город, вес и тариф.
[[Файл:rcrm_trig11.png|200px|thumb|right|рис.11 Заполнили параметры данными]]
+
# В разделе '''Доставка''' появится поле '''API ключ службы доставки'''. Запишите его значение. В результате у вас есть пара «символьный код типа доставки» — «API ключ службы доставки».
{| class="wikitable" cellpadding="10" cellspacing="0" border="2"
+
# Повторите действия пп. 2-3 для каждой доставки, заказы по которой отправляются в MeaSoft.
|'''Параметр'''
+
# Откройте '''Настройки''' > '''Триггеры''' и нажмите на кнопку '''+ Триггер'''. Откроется окно «Новый триггер».
|'''Значение'''
+
#: Заполните поля:
 +
#* '''Название'''. Название триггера, например «Отмена заказа в MeaSoft»;
 +
#* В разделе '''Событие''' нажмите на кнопку '''+ Событие''', выберите значение '''Изменение заказа''' и нажмите на кнопку '''Добавить'''.
 +
#* В разделе '''Условие''' установите переключатель '''Редактор''' и добавьте следующий скрипт:
 +
#:<source lang="javascript">
 +
changeSet.hasChangedField("delivery_type") and changeSet.getOldValue("delivery_type").getCode() in ["outcity","incity"]
 +
</source>
 +
#:где <code>outcity</code>, <code>incity</code> — символьные коды типа доставки. Если нужно указать один тип доставки, напишите его в виде <code>["incity"]</code> вместо <code>["outcity","incity"]</code>.
 +
# В разделе '''Действие''' нажмите на кнопку '''+ Действие''', выберите '''Выполнить HTTP-запрос'''. Появятся дополнительные поля настроек. Заполните их следующим образом:
 +
#* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/cancel/retailcrm;
 +
#* '''HTTP метод''' — '''POST''';
 +
#* '''Передавать параметры''' — '''В теле запроса (urlencode)''';
 +
# Нажмите на кнопку '''Добавить параметр''' 2 раза подряд и потом еще столько раз, сколько у вас сопоставленных пар «символьный код типа доставки» - «API ключ службы доставки». Заполните появившиеся поля следующими данными:
 +
:::{|class="wikitable"
 +
!Параметр
 +
!Значение
 
|-
 
|-
|'''id'''
+
|id||<nowiki>{{ order.getNumber() }}</nowiki>
|<source lang="javascript">{{ order.getNumber() }}</source>
 
 
|-
 
|-
|'''code'''
+
|code||<nowiki>{{ changeSet.getOldValue("delivery_type").getCode() }}</nowiki>
|<source lang="javascript">{{ changeSet.getOldValue("delivery_type").getCode() }}</source>
 
 
|-
 
|-
|<span style="color: red;>символьный код Типа доставки</span> из 1-ой пары сопоставлений
+
|Cимвольный код типа доставки 1||API-ключ службы доставки 1
|<span style="color: red;>API ключ</span> из 1-ой пары сопоставлений
 
|-
 
|<span style="color: red;>символьный код Типа доставки</span> из 2-ой пары сопоставлений
 
|<span style="color: red;>API ключ</span> из 2-ой пары сопоставлений
 
 
|-
 
|-
 +
|Cимвольный код типа доставки 2||API-ключ службы доставки 2
 
|}
 
|}
 +
::'''Примечание'''. Переносы строк не допускаются.
 +
:8. В панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер.
 +
:[[Файл:Новый триггер2.png|600 px|none]]
 +
Триггер настроен.
  
 +
=== Передача изменений заказа ===
  
По итогу мы получим следующее (см. рис.11 Заполнили параметры данными).
+
Изменять заказ могут только курьерские службы с тарифом «Премиум» или «Максимум». По умолчанию опция выключена, ее нужно включить в [[Личный кабинет курьерской службы#Параметры|личном кабинете курьерской службы]]: '''Управление ЛК''' > '''Параметры''' > '''Расширенные''' > '''Разрешить отмену и изменение заказов'''.
 
Обратите внимание, что <span style="color: red;>ВО ВСЕХ СЛУЧАЯХ ДАННЫЕ ЗАПИСАНЫ В ОДНОЙ СТРОКЕ, ПЕРЕНОСОВ СТРОК БЫТЬ НЕ ДОЛЖНО!</span>
 
  
 
+
Чтобы настроить триггер:
10.Последнее действие - нажатие кнопки '''"Сохранить"'''. Настройка триггера завершена.
+
# В RetailCRM выберите '''Настройки''' > '''Справочники''' > '''Типы доставок'''. [[Файл:Rcrm_trig104.png|600 px|none]]
 
+
#: Запишите символьный код доставки (доставок), заказы которой отправляются в MeaSoft.
 
+
# Откройте '''Настройки''' > '''Триггеры''' и нажмите на кнопку '''+ Триггер'''. Откроется окно «Новый триггер».
 
+
#: Заполните поля:
==Триггер “Передача  изменений заказа”==
+
#* '''Название'''. Название триггера, например «Передача изменений заказа в MeaSoft»;
 
+
#* В разделе '''Событие''' нажмите на кнопку '''+ Событие''', выберите значение '''Изменение заказа''' и нажмите на кнопку '''Добавить'''.
 
+
#* В разделе '''Условие''' установите переключатель '''Редактор''' и добавьте следующий скрипт:
<div style="font-size: 16px; color: #a92424; background-color: #ffdede; border: 1px solid #ebccd1; padding: 3px 10px 10px;">
+
#:<source lang="javascript">
'''Примечание:'''
 
 
 
Возможность изменения заказа есть только у курьерских служб с тарифом '''"Премиум"''' и по-умолчанию она выключена, ее нужно отдельно включить: [[Личный кабинет курьерской службы#Дополнительные настройки]].
 
 
 
</div>
 
 
 
{|align="right"
 
|-valign="top"
 
|[[Файл:rcrm_trig101.png|200px|thumb|right|рис.1 Настройки]]
 
|[[Файл:rcrm_trig102.png|200px|thumb|right|рис.2 Кнопка "Добавить"]]
 
|-
 
|[[Файл:rcrm_trig104.png|200px|thumb|right|рис.4 настройки Типов доставок]]
 
|-
 
|[[Файл:rcrm_trig105.png|200px|thumb|right|рис.5 Тип доставки город]]
 
|[[Файл:rcrm_trig106.png|200px|thumb|right|рис.6 Тип доставки межгород]]
 
|}
 
 
 
1.Переходим в настройки Типов доставок: '''"Настройки"''' (1) -> '''"Справочники"''' (2)  -> '''"Типы доставок"''' (3) (рис. 4).
 
 
 
 
2.Находим нужные  нам доставки (или доставку).
 
На примере выше мы видим 2 Типа доставок:
 
 
 
'''"Доставка межгород"''', символьный код <span style="color: red;>'''outcity'''</span>
 
 
 
'''"Доставка по городу"''', символьный код <span style="color: red;>'''incity'''</span>
 
 
 
<span style="color: red;>'''Запишем эти значения.'''</span>
 
 
 
 
 
3.Теперь переходим в настройки Триггеров: '''"Настройки"''' (1) -> '''"Коммуникации"''' (2) -> '''"Триггеры"''' (3) (рис.7).
 
 
 
 
4.Кнопка '''"Добавить"''' (рис.8).
 
 
В появившемся окне нужно заполнить и настроить несколько полей:
 
 
 
1.Поле '''"Название"''' (рис.9).
 
 
 
2.В поле '''"Условие применения триггера"''' добавляем скрипт (рис.10):
 
<source lang="javascript">
 
 
changeSet.isUpdate() and  
 
changeSet.isUpdate() and  
 
(
 
(
Строка 250: Строка 261:
 
)
 
)
 
and  
 
and  
order.getDeliveryType().getCode() in ["outcity","incity"]
+
order.getDeliveryType().getCode() in ["outcity","incity"]
 
</source>
 
</source>
{|align="right"
+
#:где <code>outcity</code>, <code>incity</code> — символьные коды типа доставки. Если нужно указать один тип доставки, напишите его в виде <code>["incity"]</code> вместо <code>["outcity","incity"]</code>.
|-valign="top"
+
# В разделе '''Действие''' нажмите на кнопку '''+ Действие''', выберите '''Выполнить HTTP-запрос'''. Появятся дополнительные поля настроек. Заполните их следующим образом:
|[[Файл:rcrm_trig111.png|200px|thumb|right|рис.11 выбор меню "Добавить действие"]]
+
#* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/update/retailcrm;
|[[Файл:rcrm_1_1.png|200px|thumb|right|рис.12 Дополнительные поля настроек]]
+
#* '''HTTP метод''' — '''POST''';
|}  
+
#* '''Передавать параметры''' — '''В теле запроса (urlencode)''';
Где:  
+
# Нажмите на кнопку '''Добавить параметр''' 3 раза подряд и заполните появившиеся поля следующими данными:
*'''"outcity"''','''"incity"''' - это <span style="color: red;>символьные коды Типа доставки</span>.
+
:::{|class="wikitable"
:*Если у вас будет 1 Тип доставки, то нужно вписать в таком виде '''["incity”]''' вместо '''["outcity","incity"]'''
+
!Параметр
 +
!Значение
 +
|-
 +
|id||<nowiki>{{ order.getNumber() }}</nowiki>
 +
|-
 +
|sum||<nowiki>{{ order.getIntegrationDeliveryData().getDeclaredSum() }}</nowiki>
 +
|-
 +
|key||<nowiki>{{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}</nowiki>
 +
|}
 +
::'''Примечание'''. Переносы строк не допускаются.
 +
:5. В панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер.
 +
:[[Файл:Новый триггер3.png|600 px|none]]
 +
Триггер настроен.
 +
 
 +
== Передача габаритов ==
 +
Габариты из retailCRM передаются стандартными средствами retailCRM.
 +
 
 +
Они берутся, либо из раздела "Габариты и вес", либо из раздела "Упаковки", где вы можете распределить товары между упаковками, указав габариты и вес каждой упаковки.
  
+
[[Файл:Gab.png|none|800 px]]
3.Далее нужно нажать '''Добавить действие''' (1) -> '''Выполнить HTTP-запрос''' (2) чтобы появились дополнительные поля настроек (рис.11).
 
 
4.В поле '''"Адрес"''' прописываем: https://home.courierexe.ru/reintegrations/requests/update/retailcrm
 
  
5.В списке '''"HTTP метод"''' выбираем '''"POST"'''.
+
Дополнительно можете изучить информацию здесь https://docs.retailcrm.ru/Users/OperatingActivity/Orders/OrderPage/WorkOrderPage/WorkDeliveryOrder раздел "Оформление упаковок"
  
6.В списке '''"Передавать параметры"''' выбираем '''"В теле запроса (urlencode)"'''.
+
== Передача признака необходимости возврата ==
Получим следующие настройки полей (рис. 12).
+
1) В retailCRM создайте справочник со значениями "no", "yes", "only".
  
7.Нажимаем кнопку '''"Добавить параметр"''' 3 раза подряд.
+
[[Файл:Return.png|none|800 px]]
  
8.Теперь нам нужно эти поля заполнить следующими данными:
 
  
{| class="wikitable" cellpadding="10" cellspacing="0" border="2"
+
2) В retailCRM создайте пользовательское поле с типом "Справочник". Справочником выберите справочник из 1ого пункта.
|'''Параметр'''
+
 
|'''Значение'''
+
[[Файл:Return2.png|none|800 px]]
|-
+
 
|'''id'''
+
 
|<source lang="javascript">{{ order.getNumber() }}</source>
+
3) В заказе выбирайте нужный элемент справочника и он будет уходить вместе с заказом.
|-
+
 
|'''sum'''
+
 
|<source lang="javascript">{{ order.getIntegrationDeliveryData().getDeclaredSum() }}</source>
+
4) В настройках интеграции в ЛК вам нужно в опции "Признак необходимости возврата" выбрать созданное вами поле.
|-
+
 
|'''key'''
+
== Ошибка "Не удалось загрузить список служб доставки" ==
|<source lang="javascript">{{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}</source>
+
Существует известная проблема на стороне retailCRM, когда вместо получения тарифов вы видите сообщение "Не удалось загрузить список служб доставки".
|-
+
 
|}
+
Суть проблемы в том, что retailCRM не может принять большое число ПВЗ. У retailCRM просто не хватает мощностей на обработку большого числа информации.
 +
 
 +
Если у вас много ПВЗ для многих подрядчиков (СДЭК, ПОЧТА РОССИИ, 5POST и тд), то вы иногда можете наблюдать данную ошибку.
 +
 
 +
Избавиться от данной ошибки можно за счет снижения получаемой информации.
 +
 
 +
То есть, вам нужно либо уменьшить кол-во получаемых ПВЗ, либо уменьшить кол-во информации о ПВЗ.
 +
 
 +
Вот варианты того, как можно убрать данную ошибку:
 +
 
 +
#Если вы не используете ПВЗ, то в настройках интеграции в ЛК у опции *Получать ПВЗ для выбора* выберите '''Не получать'''
 +
#Если вы не используете все режимы срочности, то в настройках интеграции в ЛК у опции '''Режимы срочности''' выберите только нужные вам режимы
 +
#Если вам не нужна такая информация о ПВЗ, как адрес/телефон/время работы/как добраться, то у опции '''Отсылать информацию о ПВЗ''' выберите '''Нет'''
  
 +
== Передача артикулов ==
  
По итогу мы получим следующее заполнение полей (рис.14):
+
=== Постоянно ===
 +
Если вы планируете передавать артикулы на каждый заказ, то используйте настройку '''Использовать артикулы'''
  
Обратите внимание, что <span style="color: red;>ВО ВСЕХ СЛУЧАЯХ ДАННЫЕ ЗАПИСАНЫ В ОДНОЙ СТРОКЕ, ПЕРЕНОСОВ СТРОК БЫТЬ НЕ ДОЛЖНО!</span>
+
=== На некоторые заказы ===
 +
Если вы планируете передавать артикулы только на некоторые заказы, то используйте настройку '''Переодическая передача артикула по заказу'''.
  
10.Последнее действие - нажатие кнопки '''"Сохранить"'''. Настройка триггера завершена.
+
#Сначала создайте кастомное поле в retailCRM с типом '''Флажок (да/нет)'''
 +
#Сопоставьте этого поле в настройке '''Переодическая передача артикула по заказу'''
 +
#Для передачи артикула, ставьте галку в созданного поле в нужном заказе и тогда артикулы будут передаваться по данному заказу

Текущая версия на 04:33, 26 февраля 2026

Обратите внимание, RetailCRM не передает Услуги, не используйте их.


Настройка интеграции

  1. В RetailСRM cоздайте API-ключ. Для этого откройте Настройки > Интеграция > Ключи доступа к API и нажмите на кнопку Добавить. Откроется страница «Новый ключ API». На этой странице:
    1. В поле Комментарий введите краткое описание интеграции, например «По городу».
    2. В поле Тип доступа выберите Доступ ко всем магазинам.
    3. В списке Разрешенные методы API установите все флажки.
    4. Нажмите на кнопку Сохранить.
    API-ключей может быть несколько, и для каждого API-ключа необходимо выполнить эти настройки. Подробнее об управлении API-ключами см. документацию RetailCRM.
  2. Настройте интеграцию в личном кабинете клиента MeaSoft:
    1. Выберите пункт основного меню Настройки > Интеграция, перейдите на вкладку Настройки интеграции и в списке «Все интеграции» в строке «RetailCRM» нажмите Добавить.
    2. В окне «Настройка интеграции RetailCRM» укажите название интеграции, домен RetailCRM, созданный выше API-ключ. При необходимости укажите значения других полей. Описание некоторых полей:
      • Получать статусы доставки — выберите Получать, чтобы в RetailCRM передавались статусы заказа из MeaSoft. Настройки передачи статусов для RetailCRM см. в разделе «Передача статусов из MeaSoft»;
      • Получать тип и сумму оплаты — выберите значение Получать, чтобы получать тип и сумму оплаты из MeaSoft. Если тип оплаты, указанный в заказе, не совпадает с типом оплаты в MeaSoft и цена заказа не равна нулю, платеж в RetailCRM удаляется, создается новый платеж с суммой и типом оплаты из MeaSoft. Данные передаются, если в заказе осталась только одна сумма к оплате;
      • Код поля для имени курьера — укажите символьный код пользовательского поля в заказе RetailCRM, в которое будет передано имя курьера. Чтобы создать поле или увидеть символьный код, в RetailCRM выберите Настройки > Системные > Пользовательские поля. Подробнее о настройке пользовательских полей см. документацию RetailCRM;
      • Код статуса оплаты — укажите символьный код статуса платежа, чтобы в RetailCRM отображался статус платежа после доставки заказа. Чтобы увидеть символьный код статуса, в RetailCRM выберите Настройки > Справочники > Статусы оплат. Статус платежа передается, если на момент закрытия заказа оставалась только одна сумма к оплате;
      • Использовать данные склада как отправителя — если выбрано значение Использовать, данные отправителя заполняются следующей информацией о складе: адрес, название склада, телефон контактного лица (Настройки > Магазины > Склады);
      • Передавать ФИО получателя из пользовательского поля — укажите символьный код пользовательского поля в заказе RetailCRM, в которое вводится имя фактического получателя. Чтобы создать поле или увидеть символьный код, в RetailCRM выберите Настройки > Системные > Пользовательские поля. Подробнее о настройке пользовательских полей см. документацию RetailCRM;
      • Передавать телефон получателя из пользовательского поля — укажите символьный код пользовательского поля в заказе RetailCRM, в которое вводится телефон фактического получателя. Чтобы создать поле или увидеть символьный код, в RetailCRM выберите Настройки > Системные > Пользовательские поля. Подробнее о настройке пользовательских полей см. документацию RetailCRM. Интеграция не передает электронную почту получателя.
      • Обновлять заказ при изменении — определяет, будет ли заказ в MeaSoft обновлен при изменении данных на стороне RetailCRM. Возможные значения: Да, Нет.
    По завершении настройки нажмите Сохранить.
  3. Настройте интеграцию в RetailCRM:
    1. Откройте Настройки > Справочники > Типы доставок и на странице «Типы доставок» нажмите на кнопку Добавить. Откроется окно «Новая доставка»:
      Retail1.png
    2. В этом окне заполните обязательные поля и в выпадающем списке Интегрировать с выберите значение MeaSoft.
    3. Нажмите Сохранить.

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

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

Передача типа платежа в ЛК из retailCRM

Если символьный код передаваемого платежа содержит вхождение слова "card", то платеж передается как Карта, иначе Наличные. Если заказ будет оплачен, то передается NO.


Исключение печати чеков

В настройках интеграции есть настройка Не печатать чеки для способа оплаты.

Данная настройка выводит список способов оплаты из retailCRM.

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

Передача наложенного платежа

Чтобы настроить корректную передачу наложенного платежа:

  1. Откройте Настройки > Интеграция и выберите модуль MEASOFT.
  2. На странице «Настройки интеграции с MeaSoft» перейдите на вкладку Доставка и на панели справа выберите пункт Способы оплаты.
  3. Установите флажки для способов оплаты, которые могут использоваться для передачи наложенного платежа, и нажмите Сохранить .
    Retail5.png

Интеграция транслирует НДС товаров.

Передача статусов из MeaSoft

Чтобы получать статусы заказа из MeaSoft:

  1. Откройте Настройки > Интеграция и выберите модуль MEASOFT.
  2. На странице «Настройки интеграции с MeaSoft» перейдите на вкладку Доставка и на панели справа выберите пункт Статусы.
  3. Настройте сопоставление статусов MeaSoft и RetailCRM. Для этого в столбце «Статус в RetailCRM» из выпадающего списка выберите соответствие для каждого статуса службы доставки.
    Retail передача статусов.png
  4. Нажмите на кнопку Сохранить.

Статус из MeaSoft в RetailCRM передается 1 раз в 30 минут. Поэтому некоторые промежуточные статусы для заказа могут быть пропущены, и будет показан последний выставленный на момент синхронизации статус заказа.

В интеграции RetailCRM нет понятия "Финальный статус". Интеграция отправляет все статусы, которые есть у заказа, без дополнительных условий.

Проверка интеграции

Чтобы проверить настройки интеграции:

  1. Перейдите в форму создания заказа и убедитесь, что в списке Тип доставки появилось соответствующее значение:
    Retail2.png
  2. Нажмите Выбрать тариф. Тарифы должны передаваться из настроек курьерской службы:
    Retail3.png

    В случае ошибки обратитесь в курьерскую службу для настройки тарифов. Проверить тарифы можно в ЛК MeaSoft в разделе Калькулятор.

Печатные формы

Чтобы в RetailCRM формировать печатные формы, аналогичные формам в Личном кабинете MeaSoft, используйте один из следующих способов:

  • в сохраненном заказе на панели действий сверху нажмите Печать и выберите нужную печатную форму «Курьерская служба»;
  • в списке заказов отметьте заказы флажками, внизу страницы нажмите Действия > Распечатать документы и выберите печатную форму «Курьерская служба».

Настройка триггеров

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

Пример: каждый месяц 1-го числа списывается абонентская плата за интернет. Триггер «1-ый день месяца» — это событие, при наступлении которого срабатывает процедура «списание абонентской платы».

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

Для RetailCRM предусмотрены следующие триггеры:

  • «Отправка заказа в MeaSoft» — при наступлении события «Смена статуса заказа на "Отправлен в MeaSoft"». При установке статуса, означающего, что заказ отправлен в курьерскую службу, срабатывает триггер, и заказ передается в MeaSoft;
  • «Отмена заказа в MeaSoft» — при наступлении события «Смена типа доставки у заказа». При изменении типа доставки с доставки MeaSoft на доставку, например, Почтой России, заказ в MeaSoft отменяется, если он туда передан и имеет статус «Новый» или «Ожидает синхронизации»;
  • «Изменения заказа в MeaSoft» — при наступлении события «Изменение заказа в RetailCRM». При изменении заказа в RetailCRM новые данные отправляются в MeSoft, если заказ передан и имеет статус «Новый» или «Ожидает синхронизации».

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

Передача заказа при смене статуса

Чтобы настроить триггер:

  1. Cоздайте пользовательский статус заказа, при установке которого заказ будет автоматически передаваться в курьерскую службу. Можно создать любое количество статусов.
    1. В RetailCRM выберите Настройки > Статусы и нажмите на кнопку Добавить. Откроется окно «Новый статус»:
      Rcrm trig103.png
    2. Заполните поля формы. В поле Символьный код используйте только цифры и латинские буквы без пробелов. Запишите созданный символьный код, он понадобится на следующих шагах.
  2. Выберите Настройки > Справочники > Типы доставок. Запишите символьные коды доставок, которые будут использоваться в триггере. В примере ниже используются коды outcity и incity.
    Rcrm trig104.png
  3. Откройте Настройки > Триггеры и нажмите на кнопку + Триггер. Откроется окно «Новый триггер».
    Заполните поля:
    Название. Название триггера, например «Отправка заказа в MeaSoft».
    В разделе Событие нажмите на кнопку + Событие, выберите значение Изменение заказа и нажмите на кнопку Добавить.
    В разделе Условие установите переключатель Редактор и добавьте следующий скрипт:
    order.getStatus().getCode() in ["SentMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"] and changeSet.hasChangedField("status")
    
    где
    • SentMeaSoft — символьный код статуса заказа. Если нужно указать 2 статуса, напишите их через запятую в виде: ["SentMeaSoft","SentMeaSoft_2"] вместо ["SentMeaSoft"];
    • outcity, incity — символьные коды типа доставки. Если нужно указать 1 тип доставки, напишите его в виде ["incity"] вместо ["outcity","incity"].
  4. В разделе Действие нажмите на кнопку + Действие, выберите Выполнить HTTP-запрос. Появятся дополнительные поля настроек. Заполните их следующим образом:
  5. Нажмите на кнопку Добавить параметр 3 раза подряд и заполните появившиеся поля следующими данными:
Параметр Значение
id {{ order.getNumber() }}
sum {{ order.getIntegrationDeliveryData().getDeclaredSum() }}
key {{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}
Примечание. Переносы строк не допускаются.
6. В панели Действия нажмите Сохранить, затем сохраните триггер.
Новый триггер.png

Триггер настроен.

Отмена заказа при смене статуса

Чтобы настроить триггер:

  1. Cоздайте пользовательский статус заказа, при установке которого заказ будет автоматически отменяться. Можно создать любое количество статусов.
    1. В RetailCRM выберите Настройки > Статусы и нажмите на кнопку Добавить. Откроется окно «Новый статус»:
      Rcrm trig103.png
    2. Заполните поля формы. В поле Символьный код используйте только цифры и латинские буквы без пробелов. Запишите созданный символьный код, он понадобится на следующих шагах.
  2. Выберите Настройки > Справочники > Типы доставок. Запишите символьные коды доставок, которые будут использоваться в триггере. В примере ниже используются коды outcity и incity.
    Rcrm trig104.png
  3. Откройте Настройки > Триггеры и нажмите на кнопку + Триггер. Откроется окно «Новый триггер».
    Заполните поля:
    Название. Название триггера, например «Отмена заказа в MeaSoft».
    В разделе Событие нажмите на кнопку + Событие, выберите значение Изменение заказа и нажмите на кнопку Добавить.
    В разделе Условие установите переключатель Редактор и добавьте следующий скрипт:
    order.getStatus().getCode() in ["CancelMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"] and changeSet.hasChangedField("status")
    
    где
    • CancelMeaSoft — символьный код статуса заказа. Если нужно указать 2 статуса, напишите их через запятую в виде: ["CancelMeaSoft_1","CancelMeaSoft_2"] вместо ["SentMeaSoft"];
    • outcity, incity — символьные коды типа доставки. Если нужно указать 1 тип доставки, напишите его в виде ["incity"] вместо ["outcity","incity"].
  4. В разделе Действие нажмите на кнопку + Действие, выберите Выполнить HTTP-запрос. Появятся дополнительные поля настроек. Заполните их следующим образом:
  5. Нажмите на кнопку Добавить параметр 3 раза подряд и заполните появившиеся поля следующими данными:
Параметр Значение
id {{ order.getNumber() }}
key {{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}
Примечание. Переносы строк не допускаются.
6. В панели Действия нажмите Сохранить, затем сохраните триггер.
Новый триггер.png

Триггер настроен.

Отмена заказа при смене типа доставки

Запрос отмены предназначен для заказов, которые еще не приняты в работу: не было изменений статуса доставки, статуса корреспонденции, времени доставки.

Возможность отмены заказа есть только у курьерских служб с тарифом «Премиум» или «Максимум». По умолчанию она выключена, ее нужно включить в личном кабинете курьерской службы: Управление ЛК > Параметры > Расширенные > Разрешить отмену и изменение заказов.

При отмене заказа поле Инфо о доставке получает значение Отменено заказчиком, поле Дата доставки заполняется текущей датой, а в поле Вручил курьер появляется системная запись Отмена.

Чтобы настроить триггер:

  1. В RetailCRM выберите Настройки > Справочники > Типы доставок.
    Rcrm trig104.png
    Запишите символьный код типа доставки (доставок), заказы которой отправляются в MeaSoft.
  2. Перейдите в раздел Продажи и нажмите на кнопку Новый заказ. В разделе Доставка выберите тип доставки, заказы которой отправляются в MeaSoft, укажите город, вес и тариф.
  3. В разделе Доставка появится поле API ключ службы доставки. Запишите его значение. В результате у вас есть пара «символьный код типа доставки» — «API ключ службы доставки».
  4. Повторите действия пп. 2-3 для каждой доставки, заказы по которой отправляются в MeaSoft.
  5. Откройте Настройки > Триггеры и нажмите на кнопку + Триггер. Откроется окно «Новый триггер».
    Заполните поля:
    • Название. Название триггера, например «Отмена заказа в MeaSoft»;
    • В разделе Событие нажмите на кнопку + Событие, выберите значение Изменение заказа и нажмите на кнопку Добавить.
    • В разделе Условие установите переключатель Редактор и добавьте следующий скрипт:
    changeSet.hasChangedField("delivery_type") and changeSet.getOldValue("delivery_type").getCode() in ["outcity","incity"]
    
    где outcity, incity — символьные коды типа доставки. Если нужно указать один тип доставки, напишите его в виде ["incity"] вместо ["outcity","incity"].
  6. В разделе Действие нажмите на кнопку + Действие, выберите Выполнить HTTP-запрос. Появятся дополнительные поля настроек. Заполните их следующим образом:
  7. Нажмите на кнопку Добавить параметр 2 раза подряд и потом еще столько раз, сколько у вас сопоставленных пар «символьный код типа доставки» - «API ключ службы доставки». Заполните появившиеся поля следующими данными:
Параметр Значение
id {{ order.getNumber() }}
code {{ changeSet.getOldValue("delivery_type").getCode() }}
Cимвольный код типа доставки 1 API-ключ службы доставки 1
Cимвольный код типа доставки 2 API-ключ службы доставки 2
Примечание. Переносы строк не допускаются.
8. В панели Действия нажмите Сохранить, затем сохраните триггер.
Новый триггер2.png

Триггер настроен.

Передача изменений заказа

Изменять заказ могут только курьерские службы с тарифом «Премиум» или «Максимум». По умолчанию опция выключена, ее нужно включить в личном кабинете курьерской службы: Управление ЛК > Параметры > Расширенные > Разрешить отмену и изменение заказов.

Чтобы настроить триггер:

  1. В RetailCRM выберите Настройки > Справочники > Типы доставок.
    Rcrm trig104.png
    Запишите символьный код доставки (доставок), заказы которой отправляются в MeaSoft.
  2. Откройте Настройки > Триггеры и нажмите на кнопку + Триггер. Откроется окно «Новый триггер».
    Заполните поля:
    • Название. Название триггера, например «Передача изменений заказа в MeaSoft»;
    • В разделе Событие нажмите на кнопку + Событие, выберите значение Изменение заказа и нажмите на кнопку Добавить.
    • В разделе Условие установите переключатель Редактор и добавьте следующий скрипт:
    changeSet.isUpdate() and 
    (
    changeSet.hasChangedField("first_name") or 
    changeSet.hasChangedField("last_name") or 
    changeSet.hasChangedField("patronymic") or 
    changeSet.hasChangedField("phone") or 
    changeSet.hasChangedField("site") or 
    changeSet.hasChangedField("additional_phone") or
    changeSet.hasChangedField("email") or 
    changeSet.hasChangedField("customer.phones") or 
    changeSet.hasChangedField("order_product") or 
    changeSet.hasChangedField("total_summ") or 
    changeSet.hasChangedField("delivery_date") or 
    changeSet.hasChangedField("delivery_time") or 
    changeSet.hasChangedField("payments") or 
    changeSet.hasChangedField("prepay_sum") or 
    changeSet.hasChangedField("weight") or 
    changeSet.hasChangedField("length") or 
    changeSet.hasChangedField("width") or 
    changeSet.hasChangedField("height")  or 
    changeSet.hasChangedField("payments.id")  or 
    changeSet.hasChangedField("payments.status")  or 
    changeSet.hasChangedField("payments.type")  or 
    changeSet.hasChangedField("payments.external_id")  or 
    changeSet.hasChangedField("payments.amount")  or 
    changeSet.hasChangedField("payments.paid_at")  or 
    changeSet.hasChangedField("payments.comment")  or 
    changeSet.hasChangedField("discount_manual_amount")  or 
    changeSet.hasChangedField("discount_manual_percent") 
    )
    and 
    order.getDeliveryType().getCode() in ["outcity","incity"]
    
    где outcity, incity — символьные коды типа доставки. Если нужно указать один тип доставки, напишите его в виде ["incity"] вместо ["outcity","incity"].
  3. В разделе Действие нажмите на кнопку + Действие, выберите Выполнить HTTP-запрос. Появятся дополнительные поля настроек. Заполните их следующим образом:
  4. Нажмите на кнопку Добавить параметр 3 раза подряд и заполните появившиеся поля следующими данными:
Параметр Значение
id {{ order.getNumber() }}
sum {{ order.getIntegrationDeliveryData().getDeclaredSum() }}
key {{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}
Примечание. Переносы строк не допускаются.
5. В панели Действия нажмите Сохранить, затем сохраните триггер.
Новый триггер3.png

Триггер настроен.

Передача габаритов

Габариты из retailCRM передаются стандартными средствами retailCRM.

Они берутся, либо из раздела "Габариты и вес", либо из раздела "Упаковки", где вы можете распределить товары между упаковками, указав габариты и вес каждой упаковки.

Gab.png

Дополнительно можете изучить информацию здесь https://docs.retailcrm.ru/Users/OperatingActivity/Orders/OrderPage/WorkOrderPage/WorkDeliveryOrder раздел "Оформление упаковок"

Передача признака необходимости возврата

1) В retailCRM создайте справочник со значениями "no", "yes", "only".

Return.png


2) В retailCRM создайте пользовательское поле с типом "Справочник". Справочником выберите справочник из 1ого пункта.

Return2.png


3) В заказе выбирайте нужный элемент справочника и он будет уходить вместе с заказом.


4) В настройках интеграции в ЛК вам нужно в опции "Признак необходимости возврата" выбрать созданное вами поле.

Ошибка "Не удалось загрузить список служб доставки"

Существует известная проблема на стороне retailCRM, когда вместо получения тарифов вы видите сообщение "Не удалось загрузить список служб доставки".

Суть проблемы в том, что retailCRM не может принять большое число ПВЗ. У retailCRM просто не хватает мощностей на обработку большого числа информации.

Если у вас много ПВЗ для многих подрядчиков (СДЭК, ПОЧТА РОССИИ, 5POST и тд), то вы иногда можете наблюдать данную ошибку.

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

То есть, вам нужно либо уменьшить кол-во получаемых ПВЗ, либо уменьшить кол-во информации о ПВЗ.

Вот варианты того, как можно убрать данную ошибку:

  1. Если вы не используете ПВЗ, то в настройках интеграции в ЛК у опции *Получать ПВЗ для выбора* выберите Не получать
  2. Если вы не используете все режимы срочности, то в настройках интеграции в ЛК у опции Режимы срочности выберите только нужные вам режимы
  3. Если вам не нужна такая информация о ПВЗ, как адрес/телефон/время работы/как добраться, то у опции Отсылать информацию о ПВЗ выберите Нет

Передача артикулов

Постоянно

Если вы планируете передавать артикулы на каждый заказ, то используйте настройку Использовать артикулы

На некоторые заказы

Если вы планируете передавать артикулы только на некоторые заказы, то используйте настройку Переодическая передача артикула по заказу.

  1. Сначала создайте кастомное поле в retailCRM с типом Флажок (да/нет)
  2. Сопоставьте этого поле в настройке Переодическая передача артикула по заказу
  3. Для передачи артикула, ставьте галку в созданного поле в нужном заказе и тогда артикулы будут передаваться по данному заказу