Контакт (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" в редакторе договоров, а клиент - из меню настроек при условии, что настройка его роли предоставляет ему доступ к редактированию персональных данных.
Под клиентом из этого меню:
Мы попадаем в список персон и кликнув по любой из них, в открывшемся окне редактора персоны видим список контактов:
Соответствие полей интерфейса полям модели:
Соответственно, действие, аналогичное редактированию контакта из API, можно произвести на интерфейсе в разделе контактов персоны.
Перед использованием метода необходимо пройти аутентификацию и получить валидный токен, а также, если мы работаем от имени агента, получить контекст клиента.
Для получения контекста контакта используется сервис ContactManagement.asmx
WSDL можно скачать с демо-сайта: https://stage1.corteos.ru/XmlGate/V3/StaticData/Contacts/ContactManagement.asmx?wsdl
Для работы в продуктовой среде необходимо заменить “stage1.corteos.ru” на свой домен (на котором работают пользователи вашей компании).
В API реализованы следующие методы для работы с контактами:
GetV2 - получение контакта по первичному ключу (RW_Contact.id_Contact);
SaveV2 - создание нового контакта или редактирование существующего;
ListV2 - получение списка контактов персоны;
DeleteV2 - удаление контакта по первичному ключу.
Подробное описание методов с примерами:
Получение контакта по первичному ключу (GetV2)
Для проведения выгрузки данных, необходимо передать первичный ключ контакта (id_Contact).
Создание нового контакта или редактирование существующего (SaveV2)
Для сохранения изменений в уже созданном контакте необходимо передать:
первичный ключ контакта (id_Contact);
первичный ключ персоны (id_Person);
тип контакта (id_ContactType);
содержание контакта (Content).
В том случае, если мы создаем новый контакт, первичный ключ не передаем.
Если нам надо удалить контакт, то в атрибуте deleted передаем значение true.
Запрос на создание / Запрос на обновление / Ответ
Получение списка контактов персоны (ListV2)
Получить список контактов можно по идентификатору персоны (id_Person), которой эти контакты принадлежат. Данный параметр является обязательным.
Удаление контакта по первичному ключу (DeleteV2)
Для удаления контакта по первичному ключу (id_Contact) используется метод DeleteV2.