Пример работы коллбэка (редактирование отчества персоны)

С целью тестирования воспользуемся сервисом listener.corteos.ru и заполним настройки следующим образом:

Следует обратить внимание на заполнение тела сообщения – в нем мы передаем xml-представление объекта до и после изменения:

HTML/XML

<Change>     <Before>@Before</Before>     <After>@After</After> </Change>

Внутри элемента Before будет содержаться старое состояние объекта, а внутри After новое.

Важно, что если объект не был изменен, но пользователь нажал "Сохранить", данное сообщение все равно будет отправлено.

 

Проверка работы коллбэка

Для этого зайдем под клиентом в редактор персон и пользователей: 

 

Далее выберем в списке любую персону и откроем её детали:

В открывшемся окне нажимаем кнопку "Изменить" в разделе "Персональные данные": 

В открывшемся окне меняем отчество персоны на "Ивановна" и нажимаем кнопку "Сохранить": 

Далее мы открываем страницу http://listener.corteos.ru, и видим запрос: 

В поле PayLoad будет xml, который содержит старое (Before) и новое (After) состояние персональных данных.

Если сравнить содержание элементов Before и After, мы увидим, что у нас произошло изменение поля SurName (Отчество) с "Федоровична" на "Ивановна" и SurNameLatin* (Отчество на латинице) с "Fedorovichna" на "Ivanovna":

*) SurNameLatin изменилось из-за автоматической транслитерации имен в редакторе. 

HTML/XML

<Change>     <Before>       <Person>         <id_Person>216</id_Person>         <LastName>Соколинина</LastName>         <FirstName>Мариночка</FirstName>         <SurName>Федоровична</SurName>         <Comment />         <id_Organization>63</id_Organization>         <LastNameLatin>Sokolinina</LastNameLatin>         <FirstNameLatin>Marina</FirstNameLatin>         <SurNameLatin>Fedorovichna</SurNameLatin>         <BirthDate>1990-01-01T12:00:00</BirthDate>         <id_Country>245</id_Country>         <Gender>F</Gender>         <id_Group>63</id_Group>         <id_ClientCreator />         <IsClient>true</IsClient>         <id_Client>113</id_Client>         <id_Role>3</id_Role>         <alpha2>RU</alpha2>       </Person>     </Before>     <After>       <Person>         <id_Person>216</id_Person>         <LastName>Соколинина</LastName>         <FirstName>Мариночка</FirstName>         <SurName>Ивановна</SurName>         <Comment />         <id_Organization>63</id_Organization>         <LastNameLatin>Sokolinina</LastNameLatin>         <FirstNameLatin>Marina</FirstNameLatin>         <SurNameLatin>Ivanovna</SurNameLatin>         <BirthDate>1990-01-01T12:00:00</BirthDate>         <id_Country>245</id_Country>         <Gender>F</Gender>         <id_Group>63</id_Group>         <id_ClientCreator />         <IsClient>true</IsClient>         <id_Client>113</id_Client>         <id_Role>3</id_Role>         <alpha2>RU</alpha2>       </Person>     </After> </Change>

Поля объекта более подробно:

  • id_Person – число, необязательное, – первичный ключ, уникальный идентификатор персоны.
    При создании новой персоны в Before тут будет null;

  • LastName – строка, обязательное, – фамилия персоны на русском языке;

  • FirstName – строка, обязательное, – имя персоны на русском языке;

  • SurName – строка, необязательное, – отчество персоны на русском языке;

  • Comment – строка, обязательное, – комментарий, в настоящее время не используется;

  • id_Organization – число, обязательное, – организация, в которой работает персона;

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

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

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

  • BirthDate – дата и время, обязательное – дата рождения персоны;

  • id_Country – число, обязательное - страна места рождения персоны;

  • Gender – строка, обязательное – пол (M и F – male или female);

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

  • id_ClientCreator – число, не обязательное – если у персоны был создатель, то тут передается его id_Client;

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

  • id_Client - число, необязательное – уникальный идентификатор пользователя, заполнен только если IsClient == true;

  • id_Role – число, необязательное – ссылка на роль пользователя.
    Важно отметить, что в справочнике указаны только 3 встроенные пользовательские роли. В том случае, если клиент использует настраиваемые роли, то их идентификаторы можно увидеть в списке ролей;

  • alpha2 – гражданство персоны.