Работа с голосовой почтой

Материал из Oktell
Версия от 07:40, 24 марта 2014; Oktell Support (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Наверх

Методы для работы с голосовой почтой

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

В качестве входного параметра может выступать пустая строка или NULL, тогда возвращены будут все сообщения. Параметр может содержать стандартную XML структуру, содержащую информацию о фильтре. Свойство onlynew осуществляет фильтр голосовых сообщений по признаку прослушано/не прослушано (по умолчанию «0» - возвращать все записи, «1» - возвращать только непрослушанные). Свойство topcount позволяет задать количество возвращаемых записей (по умолчанию «-1» - возвращать все записи). При этом будут отбираться преимущественно самые последние записи.

Сами записи голосовой почты (файлы) располагаются на сервере. Их абсолютный путь содержится в свойстве FilePath каждой записи в возвращаемом значении. Файлы следует доставать методом FileOperation (подробнее в разделе «Файловые операции»).

Все поля в возвращаемом значении являются прямым отображением таблицы базы данных Oktell A_VoiceMail.

Голосовая почта формируется в сценариях всех типов компонентом «Голосовая почта».


Примеры входного параметра:

<?xml version="1.0" encoding="utf-16"?>
<oktellcommapper version="80710">

  <property_set>
    <property_simple key="onlynew" value="0" />
    <property_simple key="topcount" value="10" />     
  </property_set>

</oktellcommapper>


<?xml version="1.0" encoding="utf-16"?>
<oktellcommapper version="80710">

  <property_set>
    <property_simple key="onlynew" value="1" />
  </property_set>

</oktellcommapper>


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

<?xml version="1.0" encoding="utf-16"?>
<oktellcommapper version="80710">

<property_set name="voicemail" id="0">
  <property_cdata key="datetimeformat"><![CDATA[dd.MM.yyyy HH:mm:ss]]></property_cdata>
  <property_simple key="id" value="6d2cd2d7-6c30-47e2-9389-3183a07801ee" />
  <property_cdata key="senttime"><![CDATA[25.02.2009 13:55:22]]></property_cdata>
  <property_cdata key="receivedtime"><![CDATA[25.02.2009 13:55:29]]></property_cdata>
  <property_cdata key="callerid"><![CDATA[8435109940]]></property_cdata>
  <property_cdata key="info"><![CDATA[IVR: Входящий в офис]]></property_cdata>
  <property_cdata key="filepath"><![CDATA[H:\VoiceMail\ln_16016__2009_02_25__13_55_20_546.wav]]></property_cdata>
  <property_simple key="isnew" value="0" />
  <property_cdata key="firstreceiver" value="6d2cd2d7-6c30-47e2-9389-3183a07801ee"><![CDATA[Евграфов Антон Львович]]></property_cdata>
</property_set>

</oktellcommapper>


  • Поле datetimeformat устанавливает текущий формат строкового представления значений типа дата/время. Именно указанным образом его и следует преобразовывать обратно.
  • id - guid-идентификатор сообщения голосовой почты.
  • senttime - время отправки голосового сообщения из сценария.
  • receivedtime - время первого прослушивания голосового сообщения.
  • callerid - номер абонента, оставившего сообщение.
  • info - информация о сценарии-отправителе.
  • filepath - абсолютный путь на сервере к файлу с записью голосового сообщения.
  • isnew - различает, было ли сообщение уже прослушано/не прослушано.
  • firstreceiver - идентификатор и имя пользователя, первым прослушавшим сообщение.


  • void VoiceMail_Delete ( string xml ). Удаляет запись голосовой почты из БД по указанному идентификатору, не затрагивая сам файл записи. Может быть указано сразу несколько идентификаторов для удаления.

Примеры входного параметра:

<?xml version="1.0" encoding="utf-16"?>
<oktellcommapper version="80710">

  <property_set>
    <property_simple key="id" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" />
  </property_set>

</oktellcommapper>


<?xml version="1.0" encoding="utf-16"?>
<oktellcommapper version="80710">

  <property_set>
    <property_simple key="id" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" />
    <property_simple key="id" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" />
    <property_simple key="id" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" />
    <property_simple key="id" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" />
    <property_simple key="id" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" />
  </property_set>

</oktellcommapper> 


  • void VoiceMail_SetListened ( string xml ). Выставляет для указанной записи флаг «Прослушано». В дальнейшем при обращении к голосовой почте методом VoiceMail_Get() в метаданных будет указано, что запись была прослушана, а также будет заполнено свойство FirstReceiver, устанавливая идентификатор пользователя, первым прослушавшим запись. Также запись будет исключена при запросе только новой почты.

Пример входного параметра:

<?xml version="1.0" encoding="utf-16"?>
<oktellcommapper version="80710">

  <property_set>
    <property_simple key="id" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" />
  </property_set>

</oktellcommapper>