310
правок
Изменения
→Передача признака необходимости возврата
== Настройка интеграции ==
# В RetailСRM cоздайте API-ключ. Для этого откройте '''АдминистрированиеНастройки''' > '''Интеграция''' > '''Ключи доступа к API''' и нажмите на кнопку '''Добавить'''. Откроется страница «Новый ключ API». На этой странице:
## В поле '''Комментарий''' введите краткое описание интеграции, например «По городу».
## В поле '''Тип доступа''' выберите '''Доступ ко всем магазинам'''.
#: API-ключей может быть несколько, и для каждого API-ключа необходимо выполнить эти настройки. Подробнее об управлении API-ключами см. [https://help.retailcrm.ru/Users/ApiKeys документацию RetailCRM].
# Настройте интеграцию в [[Личный кабинет клиента#Интеграция|личном кабинете клиента MeaSoft]]:
## Выберите пункт основного меню '''АвтоматизацияНастройки''' > '''Интеграция''', перейдите на вкладку '''Обратная интеграцияНастройки интеграции''' и на странице «Список всех обратных интеграций» в списке «Все интеграции» в строке RetailCRM «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];##* '''Передавать телефон получателя из MeaSoftпользовательского поля''' — укажите символьный код пользовательского поля в заказе RetailCRM, в которое вводится телефон фактического получателя. Чтобы создать поле или увидеть символьный код, в RetailCRM выберите '''Настройки''' > '''Получать статусы доставкиСистемные''' укажите > '''ПолучатьПользовательские поля'''. Настройки передачи статусов для RetailCRM Подробнее о настройке пользовательских полей см. в разделе [[https://help.retailcrm.ru/Users/CustomFields документацию RetailCRM].##Передача статусов из * '''Обновлять заказ при изменении''' — определяет, будет ли заказ в MeaSoft|«Передача статусов из MeaSoft»]]обновлен при изменении данных на стороне RetailCRM. Возможные значения: '''Да''', '''Нет'''.
#: По завершении настройки нажмите '''Сохранить'''.
# Настройте интеграцию в RetailCRM:
## Откройте '''АдминистрированиеНастройки''' > '''Справочники''' и на вкладке > '''Типы доставок''' и на странице «Типы доставок» нажмите на кнопку '''Добавить'''. Откроется окно «Новая доставка»:[[Файл:Retail1.png|none|700 1000 px|]]## В этом окне заполните обязательные поля и в выпадающем списке '''Интегрировать с''' выберите значение '''"Курьерская служба 2008"MeaSoft'''.
## Нажмите '''Сохранить'''.
Чтобы отправлять заказы в курьерскую службу по статусам и отменять при изменении типа доставки, используйте [[RetailCRM#Настройка триггеров|триггеры]].
== Передача типа платежа в ЛК из retailCRM ==
Если символьный код передаваемого платежа содержит вхождение слова "card", то платеж передается как Карта, иначе Наличные.
Если заказ будет оплачен, то передается NO.
== Исключение печати чеков ==
В настройках интеграции есть настройка '''Не печатать чеки для способа оплаты'''.
Данная настройка выводит список способов оплаты из retailCRM.
Вы можете выбрать те способы оплаты, при наличии которых в заказе в систему MeaSoft будет передана нулевая цена по товарам и нулевая сумма по заказу. Это полезно для оплаты заказа безналом по счету юр.лицами и для перемещения товаров между своими складами без оплаты.
== Передача наложенного платежа ==
Чтобы настроить корректную передачу наложенного платежа:
# Откройте '''АдминистрированиеНастройки''' > '''Интеграция''' и выберите модуль MEASOFT.# На странице «Настройки интеграции с Курьерская служба 2008» MeaSoft» перейдите на вкладку '''Доставка''' и на панели справа выберите пункт '''Способы оплаты'''.# Установите флажки для способов оплаты, которые могут использоваться для передачи наложенного платежа, и нажмите '''Сохранить '''.[[Файл:Retail5.png|none|800 1000 px]]
== Передача статусов из MeaSoft ==
Чтобы получать статусы заказа из MeaSoft:
# Откройте '''АдминистрированиеНастройки''' > '''Интеграция''' и выберите модуль MEASOFT.# На странице «Настройки интеграции с Курьерская служба 2008» MeaSoft» перейдите на вкладку '''Доставка''' и на панели справа выберите пункт '''Статусы'''.# Настройте сопоставление статусов MeaSoft и RetailCRM. Для этого в столбце «Статус в RetailCRM» из выпадающего списка выберите соответствие для каждого статуса службы доставки. ''' [[Файл:Retail передача статусов.png|none|800 1000 px]]
# Нажмите на кнопку '''Сохранить'''.
== Проверка интеграции ==
Чтобы проверить настройки интеграции:
# Перейдите в форму создания заказа и убедитесь, что в списке '''Способ Тип доставки''' появилось соответствующее значение:[[Файл:Retail2.png|none|600 1000 px]]# Нажмите '''Выбрать тариф'''. Тарифы должны передаваться из настроек курьерской службы:[[Файл:Retail3.png|none|600 800 px]]<br>В случае ошибки обратитесь в курьерскую службу для настройки тарифов. Проверить тарифы можно в ЛК MeaSoft в разделе '''Калькулятор'''.
==Печатные формы ==
Пример: каждый месяц 1-го числа списывается абонентская плата за интернет. Триггер «1-ый день месяца» — это событие, при наступлении которого срабатывает процедура «списание абонентской платы».
Триггеры используются для автоматической отправки заказов в курьерскую службу и необязательны для работы модуля. Вы можете отправлять заказы вручную, снимая флажок '''Не синхронизировать со службой доставки''' в разделе '''Доставка''' на странице заказа перед его сохранением.
Для RetailCRM предусмотрены следующие триггеры:
* [[Настройка триггеров для RetailCRM#Передача изменений заказа|«Изменения заказа в MeaSoft»]] — при наступлении события «Изменение заказа в RetailCRM». При изменении заказа в RetailCRM новые данные отправляются в MeSoft, если заказ передан и имеет статус «Новый» или «Ожидает синхронизации».
'''Примечание.''' Триггеры отправки и обновления данных заказа не учитывают [[#Передача наложенного платежа|типы оплат для наложенного платежа ('''Главная''' > '''Интеграция''' > '''Маркетплейс''' > '''Доставка''')]]. Поэтому если наложенный платеж для неоплаченного заказа равен нулю (например, при оплате на сайте), триггер все равно передаст сумму к оплате.Для корректной отправки таких заказов не используйте триггеры.
=== Передача заказа при смене статуса ===
Чтобы настроить триггер:
# 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''';
|}
::'''Примечание'''. Переносы строк не допускаются.
:6. В панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер. :[[Файл:Новый триггер.png|600 px|none]] Триггер настроен. === Отмена заказа при смене статуса === Чтобы настроить триггер:# 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]]
Запрос отмены предназначен для заказов, которые еще не приняты в работу: не было изменений статуса доставки, статуса корреспонденции, времени доставки.
Возможность отмены заказа есть только у курьерских служб с тарифом '''Премиум'''«Премиум» или «Максимум». По умолчанию она выключена, ее нужно включить в [[Личный кабинет курьерской службы#Дополнительные настройкиПараметры|личном кабинете курьерской службы]]: '''Управление ЛК''' > '''Параметры''' > '''Расширенные''' > '''Разрешить отмену и изменение заказов'''.
При отмене заказа поле '''Инфо о доставке''' получает значение '''Отменено заказчиком''', поле '''Дата доставки''' заполняется текущей датой, а в поле '''Вручил курьер''' появляется системная запись '''Отмена'''.
Чтобы настроить триггер:
# В 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>
#:где <code>outcity</code>, <code>incity</code> — символьные коды типа доставки. Если нужно указать один тип доставки, напишите его в виде <code>["incity"]</code> вместо <code>["outcity","incity"]</code>.
# Нажмите В разделе '''Добавить действиеДействие''' > нажмите на кнопку '''+ Действие''', выберите '''Выполнить HTTP-запрос'''. Появятся дополнительные поля настроек. Заполните их следующим образом:
#* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/cancel/retailcrm;
#* '''HTTP метод''' — '''POST''';
|id||<nowiki>{{ order.getNumber() }}</nowiki>
|-
|sumcode||<nowiki>{{ orderchangeSet.getIntegrationDeliveryDatagetOldValue("delivery_type").getDeclaredSumgetCode() }}</nowiki>
|-
|Cимвольный код типа доставки 1||API-ключ службы доставки 1
|}
::'''Примечание'''. Переносы строк не допускаются.
:8. Нажмите В панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер.
:[[Файл:Новый триггер2.png|600 px|none]]
Триггер настроен.
=== Передача изменений заказа ===
Изменять заказ могут только курьерские службы с тарифом '''Премиум'''«Премиум» или «Максимум». По умолчанию опция выключена, ее нужно включить в [[Личный кабинет курьерской службы#Дополнительные настройкиПараметры|личном кабинете курьерской службы]]: '''Управление ЛК''' > '''Параметры''' > '''Расширенные''' > '''Разрешить отмену и изменение заказов'''.
Чтобы настроить триггер:
# В RetailCRM выберите '''АдминистрированиеНастройки''' > '''Справочники''' > '''Типы доставок'''. [[Файл:Rcrm_trig104.png|600 px|none]]
#: Запишите символьный код доставки (доставок), заказы которой отправляются в MeaSoft.
# Откройте '''Администрирование''' > '''КоммуникацииНастройки''' > '''Триггеры''' и нажмите на кнопку '''Добавить+ Триггер'''. Откроется окно «Новый триггер».
#: Заполните поля:
#* '''Название'''. Название триггера, например «Передача изменений заказа в MeaSoft»;
#* В разделе '''Событие'''. Выберите нажмите на кнопку '''+ Событие''', выберите значение '''Изменение заказа''';и нажмите на кнопку '''Добавить'''.#* В разделе '''Условие применения триггера'''. Добавьте установите переключатель '''Редактор''' и добавьте следующий скрипт:
#:<source lang="javascript">
changeSet.isUpdate() and
</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''';
|}
::'''Примечание'''. Переносы строк не допускаются.
:5. Нажмите В панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер.
:[[Файл:Новый триггер3.png|600 px|none]]
Триггер настроен.
== Передача габаритов ==
Габариты из retailCRM передаются стандартными средствами retailCRM.
Они берутся, либо из раздела "Габариты и вес", либо из раздела "Упаковки", где вы можете распределить товары между упаковками, указав габариты и вес каждой упаковки.
[[Файл:Gab.png|none|800 px]]
Дополнительно можете изучить информацию здесь https://docs.retailcrm.ru/Users/OperatingActivity/Orders/OrderPage/WorkOrderPage/WorkDeliveryOrder раздел "Оформление упаковок"
== Передача признака необходимости возврата ==
1) В retailCRM создайте справочник со значениями "no", "yes", "only".
[[Файл:Return.png|none|800 px]]
2) В retailCRM создайте пользовательское поле с типом "Справочник". Справочником выберите справочник из 1ого пункта.
[[Файл:Return2.png|none|800 px]]
3) В заказе выбирайте нужный элемент справочника и он будет уходить вместе с заказом.
4) В настройках интеграции в ЛК вам нужно в опции "Признак необходимости возврата" выбрать созданное вами поле.
== Проверка работоспособности интеграции ==
# Нажмите на кнопку '''Сохранить''' внизу страницы, флажок '''Не отправлять данные в службу доставки''' должен быть снят.<br>Заказ должен отправиться в курьерскую службу. Если заказ отправлен без ошибок и отображается в ЛК, значит интеграция настроена.
# Если возникает ошибка, ее текст отображается наверху страницы.
:: Если это ошибка заполнения формы, исправьте внесенные данные и попробуйте отправить заказ снова. Пример ошибки: «Ошибка сервиса доставки "Курьерская служба 2008MeaSoft": field [receiver phone] has no valid phone number».
:: Если это ошибка ответа курьерской службы, сообщите об этом разработчику. Пример ошибки: «Служба доставки прислала ответ в неверном формате».
Текст ошибки можно увидеть через [[Личный кабинет#Отладка|отладку]] в личном кабинете. Чтобы найти свой заказ в запросах, нажмите CTRL+F и введите в строку поиска номер заказа или ориентируйтесь на время создания заказа.