Изменения

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

RetailCRM

15 632 байта добавлено, 26 март
Передача признака необходимости возврата
== Настройка интеграции ==
==Введение==# В 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''', предусмотрены 3 триггера:#Настройка триггеров|триггеры]].
*1) Триггер '''== Передача типа платежа в ЛК из retailCRM ==Если символьный код передаваемого платежа содержит вхождение слова "отправка заказа в КС2008card"''', при наступлении события '''"Смена статуса заказа на "Отправлен в КС2008""'''то платеж передается как Карта, иначе Наличные.Если заказ будет оплачен, то передается NO.
:*То есть, когда вы меняете статус заказу, то срабатывает триггер '''"отправка заказа в КС2008"''' и заказ уходит в систему КС2008.
*2) Триггер == Исключение печати чеков ==В настройках интеграции есть настройка '''"отмена заказа в КС2008"''', при наступлении события '''"Смена типа доставки у заказа"Не печатать чеки для способа оплаты'''.
:*То есть, когда вы меняете Тип заказа с нашей доставки на доставку, например, в Почту России, то мы отменяем ваш заказ в нашей системе (если он туда передавался и имеет статус '''"Новый"''' или '''"Ожидает синхронизации"''')Данная настройка выводит список способов оплаты из retailCRM.
*3) Триггер '''"изменения заказа в КС2008"'''Вы можете выбрать те способы оплаты, при наступлении события '''"Изменения заказ наличии которых в заказе в RetailCRM"'''систему MeaSoft будет передана нулевая цена по товарам и нулевая сумма по заказу. Это полезно для оплаты заказа безналом по счету юр.лицами и для перемещения товаров между своими складами без оплаты.
:*То есть, когда вы меняете данные заказа - данные меняются в в нашей системе (если он туда передавался и имеет статус '''"Новый"''' или '''"Ожидает синхронизации"''').== Передача наложенного платежа ==
==Триггер “Отмена заказа при смене Типа доставки”==Чтобы настроить корректную передачу наложенного платежа:# Откройте '''Настройки''' > '''Интеграция''' и выберите модуль MEASOFT.# На странице «Настройки интеграции с MeaSoft» перейдите на вкладку '''Доставка''' и на панели справа выберите пункт '''Способы оплаты'''.# Установите флажки для способов оплаты, которые могут использоваться для передачи наложенного платежа, и нажмите '''Сохранить '''.[[Файл:Retail5.png|none|1000 px]]
== Передача статусов из MeaSoft ==
<div style="font-size: 16px; colorЧтобы получать статусы заказа из MeaSoft: #a92424; background-color: Откройте '''Настройки''' > '''Интеграция''' и выберите модуль MEASOFT.#ffdede; border: 1px solid На странице «Настройки интеграции с MeaSoft» перейдите на вкладку '''Доставка''' и на панели справа выберите пункт '''Статусы'''.#ebccd1; paddingНастройте сопоставление статусов MeaSoft и RetailCRM. Для этого в столбце «Статус в RetailCRM» из выпадающего списка выберите соответствие для каждого статуса службы доставки. ''' [[Файл: 3px 10px 10px;">Retail передача статусов.png|none|1000 px]]# Нажмите на кнопку '''Примечание:Сохранить'''.
Запрос отмены предназначен для отмены тех заказов, по которым не было произведено изменений - статуса доставки, статуса корреспонденции, времени доставки - то есть заказов, которые ещё не находятся Статус из MeaSoft в RetailCRM передается 1 раз в работе30 минут.Возможность отмены Поэтому некоторые промежуточные статусы для заказа есть только у курьерских служб с тарифом '''"Премиум"''' могут быть пропущены, и по-умолчанию она выключена, ее нужно отдельно включить: [[Личный кабинет курьерской службы#Дополнительные настройки]]будет показан последний выставленный на момент синхронизации статус заказа.
При отмене == Проверка интеграции ==Чтобы проверить настройки интеграции:# Перейдите в форму создания заказа поле '''"Инфо о доставке"''' получает значение '''"Отменено заказчиком"'''и убедитесь, поле что в списке '''"Дата Тип доставки"''' - текущую дату, а появилось соответствующее значение:[[Файл:Retail2.png|none|1000 px]]# Нажмите '''"Вручил курьер"''' - системную запись '''"ОТМЕНА"Выбрать тариф'''.</div>Тарифы должны передаваться из настроек курьерской службы:[[Файл:rcrm_trig1Retail3.png|190px|thumb|rightnone|рис.1 Типы доставок800 px]]1.Для начала потребуется найти и сопоставить пары:<span style="color: red;>символьный код Типа доставки - API ключ</spanbr>В случае ошибки обратитесь в курьерскую службу для настройки тарифов. Проверить тарифы можно в ЛК MeaSoft в разделе '''Калькулятор'''.
==Печатные формы ==
2.Идем Чтобы в настройки Типов доставокRetailCRM формировать печатные формы, аналогичные формам в Личном кабинете MeaSoft, используйте один из следующих способов: * в сохраненном заказе на панели действий сверху нажмите '''Печать''' и выберите нужную печатную форму «Курьерская служба»;* в списке заказов отметьте заказы флажками, внизу страницы нажмите '''Действия'''Настройки (1) -> Справочники (2) -> Типы доставок (3)''' (рис.1 Типы доставок)Распечатать документы''' и выберите печатную форму «Курьерская служба».
== Настройка триггеров ==
3.Находим нужные нам доставки (или доставку).;ТриггерНа примере мы видим 2 Типа доставок:Хранимая процедура специального типа, автоматически выполняющаяся при наступлении заданного события.
'''Доставка межгород'''Пример: каждый месяц 1-го числа списывается абонентская плата за интернет. Триггер «1-ый день месяца» — это событие, символьный код <span style="color: red;>'''outcity'''</span>при наступлении которого срабатывает процедура «списание абонентской платы».
Триггеры используются для автоматической отправки заказов в курьерскую службу и необязательны для работы модуля. Вы можете отправлять заказы вручную, снимая флажок '''Доставка по городуНе синхронизировать со службой доставки''', символьный код <span style="color: red;>в разделе '''incityДоставка'''</span>на странице заказа перед его сохранением.
<span style="colorДля RetailCRM предусмотрены следующие триггеры: red;>'''Запишем эти значения.'''</span>{* [[Настройка триггеров для RetailCRM#Передача заказа при смене статуса|align=«Отправка заказа в MeaSoft»]] — при наступлении события «Смена статуса заказа на "right" |-valign="topОтправлен в MeaSoft"». При установке статуса, означающего, что заказ отправлен в курьерскую службу, срабатывает триггер, и заказ передается в MeaSoft; |* [[Файл:rcrm_trig2.pngНастройка триггеров для RetailCRM#Отмена заказа при смене типа доставки|170px|thumb|right|рис«Отмена заказа в MeaSoft»]] — при наступлении события «Смена типа доставки у заказа».2 Тип При изменении типа доставки город]]с доставки MeaSoft на доставку, например, Почтой России, заказ в MeaSoft отменяется, если он туда передан и имеет статус «Новый» или «Ожидает синхронизации»; |* [[Файл:rcrm_trig3.pngНастройка триггеров для RetailCRM#Передача изменений заказа|170px|thumb|right|рис.3 Тип доставки межгород«Изменения заказа в MeaSoft»]] |}— при наступлении события «Изменение заказа в RetailCRM». При изменении заказа в RetailCRM новые данные отправляются в MeSoft, если заказ передан и имеет статус «Новый» или «Ожидает синхронизации».
'''Примечание.''' Триггеры отправки и обновления данных заказа не учитывают [[#Передача наложенного платежа|типы оплат для наложенного платежа]]. Поэтому если наложенный платеж для неоплаченного заказа равен нулю (например, при оплате на сайте), триггер все равно передаст сумму к оплате. Для корректной отправки таких заказов не используйте триггеры.
4.Создаем тестовые заказы на каждый Тип доставки. === Передача заказа при смене статуса ===
У нас в примере 2 доставки, поэтому создадим 2 тестовых заказа, <span style="colorЧтобы настроить триггер: red;>обязательно выбирая тариф.</span> Создав 2 # Cоздайте пользовательский статус заказа, <span style="color: red;>обязательно выбирая тариф</span>, мы видим следующее (риспри установке которого заказ будет автоматически передаваться в курьерскую службу.2 и рис.3 Два типа доставок город и межгород)Можно создать любое количество статусов. Таким образом получаем, что: Доставка межгород, символьный код <span style="color: red;>## В RetailCRM выберите '''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> нужно записать. Текстовые наименования Типа доставки нам больше НЕ нужны.  5.Теперь, имея сопоставленные пары <span style="colorОткроется окно «Новый статус»: red;>символьный код Типа доставки - API ключ</span>, мы можем создать сам триггер:{|align="right" |-valign="top" |[[Файл:rcrm_trig4Rcrm trig103.png|190px600 px|thumb|right|рис.4 Настройки Триггеровnone]] |[[Файл:rcrm_trig5## Заполните поля формы. В поле '''Символьный код''' используйте только цифры и латинские буквы без пробелов.png|190px|thumb|right|рисЗапишите созданный символьный код, он понадобится на следующих шагах.5 Кнопка "Добавить"]] |- |[[Файл:rcrm_trig6# Выберите '''Настройки''' > '''Справочники''' > '''Типы доставок'''. Запишите символьные коды доставок, которые будут использоваться в триггере.png|190px|thumb|right|рисВ примере ниже используются коды outcity и incity.6 Поле "Название"]] |[[Файл:rcrm_trig7rcrm_trig104.png|190px600px|thumb|right|рис.7 Поле "Условие применения триггера"none]] |} Идем в настройки Триггеров: # Откройте '''Настройки (1) -> Коммуникации (2) -''' > '''Триггеры (3)''' (риси нажмите на кнопку '''+ Триггер'''. Откроется окно «Новый триггер».4 Настройки Триггеров) #:Заполните поля: 6.Жмем #: '''“Добавить”Название''' (рис.5 Кнопка "Добавить")Название триггера, например «Отправка заказа в MeaSoft».#: В появившемся окне нужно заполнить разделе '''Событие''' нажмите на кнопку '''+ Событие''', выберите значение '''Изменение заказа''' и настроить несколько полей: 1.Поле нажмите на кнопку '''"Название"Добавить''' (рис.6 Поле "Название") 2.Поле #: В разделе '''"Условие применения триггера"''' (рис.7 Поле "Условие применения триггера")установите переключатель '''Редактор''' и добавьте следующий скриптВбиваем скрипт#:<source lang="javascript">changeSetorder.getStatus().hasChangedFieldgetCode() in ["delivery_typeSentMeaSoft") ] and changeSetorder.getOldValuegetDeliveryType("delivery_type").getCode() in ["outcity","incity"]and changeSet.hasChangedField("status")
</source>
[[Файл#:rcrm_trig8где #* <code>SentMeaSoft</code> — символьный код статуса заказа.png|190px|thumb|right|рис.8 выбор меню Если нужно указать 2 статуса, напишите их через запятую в виде: <code>["SentMeaSoft","Добавить действиеSentMeaSoft_2"]</code> вместо <code>["SentMeaSoft"]</code>;Где: #*значения '''"<code>outcity"'''</code>,'''"<code>incity"''' - это <span style="color: red;/code>символьные коды Типа типа доставки.</span>:*Если у вас будет нужно указать 1 Тип тип доставки, то нужно вписать напишите его в таком виде: '''<code>["incity”incity"]''' </code> вместо '''<code>["outcity","incity"]</code>.# В разделе '''Действие'' 3.Далее нужно нажать ' нажмите на кнопку '''Добавить действие+ Действие''' (1) -> , выберите '''Выполнить HTTP-запрос''' (2) (рис.8 выбор меню "Добавить действие"), чтобы появились Появятся дополнительные поля настроек (рис.9 Дополнительные поля настроек).Заполните их следующим образом:  4.В поле #* '''"Адрес"''' прописываем адрес: https://home.courierexe.ru/reintegrations/requests/canceltrigger/retailcrm; [[Файл:rcrm_trig9.png|190px|thumb|right|рис.9 Дополнительные поля настроек]]  5.В списке #* '''"HTTP метод"''' выбираем '''"POST"'''.;  6.В списке #* '''"Передавать параметры"''' выбираем '''"В теле запроса (urlencode)"''';Получим пример заполнения, как # Нажмите на (рис.9 Дополнительные поля настроек).  7.Жмите кнопку '''"Добавить"''' параметр 2 раза.  8.Теперь снова жмите кнопку '''"Добавить параметр"''' столько раз, сколько у вас было сопоставленных пар <span style="color: red;>символьный код Типа доставки - API ключ.</span>[[Файл:rcrm_trig10.png|200px|thumb|right|рис.10 Добавление параметров]]  В нашем случае было 2 пары, поэтому мы опять нажмем 2 3 раза. Итого у нас будет 4 нажатия подряд и мы увидим следующее (рис.10 Добавление параметров). 9.Теперь нам нужно эти заполните появившиеся поля заполнить следующими данными:[[Файл:rcrm_trig11.png|200px|thumb|right|рис.11 Заполнили параметры данными]]::{| class="wikitable" cellpadding="10" cellspacing="0" border="2"|'''!Параметр'''|'''!Значение'''|-|'''id'''|<source lang="javascript">{{ order.getNumber() }}</source>|-|'''code'''|<source lang="javascript">{{ changeSet.getOldValue("delivery_type").getCode() }}</source>
|-
|<span style="color: red;>символьный код Типа доставки</span> из 1-ой пары сопоставленийid||<span style="color: red;nowiki>API ключ{{ order.getNumber() }}</spannowiki> из 1-ой пары сопоставлений
|-
|<span style="color: red;>символьный код Типа доставки</span> из 2-ой пары сопоставленийsum||<span style="color: red;nowiki>API ключ{{ order.getIntegrationDeliveryData().getDeclaredSum() }}</spannowiki> из 2-ой пары сопоставлений
|-
|key||<nowiki>{{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}</nowiki>
|}
::'''Примечание'''. Переносы строк не допускаются.
:6. В панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер.
:[[Файл:Новый триггер.png|600 px|none]]
По итогу мы получим следующее (смТриггер настроен. рис.11 Заполнили параметры данными). Обратите внимание, что <span style="color: red;>ВО ВСЕХ СЛУЧАЯХ ДАННЫЕ ЗАПИСАНЫ В ОДНОЙ СТРОКЕ, ПЕРЕНОСОВ СТРОК БЫТЬ НЕ ДОЛЖНО!</span>
=== Отмена заказа при смене статуса ===
10Чтобы настроить триггер:# 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. Настройка триггера завершенаВ панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер.
==Триггер “Передача заказа при смене Статуса заказа”==:[[Файл:Новый триггер.png|600 px|none]]
{|align="right" |-valign="top" |[[Файл:rcrm_trig101Триггер настроен.png|200px|thumb|right|рис.1 Настройки]] |[[Файл:rcrm_trig102.png|200px|thumb|right|рис.2 Кнопка "Добавить"]] |- |[[Файл: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.Для начала нужно создать '''Статус === Отмена заказа''' (или статусы, если вам нужно передавать заказы при двух или более статусах)Заходим в настройки (рис.1). смене типа доставки ===
Запрос отмены предназначен для заказов, которые еще не приняты в работу: не было изменений статуса доставки, статуса корреспонденции, времени доставки.
2Возможность отмены заказа есть только у курьерских служб с тарифом «Премиум» или «Максимум».Кнопка По умолчанию она выключена, ее нужно включить в [[Личный кабинет курьерской службы#Параметры|личном кабинете курьерской службы]]: '''"Добавить"Управление ЛК''' > '''Параметры''' > '''Расширенные''' > '''Разрешить отмену и изменение заказов''' (рис.2).
3.Указываем поля При отмене заказа поле '''"Название"Инфо о доставке''' получает значение '''Отменено заказчиком''', поле '''"Символьный код"Дата доставки'''заполняется текущей датой, а в поле '''Вручил курьер''' появляется системная запись '''"Группа"Отмена'''.
<span style="colorЧтобы настроить триггер: red;# В RetailCRM выберите '''Настройки''' >'''"Символьный код"Справочники''' необходимо записать, так как он понадобится в дальнейшем!</spanСимвольный код желательно вбивать латинскими буквами и цифрами, без пробелов, например '''"ks2008sendТипы доставок'''" . [[Файл:Rcrm_trig104.png|600 px|none]]#: Запишите символьный код типа доставки (рис.3доставок), заказы которой отправляются в MeaSoft.  4.Переходим # Перейдите в настройки Типов доставок: раздел '''"Настройки"Продажи''' (1) -> и нажмите на кнопку '''"Справочники"Новый заказ''' (2) -> . В разделе '''"Типы доставок"Доставка''' (3) (рис. 4).  5.Находим нужные нам выберите тип доставки (или доставку), заказы которой отправляются в MeaSoft, укажите город, вес и тариф.На примере выше мы видим 2 Типа доставок: # В разделе '''"Доставка межгород"''', символьный код <span style="color: red;>появится поле '''outcityAPI ключ службы доставки'''</span>. Запишите его значение. В результате у вас есть пара «символьный код типа доставки» — «API ключ службы доставки».# Повторите действия пп. 2-3 для каждой доставки, заказы по которой отправляются в MeaSoft.# Откройте '''"Доставка по городу"Настройки''', символьный код <span style="color: red;>'''incityТриггеры''' и нажмите на кнопку '''+ Триггер'''</span>. Откроется окно «Новый триггер».#: Заполните поля:<span style="color: red;>#* '''Запишем эти значения.Название'''</span>   6.ТеперьНазвание триггера, имея <span style="color: red;>символьный код Статуса например «Отмена заказа</span> (или статусов, если вам нужно передавать заказы при двух и более статусах) и <span style="color: redв MeaSoft»;>символьный код Типа доставки</span> (или типов), мы можем создать сам триггер: Переходим в настройки Триггеров: #* В разделе '''"Настройки"Событие''' (1) -> нажмите на кнопку '''"Коммуникации"+ Событие''' (2) -> , выберите значение '''"Триггеры"Изменение заказа''' (3) (рис.7).  7.Кнопка и нажмите на кнопку '''"Добавить"''' (рис.8). #* В появившемся окне нужно заполнить и настроить несколько полей: 1.Поле разделе '''"Название"Условие''' (рис.9). 2.В поле установите переключатель '''"Условие применения триггера"Редактор''' добавляем и добавьте следующий скрипт (рис.10):#:<source lang="javascript">orderchangeSet.getStatushasChangedField("delivery_type")and changeSet.getCodegetOldValue() in ["ks2008senddelivery_type"] 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"'''''' - это где <code>outcity</code>, <span style="color: red;code>символьный код Статуса заказаincity</spancode>— символьные коды типа доставки.:*Если у вас будет 2 статусанужно указать один тип доставки, то нужно вписать их через запятую напишите его в таком виде: '''<code>["ks2008send_1incity",”ks2008send_2”]''' </code> вместо '''<code>["ks2008send"]''' *'''"outcity"''','''"incity"''' - это <span style="color: red;>символьные коды Типа доставки]</spancode>.:*Если у вас будет 1 Тип доставки, то нужно вписать в таком виде # В разделе '''["incity”]Действие''' вместо нажмите на кнопку '''["outcity","incity"]+ Действие'''  3.Далее нужно нажать '''Добавить действие''' (1) -> , выберите '''Выполнить HTTP-запрос''' (2) чтобы появились . Появятся дополнительные поля настроек (рис.11).Заполните их следующим образом: 4.В поле #* '''"Адрес"''' прописываем: https://home.courierexe.ru/reintegrations/requests/triggercancel/retailcrm; 5.В списке #* '''"HTTP метод"''' выбираем '''"POST"'''.; 6.В списке #* '''"Передавать параметры"''' выбираем '''"В теле запроса (urlencode)"'''.Получим следующие настройки полей (рис. 12).;7.Нажимаем # Нажмите на кнопку '''"Добавить параметр"''' 3 2 раза подряди потом еще столько раз, сколько у вас сопоставленных пар «символьный код типа доставки» - «API ключ службы доставки»8.Теперь нам нужно эти Заполните появившиеся поля заполнить следующими данными: :::{| class="wikitable" cellpadding="10" cellspacing="0" border="2"|'''!Параметр'''|'''!Значение'''
|-
|'''id'''||<source lang="javascript"nowiki>{{ order.getNumber() }}</sourcenowiki>
|-
|'''sum'''code||<source lang="javascript"nowiki>{{ orderchangeSet.getIntegrationDeliveryDatagetOldValue("delivery_type").getDeclaredSumgetCode() }}</sourcenowiki>
|-
|'''key'''Cимвольный код типа доставки 1|<source lang="javascript">{{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}</source>|API-ключ службы доставки 1
|-
|Cимвольный код типа доставки 2||API-ключ службы доставки 2
|}
::'''Примечание'''. Переносы строк не допускаются.
:8. В панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер.
:[[Файл:Новый триггер2.png|600 px|none]]
Триггер настроен.
=== Передача изменений заказа ===
Изменять заказ могут только курьерские службы с тарифом «Премиум» или «Максимум». По итогу мы получим следующее заполнение полей (рис.14): Обратите вниманиеумолчанию опция выключена, что <span style="colorее нужно включить в [[Личный кабинет курьерской службы#Параметры|личном кабинете курьерской службы]]: red;'''Управление ЛК''' > '''Параметры''' >ВО ВСЕХ СЛУЧАЯХ ДАННЫЕ ЗАПИСАНЫ В ОДНОЙ СТРОКЕ, ПЕРЕНОСОВ СТРОК БЫТЬ НЕ ДОЛЖНО!</span'''Расширенные''' 10.Последнее действие - нажатие кнопки '''"Сохранить"Разрешить отмену и изменение заказов'''. Настройка триггера завершена. ==Триггер “Передача изменений заказа”== {|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.Переходим в настройки Типов доставокЧтобы настроить триггер: # В RetailCRM выберите '''"Настройки"''' (1) -> '''"Справочники"''' (2) -> '''"Типы доставок"''' (3) (рис. 4)[[Файл:Rcrm_trig104.png|600 px|none]]  2.Находим нужные нам #: Запишите символьный код доставки (или доставкудоставок), заказы которой отправляются в MeaSoft.На примере выше мы видим 2 Типа доставок: # Откройте '''"Доставка межгород"''', символьный код <span style="color: red;>Настройки'''outcity'''</span> '''"Доставка по городу"Триггеры''', символьный код <span style="color: red;>и нажмите на кнопку '''incity+ Триггер'''</span>. Откроется окно «Новый триггер».#: Заполните поля:<span style="color: red;>#* '''Запишем эти значения.Название'''</span>  3.Теперь переходим Название триггера, например «Передача изменений заказа в настройки Триггеров: MeaSoft»;#* В разделе '''"Настройки"Событие''' (1) -> нажмите на кнопку '''"Коммуникации"+ Событие''' (2) -> , выберите значение '''"Триггеры"Изменение заказа''' (3) (рис.7).  7.Кнопка и нажмите на кнопку '''"Добавить"''' (рис.8). #* В появившемся окне нужно заполнить и настроить несколько полей: 1.Поле разделе '''"Название"Условие''' (рис.9). 2.В поле установите переключатель '''"Условие применения триггера"Редактор''' добавляем и добавьте следующий скрипт (рис.10):#:<source lang="javascript">
changeSet.isUpdate() and
(
)
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 раза подряд и заполните появившиеся поля следующими данными::::{|alignclass="rightwikitable" !Параметр!Значение|-valign="top" |[[Файл:rcrm_trig111id||<nowiki>{{ order.pnggetNumber() }}</nowiki>|200px-|thumbsum|right|рис<nowiki>{{ order.getIntegrationDeliveryData().11 выбор меню "Добавить действие"]]getDeclaredSum() }}</nowiki> |[[Файл:rcrm_trig112.png-|200pxkey|thumb|right|рис<nowiki>{{ order.getIntegrationDeliveryData().getExtraData().12 Дополнительные поля настроек]]deliveryApiKey }}</nowiki> |} Где: *:'''"outcity"Примечание''','''"incity"''' - это <span style="color: red;>символьные коды Типа доставки</span>. Переносы строк не допускаются.:*Если у вас будет 1 Тип доставки, то нужно вписать в таком виде 5. В панели '''["incity”]Действия''' вместо нажмите '''["outcity","incity"]Сохранить''', затем сохраните триггер.:[[Файл:Новый триггер3.png|600 px|none]]Триггер настроен.
== Передача габаритов ==3Габариты из retailCRM передаются стандартными средствами retailCRM.Далее нужно нажать '''Добавить действие''' (1) -> '''Выполнить HTTP-запрос''' (2) чтобы появились дополнительные поля настроек (рис.11). 4.В поле '''"Адрес"''' прописываем: https://home.courierexe.ru/reintegrations/requests/update/retailcrm
5.В списке '''Они берутся, либо из раздела "HTTP методГабариты и вес"''' выбираем ''', либо из раздела "POSTУпаковки"''', где вы можете распределить товары между упаковками, указав габариты и вес каждой упаковки.
6.В списке '''"Передавать параметры"''' выбираем '''"В теле запроса (urlencode)"'''.Получим следующие настройки полей (рис. 12)[[Файл:Gab.png|none|800 px]]
7Дополнительно можете изучить информацию здесь https://docs.Нажимаем кнопку '''retailcrm.ru/Users/OperatingActivity/Orders/OrderPage/WorkOrderPage/WorkDeliveryOrder раздел "Добавить параметрОформление упаковок"''' 3 раза подряд.
8== Передача признака необходимости возврата ==1) В retailCRM создайте справочник со значениями "no", "yes", "only".Теперь нам нужно эти поля заполнить следующими данными:
{[[Файл:Return.png| class="wikitable" cellpadding="10" cellspacing="0" border="2"none|'''Параметр'''800 px]]|'''Значение'''|-|'''id'''|<source lang=2) В retailCRM создайте пользовательское поле с типом "javascriptСправочник">{{ order.getNumber() }}</source>Справочником выберите справочник из 1ого пункта.|-[[Файл:Return2.png|'''sum'''none|<source lang="javascript">{{ order.getIntegrationDeliveryData().getDeclaredSum() }}</source>800 px]]|-|'''key'''|<source lang="javascript">{{ order.getIntegrationDeliveryData().getExtraData(3)В заказе выбирайте нужный элемент справочника и он будет уходить вместе с заказом.deliveryApiKey }}</source>|-|}
По итогу мы получим следующее заполнение полей (рис4) В настройках интеграции в ЛК вам нужно в опции "Признак необходимости возврата" выбрать созданное вами поле.14):
Обратите внимание, что <span style="color: red;>ВО ВСЕХ СЛУЧАЯХ ДАННЫЕ ЗАПИСАНЫ В ОДНОЙ СТРОКЕ, ПЕРЕНОСОВ СТРОК БЫТЬ НЕ ДОЛЖНО!</span>= Проверка работоспособности интеграции ==
10# Убедитесь, что выполнены все шаги [[RetailCRM#Настройка интеграции|инструкции по настройке интеграции]].# Если используются триггеры, убедитесь, что они настроены согласно [[RetailCRM#Настройка триггеров|инструкции]].# Создайте заказ, заполните требуемые данные.Последнее действие - нажатие кнопки # Нажмите на кнопку '''"Сохранить"'''внизу страницы, флажок '''Не отправлять данные в службу доставки''' должен быть снят. Настройка триггера завершена<br>Заказ должен отправиться в курьерскую службу. Если заказ отправлен без ошибок и отображается в ЛК, значит интеграция настроена.# Если возникает ошибка, ее текст отображается наверху страницы.:: Если это ошибка заполнения формы, исправьте внесенные данные и попробуйте отправить заказ снова. Пример ошибки: «Ошибка сервиса доставки "MeaSoft": field [receiver phone] has no valid phone number».:: Если это ошибка ответа курьерской службы, сообщите об этом разработчику. Пример ошибки: «Служба доставки прислала ответ в неверном формате».Текст ошибки можно увидеть через [[Личный кабинет#Отладка|отладку]] в личном кабинете. Чтобы найти свой заказ в запросах, нажмите CTRL+F и введите в строку поиска номер заказа или ориентируйтесь на время создания заказа.
271
правка

Навигация