RetailCRM — различия между версиями
Olga (обсуждение | вклад) м (→Триггер “Отмена заказа при смене Типа доставки”) |
Olga (обсуждение | вклад) м |
||
Строка 7: | Строка 7: | ||
Для RetailCRM предусмотрены следующие триггеры: | Для RetailCRM предусмотрены следующие триггеры: | ||
− | * [[Настройка триггеров для RetailCRM#Передача заказа при смене статуса|«Отправка заказа в | + | * [[Настройка триггеров для RetailCRM#Передача заказа при смене статуса|«Отправка заказа в MeaSoft»]] — при наступлении события «Смена статуса заказа на "Отправлен в MeaSoft"». При установке статуса, означающего, что заказ отправлен в курьерскую службу, срабатывает триггер, и заказ передается в MeaSoft; |
− | * «Отмена заказа в | + | * [[Настройка триггеров для RetailCRM#Отмена заказа при смене типа доставки|«Отмена заказа в MeaSoft»]] — при наступлении события «Смена типа доставки у заказа». При изменении типа доставки с доставки MeaSoft на доставку, например, Почтой России, заказ в MeaSoft отменяется, если он туда передан и имеет статус «Новый» или «Ожидает синхронизации»; |
− | * «Изменения заказа в | + | * [[Настройка триггеров для RetailCRM#Передача изменений заказа|«Изменения заказа в MeaSoft»]] — при наступлении события «Изменение заказа в RetailCRM». При изменении заказа в RetailCRM новые данные отправляются в MeSoft, если заказ передан и имеет статус «Новый» или «Ожидает синхронизации». |
== Передача заказа при смене статуса == | == Передача заказа при смене статуса == | ||
Строка 22: | Строка 22: | ||
#: '''Название'''. Название триггера, например «Отправка заказа в MeaSoft». | #: '''Название'''. Название триггера, например «Отправка заказа в MeaSoft». | ||
#: '''Событие'''. Выберите значение '''Изменение заказа'''. | #: '''Событие'''. Выберите значение '''Изменение заказа'''. | ||
− | #: '''Условие применения триггера'''. Добавьте следующий скрипт: < | + | #: '''Условие применения триггера'''. Добавьте следующий скрипт: |
+ | #:<source lang="javascript"> | ||
+ | order.getStatus().getCode() in ["SentMeaSoft"] and order.getDeliveryType().getCode() in ["outcity","incity"] | ||
+ | </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>. | ||
Строка 48: | Строка 52: | ||
Чтобы настроить триггер: | Чтобы настроить триггер: | ||
# В RetailCRM выберите '''Администрирование''' > '''Справочники''' > '''Типы доставок'''. [[Файл:Rcrm_trig104.png|600 px|none]] | # В RetailCRM выберите '''Администрирование''' > '''Справочники''' > '''Типы доставок'''. [[Файл:Rcrm_trig104.png|600 px|none]] | ||
− | #: Запишите символьный код доставки (доставок), заказы которой отправляются в MeaSoft. | + | #: Запишите символьный код типа доставки (доставок), заказы которой отправляются в MeaSoft. |
# Перейдите в раздел '''Операционная деятельность''' и нажмите на кнопку '''Новый заказ'''. В разделе '''Доставка''' выберите тип доставки, заказы которой отправляются в MeaSoft, укажите город, вес и тариф. | # Перейдите в раздел '''Операционная деятельность''' и нажмите на кнопку '''Новый заказ'''. В разделе '''Доставка''' выберите тип доставки, заказы которой отправляются в MeaSoft, укажите город, вес и тариф. | ||
# В разделе '''Доставка''' появится поле '''API ключ службы доставки'''. Запишите его значение. В результате у вас есть пара «символьный код типа доставки» - «API ключ службы доставки». | # В разделе '''Доставка''' появится поле '''API ключ службы доставки'''. Запишите его значение. В результате у вас есть пара «символьный код типа доставки» - «API ключ службы доставки». | ||
Строка 54: | Строка 58: | ||
# Откройте '''Администрирование''' > '''Коммуникации''' > '''Триггеры''' и нажмите на кнопку '''Добавить'''. Откроется окно «Новый триггер». | # Откройте '''Администрирование''' > '''Коммуникации''' > '''Триггеры''' и нажмите на кнопку '''Добавить'''. Откроется окно «Новый триггер». | ||
#: Заполните поля: | #: Заполните поля: | ||
− | #* '''Название'''. Название триггера, например «Отмена заказа в 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-запрос'''. Появятся дополнительные поля настроек. Заполните их следующим образом: | # Нажмите '''Добавить действие''' > '''Выполнить HTTP-запрос'''. Появятся дополнительные поля настроек. Заполните их следующим образом: | ||
#* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/cancel/retailcrm; | #* '''Адрес''' — https://home.courierexe.ru/reintegrations/requests/cancel/retailcrm; | ||
Строка 70: | Строка 78: | ||
Триггер настроен. | Триггер настроен. | ||
− | == | + | == Передача изменений заказа == |
+ | Изменять заказ могут только курьерские службы с тарифом '''Премиум'''. По умолчанию опция выключена, ее нужно отдельно включить: [[Личный кабинет курьерской службы#Дополнительные настройки]]. | ||
− | + | Чтобы настроить триггер: | |
− | ''' | + | # В RetailCRM выберите '''Администрирование''' > '''Справочники''' > '''Типы доставок'''. [[Файл:Rcrm_trig104.png|600 px|none]] |
− | + | #: Запишите символьный код доставки (доставок), заказы которой отправляются в MeaSoft. | |
− | + | # Откройте '''Администрирование''' > '''Коммуникации''' > '''Триггеры''' и нажмите на кнопку '''Добавить'''. Откроется окно «Новый триггер». | |
− | + | #: Заполните поля: | |
− | + | #* '''Название'''. Название триггера, например «Передача изменений заказа в MeaSoft»; | |
− | + | #* '''Событие'''. Выберите значение '''Изменение заказа'''; | |
− | + | #* '''Условие применения триггера'''. Добавьте следующий скрипт: | |
− | + | #:<source lang="javascript"> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ''' | ||
− | |||
− | ''' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <source lang="javascript"> | ||
changeSet.isUpdate() and | changeSet.isUpdate() and | ||
( | ( | ||
Строка 146: | Строка 122: | ||
) | ) | ||
and | and | ||
− | order.getDeliveryType().getCode() | + | order.getDeliveryType().getCode() in ["outcity","incity"] |
</source> | </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 раза подряд и заполните появившиеся поля следующими данными: | |
− | + | #* '''id''' — <nowiki>{{ order.getNumber() }}</nowiki>; | |
− | + | #* '''sum''' — <nowiki>{{ order.getIntegrationDeliveryData().getDeclaredSum() }}</nowiki>; | |
− | + | #* '''key''' — <nowiki>{{ order.getIntegrationDeliveryData().getExtraData().deliveryApiKey }}</nowiki>. | |
− | + | #:'''Примечание'''. Переносы строк не допускаются. | |
− | + | # Нажмите '''Сохранить'''. | |
− | + | Триггер настроен. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Версия 15:15, 27 января 2021
Содержание
Введение
- Триггер
- Хранимая процедура специального типа, автоматически выполняющаяся при наступлении заданного события.
Пример: каждый месяц 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"]
- где
-
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 }}.
- Примечание. Переносы строк не допускаются.
- Нажмите Сохранить.
Триггер настроен.
Отмена заказа при смене типа доставки
Запрос отмены предназначен для заказов, которые еще не приняты в работу: не было изменений статуса доставки, статуса корреспонденции, времени доставки.
Возможность отмены заказа есть только у курьерских служб с тарифом Премиум. По умолчанию она выключена, ее нужно отдельно включить: Личный кабинет курьерской службы#Дополнительные настройки.
При отмене заказа поле Инфо о доставке получает значение Отменено заказчиком, поле Дата доставки заполняется текущей датой, а в поле Вручил курьер появляется системная запись Отмена.
Чтобы настроить триггер:
- В 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() }};
- sum — {{ order.getIntegrationDeliveryData().getDeclaredSum() }};
- символьный код типа доставки 1 — API ключ службы доставки 1;
- символьный код типа доставки 2 — API ключ службы доставки 2...
- Примечание. Переносы строк не допускаются.
- Нажмите Сохранить.
Триггер настроен.
Передача изменений заказа
Изменять заказ могут только курьерские службы с тарифом Премиум. По умолчанию опция выключена, ее нужно отдельно включить: Личный кабинет курьерской службы#Дополнительные настройки.
Чтобы настроить триггер:
- В 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 }}.
- Примечание. Переносы строк не допускаются.
- Нажмите Сохранить.
Триггер настроен.