Работа с голосовой почтой — различия между версиями
(Новая страница: «Наверх === Методы для работы с голо...») |
(нет различий)
|
Версия 07:40, 24 марта 2014
Методы для работы с голосовой почтой
- 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>