Интеграция с RetailCRM: различия между версиями

Материал из DELIVERYCRM WIKI
Перейти к навигации Перейти к поиску
Строка 26: Строка 26:
 
Условия применения: changeSet.hasChangedField("integration_delivery_data.track_number")
 
Условия применения: changeSet.hasChangedField("integration_delivery_data.track_number")
 
<br/>
 
<br/>
По-желанию вы можете настроить забор трек номера из любого поля
+
По-желанию Вы можете настроить забор трек номера из любого поля
 
<br/>
 
<br/>
 
<br/>
 
<br/>
Строка 52: Строка 52:
 
У вас должно получиться вот такое действие  
 
У вас должно получиться вот такое действие  
 
<br/>
 
<br/>
[[Медиа:1234dc8144.jpg]]
+
[[Файл:1234dc8144.jpg]]
 
<br/>
 
<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 и мы обязательно поможем Вам в настройке!

Версия 11:03, 12 декабря 2016

Документация по настройке передачи данных в сервис из RetailCRM при помощи триггеров.


1. В первую очередь необходимо перейти в раздел "Настройки" - "Пользовательские поля"
RetailConfig.jpg
2. Добавляем новое поле "Хэш отправления R-Lab" со следующими настройками:
Ae1d53da7e.jpg
3. Теперь заходим в раздел Коммуникации, раздел Триггеры, добавляем новый Триггер:
Trigger.jpg
По желанию, можно настроить фильтр и условия выполнения триггера:
85eed44b3e.jpg
В данном примере трек номер берется из этого поля, если выбран способ доставки Почта России:
5a8e1226a0.jpg

Фильтр : order.getIntegrationDeliveryData().getTrackNumber() != "" and order.getDeliveryType().getCode() == 'russian-post'
Условия применения: changeSet.hasChangedField("integration_delivery_data.track_number")
По-желанию Вы можете настроить забор трек номера из любого поля

5. Один из главных моментов в настройке триггера, создание действия "Изменить данные заказа"
9e146eabce.jpg

Сначала создаем это действие:
C2b40d6186.jpg

Выбираем поле Хэш отправления R-Lab

Пишем выражение hash("md5", "UserID:"~order.getIntegrationDeliveryData().getTrackNumber()~":APIключ")

Где UserID и API ключ это данные, которые были высланы на почту после регистрации, их также можно увидеть в разделе Профиль личного кабинета (https://2.r-lab.biz/Account.aspx)


939cea2ebb.jpg


У вас должно получиться вот такое действие
1234dc8144.jpg

Вместо order.getIntegrationDeliveryData().getTrackNumber() вы можете использовать любое поле



6. Теперь нужно добавить еще одно действие "Выполнить HTTP-запрос" (последнее :))
2000db2e9c.jpg

Адрес: 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
  }]

}

Вот так должно выглядеть действие:
5835087ac9.jpg

Эти поля запроса:
8898300bd4.jpg
Вы можете заполнить любыми данными, если вы не хотите передавать данные, просто уберите соответствующее поле из запроса. Например Вы не хотите передавать имейл и сумму заказа, уберите строчки 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 и мы обязательно поможем Вам в настройке!