Мастер-Тур(15):Получение туркода (Камкор) — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
 
(не показаны 3 промежуточные версии этого же участника)
Строка 26: Строка 26:
 
[[Файл:am_063.png|left|Предупреждение]]
 
[[Файл:am_063.png|left|Предупреждение]]
 
  Отправка запроса осуществляется за 24 часа до вылета (то есть, отправляются все туристы во всех путевках,  
 
  Отправка запроса осуществляется за 24 часа до вылета (то есть, отправляются все туристы во всех путевках,  
  у которых дата заезда – следующий день), а также у которых есть услуги перелета и проживания.
+
  у которых дата заезда – следующий день), а также у которых в путевки присутствует услуга с классом услуги ''Туристический код''.
 
<br /><br />
 
<br /><br />
  
Строка 47: Строка 47:
  
 
[[Файл:MB_382.png|Пример логов (Камкор)]]<br />
 
[[Файл:MB_382.png|Пример логов (Камкор)]]<br />
 +
 +
Отправляемые и получаемые запросы можно посмотреть в логе MTS ''KamkorDetailLogger.txt'', предварительно их включив в конфигурационном файле<br />
 +
<Logger level="OFF" name="KamkorDetailLogger" console="false" />
 +
  
 
Полученный туркод сохраняется в истории путевки. Далее его можно вывести в клиентский профиля отчета ''Ваучер (Многоплечевой перелет)''
 
Полученный туркод сохраняется в истории путевки. Далее его можно вывести в клиентский профиля отчета ''Ваучер (Многоплечевой перелет)''
Строка 52: Строка 56:
 
[[Файл:MB_383.png|Пример отчета]]<br />
 
[[Файл:MB_383.png|Пример отчета]]<br />
  
==Альтернативное получение туркодов==
+
==Альтернативный запуск получения туркодов через планировщик заданий==
 +
 
 +
Туркод также можно получить при помощи задачи в планировщике заданий windows. Для этого необходимо на вкладке ''Действия'' <br />
 +
в поле ''Программа или сценарий'' указать значение ''powershell.exe'', <br />
 +
в поле ''Добавить аргументы'' указать значение ''-ExecutionPolicy RemoteSigned -NonInteractive -WindowStyle Hidden -File "ПУТЬ ДО СКРИПТА"''. <br />
 +
Пример:
 +
''-ExecutionPolicy RemoteSigned -NonInteractive -WindowStyle Hidden -File "M:\Kamkor\kamkorRegistrationScript.ps1"''
  
Туркод можно получить также при помощи задачи в планировщике windows.
+
[[Файл:MB_384.png|Планировщик заданий (Камкор)]]<br />
  
 +
А также по пути, где будет лежать файл ''kamkorRegistrationScript.ps1'' – заполнить в нем настройки подключения к фонду ''Камкор'' и к турпрограмме.
  
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Шаблон файла kamkorRegistrationScript.ps1
 +
<div class="mw-collapsible-content">
 +
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 +
<syntaxhighlight lang="java" enclose="div">
 +
#Kamkor Settings
 +
$login = "test" #Логин от Камкор
 +
$password = "test" #Пароль от Камкор
 +
$urlKamkorProtocol = "http" #Протокол передачи (http/https)
 +
$urlKamkorAddress = "test.fondkamkor.kz" #Адрес API
  
 +
#TourPrograms Settings
 +
$urlTourProgramsPort = "80" #Порт программы туров
 +
$urlTourProgramsProtocol = "http" #Протокол передачи (http/https)
 +
$urlTourProgramsDomainName = "supp-08.megatec.ru" #ip-адрес или доменное имя
 +
$urlTourProgramsName = "TourPrograms" #Название приложения программы туров
  
 +
$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession
 +
$session.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"
 +
Invoke-WebRequest -UseBasicParsing -Uri "${urlTourProgramsProtocol}://${urlTourProgramsDomainName}:${urlTourProgramsPort}/${urlTourProgramsName}/Plugins/KamkorRegistration" `
 +
-Method "POST" `
 +
-WebSession $session `
 +
-Headers @{
 +
"Accept"="application/json, text/javascript, */*; q=0.01"
 +
  "Accept-Encoding"="gzip, deflate, br"
 +
  "Accept-Language"="en-US,en;q=0.9,ru-RU;q=0.8,ru;q=0.7"
 +
  "Cache-Control"="no-cache"
 +
  "Origin"="${urlTourProgramsProtocol}://${urlTourProgramsDomainName}:${urlTourProgramsPort}"
 +
  "Referer"="${urlTourProgramsProtocol}://${urlTourProgramsDomainName}:${urlTourProgramsPort}/${urlTourProgramsName}/"
 +
  "Pragma"="no-cache"
 +
  "Sec-Fetch-Dest"="empty"
 +
  "Sec-Fetch-Mode"="cors"
 +
  "Sec-Fetch-Site"="same-origin"
 +
  "X-Requested-With"="XMLHttpRequest"
 +
  "sec-ch-ua"="`"Not_A Brand`";v=`"99`", `"Google Chrome`";v=`"109`", `"Chromium`";v=`"109`""
 +
  "sec-ch-ua-mobile"="?0"
 +
  "sec-ch-ua-platform"="`"Windows`""
 +
} `
 +
-ContentType "application/x-www-form-urlencoded; charset=UTF-8" `
 +
-Body "queryString=%7B%22ApiUrl%22%3A%22$urlKamkorProtocol%3A%2F%2F$urlKamkorAddress%22%2C%22Login%22%3A%22$Login%22%2C%22Password%22%3A%22$Password%22%7D"</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
</div></div><br />
  
 
[[Category:Мастер-Тур(15)]]
 
[[Category:Мастер-Тур(15)]]

Текущая версия на 09:01, 3 августа 2023

Версия статьи от 3-08-2023.

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


Введение

Данное решение позволяет передавать данные туристов в фонд Камкор для получения туркода с последующим выводом этого туркода в отчетных документах.

Установка

Специальных действий для установки не требуется. Все работает в стандартной поставке приложения.

Работа в системе

Начиная с версии 15 релиза 8 и выше в Программе туров доступен новый плагин, расположенный по пути Администрирование → Плагины → Получение туркода (Камкор)

Получение туркода (Камкор)

Экран содержит информацию следующую информацию:

  • API адрес
  • Логин
  • Пароль
  • Сохранить – при нажатии данные для подключения будут сохранены в базу данных приложения
  • Отправить – при нажатии будет отправлен запрос в фонд Камкор для получения туркодов по туристам.
Предупреждение
Отправка запроса осуществляется за 24 часа до вылета (то есть, отправляются все туристы во всех путевках, 
у которых дата заезда – следующий день), а также у которых в путевки присутствует услуга с классом услуги Туристический код.



Для корректной отработки запроса должны быть заполнены:

  • ИНН фирмы-владельца
  • Код авиакомпании (ИАТА)
  • Код аэропорта (ИАТА)
  • День рождения туриста
  • Серия/номер паспорта туриста (загран. или нац.)
  • Дата выдачи паспорта туриста (загран. или нац.)

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

  • Получено туркодов – количество успешно полученных туркодов
  • Пропущено – с информацией о ФИО туриста, путевки и причине пропуска

Получение туркода (Камкор)

Детализацию обработки запросов можно посмотреть в логе MTS KamkorLogger.txt, предварительно их включив в конфигурационном файле

<Logger level="OFF" name="KamkorLogger" console="false" />

Пример логов (Камкор)

Отправляемые и получаемые запросы можно посмотреть в логе MTS KamkorDetailLogger.txt, предварительно их включив в конфигурационном файле

<Logger level="OFF" name="KamkorDetailLogger" console="false" />


Полученный туркод сохраняется в истории путевки. Далее его можно вывести в клиентский профиля отчета Ваучер (Многоплечевой перелет)

Пример отчета

Альтернативный запуск получения туркодов через планировщик заданий

Туркод также можно получить при помощи задачи в планировщике заданий windows. Для этого необходимо на вкладке Действия
в поле Программа или сценарий указать значение powershell.exe,
в поле Добавить аргументы указать значение -ExecutionPolicy RemoteSigned -NonInteractive -WindowStyle Hidden -File "ПУТЬ ДО СКРИПТА".
Пример:

-ExecutionPolicy RemoteSigned -NonInteractive -WindowStyle Hidden -File "M:\Kamkor\kamkorRegistrationScript.ps1"

Планировщик заданий (Камкор)

А также по пути, где будет лежать файл kamkorRegistrationScript.ps1 – заполнить в нем настройки подключения к фонду Камкор и к турпрограмме.

Шаблон файла kamkorRegistrationScript.ps1
#Kamkor Settings
$login = "test" #Логин от Камкор
$password = "test" #Пароль от Камкор
$urlKamkorProtocol = "http" #Протокол передачи (http/https)
$urlKamkorAddress = "test.fondkamkor.kz" #Адрес API

#TourPrograms Settings
$urlTourProgramsPort = "80" #Порт программы туров
$urlTourProgramsProtocol = "http" #Протокол передачи (http/https)
$urlTourProgramsDomainName = "supp-08.megatec.ru" #ip-адрес или доменное имя
$urlTourProgramsName = "TourPrograms" #Название приложения программы туров

$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession
$session.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"
Invoke-WebRequest -UseBasicParsing -Uri "${urlTourProgramsProtocol}://${urlTourProgramsDomainName}:${urlTourProgramsPort}/${urlTourProgramsName}/Plugins/KamkorRegistration" `
-Method "POST" `
-WebSession $session `
-Headers @{
"Accept"="application/json, text/javascript, */*; q=0.01"
  "Accept-Encoding"="gzip, deflate, br"
  "Accept-Language"="en-US,en;q=0.9,ru-RU;q=0.8,ru;q=0.7"
  "Cache-Control"="no-cache"
  "Origin"="${urlTourProgramsProtocol}://${urlTourProgramsDomainName}:${urlTourProgramsPort}"
  "Referer"="${urlTourProgramsProtocol}://${urlTourProgramsDomainName}:${urlTourProgramsPort}/${urlTourProgramsName}/"
  "Pragma"="no-cache"
  "Sec-Fetch-Dest"="empty"
  "Sec-Fetch-Mode"="cors"
  "Sec-Fetch-Site"="same-origin"
  "X-Requested-With"="XMLHttpRequest"
  "sec-ch-ua"="`"Not_A Brand`";v=`"99`", `"Google Chrome`";v=`"109`", `"Chromium`";v=`"109`""
  "sec-ch-ua-mobile"="?0"
  "sec-ch-ua-platform"="`"Windows`""
} `
-ContentType "application/x-www-form-urlencoded; charset=UTF-8" `
-Body "queryString=%7B%22ApiUrl%22%3A%22$urlKamkorProtocol%3A%2F%2F$urlKamkorAddress%22%2C%22Login%22%3A%22$Login%22%2C%22Password%22%3A%22$Password%22%7D"