Обмен пользовательскими сообщениями

Материал из Oktell
Перейти к: навигация, поиск
Наверх Работа с HAL<<< Обмен пользовательскими сообщениями >>>Файловые операции на сервере

Методы для работы с пользовательскими сообщениями

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


  • void Messaging_SendMessage ( string xml ). Производит формирование и отправку сообщения. Пользователь (или множество пользователей), а также тело сообщения формируются на основе переданного XML-параметра. Возможна отправка одному или нескольким пользователям. Идентификатор (поле id) не обязателен для указания, в случае его отсутствия будет присвоен автоматически. В случае отправки сообщения нескольким пользователям идентификатор в любом случае будет автоматически присвоен отдельно каждому сообщению.

Формат параметра на примере:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="idmessage" value="a237bd24-cf31-3bb6-a140-b71782ec5d25" />
     <property_cdata key="text"><![CDATA[Текст сообщения 12312312312]]></property_cdata>
     <property_simple key="userid" value="d03a522f-b399-aa37-cb2a-943cf24d113e" />
     <property_simple key="userid" value="3B39F906-3C88-441D-AB9F-9C535F9FECE3" />
     <property_simple key="userid" value="CBA2395A-6D0B-469F-A76F-3884D6908A75" />
   </property_set>
 </data>
 </oktellcommapper>


  • void Messaging_SetViewed ( string xml ). Устанавливает для перечисленных в теле XML-параметра сообщений признак прочтения. В дальнейшем другие пользователи будут видеть статус сообщения - прочтено, время прочтения. Дополнительно при вызове метода получения всех новых сообщений эти сообщения не будут вновь передаваться.

Формат параметра на примере:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="idmessage" value="a237bd24-cf31-3bb6-a140-b71782ec5d25" />
     <property_simple key="idmessage" value="DE609BC7-6D3B-4DAF-A418-A1D0648D7784" />
   </property_set>
 </data>
 </oktellcommapper>


  • string Messaging_GetAllNew ( ). Возвращает все поступившие сообщения за момент отсутствия (неавторизованности) пользователя. Сообщение перестает быть новым после установки для него признака прочтения.

Формат возвращаемого значения на примере:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="datetimeformat" value="dd.MM.yyyy HH:mm:ss" />
     <property_simple key="id" value="a237bd24-cf31-3bb6-a140-b71782ec5d25" />
     <property_simple key="sentdate" value="27.07.2008 09:53:12" />
     <property_simple key="ismymessage" value="0" />
     <property_simple key="isold" value="0" />
     <property_cdata key="usera" value="d03a522f-b399-aa37-cb2a-943cf24d113e"><![CDATA[Петр]]></property_cdata>
     <property_cdata key="userb" value="3B39F906-3C88-441D-AB9F-9C535F9FECE3"><![CDATA[Виктор]]></property_cdata>
     <property_simple key="wasviewed" value="1" />
     <property_simple key="dtviewed" value="27.07.2008 10:05:25" />
     <property_cdata key="text"><![CDATA[Как дела?:)]]></property_cdata>
   </property_set>
 </data>
 </oktellcommapper>


  • string Messaging_GetLastForUser ( string xml ). Возвращает установленное количество последних сообщений в переписке с указанным пользователем.

Формат параметра на примере:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="userid" value="d03a522f-b399-aa37-cb2a-943cf24d113e" />
     <property_simple key="count" value="3" />
   </property_set>
 </data>
 </oktellcommapper>


Формат возвращаемого значения на примере:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="datetimeformat" value="dd.MM.yyyy HH:mm:ss" />
     <property_simple key="id" value="5F9D8A37-E65D-48AF-8BA6-F9191A8C1B2E" />
     <property_simple key="sentdate" value="12.08.2008 15:34:00" />
     <property_simple key="ismymessage" value="1" />
     <property_simple key="isold" value="1" />
     <property_cdata key="usera" value="d03a522f-b399-aa37-cb2a-943cf24d113e"><![CDATA[Петр]]></property_cdata>
     <property_cdata key="userb" value="3B39F906-3C88-441D-AB9F-9C535F9FECE3"><![CDATA[Виктор]]></property_cdata>
     <property_simple key="wasviewed" value="0" />
     <property_cdata key="text"><![CDATA[Проверка связи....)]]></property_cdata>
   </property_set>
   <property_set>
     <property_simple key="datetimeformat" value="dd.MM.yyyy HH:mm:ss" />
     <property_simple key="id" value="17611695-FC39-4B5C-A87D-999981D3A1FA" />
     <property_simple key="sentdate" value="26.07.2008 16:29:28" />
     <property_simple key="ismymessage" value="0" />
     <property_simple key="isold" value="1" />
     <property_cdata key="usera" value="3B39F906-3C88-441D-AB9F-9C535F9FECE3"><![CDATA[Виктор]]></property_cdata>
     <property_cdata key="userb" value="d03a522f-b399-aa37-cb2a-943cf24d113e"><![CDATA[Петр]]></property_cdata>
     <property_simple key="wasviewed" value="1" />
     <property_simple key="dtviewed" value="26.07.2008 16:29:28" />
     <property_cdata key="text"><![CDATA[Ок, счас]]></property_cdata>
   </property_set>
   <property_set>
     <property_simple key="datetimeformat" value="dd.MM.yyyy HH:mm:ss" />
     <property_simple key="id" value="73F38DE3-4883-4307-869E-9DD8BB518940" />
     <property_simple key="sentdate" value="26.07.2008 16:29:01" />
     <property_simple key="ismymessage" value="1" />
     <property_simple key="isold" value="1" />
     <property_cdata key="usera" value="d03a522f-b399-aa37-cb2a-943cf24d113e"><![CDATA[Петр]]></property_cdata>
     <property_cdata key="userb" value="3B39F906-3C88-441D-AB9F-9C535F9FECE3"><![CDATA[Виктор]]></property_cdata>
     <property_simple key="wasviewed" value="1" />
     <property_simple key="dtviewed" value="26.07.2008 16:29:19" />
     <property_cdata key="text"><![CDATA[Витька, зайдешь на минутку?]]></property_cdata>
   </property_set>
 </data>
 </oktellcommapper>


  • string Messaging_GetHistory ( string xml ). Возвращает все сообщения, удовлетворяющие фильтру в переданном XML-параметре. Поля datetimeformat, dtstart, dtstop, searchpattern могут быть неуказаны.

Формат параметра на примере:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="datetimeformat" value="dd.MM.yyyy HH:mm:ss" />
     <property_simple key="userid" value="d03a522f-b399-aa37-cb2a-943cf24d113e" />
     <property_simple key="dtstart" value="01.01.2008 00:00:00" />
     <property_simple key="dtstop" value="31.12.2008 23:59:59" />
     <property_cdata key="searchpattern"><![CDATA[строка для поиска по тексту сообщений]]></property_cdata>
   </property_set>
 </data>
 </oktellcommapper>


Формат возвращаемого значения аналогичен формату возврата метода Messaging_GetLastForUser.


  • event UserMessage (114). Событие канала OnCommunicate. Поступление сообщения от другого пользователя системы через внутренний мессенджер.

Пример:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <event id="112" name="usermessage">
     <property_simple key="guid" value="37ccb224-ff71-3836-c410-a73782ef8d19" />
     <property_simple key="datetime" value="12.07.2008 20:29:11" />
     <property_simple key="senderid" value="d03a522f-b399-aa37-cb2a-943cf24d113e" />
     <property_cdata key="sendername"><![CDATA[Бочкарев Евгений]]></property_cdata>
     <property_cdata key="text"><![CDATA[Зайди плиз как освободишься..]]></property_cdata>
   </event>
 </data>
 </oktellcommapper>


Наверх Работа с HAL<<< Обмен пользовательскими сообщениями >>>Файловые операции на сервере