Контакт (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" в редакторе договоров, а клиент - из меню настроек при условии, что настройка его роли предоставляет ему доступ к редактированию персональных данных.
Под клиентом из этого меню:
Мы попадаем в список персон и кликнув по любой из них, в открывшемся окне редактора персоны видим список контактов:
Соответствие полей интерфейса полям модели:
Для проведения любой операции необходимо пройти авторизацию, а также, если мы работаем от имени агента, получить контекст клиента Для получения контекста клиента используется сервис MetaCodeOnOrganizationManagement.asmx WSDL можно скачать с демо-сайта: https://demo.corteos.ru/XmlGate/V3/StaticData/MetaCodeOnOrganization/MetaCodeOnOrganizationManagement.asmx Для работы в продуктовой среде необходимо заменить demo.corteos.ru на свой домен (на котором работают пользователи вашей компании). |
В API реализованы следующие методы для работы с договором:
GetV2 - Получение контакта по первичному ключу (RW_Contact.id_Contact);
SaveV2 - Сохранение контакта;
ListV2 - Получение списка контактов;
DeleteV2 - Удаление контакта.
Примеры запросов и ответов:
редактирование существующего контакта - запрос;
редактирование существующего контакта - ответ совпадает с ответом "создание нового контакта";
получить контакт по первичному ключу (id_Contact) - запрос / ответ;
получить все контакты, принадлежащие персоне с id_Person - запрос / ответ;
удалить контакт с переданным первичным ключом - запрос / ответ.
____