Изменения

Перейти к: навигация, поиск

RetailCRM

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

Навигация