Интеграция с RetailCRM: различия между версиями
Rlab (обсуждение | вклад) |
Rlab (обсуждение | вклад) |
||
(не показано 8 промежуточных версий этого же участника) | |||
Строка 5: | Строка 5: | ||
<br/> | <br/> | ||
[[Файл:RetailConfig.jpg]] | [[Файл:RetailConfig.jpg]] | ||
− | + | <br/> | |
2. Добавляем новое поле "Хэш отправления R-Lab" со следующими настройками: | 2. Добавляем новое поле "Хэш отправления R-Lab" со следующими настройками: | ||
<br/> | <br/> | ||
[[Файл:Ae1d53da7e.jpg]] | [[Файл:Ae1d53da7e.jpg]] | ||
+ | <br/> | ||
+ | 3. Теперь заходим в раздел Коммуникации, раздел Триггеры, добавляем новый Триггер: | ||
+ | <br/> | ||
+ | [[Файл:Trigger.jpg]] | ||
+ | <br/> | ||
+ | По желанию, можно настроить фильтр и условия выполнения триггера: | ||
+ | <br/> | ||
+ | [[Файл:85eed44b3e.jpg]] | ||
+ | <br/> | ||
+ | В данном примере трек номер берется из этого поля, если выбран способ доставки Почта России: | ||
+ | <br/> | ||
+ | [[Файл:5a8e1226a0.jpg]] | ||
+ | <br/> | ||
+ | <br/> | ||
+ | Фильтр : order.getIntegrationDeliveryData().getTrackNumber() != "" and order.getDeliveryType().getCode() == 'russian-post'<br/> | ||
+ | Условия применения: changeSet.hasChangedField("integration_delivery_data.track_number") | ||
+ | <br/> | ||
+ | По-желанию Вы можете настроить забор трек номера из любого поля | ||
+ | <br/> | ||
+ | <br/> | ||
+ | 5. Один из главных моментов в настройке триггера, создание действия "Изменить данные заказа" | ||
+ | <br/> | ||
+ | [[Файл:9e146eabce.jpg]] | ||
+ | <br/> | ||
+ | |||
+ | Сначала создаем это действие: | ||
+ | <br/> | ||
+ | [[Файл:C2b40d6186.jpg]] | ||
+ | <br/> | ||
+ | |||
+ | Выбираем поле Хэш отправления R-Lab | ||
+ | |||
+ | Пишем выражение hash("md5", "UserID:"~order.getIntegrationDeliveryData().getTrackNumber()~":APIключ") | ||
+ | |||
+ | Где UserID и API ключ это данные, которые были высланы на почту после регистрации, их также можно увидеть в разделе Профиль личного кабинета (https://2.r-lab.biz/Account.aspx) | ||
+ | |||
+ | <br/> | ||
+ | [[Файл:939cea2ebb.jpg]] | ||
+ | <br/> | ||
+ | |||
+ | |||
+ | У вас должно получиться вот такое действие | ||
+ | <br/> | ||
+ | [[Файл:1234dc8144.jpg]] | ||
+ | <br/> | ||
+ | |||
+ | Вместо order.getIntegrationDeliveryData().getTrackNumber() вы можете использовать любое поле | ||
+ | |||
+ | <br/> | ||
+ | |||
+ | |||
+ | 6. Теперь нужно добавить еще одно действие "Выполнить HTTP-запрос" (последнее :)) | ||
+ | <br/> | ||
+ | [[Файл:2000db2e9c.jpg]] | ||
+ | <br/> | ||
+ | |||
+ | Адрес: http://apilr2.r-lab.biz/addtrack.ashx | ||
+ | Http заголовки: | ||
+ | |||
+ | Заголовок Content-Type | ||
+ | Значение application/json | ||
+ | |||
+ | Http метод POST | ||
+ | Передаваемые параметры : Указать тело запроса самостоятельно | ||
+ | |||
+ | Тело запроса: | ||
+ | |||
+ | {"trackingUserId": UserId, | ||
+ | "trackingRequestKey": "{{order.getCustomField('track_test_hash')}}", | ||
+ | "testMode": false, | ||
+ | "trackingData": | ||
+ | [{ | ||
+ | "trackingUserClientPhone": "{{order.phone}}", | ||
+ | "trackingUserClientTrack": "{{order.integrationDeliveryData.trackNumber}}", | ||
+ | "trackingUserClientEmail": "{{order.email}}", | ||
+ | "trackingUserClientName": "{{order.nickName}}", | ||
+ | "trackingUserClientItemCost": {{order.summ}}, | ||
+ | "trackingUserClientOrderNumer": "{{order.number}}", | ||
+ | "sendToUserEmailFullTracking":false, | ||
+ | "sendToAdminEmailFullTracking":false | ||
+ | }] | ||
+ | } | ||
+ | |||
+ | Вот так должно выглядеть действие: | ||
+ | <br/> | ||
+ | [[Файл:5835087ac9.jpg]] | ||
+ | <br/> | ||
+ | |||
+ | Эти поля запроса: | ||
+ | <br/> | ||
+ | [[Файл:8898300bd4.jpg]] | ||
+ | <br/> | ||
+ | Вы можете заполнить любыми данными, если вы не хотите передавать данные, просто уберите соответствующее поле из запроса. | ||
+ | Например Вы не хотите передавать имейл и сумму заказа, уберите строчки trackingUserClientEmail: "{{ order.email }}" и trackingUserClientItemCost: {{ order.summ }} | ||
+ | Чтобы запрос выглядил так: | ||
+ | |||
+ | {"trackingUserId": UserId, | ||
+ | "trackingRequestKey": "{{order.getCustomField('track_test_hash')}}", | ||
+ | "testMode": false, | ||
+ | "trackingData": | ||
+ | [{ | ||
+ | "trackingUserClientPhone": "{{order.phone}}", | ||
+ | "trackingUserClientTrack": "{{order.integrationDeliveryData.trackNumber}}", | ||
+ | "trackingUserClientName": "{{order.nickName}}", | ||
+ | "trackingUserClientOrderNumer": "{{order.number}}", | ||
+ | "sendToUserEmailFullTracking":false, | ||
+ | "sendToAdminEmailFullTracking":false | ||
+ | }] | ||
+ | } | ||
+ | Далее нажимаем кнопку Сохранить и интеграция готова! По всем вопросам пишите на support@r-lab.biz и мы обязательно поможем Вам в настройке! |
Текущая версия на 13:13, 22 февраля 2017
Документация по настройке передачи данных в сервис из RetailCRM при помощи триггеров.
1. В первую очередь необходимо перейти в раздел "Настройки" - "Пользовательские поля"
2. Добавляем новое поле "Хэш отправления R-Lab" со следующими настройками:
3. Теперь заходим в раздел Коммуникации, раздел Триггеры, добавляем новый Триггер:
По желанию, можно настроить фильтр и условия выполнения триггера:
В данном примере трек номер берется из этого поля, если выбран способ доставки Почта России:
Фильтр : order.getIntegrationDeliveryData().getTrackNumber() != "" and order.getDeliveryType().getCode() == 'russian-post'
Условия применения: changeSet.hasChangedField("integration_delivery_data.track_number")
По-желанию Вы можете настроить забор трек номера из любого поля
5. Один из главных моментов в настройке триггера, создание действия "Изменить данные заказа"
Выбираем поле Хэш отправления R-Lab
Пишем выражение hash("md5", "UserID:"~order.getIntegrationDeliveryData().getTrackNumber()~":APIключ")
Где UserID и API ключ это данные, которые были высланы на почту после регистрации, их также можно увидеть в разделе Профиль личного кабинета (https://2.r-lab.biz/Account.aspx)
У вас должно получиться вот такое действие
Вместо order.getIntegrationDeliveryData().getTrackNumber() вы можете использовать любое поле
6. Теперь нужно добавить еще одно действие "Выполнить HTTP-запрос" (последнее :))
Адрес: http://apilr2.r-lab.biz/addtrack.ashx Http заголовки:
Заголовок Content-Type Значение application/json
Http метод POST Передаваемые параметры : Указать тело запроса самостоятельно
Тело запроса:
{"trackingUserId": UserId, "trackingRequestKey": "Шаблон:Order.getCustomField('track test hash')", "testMode": false, "trackingData": [{
"trackingUserClientPhone": "Шаблон:Order.phone", "trackingUserClientTrack": "Шаблон:Order.integrationDeliveryData.trackNumber", "trackingUserClientEmail": "Шаблон:Order.email", "trackingUserClientName": "Шаблон:Order.nickName", "trackingUserClientItemCost": Шаблон:Order.summ, "trackingUserClientOrderNumer": "Шаблон:Order.number", "sendToUserEmailFullTracking":false, "sendToAdminEmailFullTracking":false
}] }
Вот так должно выглядеть действие:
Эти поля запроса:
Вы можете заполнить любыми данными, если вы не хотите передавать данные, просто уберите соответствующее поле из запроса.
Например Вы не хотите передавать имейл и сумму заказа, уберите строчки trackingUserClientEmail: "Шаблон:Order.email" и trackingUserClientItemCost: Шаблон:Order.summ
Чтобы запрос выглядил так:
{"trackingUserId": UserId, "trackingRequestKey": "Шаблон:Order.getCustomField('track test hash')", "testMode": false, "trackingData": [{
"trackingUserClientPhone": "Шаблон:Order.phone", "trackingUserClientTrack": "Шаблон:Order.integrationDeliveryData.trackNumber", "trackingUserClientName": "Шаблон:Order.nickName", "trackingUserClientOrderNumer": "Шаблон:Order.number", "sendToUserEmailFullTracking":false, "sendToAdminEmailFullTracking":false
}] } Далее нажимаем кнопку Сохранить и интеграция готова! По всем вопросам пишите на support@r-lab.biz и мы обязательно поможем Вам в настройке!