Мастер-Тур(15):PaymentService
Содержание
- 1 Введение
- 2 Установка службы сервиса оплат
- 3 Работа службы сервиса оплат
- 3.1 Добавить оплату (AddPayment)
- 3.2 Список прошедших заездов по турам (TourList)
- 3.3 Финансовая информация по турам (TourFinInfo)
- 3.4 Информация по туристу, выводимая по ключу туриста (SelectTouristInfoByKey)
- 3.5 Информация по туристам, выводимая по номеру путевки (SelectTouristsByDogovorKey)
- 3.6 Информация по путевкам за период (SelectDogovorsInPeriod)
- 3.7 Информация по партнеру по ключу партнера (SelectPartnerInfoByKey)
- 3.8 Информация по детализации платежей за период (SelectPaymentsDetailsInPeriod)
- 3.9 Выбор услуг по ключу путевки (SelectServicesByDogovorKey)
- 3.10 Выбор детализации счетов партнеров за период (SelectBillsDetailsInPeriod)
- 3.11 Выбор списка договоров из истории (SelectDogovorsInHistory)
- 3.12 Информация по типам состояний путевок (GetDogovorConditionsTypesList)
- 3.13 Информация по типам свойств партнеров (GetPartnerPropertyTypesList)
- 3.14 Информация по счетам за период (SelectInvoicesInPeriod)
Введение
Начиная с релиза 15.8 разработан сервис оплат (PaymentService), который нужен для проведения оплаты в ПК Мастер-Тур.
В этот сервис постепенно будут добавляться новые методы из Мастер-Центр оплат. На текущий момент реализован метод ДобавитьОплатуРассчитывать
Установка службы сервиса оплат
- Скопировать папку PaymentService из дистрибутива на сервер. Служба PaymentService должна устанавливаться на компьютере, имеющем доступ к серверу баз данных, или на компьютере, который сам является сервером баз данных (установлен MS SQL Server).
- Перед установкой службы сервиса оплат необходимо настроить конфигурационный файл appsettings.json.
№ | Название | Описание | Настройка |
---|---|---|---|
1 | Строка подключения | Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ConnectionStrings.
Внимание!
|
"MtDatabase": "Server=Server; Database=Database; User Id=User; Password=Password;"
|
2 | Путь к службе сервиса оплат | По умолчанию служба сервиса оплат использует порт 5010 и название PaymentService. Рекомендуется использование значений по умолчанию. Внимание! |
"applicationUrl": "http://*:5010",
"ApplicationName": "PaymentService",
|
3 | Путь к службе MTS | Необходимо указать адрес и порт к установленной службе MTS (для подписи проводимых платежей) |
"SoapServiceAddress": "http://localhost:80/MTS",
|
- Установка осуществляется запуском скрипта _Install.cmd от имени администратора.
- При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта PaymentService.
- В Службах Windows добавляется служба PaymentService.
- Для удаления службы необходимо запустить скрипт _UnInstall.cmd от имени администратора. При этом будут удалены правила для входящих подключений.
Работа службы сервиса оплат
Добавить оплату (AddPayment)
Метод производит внесение оплаты в базу данных Мастер-Тур.
Необходимо обратить внимание, что филиал платежа будет записан от пользователя, от которого запущена служба PaymentService.
- Формат запроса:
- POST .../PaymentService/AddPayment?
- Принимаемые параметры (* – обязательный):
- PaymentOperation * – ключ типа операции (PO_Id из таблицы PaymentOperations)
- PaymentSum * – сумма платежа в валюте платежа. Для разделения используется точка, 20836.80
- CurrencyISOCode * – ISO код валюты (RA_ISOCode из таблицы Rates)
- DogovorKey * – ключ путевки
- DogovorCode – код путевки (отрабатывает, если не указан DogovorKey)
- PaymentDate * – дата платежа (в формате yyyy-mm-dd
- CourseDate – курс (если не указан, берется на дату платежа)
- DocNumber – номер документа
- ReceivedFrom – от кого получен платеж (строковое значение)
- PaymentFor – за что произведен платеж (строковое значение)
- PartnerKey – если платеж производиться партнеру, то этот ключ определяет конкретного партнера
- NoDetails – детализация платежа (по умолчанию - false, детализация платежа будет создана)
- Возвращаемый результат:
- ключ платежа
Вызов метода AddPayment POST http://localhost:5010/PaymentService/AddPayment?PaymentOperation=1&PaymentSum=100&CurrencyISOCode=RUB&DogovorCode=IS28070006&NoDetails=false? HTTP/1.1
Возвращаемый результат метода AddPayment 4455
|
Список прошедших заездов по турам (TourList)
Метод возвращает список туров, по которым в заданные даты были совершены заезды (то есть, есть оформленные путевки).
- Формат запроса:
- GET .../PaymentService/TourList?
- Принимаемые параметры (* – обязательный):
- dateFrom * – дата заезда с в формате yyyy.mm.dd
- dateTo * – дата заезда по в формате yyyy.mm.dd
- Возвращаемый результат:
- tourProgramsId – ключ программы тура
- tourName – название программы тура
- dateBegin – массив дат заездов по указанному туру в заданный период
Вызов метода TourList GET http://localhost:5010/PaymentService/TourList?dateFrom=2022.04.01&dateTo=2022.04.10
Возвращаемый результат метода TourList [{
"tourProgramsId": 100001232,
"tourName": "Общая проверка системы",
"dateBegin": [
"03.04.2022",
"05.04.2022"
]
}, {
"tourProgramsId": 100001247,
"tourName": "Тур в Кострому",
"dateBegin": [
"01.04.2022",
"03.04.2022",
"05.04.2022"
]
}
]
|
Финансовая информация по турам (TourFinInfo)
Метод возвращает детальную информацию по услугам и оплатам по туру.
- Формат запроса:
- GET .../PaymentService/TourFinInfo?
- Принимаемые параметры (* – обязательный):
- tourProgramsId * – ключ программы тура
- tourDate * – дата заезда по туру в формате yyyy.mm.dd
- Возвращаемый результат:
- tourName – название программы тура
- arrivalDate – дата заезда по туру
- touristCount – общее количество туристов по путевкам
- payed – сумма оплат от покупателей по всем путевкам в национальной валюте
- services – массив услуг (группировка по классу услуг)
- serviceType – название класса услуги
- serviceName – название услуги
- serviceTouristCount – количество туристов, пользующихся услугой по всем путевкам
- partner – поставщик по услуге
- netto – стоимость нетто по всем путевкам по каждой услуге
- brutto – стоимость брутто по всем путевкам по каждой услуге
Вызов метода TourFinInfo GET http://localhost:5010/PaymentService/TourFinInfo?tourProgramsId=100001232&tourDate=2022.04.05
Возвращаемый результат метода TourFinInfo {
"tourName": "Общая проверка системы",
"arrivalDate": "05.04.2022",
"touristCount": 50,
"payed": "350400 RUB",
"services": [{
"serviceType": "Авиаперелет",
"serviceName": "А_П::Варшава/Канкун/3G5656, WAW-VIE, 05:50-08:50/C Бизнес класс",
"serviceTouristCount": 50,
"partner": "Партнер",
"netto": "100000,00 RUB",
"brutto": "120000,00RUB"
},
"serviceType": "Отель/Круиз",
"serviceName": "HOTEL::Канкун/Sheraton-1*,7 ночей/Double(Standart),2 взр./AI Шведский стол",
"serviceTouristCount": 50,
"partner": "Партнер",
"netto": "200000,00 RUB",
"brutto": "230000,00 RUB"
},
"serviceType": "Авиаперелет",
"serviceName": "А_П::Канкун/Варшава/AF3444, VIE-WAW, 15:50-18:50/C Бизнес класс",
"serviceTouristCount": 50,
"partner": "Партнер",
"netto": "0,00 RUB",
"brutto": "0,00 RUB"
}
]
}
|
Информация по туристу, выводимая по ключу туриста (SelectTouristInfoByKey)
Метод возвращает детальную информацию по туристу, выводимую по ключу туриста.
- Формат запроса:
- POST .../PaymentService/SelectTouristInfoByKey?
- Принимаемые параметры (* – обязательный):
- key * – ключ туриста
- Возвращаемый результат:
- key – ключ туриста
- isMain – признак главного туриста
- ageType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- sex – пол туриста (0 – мужской, 1 – женский)
- firstName – имя (лат)
- lastName – фамилия (лат)
- patronymic – отчество (лат)
- firstNameRus – имя (рус)
- lastNameRus – фамилия (рус)
- patronymicRus – отчество (рус)
- phone – телефон
- email – e-mael
- birthDay – дата рождения
- birthPlace – место рождения
- citizen – гражданство
- internationalPassportSer – серия загранпаспорта
- internationalPassportNum – номер загранпаспорта
- internationalPassportDate – дата выдачи загранпаспорта
- internationalPassportDateEnd – дата окончания загранпаспорта
- internationalPassportByWhom – кем выдан загранпаспорт
- nationalPassportSer – серия паспорта
- nationalPassportNum – номер паспорта
- nationalPassportDate – дата выдачи паспорта
- nationalPassportByWhom – кем выдан паспорт
- postIndex – индекс
- city – город
- street – улица
- build – дом
- flat – квартира
- citizenID – ID туриста
Вызов метода SelectTouristInfoByKey POST http://localhost:5010/PaymentService/SelectTouristInfoByKey?key=111125
Возвращаемый результат метода SelectTouristInfoByKey {
"key": 111125,
"isMain": 1,
"ageType": 0,
"sex": 0,
"firstName": "Ivan",
"lastName": "Ivanov",
"patronymic": "Ivanovich",
"firstNameRus": "Иван",
"lastNameRus": "Иванов",
"patronymicRus": "Иванович",
"phone": "+79991234567",
"email": "ivan@mail.ru",
"birthDay": "01.02.1980",
"birthPlace": "Москва",
"citizen": "Россия",
"internationalPassportSer": "1111",
"internationalPassportNum": "222222",
"internationalPassportDate": "01.05.2022",
"internationalPassportDateEnd": "01.05.2027",
"internationalPassportByWhom": "Отделом УФМС год. Москвы",
"nationalPassportSer": "11",
"nationalPassportNum": "6665544",
"nationalPassportDate": "01.05.2030",
"nationalPassportByWhom": "УФМС 52",
"postIndex": "151515",
"city": "Москва",
"street": "Ленина",
"build": "5",
"flat": "2",
"citizenID": "123456789"
}
|
Информация по туристам, выводимая по номеру путевки (SelectTouristsByDogovorKey)
Метод возвращает детальную информацию по туристам, выводимая по номеру путевки.
- Формат запроса:
- POST .../PaymentService/SelectTouristsByDogovorKey?
- Принимаемые параметры (* – обязательный):
- dgCode * – номер путевки
- Возвращаемый результат:
- key – ключ туриста
- isMain – признак главного туриста
- ageType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- sex – пол туриста (0 – мужской, 1 – женский)
- firstName – имя (лат)
- lastName – фамилия (лат)
- patronymic – отчество (лат)
- firstNameRus – имя (рус)
- lastNameRus – фамилия (рус)
- patronymicRus – отчество (рус)
- phone – телефон
- email – e-mael
- birthDay – дата рождения
- birthPlace – место рождения
- citizen – гражданство
- internationalPassportSer – серия загранпаспорта
- internationalPassportNum – номер загранпаспорта
- internationalPassportDate – дата выдачи загранпаспорта
- internationalPassportDateEnd – дата окончания загранпаспорта
- internationalPassportByWhom – кем выдан загранпаспорт
- nationalPassportSer – серия паспорта
- nationalPassportNum – номер паспорта
- nationalPassportDate – дата выдачи паспорта
- nationalPassportByWhom – кем выдан паспорт
- postIndex – индекс
- city – город
- street – улица
- build – дом
- flat – квартира
- citizenID – ID туриста
Вызов метода SelectTouristsByDogovorKey POST http://localhost:5010/PaymentService/SelectTouristsByDogovorKey?dgCode=AU20050005
Возвращаемый результат метода SelectTouristsByDogovorKey {
"key": 111125,
"isMain": 1,
"ageType": 0,
"sex": 0,
"firstName": "Ivan",
"lastName": "Ivanov",
"patronymic": "Ivanovich",
"firstNameRus": "Иван",
"lastNameRus": "Иванов",
"patronymicRus": "Иванович",
"phone": "+79991234567",
"email": "ivan@mail.ru",
"birthDay": "01.02.1980",
"birthPlace": "Москва",
"citizen": "Россия",
"internationalPassportSer": "1111",
"internationalPassportNum": "222222",
"internationalPassportDate": "01.05.2022",
"internationalPassportDateEnd": "01.05.2027",
"internationalPassportByWhom": "Отделом УФМС год. Москвы",
"nationalPassportSer": "11",
"nationalPassportNum": "6665544",
"nationalPassportDate": "01.05.2030",
"nationalPassportByWhom": "УФМС 52",
"postIndex": "151515",
"city": "Москва",
"street": "Ленина",
"build": "5",
"flat": "2",
"citizenID": "123456789"
}
|
Информация по путевкам за период (SelectDogovorsInPeriod)
Метод возвращает детальную информацию по путевкам за период.
- Формат запроса:
- GET .../PaymentService/SelectDogovorsInPeriod?
- Принимаемые параметры (* – обязательный):
- beginDate * – дата начала отбора
- endDate * – дата окончания отбора
- selectionType – тип дополнительного отбора
- additionalSelection – значение дополнительного отбора
В качестве параметров нужно передать две даты: дата начала и даты окончания. В отбор попадут путевки, у которых дата создания попадает в указанный период. Можно усилить отбор. Для этого нужно передать в качестве третьего параметра число, определяющее тип отбора:
- 1 – поиск по коду путевки. В качестве четвертого параметра передается код путевки (или его часть). Поиск производится методом LIKE. В отбор попадут все путевки с датой создания в заданном периоду, у которых код путевки содержит строку, указанную в четвертом параметре
- 2 – поиск производится по ФИО главного туриста. При этом используется следующий алгоритм: берется строка: (Фамилия + " " + Имя + " " + Отчество) и в этой строке ищется строка, переданная в четвертом параметре
- 3 – поиск по названию партнера. Поиск производится методом LIKE
- 4 – поиск по ИНН партнера. Поиск производится методом LIKE
- 5 – поиск по ключу статуса путевки
- 6 – поиск по ключу путевки
- 7 – отбор путевок, по которым были сделаны детализации платежей за указанный период (без удаленных платежей). В качестве четвертого параметра можно указать список ключей типов платежей, разделенных знаком ";". Тогда в отборе будут участвовать платежи только с указанным типом. Отбор производится по датам СОЗДАНИЯ платежа.
- 8 – отбор путевок по ключу тура (tourProgramsId)
- 9 – отбор путевок по диапазону дат тура (заезда), в этом случае четвертый параметр не заполняется
- 10 – аналогично варианту 7, только отбор производится по датам ПЛАТЕЖА.
Во всех вариантах кроме 7, 9, 10 в качестве дат используются даты СОЗДАНИЯ ПУТЕВКИ.
- Возвращаемый результат:
- dogovorKey – ключ путевки
- dogovorCode – номер путевки
- createDate – дата создания путевки
- createTime – время создания путевки
- externalNumberPartnerDogovor – номер путевки партнера (поле из Работы менеджеров)
- price – стоимость путевки
- payed – оплачено
- isoCode – ISO-код валюты путевки
- touristId – ключ главного туриста по путевке
- lastName – фамилия главного туриста (лат)
- firstName – имя главного туриста (лат)
- patronymic – отчество главного туриста (лат)
- lastNameRus – фамилия главного туриста (рус)
- firstNameRus – имя главного туриста (рус)
- patronymicRus – отчество главного туриста (рус)
- sex – пол туриста (0 – муж, 1 – жен)
- partnerKey – ключ партнера покупателя путевки
- partnerCode – код партнера
- partnerName – название партнера
- discountSum – сумма скидки по путевке
- priceNationalRate – стоимость путевки в национальной валюте
- payedNationalRate – оплачено по путевке в национальной валюте
- discountNationalRate – сумма скидки по путевке в национальной валюте
- filialKey – ключ филиала
- orderStatusCode – ключ статуса путевки
- orderStatusName – название статуса путевки
- tourDate – дата заезда
- daysCount – количество дней по путевке
- touristCount – количество туристов по путевке
- countryId – ключ страны
- countryName – название страны
- cityId – ключ города
- cityName – название города
- tourProgramsId – ключ тура
- dogovorPartnerKey – ключ договора партнера по путевке
Вызов метода SelectDogovorsInPeriod GET http://localhost:5010/PaymentService/SelectDogovorsInPeriod?beginDate=05.01.2022&endDate=31.05.2022&selectionType=1&additionalSelection=AU
Возвращаемый результат метода SelectDogovorsInPeriod [{
"dogovorKey": 48690,
"dogovorCode": "AU2006000C",
"createDate": "12.05.2022",
"createTime": "11:51:18",
"externalNumberPartnerDogovor": null,
"price": 1200,
"payed": 600,
"isoCode": "USD",
"touristId": 111148,
"lastName": "Ivanov",
"firstName": "Ivan",
"patronymic": "Ivanovich",
"lastNameRus": "Иванов",
"firstNameRus": "Иван",
"patronymicRus": "Иванович",
"sex": 0,
"partnerKey": 12667,
"partnerCode": "658",
"partnerName": "Партнер-покупатель",
"discountSum": 10,
"priceNationalRate": 120000,
"payedNationalRate": 60000,
"discountNationalRate": 10000,
"filialKey": 11587,
"orderStatusCode": 3,
"orderStatusName": "Wait-лист",
"tourDate": "20.06.2022",
"daysCount": 8,
"touristCount": 2,
"countryId": 90,
"countryName": "Австрия",
"cityId": 35,
"cityName": "Вена",
"tourProgramsId": 100011071,
"dogovorPartnerKey": 505
}
]
|
Информация по партнеру по ключу партнера (SelectPartnerInfoByKey)
Метод возвращает детальную информацию по партнеру по ключу партнера.
- Формат запроса:
- POST .../PaymentService/SelectPartnerInfoByKey?
- Принимаемые параметры (* – обязательный):
- key * – ключ партнера
- Возвращаемый результат:
- partnerKey – ключ партнера
- partnerCode – код партнера
- name – название партнера
- fullName – полное название партнера
- phones – телефоны
- email – e-mail
- physicalAddress – физический адрес
- legalAddress – юридический адрес
- inn – ИНН
- kpp – КПП
- okpo – код по ОКПО
- okonh – код по ОКОНХ
- cityKey – ключ города
- cityName – название города
Вызов метода SelectPartnerInfoByKey POST http://localhost:5010/PaymentService/SelectPartnerInfoByKey?key=12667
Возвращаемый результат метода SelectPartnerInfoByKey [{
"partnerKey": 12667,
"partnerCode": "DOV",
"name": "Megatec",
"fullName": "ООО Megatec",
"phones": [
"+7(495)111-22-33"
],
"email": "info@megatec.ru",
"physicalAddress": "Москва, ул. Ленина, д. 1",
"legalAddress": "Москва, ул. Ленина, д. 1",
"inn": "123456789012",
"kpp": "1231231231",
"okpo": "54846546546584",
"okonh": "65468465165466",
"cityKey": 5458,
"cityName": "Москва"
}
]
|
Информация по детализации платежей за период (SelectPaymentsDetailsInPeriod)
Метод возвращает детальную информацию по платежам, созданным в экране Касса (таблица PaymentDetails) за период.
- Формат запроса:
- POST .../PaymentService/SelectPaymentsDetailsInPeriod?
- Принимаемые параметры (* – обязательный):
- beginDate * – дата начала отбора (по дате платежа включительно)
- endDate * – дата конца отбора
- selectionType * – ключ типа дополнительного отбора. Может принимать значения:
- 0 – все платежи. В этом случае параметр "additionalSelection" не передается
- 1 - отбор по внутреннему ключу договора (путевки). Передается один ключ (таблица DogovorList, поле DL_DgKey)
- 2 - отбор по внутреннему ключу платежа из таблицы платежей. Передается один ключ (таблица Payments, поле PM_id)
- 3 - отбор по внутреннему ключу таблицы распределений платежей. Передается один ключ (таблица PaymentDetails, поле PM_id)
- 4 - отбор ключу таблицы платежей. Позволять отобрать детализации по ключу создателя ПЛАТЕЖА. (таблица Payments, поле PD_CreatorKey)
- 5 - отбор ключу. Позволять отобрать детализации по ключу создателя ДЕТАЛИЗАЦИИ платежа (таблица DogovorList, поле DL_Owner)
- 0 – все платежи. В этом случае параметр "additionalSelection" не передается
- additionalSelection * – ключ дополнительного отбора (т.е. например если selectionType=1, то передаем ключ путевки)
- isShowDeleted * – показывать ли удаленные платежи. Если установлен в "0", то удаленные платежи не показываются, в противном случае отображаются все платежи.
- Возвращаемый результат:
- key – ключ детализации платежа
- paymentKey – ключ платежа
- paymentNumber – внутренний номер платежа
- paymentDocumentNumber – номер документа платежа
- paymentDate – дата платежа
- paymentTime – время платежа
- paymentDocumentTypeName – тип платежа
- paymentOperationKey – ключ типа операции
- paymentOperationName – тип операции платежа
- detailSumNationalRate – сумма детализации в национальной валюте
- detailSum – сумма детализации в валюте платежа
- sumDogovorRate – сумма детализации в валюте договора
- isoCode – код валюты платежа
- reason – основание платежа из детализации
- isDeleted – удален ли платеж
- paymentDetailSum – сумма платежа
- paymentSumNationalRate – сумма платежа в национальной валюте
- paymentSumDistributed – сумма распределенной части платежа
- filialKey – внутренний ключ таблицы партнеров, определяет филиал, в котором сформирован платеж
- isDebit – на приход или расход платеж
- distributionCourse – курс распределения
- paymentCreateDate – дата создания платежа
- distributionDate – дата распределения
- distributionCreateDate – дата создания распределения
- dogovorKey – ключ договора. Определяет путевку, по которой было сделано распределение.
- partnerKey – ключ партнера
- userKeyCreatorPayment – ключ создателя платежа
- userKeyCreatorDetailPayment – ключ создателя детализации платежа
- paymentBy – от кого поступил платеж
Вызов метода SelectPaymentsDetailsInPeriod http://localhost:5010/PaymentService/SelectPaymentsDetailsInPeriod?beginDate=01.06.2021&endDate=06.06.2022&selectionType=1&additionalSelection=48748&isShowDeleted=1
Возвращаемый результат метода SelectPaymentsDetailsInPeriod [
{
"key": 3499,
"paymentKey": 3516,
"paymentNumber": 546,
"paymentDocumentNumber": "ПКО 000546",
"paymentDate": "03.06.2022",
"paymentTime": "16:20:37",
"paymentDocumentTypeName": 0,
"paymentOperationKey": 1,
"paymentOperationName": "Оплата за путевки (грн)",
"detailSumNationalRate": 6000.0000,
"detailSum": 6000.0000,
"sumDogovorRate": 6000.0000,
"isoCode": "RUB",
"reason": "Оплата через систему Uniteller, путевка HO04060002",
"isDeleted": null,
"paymentDetailSum": 6000.0000,
"paymentSumNationalRate": 6000.0000,
"paymentSumDistributed": 6000.0000,
"filialKey": 1,
"isDebit": 1,
"distributionCourse": 1.000000,
"paymentCreateDate": "03.06.2022",
"distributionDate": "03.06.2022",
"distributionCreateDate": "03.06.2022",
"dogovorKey": 48748,
"partnerKey": 3516,
"userKeyCreatorPayment": 97,
"userKeyCreatorDetailPayment": 97,
"paymentBy": null
}
]
|
Выбор услуг по ключу путевки (SelectServicesByDogovorKey)
Метод возвращает информацию по услугам по ключу путевки.
- Формат запроса:
- POST .../PaymentService/SelectServicesByDogovorKey?
- Принимаемые параметры (* – обязательный):
- dGCode * – ключ путевки
- Возвращаемый результат:
- key – ключ услуги
- dataBegin – дата начала действия услуги
- dataEnd – дата окончания действия услуги
- name – название услуги
- serviceType – ключ вида услуги
- serviceTypeName – название вида услуги
- tourName – название тура
- countryId – ключ страны
- countryName – название страны
- cityId – ключ города
- cityName – название города
- tourProgramsId – ключ программы тура
- netto – нетто
- realNetto – нетто поставщика
- brutto – брутто
- payed – оплата
- discountSum – скидка
- partnerKey – ключ партнера
- code – код типа услуги по выбранной стране для связанных таблиц
- subCode1 – ключ доп. описания 1
- subCode2 – ключ доп. описания 2
Вызов метода SelectServicesByDogovorKey POST http://localhost:5010/PaymentService/SelectServicesByDogovorKey?DGCode=IS14110005
Возвращаемый результат метода SelectServicesByDogovorKey [
{
"key": 240125,
"dataBegin": "14.11.2022",
"dataEnd": "16.11.2022",
"name": "HOTEL::Эйлат/Isrotel Hotel Managament-2*,3 ночи/-(-),2 Adult/BB3 Buffet Breakfast",
"serviceType": 3,
"serviceTypeName": "Отель/Круиз",
"tourName": " Израиль 3",
"countryId": 729,
"countryName": "Израиль",
"cityId": 194,
"cityName": "Эйлат",
"tourProgramsId": 100011127,
"netto": 36.1409,
"realNetto": 34.0000,
"brutto": 35.4200,
"payed": 35.4500,
"discountSum": 0.7300,
"partnerKey": 13093,
"code": 16698,
"subCode1": 1086069,
"subCode2": 41
}
]
|
Выбор детализации счетов партнеров за период (SelectBillsDetailsInPeriod)
Метод возвращает детализацию счетов партнеров за период.
- Формат запроса:
- POST .../PaymentService/SelectBillsDetailsInPeriod?
- Принимаемые параметры (* – обязательный):
- beginDate * – дата начала отбора
- endDate * – дата окончания отбора
- selectionType – тип дополнительного отбора
- additionalSelection – значение дополнительного отбора
Первые два параметра задают период отбора. Третий параметр задает тип дополнительного отбора. Четвертый – строку дополнительного отбора:
- 1 – отбор по ключу счета партнера (BL_KEY)
- 2 – отбор по номеру счета партнера, по вхождению 'LIKE' (BL_NUMBER)
- 3 – отбор по ключу путевки (BD_DGKEY)
- 4 – отбор по коду путевки, по вхождению 'LIKE' (BD_DGCOD)
- 5 – отбор по ключу услуги (BD_DLKEY)
- 6 – отбор по ключу партнера (BL_PRKEY)
- Возвращаемый результат:
- key – внутренний ключ таблицы распределения счетов партнеров (BD_ID)
- billsKey – внутренний ключ таблицы счетов партнеров (BD_BLKEY из таблицы Bills)
- dogovorKey – ключ путевки (BD_DGKEY)
- dogovorCode – номер путевки (BD_DGCOD)
- serviceType – ключ типа услуги (BD_SVKEY)
- serviceTypeName – название типа услуги (SV_NAME)
- serviceKey – ключ услуги по путевке (BD_DLKEY)
- serviceName – название услуги путевки (DL_NAME)
- dogovorSum – сумма (DB_SUMMATODOG)
- datelastUpdate – дата изменения записи (BL_LastUpdate)
- type – тип счета партнера (BL_TYPE)
- number – номер счета партнера (BL_NUMBER)
- date – дата счета партнера (BL_DATE)
- billsIsoCode – код валюты счета партнера (BL_PRRATE)
- sum – сумма счета партнера (BL_SUMMA)
- isoCode – код валюты платежа (BL_MYRATE)
- payed – оплачено (BL_PAYED)
- remark – заметка (BL_REMARK)
- entryDate – дата занесения (BL_ENTRYDATE)
- maxDate – крайний срок оплаты (BL_MAXDATE)
- partnerKey – ключ партнера (BL_PRKEY)
- partnerName – название партнера (PR_NAME)
- inn – ИНН партнера (PR_INN)
Вызов метода SelectBillsDetailsInPeriod POST http://localhost:5010/PaymentService/SelectBillsDetailsInPeriod?beginDate=01.01.2023&endDate=01.02.2023&selectionType=6&additionalSelection=12668
Возвращаемый результат метода SelectBillsDetailsInPeriod [{
"key": 1263,
"billsKey": 191,
"dogovorKey": 46220,
"dogovorCode": "AU2201000I",
"serviceType": 1,
"serviceTypeName": "Авиаперелет",
"serviceKey": 224282,
"serviceName": А_П::Вена/Москва/7U333, VIE1-DME, 11:00-17:00/Y Экономический класс,
"dogovorSum": 150,
"lastUpdate": "18.01.2023 10:57:47",
"type": 0,
"number": "654",
"date": "10.01.2023",
"billsIsoCode": "$",
"sum": 150,
"isoCode": "$",
"payed": 150,
"remark": "AU2201000I",
"entryDate": "10.01.2023",
"maxDate": "30.01.2023",
"partnerKey": 12668,
"partnerName": "5656",
"inn": "7707083153"
}
]
|
Выбор списка договоров из истории (SelectDogovorsInHistory)
Метод возвращает список измененных договоров на основе информации в таблицах истории.
Необходимо передавать только актуальное значение ключа, иначе будет отбираться большой объем данных продолжительное время.
- Формат запроса:
- POST .../PaymentService/SelectDogovorsInHistory?
- Принимаемые параметры (* – обязательный):
- key * – внутренний ключ таблицы истории, с которого начинается отбор договоров (HI_ID из таблицы History)
- returnType * – тип возвращаемых значений (1 – будут возвращаться ключи договоров, 2 – коды договоров)
- Возвращаемый результат:
- keys – ключ или код договора (HI_DGKEY или HI_DGCODE из таблицы History в зависимости от того какое значение запрошено в параметре "returnType")
- maxKey – максимальное значение ключа таблицы истории, которая участвовала в обработке информации по путевке (HI_ID из таблицы History)
Вызов метода SelectDogovorsInHistory POST http://localhost:5010/PaymentService/SelectDogovorsInHistory?key=-2146368987&returnType=2
Возвращаемый результат метода SelectDogovorsInHistory {
"keys": [
"TU01070002",
"AU03030007",
"TU08070002",
"TU01070003",
"AU31030008",
"TU23040001",
"TU23040002",
"IS27030001",
"TU23040003",
"AU2802000A",
"AU12040005",
"AU2802000E",
"AU11040001",
"AU07040004",
"AU04070006",
"AU06010003",
"AU06010004",
"AU06060007",
"AU0908000A",
"AU11110002",
"AU12040002",
"AU12040003",
"AU12040004",
"AU12040006",
"AU15060002",
"AU23060004",
"AU23110004",
"AU24060011"
],
"maxKey": -2146366385
}
|
Информация по типам состояний путевок (GetDogovorConditionsTypesList)
Метод возвращает информацию по типам состояний путевок из таблицы Order_Status базы данных.
- Формат запроса:
- POST .../PaymentService/GetDogovorConditionsTypesList
- Принимаемые параметры отсутствуют.
- Возвращаемый результат:
- key – ключ статуса (ключ из столбца OS_CODE таблицы Order_Status)
- name – название статуса (ключ из столбца OS_NAME_RUS таблицы Order_Status)
- global – глобальный ключ статуса (ключ из столбца OS_GLOBAL таблицы Order_Status)
Вызов метода GetDogovorConditionsTypesList POST http://localhost:5010/PaymentService/GetDogovorConditionsTypesList
Возвращаемый результат метода GetDogovorConditionsTypesList [
{
"key": 0,
"name": "В работе",
"global": 0
},
{
"key": 1,
"name": "Не определен",
"global": 1
},
{
"key": 2,
"name": "Аннулирован",
"global": 2
},
{
"key": 3,
"name": "Wait-лист",
"global": 3
},
{
"key": 4,
"name": "Не подтвержден",
"global": 4
},
{
"key": 5,
"name": "Wait-лист+Не подтв.",
"global": 5
},
{
"key": 7,
"name": "Ok",
"global": 7
},
]
|
Информация по типам свойств партнеров (GetPartnerPropertyTypesList)
Метод возвращает информацию по типам свойств партнеров.
- Формат запроса:
- POST .../PaymentService/GetPartnerPropertyTypesList?selectionType=3&additionalSelection=10760
- Принимаемые параметры (* – обязательный):
- selectionType * – тип дополнительного отбора (1 - отбор производится по внутреннему ключу таблицы свойств партнеров, 2 - отбор производится по названию свойства партнера, 3 - отбор производится по внутреннему ключу таблицы партнеров, позволяет вывести список свойств для конкретного партнера.)
- additionalSelection * – тип возвращаемых значений (если selectionType=1, то указывается ключ свойства партнеров из столбца PT_Id таблицы PrtTypes; если selectionType=2, то указывается название свойства партнеров из столбца PT_Name таблицы PrtTypes; если selectionType=3, то указывается ключ партнера из столбца PR_KEY таблицы tbl_Partners)
- Возвращаемый результат:
если был отправлен selectionType=1 или selectionType=2
- key – ключ свойства партнера (ключ из столбца PT_Id таблицы PrtTypes)
- name – название свойства партнера (ключ из столбца PT_Name таблицы PrtTypes)
если был отправлен selectionType=3
- key – ключ свойства партнера (ключ из столбца PTP_PTId таблицы PrtTypesToPartners по ключу партнера из параметр additionalSelection в запросе)
- name – название свойства партнера (название из столбца PT_Name таблицы PrtTypesToPartners по ключу партнера из параметр additionalSelection в запросе)
Вызов метода GetPartnerPropertyTypesList http://localhost:5010/PaymentService/GetPartnerPropertyTypesList?selectionType=3&additionalSelection=10760
Возвращаемый результат метода GetPartnerPropertyTypesList [
{
"key": 4,
"name": "Предоставляет сметные услуги"
},
{
"key": 6,
"name": "Авиаперевозчик"
},
{
"key": 7,
"name": "Нерезидент РФ"
},
{
"key": 8,
"name": "Финансовое обеспечение"
},
{
"key": 9,
"name": "Выкупает блоки мест"
},
{
"key": 14,
"name": "Обмен MIS"
},
{
"key": 1001,
"name": "Проверить контакты"
},
{
"key": 1002,
"name": "Запросы (по запросам)"
}
]
|
Информация по счетам за период (SelectInvoicesInPeriod)
Метод возвращает информацию по счетам за период. Отображаются счета из таблицы Accounts у которых в столбце AC_ReportNumber=4020, то есть те по которым сформирован Счет.
- Формат запроса:
- GET .../PaymentService/SelectInvoicesInPeriod?dateBegin=01.02.2022&dateEnd=21.12.2024&selectionType=5&additionalSelection=120
- Принимаемые параметры (* – обязательный):
- dateBegin * – дата начала периода отбора
- dateEnd * – дата окончания периода отбора
- selectionType – тип дополнительного отбора (если не отправляем, то выводятся все счета в заданном периоде)
- 1 – отбор производится по номеру счета (указывается часть номера счета или весь счет, используется запрос LIKE)
- 2 – отбор производится по коду путевки
- 3 – отбор производится по списку ключей таблицы типов параметров партнера, список передается в формате строки, элементы которой разделены знаком ";" (используется запрос IN). Для получения таблицы типов параметров партеров можно использовать метод GetPartnerPropertyTypesList
- 4 – отбор производится по списку ключей таблицы состояний путевок, список передается в формате строки, элементы которой разделены знаком ";" (используется запрос IN). Для получения таблицы состояний путевок можно использовать метод GetDogovorConditionsTypesList
- 5 – отбор производится по номеру счета (указывается конкретный номер счета, в отличие от варианта 1
- Любое число, кроме вышеуказанных (0,6...) или отсутствие параметра – выводятся все счета в заданном периоде
- additionalSelection – строка дополнительного отбора (если selectionType=1, то указывается часть номера счета из столбца AC_NUMBER таблицы Accounts; если selectionType=2, то указывается код путевки из столбца AC_DGCOD таблицы Accounts; если selectionType=3, то указывается ключ типа параметров партнера из столбца PT_Id таблицы PrtTypes; если selectionType=4, то указывается ключ состояний путевок из столбца OS_CODE таблицы Order_Status; если selectionType=5, то указывается номер счета из столбца AC_NUMBER таблицы Accounts)
- Возвращаемый результат:
- key – ключ счета (ключ из столбца AC_KEY таблицы Accounts)
- number – номер счета (ключ из столбца AC_NUMBER таблицы Accounts)
- dogovorCode – код договора, которому принадлежит счет (ключ из столбца AC_DGCODE таблицы Accounts)
- date – дата счета (ключ из столбца AC_DATE таблицы Accounts)
- dogovorKey – внутренний ключ таблицы договоров, определяет договор, которому принадлежит счет (ключ из столбца AC_DGKEY таблицы Accounts)
- createDate – дата создания счета (ключ из столбца AC_CreateDate таблицы Accounts)
- rateCode – код валюты счета (Не ключ валюты!)(ключ из столбца AC_RATE таблицы Accounts)
- course – курс счета (ключ из столбца AC_COURSE таблицы Accounts)
- sum – сумма счета (ключ из столбца AC_SUMUSD таблицы Accounts)
- sumRub – сумма счета в рублях (ключ из столбца AC_SUMRUB таблицы Accounts)
- dogovorRateCode – код валюты договора (Не ключ договора!)
- dogovorSum – сумма договора (ключ из столбца DG_PRICE таблицы tbl_Dogovor)
- dogovorPayed – сумма оплачено по договору (ключ из столбца DG_PAYED таблицы tbl_Dogovor)
- partnerKey – внутренний ключ таблицы партнеров. Определяет партнера по договору (ключ из столбца DG_PARTNERKEY таблицы tbl_Dogovor)
- partnerName – наименование партнера (ключ из столбца PR_KEY таблицы tbl_Partners)
- dogovorStatusKey – ключ состояния договора (Если равен 2, то договор аннулирован) (ключ из столбца DG_SOR_CODE таблицы tbl_Dogovor)
Вызов метода SelectInvoicesInPeriod http://localhost:5010/PaymentService/SelectInvoicesInPeriod?dateBegin=01.01.2012&dateEnd=21.12.2023&selectionType=5&additionalSelection=51
Возвращаемый результат метода SelectInvoicesInPeriod [
{
"key": 453,
"number": "51",
"dogovorCode": "AU09090018",
"date": "13.09.2019",
"dogovorKey": 43923,
"createDate": "13.09.2019",
"rateCode": "рб",
"course": 71.8273,
"sum": 200,
"sumRub": 14365.46,
"dogovorRateCode": "EU",
"dogovorSum": 200.0000,
"dogovorPayed": 0.0000,
"partnerKey": 0,
"partnerName": "Индивидуально",
"dogovorStatusKey": 7
}
]
|