RetailCRM

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

Настройка интеграции

  1. В RetailСRM cоздайте API-ключ. Для этого откройте Администрирование > Интеграция > Ключи доступа к API и нажмите на кнопку Добавить. Откроется страница «Новый ключ API». На этой странице:
    1. В поле Комментарий введите краткое описание интеграции, например «По городу».
    2. В поле Тип доступа выберите Доступ ко всем магазинам.
    3. В списке Разрешенные методы API установите все флажки.
    4. Нажмите на кнопку Сохранить.
    API-ключей может быть несколько, и для каждого API-ключа необходимо выполнить эти настройки. Подробнее об управлении API-ключами см. документацию RetailCRM.
  2. Настройте интеграцию в личном кабинете клиента MeaSoft:
    1. Выберите пункт основного меню Автоматизация, перейдите на вкладку Обратная интеграция и на странице «Список всех обратных интеграций» в строке RetailCRM нажмите Добавить.
    2. В окне «Настройка интеграции "RetailCRM"» укажите название интеграции, домен RetailCRM, созданный выше API-ключ. При необходимости укажите значения других полей.
    Если нужно, чтобы в RetailCRM отображался статус платежа после доставки заказа, заполните поле Получать статус платежа (укажите символьный код статуса платежа). Чтобы увидеть символьный код платежа, в RetailCRM выберите Администрирование > Справочники > Статусы оплат.
    По завершении настройки нажмите Сохранить.
  3. Настройте интеграцию в RetailCRM:
    1. Откройте Администрирование > Справочники и на вкладке Типы доставок нажмите на кнопку Добавить. Откроется окно «Новая доставка»:
      Retail1.png
    2. В этом окне заполните обязательные поля и в выпадающем списке Интегрировать с выберите значение "Курьерская служба 2008", затем нажмите Сохранить.
    3. Чтобы настроить корректную передачу наложенного платежа, откройте Администрирование > Интеграция и выберите модуль MEASOFT. Затем на странице «Настройки интеграции с Курьерская служба 2008» перейдите на вкладку Доставка и на панели справа выберите пункт Способы оплаты. Установите флажки для способов оплаты, которые могут использоваться для передачи наложенного платежа.
      Retail5.png

Чтобы проверить настройки интеграции:

  1. Перейдите в форму создания заказа и убедитесь, что в списке Способ доставки появилось соответствующее значение:
    Retail2.png
  2. Нажмите Выбрать тариф. Тарифы должны передаваться из настроек курьерской службы:
    Retail3.png

    В случае ошибки обратитесь в курьерскую службу для настройки тарифов. Проверить тарифы можно в ЛК в разделе Калькулятор.

Чтобы в RetailCRM формировать печатные формы, аналогичные формам в личном кабинете, используйте один из следующих способов:

  • в сохраненном заказе на панели действий сверху нажмите Печать и выберите нужную печатную форму «Курьерская служба»;
  • в списке заказов отметьте заказы флажками, внизу страницы нажмите Действия > Распечатать документы и выберите печатную форму «Курьерская служба».

Чтобы отправлять заказы в курьерскую службу по статусам и отменять при изменении типа доставки, используйте триггеры.

Примечание. Интеграция привязана к личному кабинету клиента курьерской службы. При необходимости работать из другого личного кабинета создайте новую интеграцию, начиная с пункта настройки в личном кабинете.

Настройка триггеров

Триггер
Хранимая процедура специального типа, автоматически выполняющаяся при наступлении заданного события.

Пример: каждый месяц 1-го числа списывается абонентская плата за интернет. Триггер «1-ый день месяца» — это событие, при наступлении которого срабатывает процедура «списание абонентской платы».

Для RetailCRM предусмотрены следующие триггеры:

  • «Отправка заказа в MeaSoft» — при наступлении события «Смена статуса заказа на "Отправлен в MeaSoft"». При установке статуса, означающего, что заказ отправлен в курьерскую службу, срабатывает триггер, и заказ передается в MeaSoft;
  • «Отмена заказа в MeaSoft» — при наступлении события «Смена типа доставки у заказа». При изменении типа доставки с доставки MeaSoft на доставку, например, Почтой России, заказ в MeaSoft отменяется, если он туда передан и имеет статус «Новый» или «Ожидает синхронизации»;
  • «Изменения заказа в MeaSoft» — при наступлении события «Изменение заказа в RetailCRM». При изменении заказа в RetailCRM новые данные отправляются в MeSoft, если заказ передан и имеет статус «Новый» или «Ожидает синхронизации».

Описание настройки интеграции с RetailCRM см. в разделе «RetailCRM».

Передача заказа при смене статуса

Чтобы настроить триггер:

  1. Cоздайте пользовательский статус заказа, при установке которого заказ будет автоматически передаваться в курьерскую службу. Можно создать любое количество статусов.
    1. В RetailCRM выберите Администрирование > Статусы и нажмите на кнопку Добавить. Откроется окно «Новый статус»:
      Rcrm trig103.png
    2. Заполните поля формы. В поле Символьный код используйте только цифры и латинские буквы без пробелов. Запишите созданный символьный код, он понадобится на следующих шагах.
  2. Выберите Администрирование > Справочники > Типы доставок. Запишите символьные коды доставок, которые будут использоваться в триггере. В примере ниже используются коды outcity и incity.
    Rcrm trig104.png
  3. Откройте Администрирование > Коммуникации > Триггеры и нажмите на кнопку Добавить. Откроется окно «Новый триггер».
    Заполните поля:
    Название. Название триггера, например «Отправка заказа в MeaSoft».
    Событие. Выберите значение Изменение заказа.
    Условие применения триггера. Добавьте следующий скрипт:
    order.getStatus().getCode() in ["SentMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"]
    
    где
    • SentMeaSoft — символьный код статуса заказа. Если нужно указать 2 статуса, напишите их через запятую в виде: ["SentMeaSoft","SentMeaSoft_2"] вместо ["SentMeaSoft"];
    • outcity, incity — символьные коды типа доставки. Если нужно указать 1 тип доставки, напишите его в виде ["incity"] вместо ["outcity","incity"].
  4. Нажмите Добавить действие > Выполнить HTTP-запрос. Появятся дополнительные поля настроек. Заполните их следующим образом:
  5. Нажмите на кнопку Добавить параметр 3 раза подряд и заполните появившиеся поля следующими данными:
    • id — {{ order.getNumber() }};
    • sum — {{ order.getIntegrationDeliveryData().getDeclaredSum() }};
    • key — {{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}.
    Примечание. Переносы строк не допускаются.
  6. Нажмите Сохранить.

Триггер настроен.

Отмена заказа при смене типа доставки

Запрос отмены предназначен для заказов, которые еще не приняты в работу: не было изменений статуса доставки, статуса корреспонденции, времени доставки.

Возможность отмены заказа есть только у курьерских служб с тарифом Премиум. По умолчанию она выключена, ее нужно включить в личном кабинете курьерской службы: Управление ЛК > Параметры > Расширенные > Разрешить отмену и изменение заказов.

При отмене заказа поле Инфо о доставке получает значение Отменено заказчиком, поле Дата доставки заполняется текущей датой, а в поле Вручил курьер появляется системная запись Отмена.

Чтобы настроить триггер:

  1. В RetailCRM выберите Администрирование > Справочники > Типы доставок.
    Rcrm trig104.png
    Запишите символьный код типа доставки (доставок), заказы которой отправляются в MeaSoft.
  2. Перейдите в раздел Операционная деятельность и нажмите на кнопку Новый заказ. В разделе Доставка выберите тип доставки, заказы которой отправляются в MeaSoft, укажите город, вес и тариф.
  3. В разделе Доставка появится поле API ключ службы доставки. Запишите его значение. В результате у вас есть пара «символьный код типа доставки» - «API ключ службы доставки».
  4. Повторите действия пп. 2-3 для каждой доставки, заказы по которой отправляются в MeaSoft.
  5. Откройте Администрирование > Коммуникации > Триггеры и нажмите на кнопку Добавить. Откроется окно «Новый триггер».
    Заполните поля:
    • Название. Название триггера, например «Отмена заказа в MeaSoft»;
    • Событие. Выберите значение Изменение заказа;
    • Условие применения триггера. Добавьте следующий скрипт:
    changeSet.hasChangedField("delivery_type") and changeSet.getOldValue("delivery_type").getCode() in ["outcity","incity"]
    
    где outcity, incity — символьные коды типа доставки. Если нужно указать один тип доставки, напишите его в виде ["incity"] вместо ["outcity","incity"].
  6. Нажмите Добавить действие > Выполнить HTTP-запрос. Появятся дополнительные поля настроек. Заполните их следующим образом:
  7. Нажмите на кнопку Добавить параметр 2 раза подряд и потом еще столько раз, сколько у вас сопоставленных пар «символьный код типа доставки» - «API ключ службы доставки». Заполните появившиеся поля следующими данными:
    • id — {{ order.getNumber() }};
    • sum — {{ order.getIntegrationDeliveryData().getDeclaredSum() }};
    • символьный код типа доставки 1 — API ключ службы доставки 1;
    • символьный код типа доставки 2 — API ключ службы доставки 2...
    Примечание. Переносы строк не допускаются.
  8. Нажмите Сохранить.

Триггер настроен.

Передача изменений заказа

Изменять заказ могут только курьерские службы с тарифом Премиум. По умолчанию опция выключена, ее нужно включить в личном кабинете курьерской службы: Управление ЛК > Параметры > Расширенные > Разрешить отмену и изменение заказов.

Чтобы настроить триггер:

  1. В RetailCRM выберите Администрирование > Справочники > Типы доставок.
    Rcrm trig104.png
    Запишите символьный код доставки (доставок), заказы которой отправляются в MeaSoft.
  2. Откройте Администрирование > Коммуникации > Триггеры и нажмите на кнопку Добавить. Откроется окно «Новый триггер».
    Заполните поля:
    • Название. Название триггера, например «Передача изменений заказа в 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"].
  3. Нажмите Добавить действие > Выполнить HTTP-запрос. Появятся дополнительные поля настроек. Заполните их следующим образом:
  4. Нажмите на кнопку Добавить параметр 3 раза подряд и заполните появившиеся поля следующими данными:
    • id — {{ order.getNumber() }};
    • sum — {{ order.getIntegrationDeliveryData().getDeclaredSum() }};
    • key — {{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}.
    Примечание. Переносы строк не допускаются.
  5. Нажмите Сохранить.

Триггер настроен.