Мастер-Тур(15): Интеграция с amoCRM (15 версия) — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
м (Интеграция amoCRM с roistat)
 
(не показано 15 промежуточных версий 3 участников)
Строка 3: Строка 3:
 
<table style="background-color:#ffffcc;color:black" border="1" cellpadding="10" cellspacing="0"><tr><td>
 
<table style="background-color:#ffffcc;color:black" border="1" cellpadding="10" cellspacing="0"><tr><td>
 
Поддерживаемые версии ПК «Мастер-Тур»:<br>
 
Поддерживаемые версии ПК «Мастер-Тур»:<br>
Начиная с 15.3 версии<br>
+
Начиная с 15.8 версии<br>
 
</td></tr></table><br>
 
</td></tr></table><br>
  
Строка 61: Строка 61:
  
 
Перейти на вкладку '''Настроить'''.</BR>
 
Перейти на вкладку '''Настроить'''.</BR>
[[Файл:RR 56.png|x400px]]</BR>
+
[[Файл:Ea_420.png|x400px]]</BR>
  
 
Нажать на кнопку '''+'''.</BR>
 
Нажать на кнопку '''+'''.</BR>
[[Файл:RR 57.jpg|x400px]]</BR>
+
[[Файл:RR 86.png|x400px]]</BR>
  
 
В появившемся окне выбираем группу полей, называем её "Мастер–Тур", и нажимаем '''Добавить'''.</BR>
 
В появившемся окне выбираем группу полей, называем её "Мастер–Тур", и нажимаем '''Добавить'''.</BR>
 
[[Файл:RR 58.png|x400px]]</BR>
 
[[Файл:RR 58.png|x400px]]</BR>
 +
Выбираем созданную на предыдущем шаге группу полей кликнув по ней, и нажимаем кнопку '''Добавить поле''' (список полей и их формат указан ниже).</BR>
 +
[[Файл:RR 59.png|x400px]]</BR>
 +
Откроется форма выбора типа данных и названия поля.</BR>
 +
[[Файл:Ea_421.png|x400px]]</BR>
 +
 +
Добавленные поля будут выглядеть следующим образом.</BR>
 +
[[Файл:RR 98.png|x400px]]</BR>
  
Переходим к разделу "Настройка свойств полей и групп", и нажимаем кнопку '''Добавить поле''' (список полей и их формат указан ниже).</BR>
 
[[Файл:RR 59.png|x400px]]</BR>
 
 
После добавления поля можно посмотреть его ID в окне '''Настройка свойств полей и групп''' (нажав на нужное поле).</BR>
 
После добавления поля можно посмотреть его ID в окне '''Настройка свойств полей и групп''' (нажав на нужное поле).</BR>
[[Файл:ep_220.png|x400px]]<BR>
+
[[Файл:RR 100.png|x400px]]<BR>
  
 
Далее '''Переходим в Турпрограммы → Администрирование → Настройки → Настройки интеграции с amoCRM''' и заполняем необходимые поля.</BR>
 
Далее '''Переходим в Турпрограммы → Администрирование → Настройки → Настройки интеграции с amoCRM''' и заполняем необходимые поля.</BR>
 
Обязательные поля для интеграции:
 
Обязательные поля для интеграции:
 
* '''Включение чекбокса "Включение отправки заявок"''', если чекбокс не проставлен, то данные по путевке в amoCRM передаваться не будут;
 
* '''Включение чекбокса "Включение отправки заявок"''', если чекбокс не проставлен, то данные по путевке в amoCRM передаваться не будут;
* '''Логин''' пользователя amoCRM для отправки запросов в систему amoСRМ;
+
* '''Логин''' – логин от профиля клиентского amoСRМ;
* '''Хеш-пароль''' – пароль (пароль от профиля клиентского amoСRМ);
+
* '''Хеш-пароль''' – пароль от профиля клиентского amoСRМ;
* '''Subdomain''' (поддомен клиентского модуля amoСRМ, пример: https://{0}.amocrm.ru/leads, где {0} - является поддоменом);  
+
* '''Subdomain''' поддомен клиентского amoСRМ (пример: https://{0}.amocrm.ru/leads, где {0} - является поддоменом);  
* '''ID интеграции''';
+
* '''ID интеграции''' – ID интеграции из установленного приложения в amoCrm;
* '''Секрет интеграции''';
+
* '''Секрет интеграции''' – Секретный ключ из установленного приложения в amoCrm;
* '''Redirect URI''' – адрес службы TourSearchOwin;
+
* '''Redirect URI''' – адрес службы TourSearchOwin (обязательно https);
* '''Код авторизации''';
+
* '''Код авторизации''' – Код авторизации из установленного приложения в amoCrm (действителен 20 минут);</BR>
* '''Статус''' (id статуса, под которым будут приходить сделки в amoСRМ).</BR>
+
 
 
После заполнения обязательных полей нужно нажать кнопку '''Авторизация в amoCRM'''.</BR>
 
После заполнения обязательных полей нужно нажать кнопку '''Авторизация в amoCRM'''.</BR>
[[Файл:RR 50.png|x400px]]<BR>
+
 
 +
'''Если авторизация прошла успешно''' – на экране появится всплывающее окно с сообщением: '''Authorization is OK'''.</BR>
 +
 
 +
[[Файл:RR 80.png|x400px]]<BR>
 +
 
 
[[Файл: mb_030.png|left|Предупреждение]]  
 
[[Файл: mb_030.png|left|Предупреждение]]  
 
  Заполняемые далее индивидуальные поля должны иметь только указанный тип поля, в противном случае данные не будут переданы.</BR>
 
  Заполняемые далее индивидуальные поля должны иметь только указанный тип поля, в противном случае данные не будут переданы.</BR>
 
<BR></BR>
 
<BR></BR>
* '''Номер путевки''' (id поля Номер путевки МТ), тип поля – текстовый;
+
 
* '''Roistat''' (id поля), тип поля – текстовый;
+
====Группа полей "Мастер–Тур" (создаются вручную)====
* '''Дата заезда''' (id поля Точная дата вылета из раздела leads/list->custom_fields), тип поля – дата;
+
 
* '''Дата выезда''' (id поля Точная дата возврата из раздела leads/list->custom_fields), тип поля – дата;
+
* '''Номер путевки''' –  (id поля Номер путевки МТ), тип поля – текстовый;
* '''Продолжительность''' (id поля Продолжительность тура из раздела leads/list->custom_fields), тип поля – текстовый;
+
* '''Дата заезда''' (id поля Точная дата заезжа), тип поля – дата;
* '''Страна''' (id поля из раздела leads/list->custom_fields), тип поля – мультисписок;
+
* '''Дата выезда''' (id поля Точная дата выезда), тип поля – дата;
* '''Город вылета''' (id поля из раздела leads/list->custom_fields), тип поля – мультисписок;
+
* '''Продолжительность''' (id поля Продолжительность тура), тип поля – текстовый;
 +
* '''Страна''' (id поля Страна), тип поля – мультисписок;
 +
* '''Город вылета''' (id поля Город вылета), тип поля – мультисписок;
 
** Городом вылета считается город вылета по первой услуге авиаперелета в путевке.
 
** Городом вылета считается город вылета по первой услуге авиаперелета в путевке.
 
** В том случае, если нет маршрутной услуги или включен признак ''Наземное обслуживание'', то в личном кабинете amoCRM в поле ''Город вылета'' будет отображаться значение ''Без перелета''.
 
** В том случае, если нет маршрутной услуги или включен признак ''Наземное обслуживание'', то в личном кабинете amoCRM в поле ''Город вылета'' будет отображаться значение ''Без перелета''.
 
** В том случае, если город вылета будет не найден, то в личном кабинете amoCRM поле ''Город вылета'' не будет заполнено, а данное значение будет отображаться в поле ''Другой город вылета'' (тип поля – текстовый).
 
** В том случае, если город вылета будет не найден, то в личном кабинете amoCRM поле ''Город вылета'' не будет заполнено, а данное значение будет отображаться в поле ''Другой город вылета'' (тип поля – текстовый).
* '''Имя туристов''' (id поля из раздела leads/list->custom_fields), тип поля – текстовый
+
* '''Имя туристов''' (id поля Имя туристов), тип поля – текстовый
* '''Курорт''' (id поля из раздела leads/list->custom_fields), тип поля – текстовый
+
* '''Курорт''' (id поля Курорт), тип поля – текстовый
* '''Количество туристов''' (дети, взрослые) (id поля из раздела leads/list->custom_fields), тип поля – текстовый
+
* '''Количество туристов''' (дети, взрослые) (id поля Количество туристов), тип поля – текстовый
* '''Email контакта''' (id поля из раздела custom_fields->contacts), тип поля – текстовый
+
 
**  По этому полю происходит проверка на дублирование частных лиц. В том случае, если в личном кабинете amoCRM уже присутствует контакт с таким e-mail, то новый контакт не создается.
+
 
* '''Enum Email контакта''' (любой enum для поля Email контакта из раздела contacts/list->custom_fields), тип поля – текстовый
+
====Группа полей "Основное" (получаем id по инструкции)====
* '''Телефон контакта''' (id поля из раздела contacts/list->custom_fields), тип поля – текстовый
+
 
* '''Enum Телефон контакта''' (любой enum для поля Телефон контакта из раздела contacts/list->custom_fields), тип поля – текстовый
+
'''Поля контактов:'''
* '''Email компании''' (id поля из раздела custom_fields->company), тип поля – текстовый
+
* '''Email контакта''' тип поля – текстовый;
* '''Enum Email компании''' (любой enum для поля Email компании из раздела company/list->custom_fields), тип поля – текстовый
+
По этому полю происходит проверка на дублирование частных лиц. В том случае, если в личном кабинете amoCRM уже присутствует контакт с таким e-mail, то новый контакт не создается.
* '''Телефон компании''' (id поля из раздела company/list->custom_fields), тип поля текстовый
+
* '''Телефон контакта''' тип поля – текстовый;
* '''Enum Телефон компании''' (любой enum для поля Телефон компании из раздела company/list->custom_fields), тип поля – текстовый
+
 
* '''ИНН компании''' (id поля из раздела custom_fields->company), тип поля – текстовый
+
Для получения ID "Поля Контактов", необходимо:</BR>
** По этому полю происходит проверка на дублирование партнеров. В том случае, если в личном кабинете amoCRM уже присутствует компания с таким ИНН, то новая компания не создается.
+
[https://www.postman.com/ Установить Postman] с оффициального сайта; </BR>
* '''Сохраняем настройки,''' нажимаем кнопку "Сохранить".
+
Создать GET запрос: https://{0}.amocrm.ru/api/v4/contacts/custom_fields?filter[type][0]=multitext,где {0} - является поддоменом </BR>
* После того как все необходимые настройки будут заполнены — нужно '''перейти в Службы Windows и перезапустить службу TourSearchOwin''' (сохраненные настройки применятся в течение 5-10 минут).
+
[[Файл:RR 94.png|x400px]]</BR>
 +
</BR>
 +
В Postman, в поле Authorization добавить AMO_CRM_AccessToken; Type: Bearer Token </BR>
 +
После того, как все поля заполнены, нажимаем кнопку "Send", если всё заполнено верно, то в нижней части экрана отобразятся все доступные ID.</BR>
 +
AMO_CRM_AccessToken можно найти в используемой базе SQL при помощи запроса:</BR>
 +
<syntaxhighlight lang="xml" enclose="div">
 +
SELECT TOP (1000) [SS_ParmName]
 +
      ,[SS_ParmValue]
 +
      ,[SS_UsKey]
 +
      ,[SS_XmlValue]
 +
      ,[SS_Name]
 +
      ,[SS_NameLat]
 +
      ,[SS_Id]
 +
  FROM [Название вашей базы].[dbo].[SystemSettings]
 +
  where [SS_ParmName] like 'AMO%'
 +
</syntaxhighlight>
 +
'''Поля компаний:'''
 +
* '''Email компании''' тип поля текстовый;
 +
* '''Телефон компании''' тип поля – текстовый;
 +
* '''ИНН компании''' тип поля – текстовый;
 +
По этому полю происходит проверка на дублирование партнеров. В том случае, если в личном кабинете amoCRM уже присутствует компания с таким ИНН, то новая компания не создается.
 +
 
 +
Для получения ID "Поля компаний", необходимо:</BR>
 +
[https://www.postman.com/ Установить Postman] с оффициального сайта; </BR>
 +
 
 +
Создать GET запрос: https://{0}.amocrm.ru/api/v4/companies/custom_fields?filter[type][0]=multitext,где {0} - является поддоменом</BR>
 +
В Postman, в поле Authorization добавить AMO_CRM_AccessToken; Type: Bearer Token </BR>
 +
[[Файл:RR 96.png|x400px]]</BR>
 +
После того, как все поля заполнены, нажимаем кнопку "Send", если всё заполнено верно, то в нижней части экрана отобразятся все доступные ID.</BR>
 +
AMO_CRM_AccessToken можно найти в используемой базе SQL при помощи запроса:</BR>
 +
<syntaxhighlight lang="xml" enclose="div">
 +
SELECT TOP (1000) [SS_ParmName]
 +
      ,[SS_ParmValue]
 +
      ,[SS_UsKey]
 +
      ,[SS_XmlValue]
 +
      ,[SS_Name]
 +
      ,[SS_NameLat]
 +
      ,[SS_Id]
 +
  FROM [Название вашей базы].[dbo].[SystemSettings]
 +
  where [SS_ParmName] like 'AMO%'
 +
</syntaxhighlight>
 +
После заполнения всех полей '''Сохраняем настройки,''' нажимаем кнопку "Сохранить".</BR>
 +
После того, как все необходимые настройки будут заполнены — нужно '''перейти в Службы Windows и перезапустить службу TourSearchOwin''' (сохраненные настройки применятся в течение 5-10 минут).</BR>
 +
Также инструкция по получению полей [https://www.amocrm.ru/developers/content/crm_platform/custom-fields '''доступна в документации amoCrm'''].
 +
 
 +
===Интеграция amoCRM с roistat===
 +
 
 +
Существует возможность интеграции amoCRM с roistat. Для корректной интеграции необходимо получить скрипт для отображения ''кода счетчика (roistatID)''. Для каждой компании он индивидуальный, располагается в личном кабинете roistat, в '''Настройках''' – '''Код счетчика'''. Счетчик должен быть расположен на каждой странице сайта внутри HTML тега ''<body></body>''. Как минимум, он должен быть добавлен в разметку корзины (\TourSearchClient\Views\Basket\_Order.cshtml).
 +
<br />
 +
Ниже представлен образец размещения скрипта.
 +
<BR>
 +
[[Файл:ep_216.png|x400px]]<BR>
 +
 
  
[[Category:Мастер-Тур(15)]]
+
Также информация по установке Roistat доступна [https://www.amocrm.ru/extensions/roistat на сайте amoCrm].<BR>

Текущая версия на 10:37, 15 ноября 2023

Версия статьи от 15-11-2023.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с 15.8 версии


Введение

Модуль повышает эффективность использования CRM системы amoCRM в паре с ПК Мастер-Тур. Модуль позволяет при бронировании путевки из онлайна или из оформления клиентов передать в amoCRM все необходимые данные из путевки для дальнейшего статистического учета: даты тура, стоимость, данные о покупателе и т.п.

Предупреждение


В amoCRM передается только информация по новым заявкам. Изменения по заявкам – не передаются.



Настройка

Подключение amoCRM

Для того чтобы подключить amoCRM необходимо проделать следующие действия:

Авторизоваться в CRM у клиента по адресу https://{0}.amocrm.ru, где {0} - это клиентский поддомен.
RR 37.png

Перейти на страницу https://{0}.amocrm.ru/leads, где {0} - это клиентский поддомен.
Ea 415.png

Нажать на кнопку "...", в правом верхнем углу экрана https://{0}.amocrm.ru/amo-market, где {0} - это клиентский поддомен.
RR 40.png

В появившемся окне нажимаем кнопку Создать интеграцию.
RR 55.png

В появившемся окне выбираем Внешняя интеграция.
RR 41.png

В окне создания интеграции заполняем следующие поля:

  • В первом поле указываем адрес службы TourSearchOwin;
  • Второе поле заполнять не нужно;
  • В третьем поле выбираем Предоставить доступ: Все;
  • В следующем поле ставим чекбоксы в настройках: Контроль дублей и Множественные источники;
  • В поле "Язык" указываем: Русский;
  • Заполняем поля Название и Описание (в названии пишем - Мастер-Тур, в описании - интеграция с Мастер-Тур);
  • Нажимаем кнопку Сохранить, чтобы сохранить изменения.

RR 42 .png
Проверяем создание интеграции по адресу https://{0}.amocrm.ru/amo-market, где {0} - это клиентский поддомен.
RR 43.png

После установки интеграции, будет установлен статус Отключено. Cтатус изменится на Установлено, в течение 10-30 минут, после создания.

Подключение в Программах Тура

Для настроки интеграции amoCRM на стороне Тур программ необходимо проделать следующие действия:

Авторизоваться в CRM у клиента https://{0}.amocrm.ru, где {0} - это клиентский поддомен.
RR 37.png

Перейти на страницу Сделки по адресу https://{0}.amocrm.ru/leads, где {0} - это клиентский поддомен.
Ea 416.png

Нажать на кнопку +НОВАЯ СДЕЛКА.
Ep 217.png

Перейти на вкладку Настроить.
Ea 420.png

Нажать на кнопку +.
RR 86.png

В появившемся окне выбираем группу полей, называем её "Мастер–Тур", и нажимаем Добавить.
RR 58.png
Выбираем созданную на предыдущем шаге группу полей кликнув по ней, и нажимаем кнопку Добавить поле (список полей и их формат указан ниже).
RR 59.png
Откроется форма выбора типа данных и названия поля.
Ea 421.png

Добавленные поля будут выглядеть следующим образом.
RR 98.png

После добавления поля можно посмотреть его ID в окне Настройка свойств полей и групп (нажав на нужное поле).
RR 100.png

Далее Переходим в Турпрограммы → Администрирование → Настройки → Настройки интеграции с amoCRM и заполняем необходимые поля.
Обязательные поля для интеграции:

  • Включение чекбокса "Включение отправки заявок", если чекбокс не проставлен, то данные по путевке в amoCRM передаваться не будут;
  • Логин – логин от профиля клиентского amoСRМ;
  • Хеш-пароль – пароль от профиля клиентского amoСRМ;
  • Subdomain – поддомен клиентского amoСRМ (пример: https://{0}.amocrm.ru/leads, где {0} - является поддоменом);
  • ID интеграции – ID интеграции из установленного приложения в amoCrm;
  • Секрет интеграции – Секретный ключ из установленного приложения в amoCrm;
  • Redirect URI – адрес службы TourSearchOwin (обязательно https);
  • Код авторизации – Код авторизации из установленного приложения в amoCrm (действителен 20 минут);

После заполнения обязательных полей нужно нажать кнопку Авторизация в amoCRM.

Если авторизация прошла успешно – на экране появится всплывающее окно с сообщением: Authorization is OK.

RR 80.png

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



Группа полей "Мастер–Тур" (создаются вручную)

  • Номер путевки – (id поля Номер путевки МТ), тип поля – текстовый;
  • Дата заезда (id поля Точная дата заезжа), тип поля – дата;
  • Дата выезда (id поля Точная дата выезда), тип поля – дата;
  • Продолжительность (id поля Продолжительность тура), тип поля – текстовый;
  • Страна (id поля Страна), тип поля – мультисписок;
  • Город вылета (id поля Город вылета), тип поля – мультисписок;
    • Городом вылета считается город вылета по первой услуге авиаперелета в путевке.
    • В том случае, если нет маршрутной услуги или включен признак Наземное обслуживание, то в личном кабинете amoCRM в поле Город вылета будет отображаться значение Без перелета.
    • В том случае, если город вылета будет не найден, то в личном кабинете amoCRM поле Город вылета не будет заполнено, а данное значение будет отображаться в поле Другой город вылета (тип поля – текстовый).
  • Имя туристов (id поля Имя туристов), тип поля – текстовый
  • Курорт (id поля Курорт), тип поля – текстовый
  • Количество туристов (дети, взрослые) (id поля Количество туристов), тип поля – текстовый


Группа полей "Основное" (получаем id по инструкции)

Поля контактов:

  • Email контакта – тип поля – текстовый;

По этому полю происходит проверка на дублирование частных лиц. В том случае, если в личном кабинете amoCRM уже присутствует контакт с таким e-mail, то новый контакт не создается.

  • Телефон контакта – тип поля – текстовый;

Для получения ID "Поля Контактов", необходимо:
Установить Postman с оффициального сайта;
Создать GET запрос: https://{0}.amocrm.ru/api/v4/contacts/custom_fields?filter[type][0]=multitext,где {0} - является поддоменом
RR 94.png

В Postman, в поле Authorization добавить AMO_CRM_AccessToken; Type: Bearer Token
После того, как все поля заполнены, нажимаем кнопку "Send", если всё заполнено верно, то в нижней части экрана отобразятся все доступные ID.
AMO_CRM_AccessToken можно найти в используемой базе SQL при помощи запроса:

 SELECT TOP (1000) [SS_ParmName]
      ,[SS_ParmValue]
      ,[SS_UsKey]
      ,[SS_XmlValue]
      ,[SS_Name]
      ,[SS_NameLat]
      ,[SS_Id]
  FROM [Название вашей базы].[dbo].[SystemSettings]
  where [SS_ParmName] like 'AMO%'

Поля компаний:

  • Email компании – тип поля текстовый;
  • Телефон компании – тип поля – текстовый;
  • ИНН компании – тип поля – текстовый;

По этому полю происходит проверка на дублирование партнеров. В том случае, если в личном кабинете amoCRM уже присутствует компания с таким ИНН, то новая компания не создается.

Для получения ID "Поля компаний", необходимо:
Установить Postman с оффициального сайта;

Создать GET запрос: https://{0}.amocrm.ru/api/v4/companies/custom_fields?filter[type][0]=multitext,где {0} - является поддоменом
В Postman, в поле Authorization добавить AMO_CRM_AccessToken; Type: Bearer Token
RR 96.png
После того, как все поля заполнены, нажимаем кнопку "Send", если всё заполнено верно, то в нижней части экрана отобразятся все доступные ID.
AMO_CRM_AccessToken можно найти в используемой базе SQL при помощи запроса:

 SELECT TOP (1000) [SS_ParmName]
      ,[SS_ParmValue]
      ,[SS_UsKey]
      ,[SS_XmlValue]
      ,[SS_Name]
      ,[SS_NameLat]
      ,[SS_Id]
  FROM [Название вашей базы].[dbo].[SystemSettings]
  where [SS_ParmName] like 'AMO%'
После заполнения всех полей Сохраняем настройки, нажимаем кнопку "Сохранить".
После того, как все необходимые настройки будут заполнены — нужно перейти в Службы Windows и перезапустить службу TourSearchOwin (сохраненные настройки применятся в течение 5-10 минут).
Также инструкция по получению полей доступна в документации amoCrm.

Интеграция amoCRM с roistat

Существует возможность интеграции amoCRM с roistat. Для корректной интеграции необходимо получить скрипт для отображения кода счетчика (roistatID). Для каждой компании он индивидуальный, располагается в личном кабинете roistat, в НастройкахКод счетчика. Счетчик должен быть расположен на каждой странице сайта внутри HTML тега <body></body>. Как минимум, он должен быть добавлен в разметку корзины (\TourSearchClient\Views\Basket\_Order.cshtml).
Ниже представлен образец размещения скрипта.
Ep 216.png


Также информация по установке Roistat доступна на сайте amoCrm.