Введение

API Corteos представляет собой набор SOAP-сервисов, с которыми необходимо работать при помощи SOAP-клиента на используемой вами платформе. За счет этого обеспечивается целостность структур данных и безопасность XML-взаимодействия.

API позволяет работать со статикой (справочники персон, кодов и так далее), а также работать с заказами для клиента и агента:

API доступен пользователям клиентов и агентов с административными системными ролями: для клиента это Тревел-менеджер.

Для работы с API необходимо получить токен, кроме того, на стороне разработчика следует определить политику работы с токеном:

  • можно создать токен, который годен условно бесконечное время, и генерить его заново в том случае, если безопасность токена скомпрометирована;

  • можно создать токен, который годен в течение короткого времени (например, в течение одного дня) и автоматически генерить токен по завершению периода его годности.

В общем случае, второй механизм является чуть более безопасным, но менее удобным в поддержке, так как в этом случае на стороне пользователя API необходимо хранить также дату и время годности токена в формате DateTime.

Для принудительной деактивации токена следует использовать метод уничтожения токена.

Разбор ответа

Ответ метода API содержит в себе следующие элементы:

  • Trace - информация, которую необходимо предоставить в службу поддержки для анализа инцидента:

    • ResponseDate - дата и время формирования ответа;

    • SessionID - идентификатор сеанса. По нему сотрудник поддержки сможет найти лог взаимодействия;

    • IP - адрес, с которого было отправлено обращение;

    • WebSite - название сайта, на котором был выполнен данный запрос.

  • Errors - коллекция ошибок. Каждая ошибка содержит в себе тип ошибки и описание.

    • Type - тип ошибки. Классические типы ошибок следующие:

      • ValidationException - ошибка целостности данных (например, обращение к недоступному объекту);

      • InvalidDataException - ошибка валидации данных (например, передан пустой email или номер телефона);

      • AccessRightsException - ошибка, связанная с валидацией прав (например, если из-под агента обращаться к данным клиента, не выполнив предварительно вход от имени клиента).

    • Text - текстовое сообщение с деталями ошибки;

    • ResponseDetails - контейнер, содержащий ответ на запрос.

 

Пример успешного ответа:

 

Пример ответа с ошибкой:

Соответственно, по SessionID сотрудник службы поддержки может найти событие в журнале запросов:

И далее в списке событий находим интересующее нас по времени из ResponseDate:


Успешный запрос или ответ с ошибками уровня бизнес-логики возвращает HTTP Status Code 200.

 

В том случае, если мы передали некорректные данные для авторизации или обращаемся к удаленному токену, то возвращается код 500 и стандартная обертка SOAP Exception:

Про два вида API для работы со статикой можно прочитать здесь.

Примеры:

Пример ответа с ошибкой



____