Работа с заказами на встречные звонки

Материал из Oktell
Перейти к: навигация, поиск

Наверх

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

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

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


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

Заказы на встречные звонки формируются в сценариях всех типов компонентом «Заказ на встречный звонок».

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

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

  <property_set>
    <property_simple key="onlynew" value="0" />
    <property_simple key="showdone" value="0" />     
  </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="cborder" id="0">
  <property_cdata key="datetimeformat"><![CDATA[dd.MM.yyyy HH:mm:ss]]></property_cdata>
  <property_simple key="id" value="fc6e61c0-208c-4b93-9138-28d774f08b32" />
  <property_simple key="clientid" value="00000000-0000-0000-0000-000000000000" />
  <property_simple key="clientname" value="" />
  <property_cdata key="orderedtime"><![CDATA[20.04.2009 12:30:00]]></property_cdata>
  <property_simple key="orderednumber" value="5109940" />
  <property_simple key="receiverspecified" value="1" />
  <property_cdata key="comment"><![CDATA[    ...    ]]></property_cdata>
  <property_simple key="isviewed" value="1" />
  <property_simple key="isdone" value="0" />
</property_set>

</oktellcommapper>


  • Поле datetimeformat устанавливает текущий формат строкового представления значений типа дата/время. Именно указанным образом его и следует преобразовывать обратно.
  • Поле id - guid-идентификатор заказа
  • Поля clientid и clientname заполнены в том случае, если при размещении заказа была произведена связка определившегося номера, с которого произошел вызов и вход в сценарий IVR, с таблицами контактов A_Clients, A_ClientContacts, A_ClientContactTypes.
  • Поле receiverspecified = 1 указывает на то, что при размещении заказа на встречный звонок был явно указан получатель (текущий авторизованный пользователь или группа, в которую он относится). В противном случае заказ на встречный звонок адресован всей организации.
  • Поле comment отображает текущий комментарий и может быть изменено методом CallbackOrders_Set или из стандартного клиентского приложения Oktell.
  • Поле isviewed = 1 указывает на новизну заказа. После первого обращения признак новизны автоматически снимается.
  • Поля orderedtime и orderednumber заполняются в сценарии при размещении заказа и устанавливают время заказа и номер, на который заказ принят (в сценарии может быть выставлен как реальный callerid, так и фиксированный или заданный с помощью DTMF-команд номер).
  • В случае, если заказ выполнен (isdone = 1), будут также присутствовать поля doneuserid и doneusername, отображающие соответственно guid-идентификатор и имя пользователя, выполнившего заказ.


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

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

<?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 CallbackOrders_Set ( string xml ). Сохраняет изменения для заказа на встречный звонок. Позволяет изменить текущий комментарий (поле comment возвращаемого значения методом CallbackOrders_Get). Также позволяет выставить (или перевыставить) значение полю isdone (выполнено) с автоматической привязкой к текущему авторизованному пользователю. В дальнейшем возможна фильтрация возвращаемых значений по этому полю.

Следует иметь в виду, что при необходимости выставить только новое значение свойству isdone, необходимо сохранить комментарий (свойство comment), скопировав его значение без изменений из возвращаемого значения метода CallbackOrders_Get.

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

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

  <property_set>
    <property_simple key="id" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" />
     <property_cdata key="comment"><![CDATA[    ...    ]]></property_cdata>
       <property_simple key="isdone" value="0" />
  </property_set>

</oktellcommapper>