367
правок
Изменения
→Проверка работоспособности интеграции
<div style="font-size: 18px; color: #a92424; background-color: #ffdede; border: 1px solid #ebccd1; padding: 3px 10px 10px;">
Обратите внимание, RetailCRM не передает Услуги, не используйте их.
</div>
== Настройка интеграции ==
#: API-ключей может быть несколько, и для каждого API-ключа необходимо выполнить эти настройки. Подробнее об управлении API-ключами см. [https://help.retailcrm.ru/Users/ApiKeys документацию RetailCRM].
# Настройте интеграцию в [[Личный кабинет клиента#Интеграция|личном кабинете клиента MeaSoft]]:
## Выберите пункт основного меню '''Настройки''' > '''Интеграция''', перейдите на вкладку '''Настройки интеграции''' и в списке «Все интеграции» в строке «RetailCRM» нажмите '''Добавить'''.
## В окне «Настройка интеграции RetailCRM» укажите название интеграции, домен RetailCRM, созданный выше API-ключ. При необходимости укажите значения других полей. Описание некоторых полей:
##* '''Получать статусы доставки''' — выберите '''Получать''', чтобы в RetailCRM передавались статусы заказа из MeaSoft. Настройки передачи статусов для RetailCRM см. в разделе [[#Передача статусов из MeaSoft|«Передача статусов из MeaSoft»]];
# Настройте интеграцию в RetailCRM:
## Откройте '''Настройки''' > '''Справочники''' > '''Типы доставок''' и на странице «Типы доставок» нажмите на кнопку '''Добавить'''. Откроется окно «Новая доставка»:[[Файл:Retail1.png|none|1000 px|]]
## В этом окне заполните обязательные поля и в выпадающем списке '''Интегрировать с''' выберите значение '''Курьерская служба 2008MeaSoft'''.
## Нажмите '''Сохранить'''.
Чтобы отправлять заказы в курьерскую службу по статусам и отменять при изменении типа доставки, используйте [[RetailCRM#Настройка триггеров|триггеры]].
== Передача типа платежа в ЛК из retailCRM ==
Если символьный код передаваемого платежа содержит вхождение слова "card", то платеж передается как Карта, иначе Наличные.
Если заказ будет оплачен, то передается NO.
== Исключение печати чеков ==
В настройках интеграции есть настройка '''Не печатать чеки для способа оплаты'''.
Данная настройка выводит список способов оплаты из retailCRM.
Вы можете выбрать те способы оплаты, при наличии которых в заказе в систему MeaSoft будет передана нулевая цена по товарам и нулевая сумма по заказу. Это полезно для оплаты заказа безналом по счету юр.лицами и для перемещения товаров между своими складами без оплаты.
== Передача наложенного платежа ==
Чтобы настроить корректную передачу наложенного платежа:
# Откройте '''Настройки''' > '''Интеграция''' и выберите модуль MEASOFT.
# На странице «Настройки интеграции с Курьерская служба 2008» MeaSoft» перейдите на вкладку '''Доставка''' и на панели справа выберите пункт '''Способы оплаты'''.
# Установите флажки для способов оплаты, которые могут использоваться для передачи наложенного платежа, и нажмите '''Сохранить '''.[[Файл:Retail5.png|none|1000 px]]
Чтобы получать статусы заказа из MeaSoft:
# Откройте '''Настройки''' > '''Интеграция''' и выберите модуль MEASOFT.
# На странице «Настройки интеграции с Курьерская служба 2008» MeaSoft» перейдите на вкладку '''Доставка''' и на панели справа выберите пункт '''Статусы'''.
# Настройте сопоставление статусов MeaSoft и RetailCRM. Для этого в столбце «Статус в RetailCRM» из выпадающего списка выберите соответствие для каждого статуса службы доставки. ''' [[Файл:Retail передача статусов.png|none|1000 px]]
# Нажмите на кнопку '''Сохранить'''.
#: В разделе '''Условие''' установите переключатель '''Редактор''' и добавьте следующий скрипт:
#:<source lang="javascript">
order.getStatus().getCode() in ["SentMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"]and changeSet.hasChangedField("status")
</source>
#:где
|-
|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>
|id||<nowiki>{{ order.getNumber() }}</nowiki>
|-
|sumcode||<nowiki>{{ orderchangeSet.getIntegrationDeliveryDatagetOldValue("delivery_type").getDeclaredSumgetCode() }}</nowiki>
|-
|Cимвольный код типа доставки 1||API-ключ службы доставки 1
Триггер настроен.
== Проверка работоспособности Передача габаритов ==Габариты из 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 не может принять большое число ПВЗ. У retailCRM просто не хватает мощностей на обработку большого числа информации. Если у вас много ПВЗ для многих подрядчиков (СДЭК, ПОЧТА РОССИИ, 5POST и тд), то вы иногда можете наблюдать данную ошибку. Избавиться от данной ошибки можно за счет снижения получаемой информации. То есть, вам нужно либо уменьшить кол-во получаемых ПВЗ, либо уменьшить кол-во информации о ПВЗ. Вот варианты того, как можно убрать данную ошибку:
# УбедитесьЕсли вы не используете ПВЗ, что выполнены все шаги [[RetailCRM#Настройка то в настройках интеграции|инструкции по настройке интеграции]].в ЛК у опции *Получать ПВЗ для выбора* выберите '''Не получать'''# Если используются триггерывы не используете все режимы срочности, убедитесь, что они настроены согласно [[RetailCRM#Настройка триггеров|инструкции]].то в настройках интеграции в ЛК у опции '''Режимы срочности''' выберите только нужные вам режимы# Создайте заказЕсли вам не нужна такая информация о ПВЗ, как адрес/телефон/время работы/как добраться, заполните требуемые данные.# Нажмите на кнопку то у опции '''СохранитьОтсылать информацию о ПВЗ''' внизу страницы, флажок выберите '''Не отправлять данные в службу доставкиНет''' должен быть снят.<br>Заказ должен отправиться в курьерскую службу. Если заказ отправлен без ошибок и отображается в ЛК, значит интеграция настроена.# Если возникает ошибка, ее текст отображается наверху страницы.:: Если это ошибка заполнения формы, исправьте внесенные данные и попробуйте отправить заказ снова. Пример ошибки: «Ошибка сервиса доставки "Курьерская служба 2008": field [receiver phone] has no valid phone number».:: Если это ошибка ответа курьерской службы, сообщите об этом разработчику. Пример ошибки: «Служба доставки прислала ответ в неверном формате».Текст ошибки можно увидеть через [[Личный кабинет#Отладка|отладку]] в личном кабинете. Чтобы найти свой заказ в запросах, нажмите CTRL+F и введите в строку поиска номер заказа или ориентируйтесь на время создания заказа.