|
|
|
@ -1,9 +1,9 @@
|
|
|
|
|
Спецификация на протокол AVS5RS продажи билетов для автотранспорта
|
|
|
|
|
==================================================================
|
|
|
|
|
|
|
|
|
|
**Версия документа: 1.4**
|
|
|
|
|
**Версия документа: 2.0**
|
|
|
|
|
|
|
|
|
|
**Дата изменения: 26.12.2016**
|
|
|
|
|
**Дата изменения: 22.02.2017**
|
|
|
|
|
|
|
|
|
|
Введение
|
|
|
|
|
========
|
|
|
|
@ -20,65 +20,142 @@
|
|
|
|
|
--------------
|
|
|
|
|
|
|
|
|
|
Обмен данными в протоколе AVS5RS производится через протокол HTTP.
|
|
|
|
|
Передача и прием данных производится в формате XML, с использованием
|
|
|
|
|
Передача и прием данных производится в формате XML или JSON, с использованием
|
|
|
|
|
кодировки UTF-8.
|
|
|
|
|
|
|
|
|
|
Все запросы оправляются методом POST. Каждый метод протокола реализуется
|
|
|
|
|
через отдельный URL, который строится относительно базового адреса
|
|
|
|
|
сервиса, далее обозначаемого как \[BASE\_URL\].
|
|
|
|
|
|
|
|
|
|
Ответы с сервера должны поступать по протоколу HTTP c кодом 200 и
|
|
|
|
|
HTTP-заголовком “Content-Type”, имеющим значение “application/xml; charset=UTF-8”.
|
|
|
|
|
|
|
|
|
|
Доступ к веб-сервису, реализующему протокол AVS5RS, должен быть закрыт с
|
|
|
|
|
применением Basic-аутентификации. Допускается использование протокола
|
|
|
|
|
HTTPS, контроля доступа по IP, передача данных через VPN-соединение.
|
|
|
|
|
|
|
|
|
|
Форматы данных
|
|
|
|
|
--------------
|
|
|
|
|
Отличия от версии 1
|
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
|
|
* Удален атрибут success. Анализ ошибки проиводится по наличию тега Error
|
|
|
|
|
* Изменено именования корневых тегов ответа.
|
|
|
|
|
* Отмена или ворзрат нескольких билетов одновременно.
|
|
|
|
|
* Поддержка формата JSON
|
|
|
|
|
* Введены коды ошибок
|
|
|
|
|
* Поля
|
|
|
|
|
* Passenger
|
|
|
|
|
* Добавлено info
|
|
|
|
|
* Добавлено phone
|
|
|
|
|
* Ticket
|
|
|
|
|
* Дабавлено repayment
|
|
|
|
|
* Удалено chargeFare
|
|
|
|
|
* Удалено chargeOthers
|
|
|
|
|
* Удалено repaymentFare
|
|
|
|
|
* Удалено repaymentOthers
|
|
|
|
|
* Мелкие уточнения
|
|
|
|
|
|
|
|
|
|
Общие форматы данных:
|
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
|
|
Формат даты: `yyyy-MM-dd`, формат даты и времени:
|
|
|
|
|
`yyyy-MM-dd'T'HH:mm:ss`. Пример:
|
|
|
|
|
2016-09-07T13:10:00 (символ T латинский, обязательный) (секунды
|
|
|
|
|
обязательны). Время указано в часовом поясе сервера который
|
|
|
|
|
предоставляет контент.
|
|
|
|
|
|
|
|
|
|
Числа с плавающий точко в качестве разделителя используют точку.
|
|
|
|
|
Дробная часть не обязательна и не более 2 знаков.
|
|
|
|
|
|
|
|
|
|
Все идентификаторы сущностей (id) это строки,
|
|
|
|
|
произвольного формата, длинной до 36 символов. Могут быть как искусственными
|
|
|
|
|
(sequence) так и реальными значениями (номер билета, номер места и.т.д.)
|
|
|
|
|
|
|
|
|
|
Форматы данных XML
|
|
|
|
|
------------------
|
|
|
|
|
|
|
|
|
|
Ответы с сервера должны поступать по протоколу HTTP c кодом 200 и
|
|
|
|
|
HTTP-заголовком “Content-Type”, имеющим значение “application/xml; charset=UTF-8”.
|
|
|
|
|
|
|
|
|
|
Тело XML- ответа должно начинаться с объявления
|
|
|
|
|
`<?xml version="1.0" encoding="UTF-8"?>`. Регистр
|
|
|
|
|
названий тегов и атрибутов должен совпадать с регистром из примеров.
|
|
|
|
|
|
|
|
|
|
XML-ответ сервиса, реализующего протокол в обязательном порядке имеет
|
|
|
|
|
корневой тег `<Response>` с атрибутом success, который указывает на
|
|
|
|
|
результат выполнения запроса: true - корректно, false - нет. Если ответ
|
|
|
|
|
корректный, то данные ответа содержатся во вложенном теге <Body>.
|
|
|
|
|
XML-ответ в обязательном порядке имеет корневой тег, название которого
|
|
|
|
|
должно соответствовать формату "<НазваниеМетодаResponse>" (например EchoResponse, SearchTripsResponse)
|
|
|
|
|
Если ответ корректный, то данные ответа содержатся во вложенном теге <Body>.
|
|
|
|
|
Если ответ не корректный, информация об ошибке должна находиться во
|
|
|
|
|
вложенном теге <Error>, который состоит из кода ошибки в теге
|
|
|
|
|
<code> и описания ошибки в теге <message>. Коды ошибок не
|
|
|
|
|
регламентируются. Описание - это произвольные текст на русском языке,
|
|
|
|
|
поясняющий причину ошибки.
|
|
|
|
|
<code> и описания ошибки в теге <message>. Код ошибок в приложении.
|
|
|
|
|
Описание - это произвольные текст на русском языке,
|
|
|
|
|
поясняющий причину ошибки. Некоторые методы допускают пустой ответ.
|
|
|
|
|
Пустой ответ содержит только корневой тег.
|
|
|
|
|
|
|
|
|
|
Формат даты: `yyyy-MM-dd`, формат даты и времени:
|
|
|
|
|
`yyyy-MM-dd'T'HH:mm:ss`. Пример:
|
|
|
|
|
2016-09-07T13:10:00 (символ T латинский, обязательный) (секунды
|
|
|
|
|
обязательны). Время указано в часовом поясе сервера который
|
|
|
|
|
предоставляет контент. Все идентификаторы сущностей (id) это строки,
|
|
|
|
|
произвольного формата, длинной до 36 символов.
|
|
|
|
|
Пустой ответ:
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<UpdateTicketResponse>
|
|
|
|
|
</UpdateTicketResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Пример ответа в случае успешной обработки запроса:
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<Response success="true">
|
|
|
|
|
<EchoResponse>
|
|
|
|
|
<Body>
|
|
|
|
|
<message>Test</message>
|
|
|
|
|
</Body>
|
|
|
|
|
</Response>
|
|
|
|
|
</EchoResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Пример ответа в случае обработки запроса с ошибкой:
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<Response success="false">
|
|
|
|
|
<BookResponse>
|
|
|
|
|
<Error>
|
|
|
|
|
<code>ERROR</code>
|
|
|
|
|
<message>Место 5 занято</message>
|
|
|
|
|
</Error>
|
|
|
|
|
</Response>
|
|
|
|
|
</BookResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Форматы данных JSON
|
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
|
|
Ответы с сервера должны поступать по протоколу HTTP c кодом 200 и
|
|
|
|
|
HTTP-заголовком “Content-Type”, имеющим значение “application/json; charset=UTF-8”.
|
|
|
|
|
|
|
|
|
|
JSON ответ может быть только JSON-объектом. В теле которого допустимо наличие только одного
|
|
|
|
|
элемента. В случае успешной обработки запроса ответ должен находиться в елементе __body__.
|
|
|
|
|
Если ответ пустой корневой объект должен присутствовать.
|
|
|
|
|
В случае если в ответ присутвует элемент __error__ то считается что во время обработки возникла ошибка.
|
|
|
|
|
Елемент __error__ состоит из строковых полей __code__ и __message__. Назначени полей аналогично формату XML
|
|
|
|
|
|
|
|
|
|
Пустой ответ:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Пример ответа в случае успешной обработки запроса:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"body": {
|
|
|
|
|
"message": "Test"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Пример ответа в случае обработки запроса с ошибкой:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"error": {
|
|
|
|
|
"code": "ERROR",
|
|
|
|
|
"message": "Место 5 занято"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Методы протокола
|
|
|
|
@ -103,18 +180,33 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
</EchoRequest>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"message": "Test"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Ответ:
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
|
|
|
<Response success="true">
|
|
|
|
|
<EchoResponse>
|
|
|
|
|
<Body>
|
|
|
|
|
<!-- Сообщение переданное в запросе -->
|
|
|
|
|
<message>Test</message>
|
|
|
|
|
</Body>
|
|
|
|
|
</Response>
|
|
|
|
|
</EchoResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"body": {
|
|
|
|
|
"message": "Test"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### getDispatchStations
|
|
|
|
|
|
|
|
|
|
Метод получения станций отправления. Продажа происходит от станции
|
|
|
|
@ -132,11 +224,15 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
</GetDispatchStationsRequest>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Ответ:
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<Response success="true">
|
|
|
|
|
<GetDispatchStationsResponse>
|
|
|
|
|
<Body>
|
|
|
|
|
<!-- Станция -->
|
|
|
|
|
<Station>
|
|
|
|
@ -162,15 +258,43 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
<okato>45000000000</okato>
|
|
|
|
|
</Station>
|
|
|
|
|
</Body>
|
|
|
|
|
</Response>
|
|
|
|
|
</GetDispatchStationsResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"body": [
|
|
|
|
|
{
|
|
|
|
|
"id": "983",
|
|
|
|
|
"name": "ВДНХ АС",
|
|
|
|
|
"region": "Москва",
|
|
|
|
|
"okato": "45000000000"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "853",
|
|
|
|
|
"name": "Варшавская АС",
|
|
|
|
|
"region": "Москва",
|
|
|
|
|
"okato": "45000000000"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "6",
|
|
|
|
|
"name": "Красногвардейская АС",
|
|
|
|
|
"region": "Москва",
|
|
|
|
|
"okato": "45000000000"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### getArrivalStations
|
|
|
|
|
|
|
|
|
|
Метод получения станций назначения от станции отправления. В параметре
|
|
|
|
|
принимает идентификатор станции отправления. Станциями назначения могут
|
|
|
|
|
быть любые остановочные пункты до которых есть хотя бы один рейс. Если
|
|
|
|
|
станций назначения нет, метод должен вернуть пустой список.
|
|
|
|
|
станций назначения нет, метод должен вернуть пустой список.
|
|
|
|
|
В случае отсутствия станций назначения для указанной станции отправления
|
|
|
|
|
возвращать пустой ответ.
|
|
|
|
|
|
|
|
|
|
**URL: \[BASE\_URL\]/sales/getArrivalStations**
|
|
|
|
|
|
|
|
|
@ -184,44 +308,52 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
</GetArrivalStationsRequest>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"dispatchStationId": "983"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Ответ:
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<Response success="true">
|
|
|
|
|
<Body>
|
|
|
|
|
<Station>
|
|
|
|
|
<id>1069</id>
|
|
|
|
|
<name>Рыбинск</name>
|
|
|
|
|
<region>Ярославская область</region>
|
|
|
|
|
<okato>78415000000</okato>
|
|
|
|
|
</Station>
|
|
|
|
|
<Station>
|
|
|
|
|
<id>1018</id>
|
|
|
|
|
<name>Сергиев Посад</name>
|
|
|
|
|
<region>Московская область</region>
|
|
|
|
|
<okato>46215501000</okato>
|
|
|
|
|
</Station>
|
|
|
|
|
<Station>
|
|
|
|
|
<id>1084</id>
|
|
|
|
|
<name>Углич</name>
|
|
|
|
|
<region>Ярославская область</region>
|
|
|
|
|
<okato>78420000000</okato>
|
|
|
|
|
</Station>
|
|
|
|
|
<Station>
|
|
|
|
|
<id>1078</id>
|
|
|
|
|
<name>Утена</name>
|
|
|
|
|
<region>Литва</region>
|
|
|
|
|
</Station>
|
|
|
|
|
</Body>
|
|
|
|
|
</Response>
|
|
|
|
|
{
|
|
|
|
|
"body": [
|
|
|
|
|
{
|
|
|
|
|
"id": "1069",
|
|
|
|
|
"name": "Рыбинск",
|
|
|
|
|
"region": "Ярославская область",
|
|
|
|
|
"okato": "78415000000"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "1018",
|
|
|
|
|
"name": "Сергиев Посад",
|
|
|
|
|
"region": "Московская область",
|
|
|
|
|
"okato": "46215501000"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "1084",
|
|
|
|
|
"name": "Углич",
|
|
|
|
|
"region": "Ярославская область",
|
|
|
|
|
"okato": "78420000000"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "1078",
|
|
|
|
|
"name": "Утена",
|
|
|
|
|
"region": "Литва"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### searchTrips
|
|
|
|
|
|
|
|
|
|
Метод возвращает список рейсов от станции отправления до станции
|
|
|
|
|
назначения на заданную дату. В параметрах передается идентификатор
|
|
|
|
|
станции отправления, идентификатор станции назначения и дата.
|
|
|
|
|
станции отправления, идентификатор станции назначения и дата.
|
|
|
|
|
В случае отсутствия рейсов для указанных параметров возвращать пустой ответ.
|
|
|
|
|
Рейсы должны быть отсортированы по дате отправления.
|
|
|
|
|
|
|
|
|
|
**URL: \[BASE\_URL\]/sales/searchTrips**
|
|
|
|
|
|
|
|
|
@ -243,7 +375,7 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<Response success="true">
|
|
|
|
|
<SearchTripsResponse>
|
|
|
|
|
<Body>
|
|
|
|
|
<!-- Рейс-->
|
|
|
|
|
<Trip>
|
|
|
|
@ -326,7 +458,7 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
<freeSeatCount>49</freeSeatCount>
|
|
|
|
|
</Trip>
|
|
|
|
|
</Body>
|
|
|
|
|
</Response>
|
|
|
|
|
</SearchTripsResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### getFreeSeats
|
|
|
|
@ -355,7 +487,7 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<Response success="true">
|
|
|
|
|
<GetFreeSeatsResponse>
|
|
|
|
|
<Body>
|
|
|
|
|
<!-- Место-->
|
|
|
|
|
<Seat>
|
|
|
|
@ -377,7 +509,7 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
<type>Сидячее</type>
|
|
|
|
|
</Seat>
|
|
|
|
|
</Body>
|
|
|
|
|
</Response>
|
|
|
|
|
</GetFreeSeatsResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### getTicketTypes
|
|
|
|
@ -406,7 +538,7 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<Response success="true">
|
|
|
|
|
<GetTicketTypesResponse>
|
|
|
|
|
<Body>
|
|
|
|
|
<TicketType>
|
|
|
|
|
<!-- Идентификатор типа билета. Обязателен. Может совпадать с названием. -->
|
|
|
|
@ -435,7 +567,7 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
<ticketClass>BAGGAGE</ticketClass>
|
|
|
|
|
</TicketType>
|
|
|
|
|
</Body>
|
|
|
|
|
</Response>
|
|
|
|
|
</GetTicketTypesResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### getDocumentTypes
|
|
|
|
@ -471,7 +603,7 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<Response success="true">
|
|
|
|
|
<GetDocumentTypesResponse>
|
|
|
|
|
<Body>
|
|
|
|
|
<DocumentType>
|
|
|
|
|
<!-- ID типа документа. Обязателен. -->
|
|
|
|
@ -488,7 +620,7 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
<name>Свидетельство о рождении</name>
|
|
|
|
|
</DocumentType>
|
|
|
|
|
/Body>
|
|
|
|
|
</Response>
|
|
|
|
|
</GetDocumentTypesResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Таблица 1. Коды документов, удостоверяющих личность, при передаче в АЦБПДП
|
|
|
|
@ -553,7 +685,7 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<Response success="true">
|
|
|
|
|
<GetTripStopsResponse>
|
|
|
|
|
<Body>
|
|
|
|
|
<Stop>
|
|
|
|
|
<!-- ID остановки. Совпадает с ID станции. Обязателен. -->
|
|
|
|
@ -594,7 +726,7 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
<price>1177</price>
|
|
|
|
|
</Stop>
|
|
|
|
|
</Body>
|
|
|
|
|
</Response>
|
|
|
|
|
</GetTripStopsResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### bookOrder
|
|
|
|
@ -655,6 +787,8 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
FEMALE - Женский
|
|
|
|
|
-->
|
|
|
|
|
<gender>MALE</gender>
|
|
|
|
|
<!-- Телефон пассажира. Не обязателен. -->
|
|
|
|
|
<phone>999-888-77-66</phone>
|
|
|
|
|
<!--
|
|
|
|
|
Дополнительная произвольная информация. Не обязательно.
|
|
|
|
|
-->
|
|
|
|
@ -675,14 +809,14 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<Response success="true">
|
|
|
|
|
<BookOrderResponse>
|
|
|
|
|
<Body>
|
|
|
|
|
<!-- Идентификатор заказ. Обязателен. -->
|
|
|
|
|
<orderId>9828350</orderId>
|
|
|
|
|
<!-- Время жизни заказа. В минутах. Не обязателен. По умолчанию значение 30 -->
|
|
|
|
|
<lifetime>30</lifetime>
|
|
|
|
|
</Body>
|
|
|
|
|
</Response>
|
|
|
|
|
</BookOrderResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### getOrder
|
|
|
|
@ -709,7 +843,7 @@ XML-ответ сервиса, реализующего протокол в об
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<Response success="true">
|
|
|
|
|
<GetOrderResponse>
|
|
|
|
|
<Body>
|
|
|
|
|
<!-- Идентификатор заказа. Обязателен. -->
|
|
|
|
|
<orderId>9828350</orderId>
|
|
|
|
@ -776,25 +910,20 @@ RETURNED Выполнен возврат билета. Данный статус
|
|
|
|
|
<birthday>1985-01-01</birthday>
|
|
|
|
|
<citizenshipISO2>RU</citizenshipISO2>
|
|
|
|
|
<gender>MALE</gender>
|
|
|
|
|
<phone>999-888-77-66</phone>
|
|
|
|
|
<info>FewwLks Mq</info>
|
|
|
|
|
</Passenger>
|
|
|
|
|
<!-- Тариф (руб). Обязателен после подтверждения. -->
|
|
|
|
|
<fare>0</fare>
|
|
|
|
|
<!-- Cборы (руб). Обязателен после подтверждения. Если нет то 0. -->
|
|
|
|
|
<fees>0</fees>
|
|
|
|
|
<!-- Удержано Тариф (руб). Обязателен в случает возврата или отмены. -->
|
|
|
|
|
<chargeFare>0</chargeFare>
|
|
|
|
|
<!-- Удержано Остальные сборы (руб). Обязателен в случает возврата или отмены. -->
|
|
|
|
|
<chargeOthers>0</chargeOthers>
|
|
|
|
|
<!-- Возврат Тариф (руб). Обязателен в случает возврата или отмены. -->
|
|
|
|
|
<repaymentFare>0</repaymentFare>
|
|
|
|
|
<!-- Возврат Остальные сборы (руб). Обязателен в случает возврата или отмены. -->
|
|
|
|
|
<repaymentOthers>0</repaymentOthers>
|
|
|
|
|
<!-- Удержано Остальные сборы (руб). Обязателен в случает возврата. -->
|
|
|
|
|
<repayment>0</repaymentFare>
|
|
|
|
|
<!-- Информация о страховании. Обязательно. Необходим при печати билета. -->
|
|
|
|
|
<insuranceInfo>СТРАХОВЩИК: ПАО "Росстрах"; 119991; г. Москва; ул. Большая Ордынка; д. 40; стр.</insuranceInfo>
|
|
|
|
|
</Ticket>
|
|
|
|
|
</Body>
|
|
|
|
|
</Response>
|
|
|
|
|
</GetOrderResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### confirmOrder
|
|
|
|
@ -814,6 +943,7 @@ bookOrder или updateTicket. Вызов этого метода означае
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<ConfirmOrderRequest>
|
|
|
|
|
<!-- ID заказа. Обязателен. -->
|
|
|
|
|
<orderId>9828585</orderId>
|
|
|
|
|
<!-- Агент выполнивший операцию. Не Обязателен. -->
|
|
|
|
|
<Agent>
|
|
|
|
@ -827,16 +957,19 @@ bookOrder или updateTicket. Вызов этого метода означае
|
|
|
|
|
|
|
|
|
|
Ответ:
|
|
|
|
|
|
|
|
|
|
Ответ аналогичен ответу на запрос [getOrder](#getorder)
|
|
|
|
|
Ответ аналогичен ответу на запрос [getOrder](#getorder) c именем корневого тега ConfirmOrderResponse
|
|
|
|
|
|
|
|
|
|
### cancelTicket
|
|
|
|
|
|
|
|
|
|
Отмена билета. Техническая операция, выполняет полный возврат билета без
|
|
|
|
|
Отмена одного или нескольких билетов. Техническая операция, выполняет полный возврат билета без
|
|
|
|
|
удержаний. Необходима при нештатных ситуациях: в случае сбоев ККМ или
|
|
|
|
|
обнаружения ошибки выбора рейса, персональных данных. В параметрах
|
|
|
|
|
принимает идентификатор билета и информацию об агенте который совершил
|
|
|
|
|
операцию. Можно выполнять после создания заказа и в течении 5-30 минут
|
|
|
|
|
после подтверждения заказа.
|
|
|
|
|
принимает идентификаторы билета и информацию об агенте который совершил
|
|
|
|
|
операцию. Все билеты должны быть обработы в рамках одной транзакции.
|
|
|
|
|
т.е. если было передано 2 билета, первый был обработан а при обработке второго возникла ошибка
|
|
|
|
|
то обработка первого должна быть отменена.
|
|
|
|
|
Можно выполнять после создания заказа и в течении 5-30 минут
|
|
|
|
|
после подтверждения заказа.
|
|
|
|
|
|
|
|
|
|
**URL: \[BASE\_URL\]/sales/cancelTicket**
|
|
|
|
|
|
|
|
|
@ -845,7 +978,9 @@ bookOrder или updateTicket. Вызов этого метода означае
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<CancelTicketRequest>
|
|
|
|
|
<ticketId>12435434</ticketId>
|
|
|
|
|
<!-- ID билетов для возврата. произвольное количество тегов. -->
|
|
|
|
|
<ticketId>34</ticketId>
|
|
|
|
|
<ticketId>36</ticketId>
|
|
|
|
|
<!-- Агент выполнивший операцию. Не Обязателен. -->
|
|
|
|
|
<Agent>
|
|
|
|
|
<!-- Имя агента. Не обязателен.-->
|
|
|
|
@ -858,12 +993,15 @@ bookOrder или updateTicket. Вызов этого метода означае
|
|
|
|
|
|
|
|
|
|
Ответ:
|
|
|
|
|
|
|
|
|
|
Ответ аналогичен ответу на запрос [getOrder](#getorder)
|
|
|
|
|
Ответ аналогичен ответу на запрос [getOrder](#getorder) c именем корневого тега CancelTicketResponse
|
|
|
|
|
|
|
|
|
|
### returnTicket
|
|
|
|
|
|
|
|
|
|
Возврат билета. При возврате возможны удержания. В параметрах принимает
|
|
|
|
|
идентификатор билета и информацию об агенте который совершил операцию.
|
|
|
|
|
Возврат одного или нескольких билетов. При возврате возможны удержания. В параметрах принимает
|
|
|
|
|
идентификатор билета и информацию об агенте который совершил операцию.
|
|
|
|
|
Все билеты должны быть обработы в рамках одной транзакции.
|
|
|
|
|
т.е. если было передано 2 билета, первый был обработан а при обработке второго возникла ошибка
|
|
|
|
|
то обработка первого должна быть отменена.
|
|
|
|
|
Билет можно вернуть только после подтверждения confirmOrder.
|
|
|
|
|
|
|
|
|
|
**URL: \[BASE\_URL\]/sales/returnTicket**
|
|
|
|
@ -873,7 +1011,9 @@ bookOrder или updateTicket. Вызов этого метода означае
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<ReturnTicketRequest>
|
|
|
|
|
<ticketId>12435435</ticketId>
|
|
|
|
|
<!-- ID билетов для возврата. произвольное количество тегов. -->
|
|
|
|
|
<ticketId>35</ticketId>
|
|
|
|
|
<ticketId>36</ticketId>
|
|
|
|
|
<!-- Агент выполнивший операцию. Не Обязателен. -->
|
|
|
|
|
<Agent>
|
|
|
|
|
<!-- Имя агента. Не обязателен.-->
|
|
|
|
@ -886,7 +1026,7 @@ bookOrder или updateTicket. Вызов этого метода означае
|
|
|
|
|
|
|
|
|
|
Ответ:
|
|
|
|
|
|
|
|
|
|
Ответ аналогичен ответу на запрос [getOrder](#getorder)
|
|
|
|
|
Ответ аналогичен ответу на запрос [getOrder](#getorder) c именем корневого тега ReturnTicketResponse
|
|
|
|
|
|
|
|
|
|
### updateTicket
|
|
|
|
|
|
|
|
|
@ -945,6 +1085,7 @@ bookOrder или updateTicket. Вызов этого метода означае
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<Response success="true">
|
|
|
|
|
</Response>
|
|
|
|
|
<UpdateTicketResponse>
|
|
|
|
|
</UpdateTicketResponse>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|