Изменения

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

RetailCRM

17 875 байт добавлено, 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''', предусмотрены 2 триггера:#Настройка триггеров|триггеры]].
*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.Создаем тестовые заказы на каждый Тип доставки. === Передача заказа при смене статуса ===
У нас Чтобы настроить триггер:# Cоздайте пользовательский статус заказа, при установке которого заказ будет автоматически передаваться в курьерскую службу. Можно создать любое количество статусов.## В RetailCRM выберите '''Настройки''' > '''Статусы''' и нажмите на кнопку '''Добавить'''. Откроется окно «Новый статус»: [[Файл:Rcrm trig103.png|600 px|none]]## Заполните поля формы. В поле '''Символьный код''' используйте только цифры и латинские буквы без пробелов. Запишите созданный символьный код, он понадобится на следующих шагах.# Выберите '''Настройки''' > '''Справочники''' > '''Типы доставок'''. Запишите символьные коды доставок, которые будут использоваться в триггере. В примере 2 доставкиниже используются коды outcity и incity.[[Файл:rcrm_trig104.png|600px|none]]# Откройте '''Настройки''' > '''Триггеры''' и нажмите на кнопку '''+ Триггер'''. Откроется окно «Новый триггер».#:Заполните поля:#: '''Название'''. Название триггера, поэтому создадим 2 тестовых например «Отправка заказав MeaSoft».#: В разделе '''Событие''' нажмите на кнопку '''+ Событие''', выберите значение '''Изменение заказа''' и нажмите на кнопку '''Добавить'''.#: В разделе '''Условие''' установите переключатель '''Редактор''' и добавьте следующий скрипт:#:<span stylesource lang="colorjavascript">order.getStatus().getCode() in ["SentMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"] and changeSet.hasChangedField("status")</source>#:где #* <code>SentMeaSoft</code> — символьный код статуса заказа. Если нужно указать 2 статуса, напишите их через запятую в виде: red<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() }}</spannowiki>|-|key||<nowiki>{{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}</nowiki>|}::'''Примечание'''. Переносы строк не допускаются.:6. В панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер.
Создав 2 заказа, <span style="color: red;>обязательно выбирая тариф</span>, мы видим следующее (рис.2 и рис.3 Два типа доставок город и межгород)[[Файл:Новый триггер. Таким образом получаем, что:png|600 px|none]]
Доставка межгород, символьный код <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>= Отмена заказа при смене статуса ===
Пары Чтобы настроить триггер:# Cоздайте пользовательский статус заказа, при установке которого заказ будет автоматически отменяться. Можно создать любое количество статусов. ## В RetailCRM выберите '''Настройки''' > '''Статусы''' и нажмите на кнопку '''Добавить'''. Откроется окно «Новый статус»: [[Файл:Rcrm trig103.png|600 px|none]]## Заполните поля формы. В поле '''Символьный код''' используйте только цифры и латинские буквы без пробелов. Запишите созданный символьный код , он понадобится на следующих шагах.# Выберите '''Настройки''' > '''Справочники''' > '''Типы доставок'''. Запишите символьные коды доставок, которые будут использоваться в триггере. В примере ниже используются коды outcity и incity.[[Файл:rcrm_trig104.png|600px|none]]# Откройте '''Настройки''' > '''Триггеры''' и нажмите на кнопку '''+ Триггер'''. Откроется окно «Новый триггер».#:Заполните поля:#: '''Название'''. Название триггера, например «Отмена заказа в MeaSoft».#: В разделе '''Событие''' нажмите на кнопку '''+ Событие''', выберите значение '''Изменение заказа''' и нажмите на кнопку '''Добавить'''.#: В разделе '''Условие''' установите переключатель '''Редактор''' и добавьте следующий скрипт:#:<span stylesource lang="colorjavascript">order.getStatus().getCode() in ["CancelMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"] and changeSet.hasChangedField("status")</source>#: redгде #* <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- API ключзапрос'''. Появятся дополнительные поля настроек. Заполните их следующим образом:#* '''Адрес''' — 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 }}</spannowiki> нужно записать|}::'''Примечание'''. Переносы строк не допускаются.:6. Текстовые наименования Типа доставки нам больше НЕ нужныВ панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер.
:[[Файл:Новый триггер.png|600 px|none]]
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|thumb|right|рис.6 Поле "Название"]] |[[Файл:rcrm_trig7.png|190px|thumb|right|рис.7 Поле "Условие применения триггера"]] |}
Идем в настройки Триггеров: '''Настройки (1) -> Коммуникации (2) -> Триггеры (3)''' (рис.4 Настройки Триггеров) === Отмена заказа при смене типа доставки ===
6Запрос отмены предназначен для заказов, которые еще не приняты в работу: не было изменений статуса доставки, статуса корреспонденции, времени доставки.Жмем '''“Добавить”''' (рис.5 Кнопка "Добавить")
В появившемся окне Возможность отмены заказа есть только у курьерских служб с тарифом «Премиум» или «Максимум». По умолчанию она выключена, ее нужно заполнить включить в [[Личный кабинет курьерской службы#Параметры|личном кабинете курьерской службы]]: '''Управление ЛК''' > '''Параметры''' > '''Расширенные''' > '''Разрешить отмену и настроить несколько полей:изменение заказов'''.
1.Поле При отмене заказа поле '''Инфо о доставке''' получает значение '''Отменено заказчиком''', поле '''Дата доставки''' заполняется текущей датой, а в поле '''"Название"Вручил курьер''' (рис.6 Поле "Название") 2.Поле появляется системная запись '''"Условие применения триггера"Отмена''' (рис.7 Поле "Условие применения триггера"):
Вбиваем Чтобы настроить триггер:# В RetailCRM выберите '''Настройки''' > '''Справочники''' > '''Типы доставок'''. [[Файл:Rcrm_trig104.png|600 px|none]]#: Запишите символьный код типа доставки (доставок), заказы которой отправляются в MeaSoft.# Перейдите в раздел '''Продажи''' и нажмите на кнопку '''Новый заказ'''. В разделе '''Доставка''' выберите тип доставки, заказы которой отправляются в MeaSoft, укажите город, вес и тариф.# В разделе '''Доставка''' появится поле '''API ключ службы доставки'''. Запишите его значение. В результате у вас есть пара «символьный код типа доставки» — «API ключ службы доставки».# Повторите действия пп. 2-3 для каждой доставки, заказы по которой отправляются в MeaSoft.# Откройте '''Настройки''' > '''Триггеры''' и нажмите на кнопку '''+ Триггер'''. Откроется окно «Новый триггер».#: Заполните поля:#* '''Название'''. Название триггера, например «Отмена заказа в MeaSoft»;#* В разделе '''Событие''' нажмите на кнопку '''+ Событие''', выберите значение '''Изменение заказа''' и нажмите на кнопку '''Добавить'''.#* В разделе '''Условие''' установите переключатель '''Редактор''' и добавьте следующий скрипт:#:<source lang="javascript">
changeSet.hasChangedField("delivery_type") and changeSet.getOldValue("delivery_type").getCode() in ["outcity","incity"]
</source>
[[Файл#:rcrm_trig8.png|190px|thumb|right|рис.8 выбор меню "Добавить действие"]]Где: *значения '''"где <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/retailreintegrations/requests/cancel/retailcrm; [[Файл:rcrm_trig9.png|190px|thumb|right|рис.9 Дополнительные поля настроек]]  5.В списке #* '''"HTTP метод"''' выбираем '''"POST"'''.;  6.В списке #* '''"Передавать параметры"''' выбираем '''"В теле запроса (urlencode)"''';Получим пример заполнения, как # Нажмите на (рис.9 Дополнительные поля настроек).  7.Жмите кнопку '''"Добавить"параметр''' параметр 2 раза.  8.Теперь снова жмите кнопку '''"Добавить параметр"''' подряд и потом еще столько раз, сколько у вас было сопоставленных пар <span style="color: red;>символьный «символьный код Типа доставки типа доставки» - API «API ключслужбы доставки».</span>[[Файл:rcrm_trig10.png|200px|thumb|right|рис.10 Добавление параметров]]  В нашем случае было 2 пары, поэтому мы опять нажмем 2 раза. Итого у нас будет 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'''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.Последнее действие - нажатие кнопки '''"Сохранить"'''. Настройка триггера завершена.  <div style="font-size: 24px; color: #a92424; background-color: #ffdede; border: 1px solid #ebccd1; padding: 3px 10px 10px;">Если у вас уже есть интеграция, то сначала напишите в службу поддержки, для активации нового режима для вашего аккаунта.</div> ==Триггер “Передача заказа при смене Статуса заказа”== {|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;>'''"Символьный код"''' необходимо записать, так как он понадобится в дальнейшем!</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Габариты из retailCRM передаются стандартными средствами retailCRM.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) (рисGab.7). png|none|800 px]]
9Дополнительно можете изучить информацию здесь https://docs.Кнопка '''retailcrm.ru/Users/OperatingActivity/Orders/OrderPage/WorkOrderPage/WorkDeliveryOrder раздел "ДобавитьОформление упаковок"''' (рис.8). В появившемся окне нужно заполнить и настроить несколько полей:
== Передача признака необходимости возврата ==1.Поле ''') В retailCRM создайте справочник со значениями "no", "yes"Название, "only"''' (рис.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_trig112Return.png|200px|thumb|right|рис.12 Дополнительные поля настроек]] none|} Где: *''''''"ks2008send"'''''' - это <span style="color: red;>символьный код Статуса заказа</span>.:*Если у вас будет 2 статуса, то нужно вписать их через запятую в таком виде: '''["ks2008send_1",”ks2008send_2”]''' вместо '''["ks2008send"]''' *'''"outcity"''','''"incity"''' - это <span style="color: red;>символьные коды Типа доставки</span>.:*Если у вас будет 1 Тип доставки, то нужно вписать в таком виде '''["incity”800 px]''' вместо '''["outcity","incity"]'''
3.Далее нужно нажать '''Добавить действие''' (1) -> '''Выполнить HTTP-запрос''' (2) чтобы появились дополнительные поля настроек (рис.11).
4.В поле '''"Адрес"''' прописываем: https://home.courierexe.ru/retail/trigger
5.2) В списке '''retailCRM создайте пользовательское поле с типом "HTTP методСправочник"''' выбираем '''"POST"'''. Справочником выберите справочник из 1ого пункта.
6.В списке '''"Передавать параметры"''' выбираем '''"В теле запроса (urlencode)"'''.Получим следующие настройки полей (рис. 12)[[Файл:Return2.png|none|800 px]]
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 Заполнили параметры данными]] |} 3) В нашем случае было 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
правка

Навигация