Базовые элементы
Общие поля для всех методов
Все запросы и ответы Авиа-сервера имеют определённый набор общих элементов.
Запрос
Тело любого запроса состоит из трёх основных элементов.
Реквизиты
- Requisites — реквизиты доступа к серверу (опционально). Тип данных — сложный.
- Requisites.Login — логин для доступа к серверу (опционально). Тип данных — строка.
- Requisites.Password — пароль для доступа к серверу (опционально). Тип данных — строка.
- Requisites.AuthToken — ключ доступа к серверу (опционально). Тип данных — строка. Необходимо либо указывать ключ доступа, либо связку логина с паролем.
- Requisites.NemoOneAuthToken — ключ для авторизации по ID пользователя Nemo 1 (опционально). Тип данных — строка.
Идентификатор пользователя
- UserID — идентификатор пользователя, выполняющего запрос к серверу (опционально). Тип данных — целое неотрицательное 32-битное число.
Тело запроса
- RequestBody — тело запроса к серверу. Тип данных — сложный.
Ответ
Основные элементы любого ответа
Идентификатор запроса
- RequestID — идентификатор обработанного запроса. Тип данных — целое 64-битное число. Не может быть меньше 0.
Ошибки
- Errors — массив информации об ошибках, произошедших при обработке запроса (обязательно). Тип данных — массив.
- Errors.Error — информация об одной ошибке, произошедшей при обработке запроса (обязательно). Тип данных — сложный.
- Errors.Error.Level — сообщение об ошибке, полученное от поставщика (обязательно). Тип данных — перечисление, возможные значения:
- APIFormat — ошибка уровня валидации запроса.
- Supplier — ошибка, полученная от поставщика услуг или внешнего источника данных.
- Runtime — ошибка в процессе обработки запроса.
- Network - непредвиденная ошибка сети.
- Errors.Error.Code — код произошедшей ошибки (обязательно). Тип данных — ushort (беззнаковое 16-битное число).
- Errors.Error.Message — серверное сообщение об ошибке (обязательно). Тип данных — строка.
- Errors.Error.ServiceMessage — сообщение об ошибке, полученное от поставщика (опционально). Тип данных — строка.
- Errors.Error.AdditionalInfo — содержит различную дополнительную информацию об ошибке (опционально). Тип данных — сложный.
- Errors.Error.AdditionalInfo.InfoItem — единичная дополнительная информация об ошибке (опционально). Тип данных — сложный.
- Errors.Error.AdditionalInfo.InfoItem.InfoKey — тип дополнительной информации (опционально). Тип данных — перечисление, возможные значения:
- SegmentsStatus — информация о статусах сегментов при невалидном статусе одного из них при бронировании (опционально). Передаётся в формате номер_сегмент:статус_сегмента,номер_сегмент:статус_сегмента и так далее по числу сегментов, где «,» — разделитель информации о разных сегментах, а «:» — разделитель номера (нумерация с 0) и статуса этого сегмента.
- Errors.Error.AdditionalInfo.InfoItem.InfoValue — дополнительная информация об ошибке (опционально). Тип данных — строка.
Предупреждения
- Warnings — массив важных информационных сообщений о специфике обработки запроса. Тип данных — массив.
- Warnings.Warning — информационное сообщение о специфике обработки запроса. Тип данных — сложный.
- Warnings.Warning.Code — код типа сообщения. Тип данных — ushort (беззнаковое 16-битное число).
- Warnings.Warning.Message — текст сообщения. Тип данных — строка.
Тело ответа
- ResponseBody — контейнер для тела ответа. Тип данных — сложный.
Пример блока авторизации по AuthToken
<ns1:Requisites>
<stl:AuthToken>****</stl:AuthToken>
</ns1:Requisites>
<ns1:UserID>11111</ns1:UserID>