Hc_alias_profile - Управление профилями алиасов
Hc_ alias_profile_list
Команда возвращает список профилей алиасов, определенных в системе.
Аналог команды в CoCon:
domain/<DOMAIN>/alias/profiles/list
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/alias_profile_list
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла с запросом/ответом:
Описание, общих для профилей алиасов, типов (alias_profile_common.xsd):
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- propertyType-->
<xs:complexType name="propertyType">
<xs:attribute name="name" type="xs:string" use="required"/>
<!-- attribute type used only to backward compatability with alias info.
It's always equals with "profile"-->
<xs:attribute name="type" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
<!-- propertyNameType-->
<xs:complexType name="propertyNameType">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<!-- aliasProfileType-->
<xs:complexType name="aliasProfileType">
<xs:sequence>
<xs:element name="properties">
<xs:complexType>
<xs:sequence>
<xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="domain" type="xs:string" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="description" type="xs:string" use="optional"/>
</xs:complexType>
</xs:schema>
alias_profile_list.xsd :
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="alias_profile_common.xsd"/>
<!-- in-->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request">
<xs:complexType>
<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:all>
<xs:element name="profiles">
<xs:complexType>
<xs:sequence>
<xs:element name="profile" type="aliasProfileType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
Пример :
Запрос:
http://192.168.1.21:9999/commands/alias_profile_list
<?xml version="1.0" encoding="UTF-8"?>
<in
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="alias_profile_list.xsd">
<request domain="biysk.local"/>
</in>
Ответ:
200
<?xml version="1.0"?>
<out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="alias_profile_list.xsd">
<profiles>
<profile domain="biysk.local" name="user_default" description="Default user profile">
<properties/>
</profile>
</profiles>
</out>
Hc_ alias_profile_declare
Команда создает новый профиль алиаса. Если не получается создать профиль, возвращает ошибку.
Аналог команды в CoCon:
domain/<DOMAIN>/alias/profiles/declare
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/alias_profile_declare
Код HTTP-ответа:
- 201 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла с запросом/ответом:
alias_profile_common.xsd: Hc_alias_profile_list.
alias_profile_declare.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="alias_profile_common.xsd"/>
<!-- in-->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request">
<xs:complexType>
<xs:sequence>
<xs:element name="profile" type="aliasProfileType" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="storage" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример 1:
http://192.168.1.21:9999/commands/alias_profile_declare
Запрос:
<?xml version="1.0" encoding="UTF-8"?>
<in
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="alias_profile_declare.xsd">
<request storage="ds1">
<profile name="front-office" description="for managers" domain="biysk.local">
<properties/>
</profile>
</request>
</in>
Ответ:
201
Ответ 2 (ошибка):404
<?xml version="1.0" encoding="UTF-8"?>
<out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="common_error.xsd">
<error cmd="alias_profile_declare" reason="error" body="{error,"Declare profile error: {already_exists,{\"biysk.local\",\"front-office\"}}"}"/>
</out>
Hc_ alias_profile_remove
Команда удаляет профили алиасов из определенного домена.
Аналог команды в CoCon:
domain/<DOMAIN>/alias/profiles/remove
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/alias_profile_remove
Код HTTP-ответа:
- 204 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла с запросом/ответом:
alias_profile_common.xsd: Hc_alias_profile_list.
alias_profile_remove.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="alias_profile_common.xsd"/>
<!-- in-->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request">
<xs:complexType>
<xs:all>
<xs:element name="profiles">
<xs:complexType>
<xs:sequence>
<xs:element name="profile" type="aliasProfileType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="storage" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример:
Запрос:
http://192.168.1.21:9999/commands/alias_profile_remove
<?xml version="1.0" encoding="UTF-8"?>
<in
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="alias_profile_remove.xsd">
<request storage="ds1">
<profiles>
<profile name="front-office" domain="biysk.local">
<properties/>
</profile>
</profiles>
</request>
</in>
Ответ:
204
Hc_ alias_profile_info
Команда получает список свойств профиля алиаса.
Аналог команды в CoCon:
domain/<DOMAIN>/alias/profiles/info
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/alias_profile_info
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла с запросом/ответом:
alias_profile_common.xsd: Hc_alias_profile_list.
alias_profile_info.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="alias_profile_common.xsd"/>
<!-- in-->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request">
<xs:complexType>
<xs:attribute name="storage" type="xs:string" use="optional"/>
<xs:attribute name="domain" type="xs:string" use="required"/>
<xs:attribute name="profile_name" type="xs:string" use="required"/>
<xs:attribute name="property_name" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- out-->
<xs:element name="out">
<xs:complexType>
<xs:all>
<xs:element name="profiles">
<xs:complexType>
<xs:sequence>
<xs:element name="profile" type="aliasProfileType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
Пример 1:
Запрос:
http://192.168.1.21:9999/commands/alias_profile_info
<in
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="alias_profile_info.xsd">
<request domain="biysk.local" profile_name="front-office"/>
</in>
Ответ:
200
<?xml version="1.0"?>
<out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="alias_profile_info.xsd">
<profiles>
<profile domain="biysk.local" name="front-office" description="for managers">
<properties/>
</profile>
</profiles>
</out>
Пример 2:
Запрос:
http://192.168.1.21:9999/commands/alias_profile_info
<in
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="alias_profile_info.xsd">
<request domain="biysk.local" profile_name="user_default" property_name="category"/>
</in>
Ответ:
200
<?xml version="1.0"?>
<out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="alias_profile_info.xsd">
<profiles>
<profile domain="biysk.local" name="user_default" description="">
<properties>
<property name="category" type="profile" value="10"/>
</properties>
</profile>
</profiles>
</out>
Hc_alias_profile_set
Команда изменяет имеющиеся/добавляет новые свойства профиля алиаса.
Аналог команды в CoCon:
domain/<DOMAIN>/alias/profiles/set
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/alias_profile_set
Код HTTP-ответа:
- 201 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла с запросом/ответом:
alias_profile_common.xsd: Hc_alias_profile_list.
alias_profile_set.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="alias_profile_common.xsd"/>
<!-- in-->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request">
<xs:complexType>
<xs:sequence>
<xs:element name="properties" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="storage" type="xs:string" use="optional"/>
<xs:attribute name="domain" type="xs:string" use="required"/>
<xs:attribute name="profile_name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример:
Запрос:
http://192.168.1.21:9999/commands/alias_profile_set
<?xml version="1.0" encoding="UTF-8"?>
<in
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="alias_profile_set.xsd">
<request domain="biysk.local" profile_name="front-office">
<properties>
<property name="category" type="profile" value="testCall"/>
<property name="provider" type="profile" value="6"/>
</properties>
</request>
</in>
Ответ:
201
Hc_alias_profile_clean
Команда удаляет определенные свойства (если они указаны) профиля или все свойства профиля.
Аналог команды в CoCon:
domain/<DOMAIN>/alias/profiles/clean
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/alias_profile_clean
Код HTTP-ответа:
- 204 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла с запросом/ответом:
alias_profile_common.xsd: Hc_alias_profile_list.
alias_profile_clean.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="alias_profile_common.xsd"/>
<!-- in-->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request">
<xs:complexType>
<xs:sequence>
<xs:element name="properties" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="property" type="propertyNameType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="storage" type="xs:string" use="optional"/>
<xs:attribute name="domain" type="xs:string" use="required"/>
<xs:attribute name="profile_name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример 1:
Запрос на удаление свойств provider, category из профиля front-office в домене biysk.local.
Запрос:http://192.168.1.21:9999/commands/alias_profile_clean
<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="alias_profile_clean.xsd">
<request domain="biysk.local" profile_name="front-office">
<properties>
<property name="provider"/>
<property name="category"/>
</properties>
</request>
</in>
Ответ:
204
Пример 2:
Запрос на удаление всех свойств из профиля front-office в домене biysk.local.
Запрос: http://192.168.1.21:9999/commands/alias_profile_clean
<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="alias_profile_clean.xsd">
<request domain="biysk.local" profile_name="front-office">
<properties/>
</request>
</in>
Ответ:
204