RetailCRM — различия между версиями
Olga (обсуждение | вклад) (перенесена информация о настройке интеграции) |
Бутусов (обсуждение | вклад) (Отмена правки 15037, сделанной Бутусов (обсуждение)) |
||
(не показано 49 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
== Настройка интеграции == | == Настройка интеграции == | ||
− | # В RetailСRM cоздайте API-ключ. Для этого откройте ''' | + | # В RetailСRM cоздайте API-ключ. Для этого откройте '''Настройки''' > '''Интеграция''' > '''Ключи доступа к API''' и нажмите на кнопку '''Добавить'''. Откроется страница «Новый ключ API». На этой странице: |
## В поле '''Комментарий''' введите краткое описание интеграции, например «По городу». | ## В поле '''Комментарий''' введите краткое описание интеграции, например «По городу». | ||
## В поле '''Тип доступа''' выберите '''Доступ ко всем магазинам'''. | ## В поле '''Тип доступа''' выберите '''Доступ ко всем магазинам'''. | ||
Строка 8: | Строка 8: | ||
#: API-ключей может быть несколько, и для каждого API-ключа необходимо выполнить эти настройки. Подробнее об управлении API-ключами см. [https://help.retailcrm.ru/Users/ApiKeys документацию RetailCRM]. | #: API-ключей может быть несколько, и для каждого API-ключа необходимо выполнить эти настройки. Подробнее об управлении API-ключами см. [https://help.retailcrm.ru/Users/ApiKeys документацию RetailCRM]. | ||
# Настройте интеграцию в [[Личный кабинет клиента#Интеграция|личном кабинете клиента MeaSoft]]: | # Настройте интеграцию в [[Личный кабинет клиента#Интеграция|личном кабинете клиента 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: | # Настройте интеграцию в RetailCRM: | ||
− | ## Откройте ''' | + | ## Откройте '''Настройки''' > '''Справочники''' > '''Типы доставок''' и на странице «Типы доставок» нажмите на кнопку '''Добавить'''. Откроется окно «Новая доставка»:[[Файл:Retail1.png|none|1000 px|]] |
− | ## В этом окне заполните обязательные поля и в выпадающем списке '''Интегрировать с''' выберите значение ''' | + | ## В этом окне заполните обязательные поля и в выпадающем списке '''Интегрировать с''' выберите значение '''MeaSoft'''. |
− | ## | + | ## Нажмите '''Сохранить'''. |
+ | '''Примечание'''. Интеграция привязана к личному кабинету клиента курьерской службы. При необходимости работать из другого личного кабинета создайте новую интеграцию, начиная с пункта настройки в личном кабинете. | ||
+ | |||
+ | Чтобы отправлять заказы в курьерскую службу по статусам и отменять при изменении типа доставки, используйте [[RetailCRM#Настройка триггеров|триггеры]]. | ||
+ | |||
+ | == Передача типа платежа в ЛК из retailCRM == | ||
+ | Если символьный код передаваемого платежа содержит вхождение слова "card", то платеж передается как Карта, иначе Наличные. | ||
+ | Если заказ будет оплачен, то передается NO. | ||
+ | |||
+ | |||
+ | == Исключение печати чеков == | ||
+ | В настройках интеграции есть настройка '''Не печатать чеки для способа оплаты'''. | ||
+ | |||
+ | Данная настройка выводит список способов оплаты из retailCRM. | ||
+ | |||
+ | Вы можете выбрать те способы оплаты, при наличии которых в заказе в систему MeaSoft будет передана нулевая цена по товарам и нулевая сумма по заказу. Это полезно для оплаты заказа безналом по счету юр.лицами и для перемещения товаров между своими складами без оплаты. | ||
+ | |||
+ | == Передача наложенного платежа == | ||
+ | |||
+ | Чтобы настроить корректную передачу наложенного платежа: | ||
+ | # Откройте '''Настройки''' > '''Интеграция''' и выберите модуль MEASOFT. | ||
+ | # На странице «Настройки интеграции с MeaSoft» перейдите на вкладку '''Доставка''' и на панели справа выберите пункт '''Способы оплаты'''. | ||
+ | # Установите флажки для способов оплаты, которые могут использоваться для передачи наложенного платежа, и нажмите '''Сохранить '''.[[Файл:Retail5.png|none|1000 px]] | ||
+ | |||
+ | == Передача статусов из MeaSoft == | ||
+ | |||
+ | Чтобы получать статусы заказа из MeaSoft: | ||
+ | # Откройте '''Настройки''' > '''Интеграция''' и выберите модуль MEASOFT. | ||
+ | # На странице «Настройки интеграции с MeaSoft» перейдите на вкладку '''Доставка''' и на панели справа выберите пункт '''Статусы'''. | ||
+ | # Настройте сопоставление статусов MeaSoft и RetailCRM. Для этого в столбце «Статус в RetailCRM» из выпадающего списка выберите соответствие для каждого статуса службы доставки. ''' [[Файл:Retail передача статусов.png|none|1000 px]] | ||
+ | # Нажмите на кнопку '''Сохранить'''. | ||
+ | |||
+ | Статус из MeaSoft в RetailCRM передается 1 раз в 30 минут. Поэтому некоторые промежуточные статусы для заказа могут быть пропущены, и будет показан последний выставленный на момент синхронизации статус заказа. | ||
+ | |||
+ | == Проверка интеграции == | ||
Чтобы проверить настройки интеграции: | Чтобы проверить настройки интеграции: | ||
− | # Перейдите в форму создания заказа и убедитесь, что в списке ''' | + | # Перейдите в форму создания заказа и убедитесь, что в списке '''Тип доставки''' появилось соответствующее значение:[[Файл:Retail2.png|none|1000 px]] |
− | # Нажмите '''Выбрать тариф'''. Тарифы должны передаваться из настроек курьерской службы:[[Файл:Retail3.png|none| | + | # Нажмите '''Выбрать тариф'''. Тарифы должны передаваться из настроек курьерской службы:[[Файл:Retail3.png|none|800 px]]<br>В случае ошибки обратитесь в курьерскую службу для настройки тарифов. Проверить тарифы можно в ЛК MeaSoft в разделе '''Калькулятор'''. |
+ | |||
+ | ==Печатные формы == | ||
− | Чтобы в RetailCRM формировать печатные формы, аналогичные формам в | + | Чтобы в RetailCRM формировать печатные формы, аналогичные формам в Личном кабинете MeaSoft, используйте один из следующих способов: |
* в сохраненном заказе на панели действий сверху нажмите '''Печать''' и выберите нужную печатную форму «Курьерская служба»; | * в сохраненном заказе на панели действий сверху нажмите '''Печать''' и выберите нужную печатную форму «Курьерская служба»; | ||
* в списке заказов отметьте заказы флажками, внизу страницы нажмите '''Действия''' > '''Распечатать документы''' и выберите печатную форму «Курьерская служба». | * в списке заказов отметьте заказы флажками, внизу страницы нажмите '''Действия''' > '''Распечатать документы''' и выберите печатную форму «Курьерская служба». | ||
− | |||
− | |||
− | |||
− | |||
== Настройка триггеров == | == Настройка триггеров == | ||
Строка 35: | Строка 74: | ||
Пример: каждый месяц 1-го числа списывается абонентская плата за интернет. Триггер «1-ый день месяца» — это событие, при наступлении которого срабатывает процедура «списание абонентской платы». | Пример: каждый месяц 1-го числа списывается абонентская плата за интернет. Триггер «1-ый день месяца» — это событие, при наступлении которого срабатывает процедура «списание абонентской платы». | ||
+ | |||
+ | Триггеры используются для автоматической отправки заказов в курьерскую службу и необязательны для работы модуля. Вы можете отправлять заказы вручную, снимая флажок '''Не синхронизировать со службой доставки''' в разделе '''Доставка''' на странице заказа перед его сохранением. | ||
Для RetailCRM предусмотрены следующие триггеры: | Для RetailCRM предусмотрены следующие триггеры: | ||
Строка 41: | Строка 82: | ||
* [[Настройка триггеров для RetailCRM#Передача изменений заказа|«Изменения заказа в MeaSoft»]] — при наступлении события «Изменение заказа в RetailCRM». При изменении заказа в RetailCRM новые данные отправляются в MeSoft, если заказ передан и имеет статус «Новый» или «Ожидает синхронизации». | * [[Настройка триггеров для RetailCRM#Передача изменений заказа|«Изменения заказа в MeaSoft»]] — при наступлении события «Изменение заказа в RetailCRM». При изменении заказа в RetailCRM новые данные отправляются в MeSoft, если заказ передан и имеет статус «Новый» или «Ожидает синхронизации». | ||
− | + | '''Примечание.''' Триггеры отправки и обновления данных заказа не учитывают [[#Передача наложенного платежа|типы оплат для наложенного платежа]]. Поэтому если наложенный платеж для неоплаченного заказа равен нулю (например, при оплате на сайте), триггер все равно передаст сумму к оплате. Для корректной отправки таких заказов не используйте триггеры. | |
=== Передача заказа при смене статуса === | === Передача заказа при смене статуса === | ||
Строка 47: | Строка 88: | ||
Чтобы настроить триггер: | Чтобы настроить триггер: | ||
# Cоздайте пользовательский статус заказа, при установке которого заказ будет автоматически передаваться в курьерскую службу. Можно создать любое количество статусов. | # Cоздайте пользовательский статус заказа, при установке которого заказ будет автоматически передаваться в курьерскую службу. Можно создать любое количество статусов. | ||
− | ## В RetailCRM выберите ''' | + | ## В RetailCRM выберите '''Настройки''' > '''Статусы''' и нажмите на кнопку '''Добавить'''. Откроется окно «Новый статус»: [[Файл:Rcrm trig103.png|600 px|none]] |
## Заполните поля формы. В поле '''Символьный код''' используйте только цифры и латинские буквы без пробелов. Запишите созданный символьный код, он понадобится на следующих шагах. | ## Заполните поля формы. В поле '''Символьный код''' используйте только цифры и латинские буквы без пробелов. Запишите созданный символьный код, он понадобится на следующих шагах. | ||
− | # Выберите ''' | + | # Выберите '''Настройки''' > '''Справочники''' > '''Типы доставок'''. Запишите символьные коды доставок, которые будут использоваться в триггере. В примере ниже используются коды outcity и incity.[[Файл:rcrm_trig104.png|600px|none]] |
− | # Откройте ''' | + | # Откройте '''Настройки''' > '''Триггеры''' и нажмите на кнопку '''+ Триггер'''. Откроется окно «Новый триггер». |
#:Заполните поля: | #:Заполните поля: | ||
#: '''Название'''. Название триггера, например «Отправка заказа в MeaSoft». | #: '''Название'''. Название триггера, например «Отправка заказа в MeaSoft». | ||
− | #: '''Событие''' | + | #: В разделе '''Событие''' нажмите на кнопку '''+ Событие''', выберите значение '''Изменение заказа''' и нажмите на кнопку '''Добавить'''. |
− | #: '''Условие | + | #: В разделе '''Условие''' установите переключатель '''Редактор''' и добавьте следующий скрипт: |
#:<source lang="javascript"> | #:<source lang="javascript"> | ||
− | order.getStatus().getCode() in ["SentMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"] | + | order.getStatus().getCode() in ["SentMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"] and changeSet.hasChangedField("status") |
</source> | </source> | ||
#:где | #:где | ||
#* <code>SentMeaSoft</code> — символьный код статуса заказа. Если нужно указать 2 статуса, напишите их через запятую в виде: <code>["SentMeaSoft","SentMeaSoft_2"]</code> вместо <code>["SentMeaSoft"]</code>; | #* <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>. | #* <code>outcity</code>, <code>incity</code> — символьные коды типа доставки. Если нужно указать 1 тип доставки, напишите его в виде <code>["incity"]</code> вместо <code>["outcity","incity"]</code>. | ||
− | # | + | # В разделе '''Действие''' нажмите на кнопку '''+ Действие''', выберите '''Выполнить HTTP-запрос'''. Появятся дополнительные поля настроек. Заполните их следующим образом: |
#* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/trigger/retailcrm; | #* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/trigger/retailcrm; | ||
#* '''HTTP метод''' — '''POST'''; | #* '''HTTP метод''' — '''POST'''; | ||
#* '''Передавать параметры''' — '''В теле запроса (urlencode)'''; | #* '''Передавать параметры''' — '''В теле запроса (urlencode)'''; | ||
# Нажмите на кнопку '''Добавить параметр''' 3 раза подряд и заполните появившиеся поля следующими данными: | # Нажмите на кнопку '''Добавить параметр''' 3 раза подряд и заполните появившиеся поля следующими данными: | ||
− | + | :::{|class="wikitable" | |
− | + | !Параметр | |
− | #* ''' | + | !Значение |
− | + | |- | |
− | + | |id||<nowiki>{{ order.getNumber() }}</nowiki> | |
+ | |- | ||
+ | |sum||<nowiki>{{ order.getIntegrationDeliveryData().getDeclaredSum() }}</nowiki> | ||
+ | |- | ||
+ | |key||<nowiki>{{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}</nowiki> | ||
+ | |} | ||
+ | ::'''Примечание'''. Переносы строк не допускаются. | ||
+ | :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]] | ||
Триггер настроен. | Триггер настроен. | ||
Строка 78: | Строка 166: | ||
Запрос отмены предназначен для заказов, которые еще не приняты в работу: не было изменений статуса доставки, статуса корреспонденции, времени доставки. | Запрос отмены предназначен для заказов, которые еще не приняты в работу: не было изменений статуса доставки, статуса корреспонденции, времени доставки. | ||
− | Возможность отмены заказа есть только у курьерских служб с тарифом | + | Возможность отмены заказа есть только у курьерских служб с тарифом «Премиум» или «Максимум». По умолчанию она выключена, ее нужно включить в [[Личный кабинет курьерской службы#Параметры|личном кабинете курьерской службы]]: '''Управление ЛК''' > '''Параметры''' > '''Расширенные''' > '''Разрешить отмену и изменение заказов'''. |
При отмене заказа поле '''Инфо о доставке''' получает значение '''Отменено заказчиком''', поле '''Дата доставки''' заполняется текущей датой, а в поле '''Вручил курьер''' появляется системная запись '''Отмена'''. | При отмене заказа поле '''Инфо о доставке''' получает значение '''Отменено заказчиком''', поле '''Дата доставки''' заполняется текущей датой, а в поле '''Вручил курьер''' появляется системная запись '''Отмена'''. | ||
Чтобы настроить триггер: | Чтобы настроить триггер: | ||
− | # В RetailCRM выберите ''' | + | # В RetailCRM выберите '''Настройки''' > '''Справочники''' > '''Типы доставок'''. [[Файл:Rcrm_trig104.png|600 px|none]] |
#: Запишите символьный код типа доставки (доставок), заказы которой отправляются в MeaSoft. | #: Запишите символьный код типа доставки (доставок), заказы которой отправляются в MeaSoft. | ||
− | # Перейдите в раздел ''' | + | # Перейдите в раздел '''Продажи''' и нажмите на кнопку '''Новый заказ'''. В разделе '''Доставка''' выберите тип доставки, заказы которой отправляются в MeaSoft, укажите город, вес и тариф. |
− | # В разделе '''Доставка''' появится поле '''API ключ службы доставки'''. Запишите его значение. В результате у вас есть пара «символьный код типа доставки» | + | # В разделе '''Доставка''' появится поле '''API ключ службы доставки'''. Запишите его значение. В результате у вас есть пара «символьный код типа доставки» — «API ключ службы доставки». |
# Повторите действия пп. 2-3 для каждой доставки, заказы по которой отправляются в MeaSoft. | # Повторите действия пп. 2-3 для каждой доставки, заказы по которой отправляются в MeaSoft. | ||
− | # Откройте ''' | + | # Откройте '''Настройки''' > '''Триггеры''' и нажмите на кнопку '''+ Триггер'''. Откроется окно «Новый триггер». |
#: Заполните поля: | #: Заполните поля: | ||
#* '''Название'''. Название триггера, например «Отмена заказа в MeaSoft»; | #* '''Название'''. Название триггера, например «Отмена заказа в MeaSoft»; | ||
− | #* '''Событие''' | + | #* В разделе '''Событие''' нажмите на кнопку '''+ Событие''', выберите значение '''Изменение заказа''' и нажмите на кнопку '''Добавить'''. |
− | #* '''Условие | + | #* В разделе '''Условие''' установите переключатель '''Редактор''' и добавьте следующий скрипт: |
#:<source lang="javascript"> | #:<source lang="javascript"> | ||
changeSet.hasChangedField("delivery_type") and changeSet.getOldValue("delivery_type").getCode() in ["outcity","incity"] | changeSet.hasChangedField("delivery_type") and changeSet.getOldValue("delivery_type").getCode() in ["outcity","incity"] | ||
</source> | </source> | ||
#:где <code>outcity</code>, <code>incity</code> — символьные коды типа доставки. Если нужно указать один тип доставки, напишите его в виде <code>["incity"]</code> вместо <code>["outcity","incity"]</code>. | #:где <code>outcity</code>, <code>incity</code> — символьные коды типа доставки. Если нужно указать один тип доставки, напишите его в виде <code>["incity"]</code> вместо <code>["outcity","incity"]</code>. | ||
− | # | + | # В разделе '''Действие''' нажмите на кнопку '''+ Действие''', выберите '''Выполнить HTTP-запрос'''. Появятся дополнительные поля настроек. Заполните их следующим образом: |
#* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/cancel/retailcrm; | #* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/cancel/retailcrm; | ||
#* '''HTTP метод''' — '''POST'''; | #* '''HTTP метод''' — '''POST'''; | ||
#* '''Передавать параметры''' — '''В теле запроса (urlencode)'''; | #* '''Передавать параметры''' — '''В теле запроса (urlencode)'''; | ||
# Нажмите на кнопку '''Добавить параметр''' 2 раза подряд и потом еще столько раз, сколько у вас сопоставленных пар «символьный код типа доставки» - «API ключ службы доставки». Заполните появившиеся поля следующими данными: | # Нажмите на кнопку '''Добавить параметр''' 2 раза подряд и потом еще столько раз, сколько у вас сопоставленных пар «символьный код типа доставки» - «API ключ службы доставки». Заполните появившиеся поля следующими данными: | ||
− | + | :::{|class="wikitable" | |
− | + | !Параметр | |
− | + | !Значение | |
− | + | |- | |
− | + | |id||<nowiki>{{ order.getNumber() }}</nowiki> | |
− | + | |- | |
+ | |code||<nowiki>{{ changeSet.getOldValue("delivery_type").getCode() }}</nowiki> | ||
+ | |- | ||
+ | |Cимвольный код типа доставки 1||API-ключ службы доставки 1 | ||
+ | |- | ||
+ | |Cимвольный код типа доставки 2||API-ключ службы доставки 2 | ||
+ | |} | ||
+ | ::'''Примечание'''. Переносы строк не допускаются. | ||
+ | :8. В панели '''Действия''' нажмите '''Сохранить''', затем сохраните триггер. | ||
+ | :[[Файл:Новый триггер2.png|600 px|none]] | ||
Триггер настроен. | Триггер настроен. | ||
=== Передача изменений заказа === | === Передача изменений заказа === | ||
− | Изменять заказ могут только курьерские службы с тарифом | + | Изменять заказ могут только курьерские службы с тарифом «Премиум» или «Максимум». По умолчанию опция выключена, ее нужно включить в [[Личный кабинет курьерской службы#Параметры|личном кабинете курьерской службы]]: '''Управление ЛК''' > '''Параметры''' > '''Расширенные''' > '''Разрешить отмену и изменение заказов'''. |
Чтобы настроить триггер: | Чтобы настроить триггер: | ||
− | # В RetailCRM выберите ''' | + | # В RetailCRM выберите '''Настройки''' > '''Справочники''' > '''Типы доставок'''. [[Файл:Rcrm_trig104.png|600 px|none]] |
#: Запишите символьный код доставки (доставок), заказы которой отправляются в MeaSoft. | #: Запишите символьный код доставки (доставок), заказы которой отправляются в MeaSoft. | ||
− | # Откройте ''' | + | # Откройте '''Настройки''' > '''Триггеры''' и нажмите на кнопку '''+ Триггер'''. Откроется окно «Новый триггер». |
#: Заполните поля: | #: Заполните поля: | ||
#* '''Название'''. Название триггера, например «Передача изменений заказа в MeaSoft»; | #* '''Название'''. Название триггера, например «Передача изменений заказа в MeaSoft»; | ||
− | #* '''Событие''' | + | #* В разделе '''Событие''' нажмите на кнопку '''+ Событие''', выберите значение '''Изменение заказа''' и нажмите на кнопку '''Добавить'''. |
− | #* '''Условие | + | #* В разделе '''Условие''' установите переключатель '''Редактор''' и добавьте следующий скрипт: |
#:<source lang="javascript"> | #:<source lang="javascript"> | ||
changeSet.isUpdate() and | changeSet.isUpdate() and | ||
Строка 157: | Строка 254: | ||
</source> | </source> | ||
#:где <code>outcity</code>, <code>incity</code> — символьные коды типа доставки. Если нужно указать один тип доставки, напишите его в виде <code>["incity"]</code> вместо <code>["outcity","incity"]</code>. | #:где <code>outcity</code>, <code>incity</code> — символьные коды типа доставки. Если нужно указать один тип доставки, напишите его в виде <code>["incity"]</code> вместо <code>["outcity","incity"]</code>. | ||
− | # | + | # В разделе '''Действие''' нажмите на кнопку '''+ Действие''', выберите '''Выполнить HTTP-запрос'''. Появятся дополнительные поля настроек. Заполните их следующим образом: |
#* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/update/retailcrm; | #* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/update/retailcrm; | ||
#* '''HTTP метод''' — '''POST'''; | #* '''HTTP метод''' — '''POST'''; | ||
#* '''Передавать параметры''' — '''В теле запроса (urlencode)'''; | #* '''Передавать параметры''' — '''В теле запроса (urlencode)'''; | ||
# Нажмите на кнопку '''Добавить параметр''' 3 раза подряд и заполните появившиеся поля следующими данными: | # Нажмите на кнопку '''Добавить параметр''' 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]] | ||
Триггер настроен. | Триггер настроен. | ||
+ | |||
+ | == Передача габаритов == | ||
+ | Габариты из 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) В настройках интеграции в ЛК вам нужно в опции "Признак необходимости возврата" выбрать созданное вами поле. | ||
+ | |||
+ | == Проверка работоспособности интеграции == | ||
+ | |||
+ | # Убедитесь, что выполнены все шаги [[RetailCRM#Настройка интеграции|инструкции по настройке интеграции]]. | ||
+ | # Если используются триггеры, убедитесь, что они настроены согласно [[RetailCRM#Настройка триггеров|инструкции]]. | ||
+ | # Создайте заказ, заполните требуемые данные. | ||
+ | # Нажмите на кнопку '''Сохранить''' внизу страницы, флажок '''Не отправлять данные в службу доставки''' должен быть снят.<br>Заказ должен отправиться в курьерскую службу. Если заказ отправлен без ошибок и отображается в ЛК, значит интеграция настроена. | ||
+ | # Если возникает ошибка, ее текст отображается наверху страницы. | ||
+ | :: Если это ошибка заполнения формы, исправьте внесенные данные и попробуйте отправить заказ снова. Пример ошибки: «Ошибка сервиса доставки "MeaSoft": field [receiver phone] has no valid phone number». | ||
+ | :: Если это ошибка ответа курьерской службы, сообщите об этом разработчику. Пример ошибки: «Служба доставки прислала ответ в неверном формате». | ||
+ | Текст ошибки можно увидеть через [[Личный кабинет#Отладка|отладку]] в личном кабинете. Чтобы найти свой заказ в запросах, нажмите CTRL+F и введите в строку поиска номер заказа или ориентируйтесь на время создания заказа. |
Текущая версия на 20:40, 7 августа 2024
Содержание
- 1 Настройка интеграции
- 2 Передача типа платежа в ЛК из retailCRM
- 3 Исключение печати чеков
- 4 Передача наложенного платежа
- 5 Передача статусов из MeaSoft
- 6 Проверка интеграции
- 7 Печатные формы
- 8 Настройка триггеров
- 9 Передача габаритов
- 10 Передача признака необходимости возврата
- 11 Проверка работоспособности интеграции
Настройка интеграции
- В RetailСRM cоздайте API-ключ. Для этого откройте Настройки > Интеграция > Ключи доступа к API и нажмите на кнопку Добавить. Откроется страница «Новый ключ API». На этой странице:
- В поле Комментарий введите краткое описание интеграции, например «По городу».
- В поле Тип доступа выберите Доступ ко всем магазинам.
- В списке Разрешенные методы API установите все флажки.
- Нажмите на кнопку Сохранить.
- API-ключей может быть несколько, и для каждого API-ключа необходимо выполнить эти настройки. Подробнее об управлении API-ключами см. документацию RetailCRM.
- Настройте интеграцию в личном кабинете клиента MeaSoft:
- Выберите пункт основного меню Настройки > Интеграция, перейдите на вкладку Настройки интеграции и в списке «Все интеграции» в строке «RetailCRM» нажмите Добавить.
- В окне «Настройка интеграции RetailCRM» укажите название интеграции, домен RetailCRM, созданный выше API-ключ. При необходимости укажите значения других полей. Описание некоторых полей:
- Получать статусы доставки — выберите Получать, чтобы в RetailCRM передавались статусы заказа из MeaSoft. Настройки передачи статусов для RetailCRM см. в разделе «Передача статусов из MeaSoft»;
- Получать тип и сумму оплаты — выберите значение Получать, чтобы получать тип и сумму оплаты из MeaSoft. Если тип оплаты, указанный в заказе, не совпадает с типом оплаты в MeaSoft и цена заказа не равна нулю, платеж в RetailCRM удаляется, создается новый платеж с суммой и типом оплаты из MeaSoft. Данные передаются, если в заказе осталась только одна сумма к оплате;
- Код поля для имени курьера — укажите символьный код пользовательского поля в заказе RetailCRM, в которое будет передано имя курьера. Чтобы создать поле или увидеть символьный код, в RetailCRM выберите Настройки > Системные > Пользовательские поля. Подробнее о настройке пользовательских полей см. документацию RetailCRM;
- Код статуса оплаты — укажите символьный код статуса платежа, чтобы в RetailCRM отображался статус платежа после доставки заказа. Чтобы увидеть символьный код статуса, в RetailCRM выберите Настройки > Справочники > Статусы оплат. Статус платежа передается, если на момент закрытия заказа оставалась только одна сумма к оплате;
- Использовать данные склада как отправителя — если выбрано значение Использовать, данные отправителя заполняются следующей информацией о складе: адрес, название склада, телефон контактного лица (Настройки > Магазины > Склады);
- Передавать ФИО получателя из пользовательского поля — укажите символьный код пользовательского поля в заказе RetailCRM, в которое вводится имя фактического получателя. Чтобы создать поле или увидеть символьный код, в RetailCRM выберите Настройки > Системные > Пользовательские поля. Подробнее о настройке пользовательских полей см. документацию RetailCRM;
- Передавать телефон получателя из пользовательского поля — укажите символьный код пользовательского поля в заказе RetailCRM, в которое вводится телефон фактического получателя. Чтобы создать поле или увидеть символьный код, в RetailCRM выберите Настройки > Системные > Пользовательские поля. Подробнее о настройке пользовательских полей см. документацию RetailCRM.
- Обновлять заказ при изменении — определяет, будет ли заказ в MeaSoft обновлен при изменении данных на стороне RetailCRM. Возможные значения: Да, Нет.
- По завершении настройки нажмите Сохранить.
- Настройте интеграцию в RetailCRM:
- Откройте Настройки > Справочники > Типы доставок и на странице «Типы доставок» нажмите на кнопку Добавить. Откроется окно «Новая доставка»:
- В этом окне заполните обязательные поля и в выпадающем списке Интегрировать с выберите значение MeaSoft.
- Нажмите Сохранить.
Примечание. Интеграция привязана к личному кабинету клиента курьерской службы. При необходимости работать из другого личного кабинета создайте новую интеграцию, начиная с пункта настройки в личном кабинете.
Чтобы отправлять заказы в курьерскую службу по статусам и отменять при изменении типа доставки, используйте триггеры.
Передача типа платежа в ЛК из retailCRM
Если символьный код передаваемого платежа содержит вхождение слова "card", то платеж передается как Карта, иначе Наличные. Если заказ будет оплачен, то передается NO.
Исключение печати чеков
В настройках интеграции есть настройка Не печатать чеки для способа оплаты.
Данная настройка выводит список способов оплаты из retailCRM.
Вы можете выбрать те способы оплаты, при наличии которых в заказе в систему MeaSoft будет передана нулевая цена по товарам и нулевая сумма по заказу. Это полезно для оплаты заказа безналом по счету юр.лицами и для перемещения товаров между своими складами без оплаты.
Передача наложенного платежа
Чтобы настроить корректную передачу наложенного платежа:
- Откройте Настройки > Интеграция и выберите модуль MEASOFT.
- На странице «Настройки интеграции с MeaSoft» перейдите на вкладку Доставка и на панели справа выберите пункт Способы оплаты.
- Установите флажки для способов оплаты, которые могут использоваться для передачи наложенного платежа, и нажмите Сохранить .
Передача статусов из MeaSoft
Чтобы получать статусы заказа из MeaSoft:
- Откройте Настройки > Интеграция и выберите модуль MEASOFT.
- На странице «Настройки интеграции с MeaSoft» перейдите на вкладку Доставка и на панели справа выберите пункт Статусы.
- Настройте сопоставление статусов MeaSoft и RetailCRM. Для этого в столбце «Статус в RetailCRM» из выпадающего списка выберите соответствие для каждого статуса службы доставки.
- Нажмите на кнопку Сохранить.
Статус из MeaSoft в RetailCRM передается 1 раз в 30 минут. Поэтому некоторые промежуточные статусы для заказа могут быть пропущены, и будет показан последний выставленный на момент синхронизации статус заказа.
Проверка интеграции
Чтобы проверить настройки интеграции:
- Перейдите в форму создания заказа и убедитесь, что в списке Тип доставки появилось соответствующее значение:
- Нажмите Выбрать тариф. Тарифы должны передаваться из настроек курьерской службы:
В случае ошибки обратитесь в курьерскую службу для настройки тарифов. Проверить тарифы можно в ЛК MeaSoft в разделе Калькулятор.
Печатные формы
Чтобы в RetailCRM формировать печатные формы, аналогичные формам в Личном кабинете MeaSoft, используйте один из следующих способов:
- в сохраненном заказе на панели действий сверху нажмите Печать и выберите нужную печатную форму «Курьерская служба»;
- в списке заказов отметьте заказы флажками, внизу страницы нажмите Действия > Распечатать документы и выберите печатную форму «Курьерская служба».
Настройка триггеров
- Триггер
- Хранимая процедура специального типа, автоматически выполняющаяся при наступлении заданного события.
Пример: каждый месяц 1-го числа списывается абонентская плата за интернет. Триггер «1-ый день месяца» — это событие, при наступлении которого срабатывает процедура «списание абонентской платы».
Триггеры используются для автоматической отправки заказов в курьерскую службу и необязательны для работы модуля. Вы можете отправлять заказы вручную, снимая флажок Не синхронизировать со службой доставки в разделе Доставка на странице заказа перед его сохранением.
Для RetailCRM предусмотрены следующие триггеры:
- «Отправка заказа в MeaSoft» — при наступлении события «Смена статуса заказа на "Отправлен в MeaSoft"». При установке статуса, означающего, что заказ отправлен в курьерскую службу, срабатывает триггер, и заказ передается в MeaSoft;
- «Отмена заказа в MeaSoft» — при наступлении события «Смена типа доставки у заказа». При изменении типа доставки с доставки MeaSoft на доставку, например, Почтой России, заказ в MeaSoft отменяется, если он туда передан и имеет статус «Новый» или «Ожидает синхронизации»;
- «Изменения заказа в MeaSoft» — при наступлении события «Изменение заказа в RetailCRM». При изменении заказа в RetailCRM новые данные отправляются в MeSoft, если заказ передан и имеет статус «Новый» или «Ожидает синхронизации».
Примечание. Триггеры отправки и обновления данных заказа не учитывают типы оплат для наложенного платежа. Поэтому если наложенный платеж для неоплаченного заказа равен нулю (например, при оплате на сайте), триггер все равно передаст сумму к оплате. Для корректной отправки таких заказов не используйте триггеры.
Передача заказа при смене статуса
Чтобы настроить триггер:
- Cоздайте пользовательский статус заказа, при установке которого заказ будет автоматически передаваться в курьерскую службу. Можно создать любое количество статусов.
- В RetailCRM выберите Настройки > Статусы и нажмите на кнопку Добавить. Откроется окно «Новый статус»:
- Заполните поля формы. В поле Символьный код используйте только цифры и латинские буквы без пробелов. Запишите созданный символьный код, он понадобится на следующих шагах.
- Выберите Настройки > Справочники > Типы доставок. Запишите символьные коды доставок, которые будут использоваться в триггере. В примере ниже используются коды outcity и incity.
- Откройте Настройки > Триггеры и нажмите на кнопку + Триггер. Откроется окно «Новый триггер».
- Заполните поля:
- Название. Название триггера, например «Отправка заказа в MeaSoft».
- В разделе Событие нажмите на кнопку + Событие, выберите значение Изменение заказа и нажмите на кнопку Добавить.
- В разделе Условие установите переключатель Редактор и добавьте следующий скрипт:
order.getStatus().getCode() in ["SentMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"] and changeSet.hasChangedField("status")
- где
-
SentMeaSoft
— символьный код статуса заказа. Если нужно указать 2 статуса, напишите их через запятую в виде:["SentMeaSoft","SentMeaSoft_2"]
вместо["SentMeaSoft"]
; -
outcity
,incity
— символьные коды типа доставки. Если нужно указать 1 тип доставки, напишите его в виде["incity"]
вместо["outcity","incity"]
.
- В разделе Действие нажмите на кнопку + Действие, выберите Выполнить HTTP-запрос. Появятся дополнительные поля настроек. Заполните их следующим образом:
- Адрес — https://home.courierexe.ru/reintegrations/requests/trigger/retailcrm;
- HTTP метод — POST;
- Передавать параметры — В теле запроса (urlencode);
- Нажмите на кнопку Добавить параметр 3 раза подряд и заполните появившиеся поля следующими данными:
Параметр Значение id {{ order.getNumber() }} sum {{ order.getIntegrationDeliveryData().getDeclaredSum() }} key {{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}
- Примечание. Переносы строк не допускаются.
- 6. В панели Действия нажмите Сохранить, затем сохраните триггер.
Триггер настроен.
Отмена заказа при смене статуса
Чтобы настроить триггер:
- Cоздайте пользовательский статус заказа, при установке которого заказ будет автоматически отменяться. Можно создать любое количество статусов.
- В RetailCRM выберите Настройки > Статусы и нажмите на кнопку Добавить. Откроется окно «Новый статус»:
- Заполните поля формы. В поле Символьный код используйте только цифры и латинские буквы без пробелов. Запишите созданный символьный код, он понадобится на следующих шагах.
- Выберите Настройки > Справочники > Типы доставок. Запишите символьные коды доставок, которые будут использоваться в триггере. В примере ниже используются коды outcity и incity.
- Откройте Настройки > Триггеры и нажмите на кнопку + Триггер. Откроется окно «Новый триггер».
- Заполните поля:
- Название. Название триггера, например «Отмена заказа в MeaSoft».
- В разделе Событие нажмите на кнопку + Событие, выберите значение Изменение заказа и нажмите на кнопку Добавить.
- В разделе Условие установите переключатель Редактор и добавьте следующий скрипт:
order.getStatus().getCode() in ["CancelMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"] and changeSet.hasChangedField("status")
- где
-
CancelMeaSoft
— символьный код статуса заказа. Если нужно указать 2 статуса, напишите их через запятую в виде:["CancelMeaSoft_1","CancelMeaSoft_2"]
вместо["SentMeaSoft"]
; -
outcity
,incity
— символьные коды типа доставки. Если нужно указать 1 тип доставки, напишите его в виде["incity"]
вместо["outcity","incity"]
.
- В разделе Действие нажмите на кнопку + Действие, выберите Выполнить HTTP-запрос. Появятся дополнительные поля настроек. Заполните их следующим образом:
- Адрес — https://home.courierexe.ru/reintegrations/requests/cancelbystatus/retailcrm;
- HTTP метод — POST;
- Передавать параметры — В теле запроса (urlencode);
- Нажмите на кнопку Добавить параметр 3 раза подряд и заполните появившиеся поля следующими данными:
Параметр Значение id {{ order.getNumber() }} key {{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}
- Примечание. Переносы строк не допускаются.
- 6. В панели Действия нажмите Сохранить, затем сохраните триггер.
Триггер настроен.
Отмена заказа при смене типа доставки
Запрос отмены предназначен для заказов, которые еще не приняты в работу: не было изменений статуса доставки, статуса корреспонденции, времени доставки.
Возможность отмены заказа есть только у курьерских служб с тарифом «Премиум» или «Максимум». По умолчанию она выключена, ее нужно включить в личном кабинете курьерской службы: Управление ЛК > Параметры > Расширенные > Разрешить отмену и изменение заказов.
При отмене заказа поле Инфо о доставке получает значение Отменено заказчиком, поле Дата доставки заполняется текущей датой, а в поле Вручил курьер появляется системная запись Отмена.
Чтобы настроить триггер:
- В RetailCRM выберите Настройки > Справочники > Типы доставок.
- Запишите символьный код типа доставки (доставок), заказы которой отправляются в MeaSoft.
- Перейдите в раздел Продажи и нажмите на кнопку Новый заказ. В разделе Доставка выберите тип доставки, заказы которой отправляются в MeaSoft, укажите город, вес и тариф.
- В разделе Доставка появится поле API ключ службы доставки. Запишите его значение. В результате у вас есть пара «символьный код типа доставки» — «API ключ службы доставки».
- Повторите действия пп. 2-3 для каждой доставки, заказы по которой отправляются в MeaSoft.
- Откройте Настройки > Триггеры и нажмите на кнопку + Триггер. Откроется окно «Новый триггер».
- Заполните поля:
- Название. Название триггера, например «Отмена заказа в MeaSoft»;
- В разделе Событие нажмите на кнопку + Событие, выберите значение Изменение заказа и нажмите на кнопку Добавить.
- В разделе Условие установите переключатель Редактор и добавьте следующий скрипт:
changeSet.hasChangedField("delivery_type") and changeSet.getOldValue("delivery_type").getCode() in ["outcity","incity"]
- где
outcity
,incity
— символьные коды типа доставки. Если нужно указать один тип доставки, напишите его в виде["incity"]
вместо["outcity","incity"]
.
- В разделе Действие нажмите на кнопку + Действие, выберите Выполнить HTTP-запрос. Появятся дополнительные поля настроек. Заполните их следующим образом:
- Адрес — https://home.courierexe.ru/reintegrations/requests/cancel/retailcrm;
- HTTP метод — POST;
- Передавать параметры — В теле запроса (urlencode);
- Нажмите на кнопку Добавить параметр 2 раза подряд и потом еще столько раз, сколько у вас сопоставленных пар «символьный код типа доставки» - «API ключ службы доставки». Заполните появившиеся поля следующими данными:
Параметр Значение id {{ order.getNumber() }} code {{ changeSet.getOldValue("delivery_type").getCode() }} Cимвольный код типа доставки 1 API-ключ службы доставки 1 Cимвольный код типа доставки 2 API-ключ службы доставки 2
- Примечание. Переносы строк не допускаются.
- 8. В панели Действия нажмите Сохранить, затем сохраните триггер.
Триггер настроен.
Передача изменений заказа
Изменять заказ могут только курьерские службы с тарифом «Премиум» или «Максимум». По умолчанию опция выключена, ее нужно включить в личном кабинете курьерской службы: Управление ЛК > Параметры > Расширенные > Разрешить отмену и изменение заказов.
Чтобы настроить триггер:
- В RetailCRM выберите Настройки > Справочники > Типы доставок.
- Запишите символьный код доставки (доставок), заказы которой отправляются в MeaSoft.
- Откройте Настройки > Триггеры и нажмите на кнопку + Триггер. Откроется окно «Новый триггер».
- Заполните поля:
- Название. Название триггера, например «Передача изменений заказа в MeaSoft»;
- В разделе Событие нажмите на кнопку + Событие, выберите значение Изменение заказа и нажмите на кнопку Добавить.
- В разделе Условие установите переключатель Редактор и добавьте следующий скрипт:
changeSet.isUpdate() and ( changeSet.hasChangedField("first_name") or changeSet.hasChangedField("last_name") or changeSet.hasChangedField("patronymic") or changeSet.hasChangedField("phone") or changeSet.hasChangedField("site") or changeSet.hasChangedField("additional_phone") or changeSet.hasChangedField("email") or changeSet.hasChangedField("customer.phones") or changeSet.hasChangedField("order_product") or changeSet.hasChangedField("total_summ") or changeSet.hasChangedField("delivery_date") or changeSet.hasChangedField("delivery_time") or changeSet.hasChangedField("payments") or changeSet.hasChangedField("prepay_sum") or changeSet.hasChangedField("weight") or changeSet.hasChangedField("length") or changeSet.hasChangedField("width") or changeSet.hasChangedField("height") or changeSet.hasChangedField("payments.id") or changeSet.hasChangedField("payments.status") or changeSet.hasChangedField("payments.type") or changeSet.hasChangedField("payments.external_id") or changeSet.hasChangedField("payments.amount") or changeSet.hasChangedField("payments.paid_at") or changeSet.hasChangedField("payments.comment") or changeSet.hasChangedField("discount_manual_amount") or changeSet.hasChangedField("discount_manual_percent") ) and order.getDeliveryType().getCode() in ["outcity","incity"]
- где
outcity
,incity
— символьные коды типа доставки. Если нужно указать один тип доставки, напишите его в виде["incity"]
вместо["outcity","incity"]
.
- В разделе Действие нажмите на кнопку + Действие, выберите Выполнить HTTP-запрос. Появятся дополнительные поля настроек. Заполните их следующим образом:
- Адрес — https://home.courierexe.ru/reintegrations/requests/update/retailcrm;
- HTTP метод — POST;
- Передавать параметры — В теле запроса (urlencode);
- Нажмите на кнопку Добавить параметр 3 раза подряд и заполните появившиеся поля следующими данными:
Параметр Значение id {{ order.getNumber() }} sum {{ order.getIntegrationDeliveryData().getDeclaredSum() }} key {{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}
- Примечание. Переносы строк не допускаются.
- 5. В панели Действия нажмите Сохранить, затем сохраните триггер.
Триггер настроен.
Передача габаритов
Габариты из retailCRM передаются стандартными средствами retailCRM.
Они берутся, либо из раздела "Габариты и вес", либо из раздела "Упаковки", где вы можете распределить товары между упаковками, указав габариты и вес каждой упаковки.
Дополнительно можете изучить информацию здесь https://docs.retailcrm.ru/Users/OperatingActivity/Orders/OrderPage/WorkOrderPage/WorkDeliveryOrder раздел "Оформление упаковок"
Передача признака необходимости возврата
1) В retailCRM создайте справочник со значениями "no", "yes", "only".
2) В retailCRM создайте пользовательское поле с типом "Справочник". Справочником выберите справочник из 1ого пункта.
3) В заказе выбирайте нужный элемент справочника и он будет уходить вместе с заказом.
4) В настройках интеграции в ЛК вам нужно в опции "Признак необходимости возврата" выбрать созданное вами поле.
Проверка работоспособности интеграции
- Убедитесь, что выполнены все шаги инструкции по настройке интеграции.
- Если используются триггеры, убедитесь, что они настроены согласно инструкции.
- Создайте заказ, заполните требуемые данные.
- Нажмите на кнопку Сохранить внизу страницы, флажок Не отправлять данные в службу доставки должен быть снят.
Заказ должен отправиться в курьерскую службу. Если заказ отправлен без ошибок и отображается в ЛК, значит интеграция настроена. - Если возникает ошибка, ее текст отображается наверху страницы.
- Если это ошибка заполнения формы, исправьте внесенные данные и попробуйте отправить заказ снова. Пример ошибки: «Ошибка сервиса доставки "MeaSoft": field [receiver phone] has no valid phone number».
- Если это ошибка ответа курьерской службы, сообщите об этом разработчику. Пример ошибки: «Служба доставки прислала ответ в неверном формате».
Текст ошибки можно увидеть через отладку в личном кабинете. Чтобы найти свой заказ в запросах, нажмите CTRL+F и введите в строку поиска номер заказа или ориентируйтесь на время создания заказа.