Hс_queue_add_agent
Команда предназначена для добавления агентов в выбранную очередь call-центра.
Аналог команды в CoCon:
domain/<DOMAIN>/cc/queue/<QUEUE>/add-agent
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/queue_add_agent
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="hc_queue_common.xsd"/> <xs:include schemaLocation="error.xsd"/> <!--errorReasonType--> <xs:simpleType name="warningReasonType"> <xs:restriction base="xs:string"> <xs:enumeration value="already_added"/> <xs:enumeration value="not_exists"/> </xs:restriction> </xs:simpleType> <!--errorsType--> <xs:complexType name="warningsType"> <xs:sequence> <xs:element name="warning" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="agent" type="xs:string"/> <xs:attribute name="reason" type="warningReasonType"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <!--in--> <xs:element name ="in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="agents" type="agentsType"/> </xs:sequence> <xs:attribute name="domain" use="required"/> <xs:attribute name="queue" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <!--out--> <xs:element name="out"> <xs:complexType> <xs:choice> <xs:element name="response"> <xs:complexType> <xs:choice> <!--all agents was added--> <xs:element name="ok"> <xs:complexType/> </xs:element> <!--not very bad. command works fine but some agents not added:--> <xs:element name="warnings" type="warningsType"/> </xs:choice> </xs:complexType> </xs:element> <!--bad. command failed:--> <xs:element name="error" type="errorType"/> </xs:choice> </xs:complexType> </xs:element> </xs:schema>
Пример
Запрос:
http://192.168.1.21:9999/commands/queue_add_agent
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_add_agent.xsd"> <request domain="biysk.local" queue="qltp3"> <agents> <agent name = "521"/> <agent name = "522"/> <agent name = "523"/> <agent name = "524"/> <agent name = "525"/> </agents> </request> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_add_agent.xsd"> <response> <warnings> <warning agent="525" reason="already_added"/> </warnings> </response> </out>
Ответ на тот же самый запрос, если агент с именем "529" не существует в контакт-центре:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_add_agent.xsd"> <response> <warnings> <warning agent="529" reason="not_exists"/> </warnings> </response> </out>
Hс_queue_clean
Очистить указанные свойства очереди виртуального call-центра.
Аналог команды в CoCon:
domain/<DOMAIN>/cc/queue/<QUEUE>/clean
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/queue_clean
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="hc_queue_common.xsd"/> <xs:include schemaLocation="error.xsd"/> <xs:complexType name="propertyNameType"> <xs:attribute name="name" type="xs:string"/> </xs:complexType> <xs:element name = "in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:sequence> <!--request body--> <xs:element name="queue"> <xs:complexType> <xs:sequence> <xs:element name="property" type="propertyNameType" maxOccurs="unbounded"/> </xs:sequence> <!--queue name--> <xs:attribute name="name" use="required"/> </xs:complexType> </xs:element> <!--end--> </xs:sequence> <!--request attributes--> <xs:attribute name="domain" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name = "out"> <xs:complexType> <xs:choice> <!--Positive case--> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="ok"/> </xs:sequence> </xs:complexType> </xs:element> <!--Or error--> <xs:element name="error" type="errorType"/> </xs:choice> </xs:complexType> </xs:element> </xs:schema>
Пример 1
Запрос: http://192.168.1.21:9999/commands/queue_clean
<?xml version="1.0" encoding="UTF-8"?> <in> <request domain="biysk.local"> <queue name="qltp3"> <property name="description"/> <property name="max_wait_time"/> <property name="some\custom\property"/> </queue> </request> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_clean.xsd"> <response> <ok/> </response> </out>
Пример 2
Ответ (434) на предыдущий запрос если нет такой очереди:
<?xml version="1.0" encoding="UTF-8"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_clean.xsd"> <error cmd="queue_clean" reason="nocommand" body="Command not found by path /domain/biysk.local/cc/queue/qltp4/clean."/> </out>
Hс_queue_configuration
Команда позволяет выбрать свойства очереди указанного сall-центра из БД.
Аналог команды в CoCon:
domain/<DOMAIN>/cc/queue/configuration <QUEUE>
domain/<DOMAIN>/cc/queue/<QUEUE>/configuration
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/queue_configuration
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="hc_queue_common.xsd"/> <!--configurationsType--> <xs:complexType name="configurationsType"> <xs:sequence> <xs:element name="queue" type="queueType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!--in--> <xs:element name = "in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:sequence> <!--request body--> <xs:element name="queue" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> <!--end--> </xs:sequence> <xs:attribute name="domain" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <!--out--> <xs:element name = "out"> <xs:complexType> <xs:sequence> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="queues" type="configurationsType"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Пример
Запрос:
http://192.168.1.21:9999/commands/queue_configuration
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_configuration.xsd"> <request domain="biysk.local"> <queue name="line1"/> <queue name="line2"/> <queue name="qltp3"/> </request> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_configuration.xsd"> <response> <queues> <queue name="line1" distribution_mode="random" max_wait_time="3600" description="" skill_based_distribution="false" max_distribution_attempts="3" max_distribution_duration="10" window_duration="10" remember_choice="none"> <groups> <group name="ltp1"/> </groups> <agents> <agent name="509"/> <agent name="508"/> <agent name="507"/> <agent name="506"/> <agent name="505"/> <agent name="504"/> <agent name="503"/> <agent name="502"/> <agent name="501"/> <agent name="500"/> </agents> <properties> <property name="time_prediction\statistics\lower_threshold" value="10"/> <property name="time_prediction\statistics\upper_threshold" value="1800"/> <property name="time_prediction\statistics\max_count" value="100"/> <property name="time_prediction\based_on" value="defined_value"/> <property name="time_prediction\defined_value" value="60"/> <property name="time_prediction\min_values_in_statistics" value="10"/> </properties> </queue> <queue name="line2" distribution_mode="random" max_wait_time="3600" description="" skill_based_distribution="false" max_distribution_attempts="3" max_distribution_duration="10" window_duration="10" remember_choice="none"> <groups> <group name="ltp2"/> </groups> <agents> <agent name="519"/> <agent name="518"/> <agent name="517"/> <agent name="516"/> <agent name="515"/> <agent name="514"/> <agent name="513"/> <agent name="512"/> <agent name="511"/> <agent name="510"/> </agents> <properties> <property name="time_prediction\statistics\lower_threshold" value="10"/> <property name="time_prediction\statistics\upper_threshold" value="1800"/> <property name="time_prediction\statistics\max_count" value="100"/> <property name="time_prediction\based_on" value="defined_value"/> <property name="time_prediction\defined_value" value="60"/> <property name="time_prediction\min_values_in_statistics" value="10"/> </properties> </queue> <queue name="qltp3" queue_length="16" distribution_mode="mia" max_wait_time="3600" description="" skill_based_distribution="true" max_distribution_attempts="3" max_distribution_duration="21" window_duration="15" remember_choice="strict"> <groups> <group name="group2"/> <group name="group3"/> </groups> <agents> <alias number="522"/> <agent name="525"/> <agent name="524"/> </agents> <properties> <property name="time_prediction\statistics\lower_threshold" value="10"/> <property name="time_prediction\statistics\upper_threshold" value="1800"/> <property name="time_prediction\statistics\max_count" value="100"/> <property name="time_prediction\based_on" value="defined_value"/> <property name="time_prediction\defined_value" value="60"/> <property name="time_prediction\min_values_in_statistics" value="10"/> <property name="another\custom\property" value="[another,term]"/> <property name="another\custom\property2" value="[another,new,term]"/> </properties> </queue> </queues> </response> </out>
Hс_queue_declare
Команда позволяет создать новую очередь.
Аналог команды в CoCon:
domain/<DOMAIN>/cc/queue/declare
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/queue_declare
Код HTTP-ответа:
- 201 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
hc_queue_common.xsd
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="common_types.xsd"/> <!--distributionModeType--> <xs:simpleType name = "distributionModeType"> <xs:restriction base="xs:string"> <xs:enumeration value="random"/> <xs:enumeration value="loa"/> <xs:enumeration value="mia"/> <xs:enumeration value="multicall"/> <xs:enumeration value="serial"/> <xs:enumeration value="cycled"/> <xs:enumeration value="progressive"/> </xs:restriction> </xs:simpleType> <!--rememberChoiceType--> <xs:simpleType name = "rememberChoiceType"> <xs:restriction base="xs:string"> <xs:enumeration value="none"/> <xs:enumeration value="strict"/> <xs:enumeration value="non_strict"/> </xs:restriction> </xs:simpleType> <!--aliasAgentType--> <xs:complexType name="aliasAgentType"> <xs:attribute name="number" type="xs:string" use="required"/> </xs:complexType> <!--aliasAgentType--> <xs:complexType name="ccAgentType"> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> <!--groupType--> <xs:complexType name="groupType"> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> <!--agentsType--> <xs:complexType name="agentsType"> <xs:sequence> <xs:element name="alias" type="aliasAgentType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="agent" type="ccAgentType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!--groupsType--> <xs:complexType name="groupsType"> <xs:sequence> <xs:element name="group" type="groupType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!--customPropertiesType--> <xs:complexType name="customPropertiesType"> <xs:sequence> <xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en"> Available custom properties: time_prediction\statistics\lower_threshold :: Lower threshold of conversation duration in seconds. Values less then lower threshold ignored during prediction. Default is 10 seconds. time_prediction\statistics\upper_threshold :: Upper threshold of conversation duration in seconds. Values greater then upper threshold ignored during prediction. Default is 30 minutes. time_prediction\statistics\max_count :: Max values stored in the statistics count. Default is 100. time_prediction\based_on :: average | most_freq | defined_value. What value to consider during prediction. Default is average. average - processed conversation duration average. most_freq - most frequently appeared interval of conversation processing duration. defined_value - manually specified value of conversation processing duration. time_prediction\defined_value :: Manually defined single conversation processing time in seconds. It used in prediction if it explicitly specified by time_prediction\based_on or if statistic values count less then time_prediction\min_values_in_statistics. Default is 60 seconds. time_prediction\min_values_in_statistics :: Min values count in the statistics to make prediction. If values count less then time_prediction\min_values_in_statistics then queue will use time_prediction\defined_value as estimate value of the single conversation handling duration. Default is 10. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <!--queueType--> <xs:complexType name="queueType"> <xs:all> <xs:element name="agents" type="agentsType" minOccurs="0"/> <xs:element name="groups" type="groupsType" minOccurs="0"/> <xs:element name="properties" type="customPropertiesType" minOccurs="0"/> </xs:all> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="distribution_mode" type="distributionModeType" use="optional"/> <xs:attribute name="max_wait_time" type="xs:nonNegativeInteger" use="optional"/> <xs:attribute name="max_distribution_attempts" type="xs:nonNegativeInteger" use="optional"/> <xs:attribute name="max_distribution_duration" type="xs:nonNegativeInteger" use="optional"/> <xs:attribute name="max_predicted_time" type="xs:nonNegativeInteger" use="optional"/> <xs:attribute name="window_duration" type="xs:nonNegativeInteger" use="optional"/> <xs:attribute name="queue_length" type="xs:nonNegativeInteger" use="optional"/> <xs:attribute name="description" type="xs:string" use="optional"/> <xs:attribute name="remember_choice" type="rememberChoiceType" use="optional"/> <xs:attribute name="skill_based_distribution" type="xs:boolean" use="optional"/> </xs:complexType> </xs:schema>
hc_queue_declare.xsd
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="hc_queue_common.xsd"/> <xs:include schemaLocation="error.xsd"/> <xs:element name = "in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:all> <xs:element name="queue" type="queueType" minOccurs="1" maxOccurs="1"/> </xs:all> <xs:attribute name="domain" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="out"> <xs:complexType> <xs:sequence minOccurs="0" maxOccurs="1"> <xs:element name="error" type="errorType"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Пример 1
Запрос: http://192.168.1.21:9999/commands/queue_declare
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_declare.xsd"> <request domain="biysk.local"> <queue name="qltp3" distribution_mode="random" max_wait_time="1800" max_distribution_attempts="2" max_distribution_duration="20" window_duration="5" queue_length="6" description="my queue" remember_choice="none" skill_based_distribution="false"> <agents> <agent name="525"/> <agent name="526"/> </agents> <groups> <group name="group1"/> <group name="group2"/> </groups> <properties> <property name="some\\custom\\property" value="{erlang, term}"/> <property name="another\\custom\\property" value="[another, term]"/> </properties> </queue> </request> </in>
Ответ:
201
Пример 2
Ответ на предыдущий запрос, если такая очередь уже есть в указанном виртуальном call-центре:
<?xml version="1.0" encoding="UTF-8"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_declare.xsd"> <error cmd="hc_queue_declare" reason="already_declared" body="{error,already_declared}" entity="qltp3"/> </out>
Hс_queue_list
Команда предназначена для отображения списка очередей выбранного call-центра.
Аналог команды в CoCon:
domain/<DOMAIN>/cc/queue/list
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/queue_list
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="hc_queue_common.xsd"/> <xs:complexType name = "queuesType"> <xs:sequence> <xs:element name = "queue" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name = "name" type="xs:string" use="required"/> <xs:attribute name = "groups" type="xs:string" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:element name = "in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:attribute name="domain" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name = "out"> <xs:complexType> <xs:sequence> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name = "queues" type="queuesType"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/queue_list
<?xml version="1.0" encoding="UTF-8"?> <in> <request domain="biysk.local"/> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_list.xsd"> <response> <queues> <queue name="line1" groups="ltp1"/> <queue name="line2" groups="ltp2"/> <queue name="qltp3" groups="group2,group3"/> </queues> </response> </out>
Hс_queue_remove
Команда предназначена для удаления очереди из выбранного виртуального call-центра.
Аналог команды в CoCon:
domain/<DOMAIN>/cc/queue/remove
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/queue_remove
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="hc_queue_common.xsd"/> <xs:element name = "in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:sequence> <!--request body--> <xs:element name="queue"> <xs:complexType> <!--queue name--> <xs:attribute name="name" use="required"/> </xs:complexType> </xs:element> <!--end--> </xs:sequence> <xs:attribute name="domain" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name = "out"> <xs:complexType> <xs:sequence> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="ok"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Пример
Запрос: http://192.168.1.12:9999/commands/queue_remove
<?xml version="1.0" encoding="UTF-8"?> <in> <request domain="biysk.local"> <queue name="line3"/> </request> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_remove.xsd"> <response> <ok/> </response> </out>
Hс_queue_remove_agent
Удалить агентов из указанной очереди call-центра.
Аналог команды в CoCon:
domain/<DOMAIN>/cc/queue/<QUEUE>/remove-agent
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/queue_remove_agent
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="hc_queue_common.xsd"/> <xs:include schemaLocation="error.xsd"/> <!--errorReasonType--> <xs:simpleType name="warningReasonType"> <xs:restriction base="xs:string"> <xs:enumeration value="not_in_queue"/> </xs:restriction> </xs:simpleType> <!--errorsType--> <xs:complexType name="warningsType"> <xs:sequence> <xs:element name="warning" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="agent" type="xs:string"/> <xs:attribute name="reason" type="warningReasonType"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <!--in--> <xs:element name ="in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="agents" type="agentsType"/> </xs:sequence> <xs:attribute name="domain" use="required"/> <xs:attribute name="queue" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <!--out--> <xs:element name="out"> <xs:complexType> <xs:choice> <xs:element name="response"> <xs:complexType> <xs:choice> <!--all agents was removed--> <xs:element name="ok"> <xs:complexType/> </xs:element> <!--not very bad. command works fine but some agents was not removed:--> <xs:element name="warnings" type="warningsType"/> </xs:choice> </xs:complexType> </xs:element> <!--bad. command failed:--> <xs:element name="error" type="errorType"/> </xs:choice> </xs:complexType> </xs:element> </xs:schema>
Пример
Запрос:
http://192.168.1.21:9999/commands/queue_remove_agent
<?xml version="1.0" encoding="UTF-8"?> <in> <request domain="biysk.local" queue="qltp3"> <agents> <agent name = "524"/> <agent name = "525"/> </agents> </request> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_remove_agent.xsd"> <response> <ok/> </response> </out>
Ответ на предыдущий запрос, если таких агентов нет в очереди:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_remove_agent.xsd"> <response> <warnings> <warning agent="525" reason="not_in_queue"/> <warning agent="524" reason="not_in_queue"/> </warnings> </response> </out>
Hс_queue_set
Установить свойства очереди виртуального call-центра.
Аналог команды в CoCon:
domain/<DOMAIN>/cc/queue/<QUEUE>/set
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/queue_set
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="hc_queue_common.xsd"/> <xs:include schemaLocation="error.xsd"/> <xs:element name = "in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:sequence> <!--request body--> <xs:element name="queue" type="queueType"/> <!--end--> </xs:sequence> <xs:attribute name="domain" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name = "out"> <xs:complexType> <xs:choice> <!--Positive case--> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="ok"/> </xs:sequence> </xs:complexType> </xs:element> <!--Or error--> <xs:element name="error" type="errorType"/> </xs:choice> </xs:complexType> </xs:element> </xs:schema>
Пример 1
Запрос:
http://192.168.1.21:9999/commands/queue_set
<?xml version="1.0" encoding="UTF-8"?> <in> <request domain="biysk.local"> <queue name="qltp3" distribution_mode="mia" max_wait_time="1801" max_distribution_attempts="3" max_distribution_duration="21" window_duration="15" queue_length="16" description="my queue new" remember_choice="strict" skill_based_distribution="true"> <agents> <alias number="522"/> <agent name="524"/> <agent name="525"/> </agents> <groups> <group name="group2"/> <group name="group3"/> </groups> <properties> <property name="some\\custom\\property" value="{erlang, term1}"/> <property name="another\\custom\\property2" value="[another, new, term]"/> </properties> </queue> </request> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_set.xsd"> <response> <ok/> </response> </out>
Пример 2
Ответ на предыдущий запрос если нет такой очереди:
<?xml version="1.0" encoding="UTF-8"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_queue_set.xsd"> <error cmd="queue_set" reason="nocommand" body="Command not found by path /domain/biysk.local/cc/queue/ltp4/set."/> </out>