T: відмінності між версіями

Матеріал з expertsolution
Перейти до навігації Перейти до пошуку
Немає опису редагування
м (Zavalypich.i перейменував сторінку з API ExternalService на T)
 
(Не показані 32 проміжні версії цього користувача)
Рядок 1: Рядок 1:
=Формат запитів JSON=
Формат переданих і прийнятих даних – протокол обміну JSON. Кодування запиту та відповіді UTF8.<br>
Запити повинні містити інформацію про авторизацію, відповіді повинні містити інформацію про версію протоколу, знімок часу в момент відповіді сервера, інформацію про помилку.  Приклад запиту та відповіді наведено нижче.<br>


Права доступу розрізняються залежно від пари користувач/пароль, які вводяться в кожному JSON-запиті в розділі «Облікові дані»:<br>
<pre>
{
    "Credentials": {
        "UserName": "UserName",
        "Password": "User Password"
    },
}</pre>
=Формат даних=
* Формат дати/часу: "yyyy-MM-dd HH:mm:ss";
* Формат дати: "yyyy-MM-dd"
* Формат часу: "HH:mm"
* Роздільник типів із плаваючою крапкою(double): "."
=Опис функцій спілкування=
==GetGuestsModified==
Отримання інформації про гостей готелю.<br>
Параметри: дані авторизації, готель (декілька?), час оновлення даних (обрізано те, що було раніше, якщо не вказано, то тільки для всіх гостей, що проживають,<br>
або наступне бронювання, або останнє перебування в номері), масив з переборами відображених даних (проживання гостей (за замовчуванням, якщо не вказано), бронювання, виїзду, контактна інформація для гостей)<br>
'''Вхідні параметри:'''
<pre>
{
"Credentials" : {
"UserName" : "UserName",
"Password" : "User Password"
},
// 0 – всі доступні готелі
"Hotels" : [1, 2,...],
// дата з часом, показувати номери, зміни у яких сталися після вказаного часу.
"ModifiedDateFrom" : "2019-11-12 12:33:45",
// необов’язковий фільтр за ідентифікаторами гостей
"GuestsID" : ["1", .....] ,
// відповідно заброньовані, що проживають, останній виїхавший по номеру, анульований, незаїзд.
"GuestStatus" : [0,2,3,-1,-2],
// отримувати вартість гостя, за замовчуванням ні
"isNeedCostInfo" : "0",
// літерні коди класів послуг, нарахування по яких потрапляють у вартість
"ServiceClasses":[""],
// літерні коди підкласів послуг, нарахування по яких не потраплятимуть у вартість
"ExcludeServiceSubclasses":[""],
// виводити дані по анкетах у гостей, за замовчуванням ні
"isNeedClientInfo" : "0",
// вивантажувати фото клієнта
"isNeedClientPhoto" : "0",
// виводити дані по документах в анкетах, за замовчуванням ні
"isNeedDocumentsInfo" : "0",
// ПІБ гостя
"GuestName" : "Петров Петро Петрович",
// Номер телефону
"PhoneNumber" : "0991232233",
// Пошта
"Mail" : "user@gmail.com",
// Ідентифікатор анкети гостя
"ClientID" : 654,
// Вподобання
"Preferences": [
                  {
                  "Code": "carnumber",
                        "Value": "333-44-55"                   
                  }
                ],
// Комплексний пошук по конкретних полях
"ComplexSearch": {
                  "SearchString": "+380991112233",
                        "SearchObjects": ["GuestName", "Phone", "Email", "RoomNumber", "AccountNumber", "IdentityCard"]                   
                  }
}
</pre>
'''Значення, що повертається:'''
<pre>
{
"VersionInfo" : "0.1",
// час, коли почали формувати відповідь на сервері у UTC (мілісекунди)
"RequestTime" : "345356546",
// код помилки, 0 – помилок немає
"ErrorCode" : "0",
"ErrorText" : "" ,
"Hotels" : [
"HotelInformation" : {
"HotelID" : 1,
"HotelName" : "Назва",
"HotelShortName" : "КороткаНазва"
},
"Guests" : [ {
"Room" : {
"RoomId" : 1,
"RoomNumber" : "1001",
"Floor" : "10",
"RoomType" : {
"RoomTypeName" : "",
"RoomTypeShortName" : "",
"RoomTypeId" : "",
"Beds" : "1",
"AddBeds" : "0"
}
}, 
"Guest" : #GuestInformation#
}
] // Гості
] // Готелі
}
</pre>
==GetClientsModified==
'''Вхідні параметри:'''
<pre>
{
"Credentials": {
"UserName": "UserName",
"Password": "User Password"
},
// 0 – всі доступні готелі
"Hotels": [1, 2, ...],
// Дата з часом у UTC, показувати анкети, зміни у яких сталися після вказаного часу.
"ModifiedDateFrom": "",
// необов’язковий фільтр за ідентифікаторами клієнтів
"ClientsID": [1, ...],
// фільтри для анкет
"Phones": [""],
"Emails": [""],
"FirstName": "",
"LastName": "",
"MiddleName": "",
// серія та номер документа без роздільників
"DocumentSeriesAndNumber": "",
// ІПН документа
"DocumentIIN": "",
"Sex": true, // true - чоловічий, false - жіночий
"BirthDay": "1982-08-01",
// Вподобання
"Preferences": [
{
"Code": "carnumber",
"Value": "333-44-55"
}
],
// Комплексний пошук по конкретних полях
"ComplexSearch": {
"SearchString": "+380991112233",
"SearchObjects": ["LastName", "FirstName", "MiddleName", "Phone", "Email", "AccountNumber"]
}
}
</pre>
'''Значення, що повертається:'''
<pre>
{
"VersionInfo": "0.1",
//время когда начали формировать ответ на сервере в UTC
"RequestTime": "",
//Код ошибки, 0 – нет ошибок
"ErrorCode": "0",
"ErrorText": "",
"Clients": [
"Client": {
"ClientID": "1",
"FirsName": "",
"MiddleName": "",
"LastName": "",
"BirthDay": "",
"Email":"guest@gmail.com",
"Phone":"+79997776655",
"Comment":"Like smoking",
            "GuestsID":[1,2],   
"Documents": [
"PersonDocument": {
"DocumentType": ,
"DocumentNumber": ,
"DocumentSeries": ,
"DocumentDateIssue": "",
"DocumentDateEnd": "",
"IIN": "",
}
]
}
]// Clients
}
</pre>

Поточна версія на 10:38, 25 червня 2025