Контакт (RW_Contact)

Контакт (RW_Contact) - контактные данные (например, мобильный или городской телефон или адрес электронной почты). Контактная информация нужна для того, чтобы сотрудник агентства мог связаться с пассажиром (возможно получить информацию о контактах из карточки пассажира в деталях заказа); кроме того, некоторые типы контактов могут передаваться в системы бронирования:

  • мобильный телефон - передается в системы бронирования авиабилетов.
    Также телефон передается при заказе Аэроэкспресса для отправки пассажиру QR-кода;

  • адрес электронной почты - передается в системы бронирования авиабилетов в соответствии с резолюцией IATA.

Контакт характеризуется следующими полями:

  • id_Contact (пример: "123") - первичный ключ контакта.
    Если мы создаем новый контакт, то значение не передаем; если редактируем существующий - передаем идентификатор (число);

  • id_Person (пример - "123") - ссылка на идентификатор персоны (обязательное поле, число);

  • id_ContactType (пример - "2") - ссылка на тип контакта (обязательное поле, число);

  • Content (пример - "ivanov@super.com") - содержание контакта, например, сам телефон или email (обязательное поле, строка);

Контент контакта валидируется в зависимости от переданного типа (id_ContactType):

  • 1 - Прочий телефон. Поле должно быть просто не пустым, может содержать любые символы или цифры;

  • 2 - Мобильный телефон. Номер должен соответствовать формату маски ввода, которая используется на форме ввода контактной информации (правила валидации взяты из libphonenumber) - корректный мобильный телефон в России состоит из 11 знаков и начинается с +7 (пример: "+79039030303");

  • 3 - Email. Введенный адрес валидируется при помощи регулярного выражения "^.+@.+\.([A-zА-я]){2,}$".

В интерфейсе редактирование контактов доступно в редакторе персон, в который агент попадает через раздел "Travel management" в редакторе договоров, а клиент - из меню настроек при условии, что настройка его роли предоставляет ему доступ к редактированию персональных данных.

Под клиентом из этого меню:

image-20240507-162235-20240801-082527.png

Мы попадаем в список персон и кликнув по любой из них, в открывшемся окне редактора персоны видим список контактов:


Соответствие полей интерфейса полям модели:

Соответственно, действие, аналогичное редактированию контакта из API, можно произвести на интерфейсе в разделе контактов персоны.

Перед использованием метода необходимо пройти аутентификацию и получить валидный токен, а также, если мы работаем от имени агента, получить контекст клиента.

Для получения контекста контакта используется сервис ContactManagement.asmx

WSDL можно скачать с демо-сайта: https://stage1.corteos.ru/XmlGate/V3/StaticData/Contacts/ContactManagement.asmx?wsdl

Для работы в продуктовой среде необходимо заменить “stage1.corteos.ru на свой домен (на котором работают пользователи вашей компании).

В API реализованы следующие методы для работы с контактами:

  1. GetV2 - получение контакта по первичному ключу (RW_Contact.id_Contact);

  2. SaveV2 - создание нового контакта или редактирование существующего;

  3. ListV2 - получение списка контактов персоны;

  4. DeleteV2 - удаление контакта по первичному ключу.

Подробное описание методов с примерами:

  1. Получение контакта по первичному ключу (GetV2)

Для проведения выгрузки данных, необходимо передать первичный ключ контакта (id_Contact).

Запрос / Ответ

  1. Создание нового контакта или редактирование существующего (SaveV2)

Для сохранения изменений в уже созданном контакте необходимо передать:

  • первичный ключ контакта (id_Contact);

  • первичный ключ персоны (id_Person);

  • тип контакта (id_ContactType);

  • содержание контакта (Content).

В том случае, если мы создаем новый контакт, первичный ключ не передаем.

Если нам надо удалить контакт, то в атрибуте deleted передаем значение true.

Запрос на создание / Запрос на обновление / Ответ

  1. Получение списка контактов персоны (ListV2)

Получить список контактов можно по идентификатору персоны (id_Person), которой эти контакты принадлежат. Данный параметр является обязательным.

Запрос Ответ

  1. Удаление контакта по первичному ключу (DeleteV2)

Для удаления контакта по первичному ключу (id_Contact) используется метод DeleteV2.

Запрос Ответ