|
|
Строка 39: |
Строка 39: |
| | | |
| Вы можете выбрать те способы оплаты, при наличии которых в заказе в систему MeaSoft будет передана нулевая цена по товарам и нулевая сумма по заказу. Это полезно для оплаты заказа безналом по счету юр.лицами и для перемещения товаров между своими складами без оплаты. | | Вы можете выбрать те способы оплаты, при наличии которых в заказе в систему 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|800 px]]<br>В случае ошибки обратитесь в курьерскую службу для настройки тарифов. Проверить тарифы можно в ЛК MeaSoft в разделе '''Калькулятор'''.
| |
− |
| |
− | ==Печатные формы ==
| |
− |
| |
− | Чтобы в RetailCRM формировать печатные формы, аналогичные формам в Личном кабинете MeaSoft, используйте один из следующих способов:
| |
− | * в сохраненном заказе на панели действий сверху нажмите '''Печать''' и выберите нужную печатную форму «Курьерская служба»;
| |
− | * в списке заказов отметьте заказы флажками, внизу страницы нажмите '''Действия''' > '''Распечатать документы''' и выберите печатную форму «Курьерская служба».
| |
− |
| |
− | == Настройка триггеров ==
| |
− |
| |
− | ;Триггер
| |
− | :Хранимая процедура специального типа, автоматически выполняющаяся при наступлении заданного события.
| |
− |
| |
− | Пример: каждый месяц 1-го числа списывается абонентская плата за интернет. Триггер «1-ый день месяца» — это событие, при наступлении которого срабатывает процедура «списание абонентской платы».
| |
− |
| |
− | Триггеры используются для автоматической отправки заказов в курьерскую службу и необязательны для работы модуля. Вы можете отправлять заказы вручную, снимая флажок '''Не синхронизировать со службой доставки''' в разделе '''Доставка''' на странице заказа перед его сохранением.
| |
− |
| |
− | Для RetailCRM предусмотрены следующие триггеры:
| |
− | * [[Настройка триггеров для RetailCRM#Передача заказа при смене статуса|«Отправка заказа в MeaSoft»]] — при наступлении события «Смена статуса заказа на "Отправлен в MeaSoft"». При установке статуса, означающего, что заказ отправлен в курьерскую службу, срабатывает триггер, и заказ передается в MeaSoft;
| |
− | * [[Настройка триггеров для RetailCRM#Отмена заказа при смене типа доставки|«Отмена заказа в MeaSoft»]] — при наступлении события «Смена типа доставки у заказа». При изменении типа доставки с доставки MeaSoft на доставку, например, Почтой России, заказ в MeaSoft отменяется, если он туда передан и имеет статус «Новый» или «Ожидает синхронизации»;
| |
− | * [[Настройка триггеров для 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''';
| |
− | #* '''Передавать параметры''' — '''В теле запроса (urlencode)''';
| |
− | # Нажмите на кнопку '''Добавить параметр''' 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]]
| |
− |
| |
− | Триггер настроен.
| |
− |
| |
− | === Отмена заказа при смене типа доставки ===
| |
− |
| |
− | Запрос отмены предназначен для заказов, которые еще не приняты в работу: не было изменений статуса доставки, статуса корреспонденции, времени доставки.
| |
− |
| |
− | Возможность отмены заказа есть только у курьерских служб с тарифом «Премиум» или «Максимум». По умолчанию она выключена, ее нужно включить в [[Личный кабинет курьерской службы#Параметры|личном кабинете курьерской службы]]: '''Управление ЛК''' > '''Параметры''' > '''Расширенные''' > '''Разрешить отмену и изменение заказов'''.
| |
− |
| |
− | При отмене заказа поле '''Инфо о доставке''' получает значение '''Отменено заказчиком''', поле '''Дата доставки''' заполняется текущей датой, а в поле '''Вручил курьер''' появляется системная запись '''Отмена'''.
| |
− |
| |
− | Чтобы настроить триггер:
| |
− | # В 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''';
| |
− | #* '''Передавать параметры''' — '''В теле запроса (urlencode)''';
| |
− | # Нажмите на кнопку '''Добавить параметр''' 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 выберите '''Настройки''' > '''Справочники''' > '''Типы доставок'''. [[Файл: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]]
| |
− | Триггер настроен.
| |
− |
| |
− | == Передача габаритов ==
| |
− | Габариты из 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 и введите в строку поиска номер заказа или ориентируйтесь на время создания заказа.
| |