Cyscom Software-as-a-Service application platform provides a set of xml web services for the purpose of integration with other applications. These web services provide both read and write access to Software-as-a-Service application data allowing to implement different interoperability scenarios.
Cyscom Software-as-a-Service application web service is available for each individual application at the following url
http://<site domain name>/_vti_bin/CommonCssa/GeneralCatalogService.asmx
where <site domain name> is the Cyscom Software-as-a-Service application site address, e.g.
http://mycompany.saas.cyscom.net/_vti_bin/CommonCssa/GeneralCatalogService.asmx
The same credentials as for application site access should be used when accessing GeneralCatalogService.asmx.
GeneralCatalogService.asmx has the following methods
public string GetItemByEntityCategoryName(string entityCategoryName, string itemId);
Retrieves specific record from Cyscom SaaS application database.
Parameters:
entityCategoryName - name of the root category which
should define the type of record to retrieve. E.g. Accounts, Tasks,
Cases, Users etc.
itemId - string representation of the record guid
(globally unique identifier) which identifies record in Cyscom SaaS database
within given record type. E.g. A52D62C7-D9D3-4266-8E0B-487D480AE4F2
Result:
Record xml. See Item Xml section below.
Example:
string caseRecordXml = catalogServiceProxy.GetItemByEntityCategoryName( "Cases", "A52D62C7-D9D3-4266-8E0B-487D480AE4F2");
public string GetItemByCategoryGroupId(string categoryGroupId, string itemId);
Retrieves specific record from Cyscom SaaS application database.
Parameters:
categoryGroupId - string representation of category
group guid(globally unique identifier). Category group defines the type of
record to retrieve. E.g. 8fb8615f-c23f-4495-b8ca-299988d018b2.
itemId - string representation of the record guid
(globally unique identifier) which identifies record in Cyscom SaaS database
within given category group (entity). E.g.
A52D62C7-D9D3-4266-8E0B-487D480AE4F2
Result:
Record xml. See Item Xml section below.
Example:
string caseRecordXml = catalogServiceProxy.GetItemByCategoryGroupId( "8fb8615f-c23f-4495-b8ca-299988d018b2", "A52D62C7-D9D3-4266-8E0B-487D480AE4F2");
public string GetItemsByEntityCategoryNameAndFilter(string entityCategoryName, string filterXml);
Retrieves list of records of certain from Cyscom SaaS application database that meet given criteria.
Parameters:
entityCategoryName - name of the root category which
should define the type of record to retrieve. E.g. Accounts, Tasks,
Cases, Users etc.
filterXml - string representation of the filter xml
that defines criteria to select records of given type. See Filter Xml
section below.
Result:
Records list xml. See Records List Xml section below.
Example:
string accountsXml = catalogServiceProxy.GetItemsByEntityCategoryNameAndFilter( "Accounts", "<filter CoreType=\"SinglePropertyValueFilter\" PropertyName=\"Company Name\" Type=\"Equality\"><Value>My Company</Value></filter>");
public string GetPropertyById(string propertyId);
Retrieves information on specific property from Cyscom SaaS application database.
Parameters:
propertyId - string representation of property guid
(globally unique identifier) which identifies property in Cyscom SaaS
application database. E.g. 4462e80b-6b47-4f7f-950c-f247d23a7780.
Result:
Property xml. See Property Xml section below.
Example:
string propertyXml = catalogServiceProxy.GetPropertyById( "4462e80b-6b47-4f7f-950c-f247d23a7780");
public string GetPropertyByName(string propertyName);
Retrieves information on specific property from Cyscom SaaS application database.
Parameters:
propertyName - name of the property to retrieve from
Cyscom SaaS application database. E.g. Subject (for Cases), Company
Name, Priority (for Cases).
Result:
Property xml. See Property Xml section below.
Example:
string propertyXml = catalogServiceProxy.GetPropertyByName( "Subject (for Cases)");
Retrieves information on specific category from Cyscom SaaS application database.
Parameters:
categoryId - string representation of category guid
(globally unique identifier) which identifies category in Cyscom SaaS
application database. E.g. 0980dcb8-8ac4-4323-8d3b-cc942829b96f.
Result:
Category xml. See Category Xml section below.
Example:
string categoryXml = catalogServiceProxy.GetCategoryById( "0980dcb8-8ac4-4323-8d3b-cc942829b96f" );
public string GetCategoryByName(string categoryName);
Retrieves information on specific category from Cyscom SaaS application database.
Parameters:
categoryName - name of the category to retrieve from
Cyscom SaaS application database. E.g. Accounts, Cases,
Products & Services.
Result:
Category xml. See Category Xml section below.
Example:
string categoryXml = catalogServiceProxy.GetCategoryByName( "Products & Services");
public string GetListSetById(string listSetId);
Retrieves information on specific list set from Cyscom SaaS application database.
Parameters:
listSetId - string representation of list set guid
(globally unique identifier) which identifies list set in Cyscom SaaS
application database. E.g. 758fbcb3-bcab-4114-ade5-8d87918bd287.
Result:
List set xml. See List Set Xml section below.
Example:
string listSetXml = catalogServiceProxy.GetListSetById( "758fbcb3-bcab-4114-ade5-8d87918bd287" );
public string GetListSetByName(string listSetName)
Retrieves information on specific list set from Cyscom SaaS application database.
Parameters:
listSetName - name of the list set to retrieve from
Cyscom SaaS application database. E.g. Priority List, Role Approval
List.
Result:
List Set xml. See List Set Xml section below.
Example:
string listSetXml = catalogServiceProxy.GetListSetByName( "Priority List");
public string GetUnitSetById(string unitSetId);
Retrieves information on specific unit set from Cyscom SaaS application database.
Parameters:
unitSetId - string
representation of unit set guid (globally unique identifier) which identifies
unit set in Cyscom SaaS application database. E.g.
4765e80b-6b47-4f7f-951c-f647a23c7605.
Result:
Unit set xml. See Unit Set Xml section below.
Example:
string unitSetXml = catalogServiceProxy.GetUnitSetById( "4765e80b-6b47-4f7f-951c-f647a23c7605" );
public string GetUnitSetByName(string unitSetName)
Retrieves information on specific unit set from Cyscom SaaS application database.
Parameters:
unitSetName - name of the unit set to retrieve from
Cyscom SaaS application database. E.g. Weight Unit, currency etc.
Result:
Unit Set xml. See Unit Set Xml section below.
Example:
string unitSetXml = catalogServiceProxy.GetUnitSetByName( "currency");
public string GetSubsetById(string subsetId);
Retrieves information on specific subset from Cyscom SaaS application database.
Parameters:
subsetId
- string representation of subset guid (globally unique identifier) which
identifies subset in Cyscom SaaS application database. E.g.
8B42B6B9-026C-4cf2-B774-3077FD3E3DD3.
Result:
Subset xml. See Subset Xml section below.
Example:
string subsetXml = catalogServiceProxy.GetSubsetById( "8B42B6B9-026C-4cf2-B774-3077FD3E3DD3" );
public string GetSubsetByName(string subsetName)
Retrieves information on specific subset from Cyscom SaaS application database.
Parameters:
subsetName - name of the subset to retrieve from
Cyscom SaaS application database. E.g. Open Events, My Workspaces etc.
Result:
Subset xml. See Subset Xml section below.
Example:
string subsetXml = catalogServiceProxy.GetSubsetByName( "Open Events");
public string GetSubCategories(string parentCategoryName);
Retrieves the list of subcategories for the given category identified by name.
Parameters:
parentCategoryName - name of the category to retrieve
subcategories for. E.g. Accounts, Cases, Products & Services.
Result:
Category list xml. See Category List Xml section
below.
Example:
string categoryListXml = catalogServiceProxy.GetSubCategories( "Products & Services");
public void DeleteItem(string entityCategoryName, string itemId);
Deletes specific record from Cyscom SaaS application database.
Parameters:
entityCategoryName - name of the root category which
should define the type of record to delete. E.g. Accounts, Tasks,
Cases, Users etc.
itemId - string representation of the record guid
(globally unique identifier) which identifies record in Cyscom SaaS database
within given record type that has to be deleted. E.g.
A52D62C7-D9D3-4266-8E0B-487D480AE4F2
Example:
catalogServiceProxy.DeleteItem( "Cases", "A52D62C7-D9D3-4266-8E0B-487D480AE4F2");
public void CommitNewItem(string itemXml);
Creates new record in Cyscom SaaS application database from given xml definition.
Parameters:
itemXml - xml definition of the record that has to be
created. See Item Xml section below.
Example:
catalogServiceProxy.CommitNewItem( @" <Item CoreType=""Item"" Id=""A52D62C7-D9D3-4266-8E0B-487D480AE4F2"" CategoryName=""Cases""> <PropertyValues> <PropertyValue CoreType=""StringPropertyValue"" PropertyName=""ID (for Cases)"">1</PropertyValue> <PropertyValue CoreType=""StringPropertyValue"" PropertyName=""Subject (for Cases)"">Server is unavailable</PropertyValue> </PropertyValues> </Item>");
public void UpdateItem(string itemXml);
Updates existing record in Cyscom SaaS application database using given xml definition.
Parameters:
itemXml - xml definition of the record that has to be
updated. See Item Xml section below.
Note. The record in database gets fully overwritten with supplied data in xml. E.g. if there is a missing field in xml it will get erased in database. Therefore the correct way to update records is to download existing record xml, modify it and invoke UpdateItem.
Example:
catalogServiceProxy.UpdateItem( @" <Item CoreType=""Item"" Id=""A52D62C7-D9D3-4266-8E0B-487D480AE4F2"" CategoryName=""Cases""> <PropertyValues> <PropertyValue CoreType=""StringPropertyValue"" PropertyName=""ID (for Cases)"">1</PropertyValue> <PropertyValue CoreType=""StringPropertyValue"" PropertyName=""Subject (for Cases)"">Server is unavailable</PropertyValue> </PropertyValues> </Item>");
Item xml contains data for one record from Cyscom Software-as-a-Service application database.
<Item
CoreType="Item"
Id="a52d62c7-d9d3-4266-8e0b-487d480ae4f2"
Category="0980dcb8-8ac4-4323-8d3b-cc932829b95f"
CategoryName="Cases"
CategoryPath="Cases"
SecurityDescriptor="O:BAG:BAD:AI(A;CI;LCSW;;;S-1-5-21-914621048-366205296-3782579767-1226)(A;CIID;LCSW;;;S-1-9-6)(A;CIID;CCDCLCSW;;;BA)(A;CIID;CCDCLCSW;;;S-1-9-0)(A;CIID;CCDC;;;S-1-9-1)(A;CIID;CCLC;;;S-1-9-2)(A;CIID;CCDCLCSW;;;S-1-9-3)(A;CIID;CC;;;S-1-9-11)">
<PropertyValues>
<PropertyValue
CoreType="StringPropertyValue"
Property="4462e80b-6b47-4f7f-950c-f247d23a7780"
PropertyName="ID (for Cases)">2510-01</PropertyValue>
<PropertyValue
CoreType="StringPropertyValue"
Property="4462e80b-6b47-4f7f-950c-f247d23a7781"
PropertyName="Subject (for Cases)">Web Server does not respond</PropertyValue>
</PropertyValues>
<IncludeSubsets />
<ExcludeSubsets />
</Item>
Records are the main form representation of user information in Cyscom SaaS application. Item Xml contains data about one record including reference to containing category, property values and explicit relations with subsets.
Item element
Root element of the item xml schema, contains information about one record.
Item element attributes
| Attribute | Type | Comments |
| CoreType | string | Should be fixed to 'Item' |
| Id | guid | Id of the record in Cyscom SaaS application database. |
| Category | guid | Id of the record category |
| CategoryName | string | Name of the category (informational attribute) |
| CategoryPath | string | Path of the category in the tree of categories(informational attribute) |
| SecurityDescriptor | string | Sddl representation of record security descriptor which controls access this record |
Item element sub elements
| Element | Comments |
| PropertyValues | Contains list of property values for the record as a sequence of PropertyValue elements. PropertyValue element should follow DataValue Xml schema for appropriate data value type determined by CoreType attribute. See DataValue Xml section for details. PropertyValue also contains additional elements Property and PropertyName which identify record property for the property value. |
| IncludedSubsets | Contains a list of subsets which is current record is explicitly included into (overriding subset filter) as a sequence of Subset elements each of which contains Id attribute determining the id of subset |
| ExcludedSubsets | Contains a list of subsets which is current record is explicitly excluded from (overriding subset filter) as a sequence of Subset elements each of which contains Id attribute determining the id of subset |
Property xml contains a definition for one record property in Cyscom Software-as-a-Service application database.
<Property
CoreType="StringProperty"
Id="4462e80b-6b47-4f7f-950c-f247d23a7780"
System="False"
Fixed="False"
Constant="False"
Name="ID (for Cases)"
Searcheable="True"
Sortable="True"
NotNull="False"
SecurityDescriptor="O:BAG:BAD:AI"
PropertyGroup="4462e80b-6b47-4f7f-950c-f647a23c4344">
<Label CoreType="LocalizedStringDataValue">
<ValueLanguage="1033">ID</Value>
<ValueLanguage="1049">ID</Value>
<ValueLanguage="1031">ID</Value>
<Synonyms/>
</Label>
<Description CoreType="LocalizedTextDataValue" />
<DefaultValue IsNull="True" />
</Property>
Cyscom Software-as-a-Service application database supports several data types for properties. Property data type is determined by CoreType attribute of Property element.
The following property types are supported:
Property element
Root element of the property xml schema, contains information about one property.
Property element attributes
| Attribute | Type | Allowed for property types |
Comments |
| CoreType | string | All | Defines property type. See possible values above in General Remarks. |
| Id | guid | All | Id of the property in Cyscom SaaS application database. |
| System | boolean | All | True if property is system (not available to user in UI) |
| Fixed | boolean | All | Used for internal purposes |
| Constant | boolean | All | Used for internal purposes |
| Name | string | All | Name of the property |
| Searcheable | boolean | All | If property allowed to be searched by in filter UI |
| Sortable | boolean | All | If property is allowed to be sorted by |
| NotNull | boolean | All | If property value is mandatory for record |
| SecurityDescriptor | string | All | Sddl representation of property security descriptor which controls access to property values in records |
| PropertyGroup | guid | All | Guid of the property group which property belongs to |
| RootCategory | guid | CategoryProperty | Guid of the root of the allowed referenced categories by the property |
| CategoryGroup | guid | ItemReferenceProperty, MultipleItemReferenceProperty, SubsetProperty | Guid of the category group that contains records allowed to be referenced by current item reference property. For subset property this is category group for allowed subsets to be referenced. |
| AssociatedProperty | guid | ItemReferenceProperty, MultipleItemReferenceProperty | Guid of the property which is associated with current one. Association of item reference properties allow to maintain back references within records. Example for associated property is Owner property for Tasks entityi and Owned Tasks for User entity. |
| Composite | bool | ItemReferenceProperty, MultipleItemReferenceProperty | If property composite or not. Composite means referenced items are treated as the part of referencing item. This affects how deleting, permissions and other features work. |
| DefaultCurrency | guid | PriceProperty | Guid of the default currency unit for price values |
| UnitSet | guid | QuantityProperty, PriceProperty | Guid of the unit set which contains list of units of measure (UnitSet) (currency for PriceProperty) |
| Set | guid | ListProperty, MultipleListProperty | Guid of the predefined list of values for list property (ListSet) |
Property element sub elements
| Element | Allowed for property types |
Comments |
| Label | All | Contains label for property. Label is used in UI to identify property for user. Label sub element should follow DataValue Xml Schema with CoreType = LocalizedStringDataValue. See DataValue Xml section below. |
| Description | All | Contains description for property. Description sub element should follow DataValue Xml Schema with CoreType = LocalizedTextDataValue. See DataValue Xml section below. |
| DefaultValue | All | Contains default value for property. DefaultValue sub element should follow DataValue Xml Schema with CoreType appropriate for the property type. See DataValue Xml section below. |
| TrueString | BooleanProperty | Contains localized string used to represent "true" value of the property in UI. TrueString sub element should follow DataValue Xml Schema with CoreType = StringDataValue. See DataValue Xml section below. |
| FalseString | BooleanProperty | Contains localized string used to represent "false" value of the property in UI. FalseString sub element should follow DataValue Xml Schema with CoreType = StringDataValue. See DataValue Xml section below. |
Category xml contains a definition for one record category in Cyscom Software-as-a-Service application database.
<Category CoreType="Category" Id="0980dcb8-8ac4-4323-8d3b-cc822829b93f" System="False" Fixed="False" Constant="False" Name="Territories" CategoryGroup="1fe6a3a9-916b-47c2-a047-47d752901850" SecurityDescriptor="O:BAG:BAD:AI(A;CI;LC;;;S-1-9-1)(A;CI;LCSW;;;S-1-9-4)(A;CI;LCSW;;;S-1-9-8)(A;CIID;CCDCLCSW;;;BA)(A;CIID;CCDCLCSW;;;S-1-9-0)(A;CIID;CCDC;;;S-1-9-1)(A;CIID;CCLC;;;S-1-9-2)(A;CIID;CCDCLCSW;;;S-1-9-3)(A;CIID;CC;;;S-1-9-11)"> <Label CoreType="LocalizedStringDataValue"> <Value Language="1033">Territories</Value> <Value Language="1049">Территории</Value> <Value Language="1031">Gebiete</Value> <Synonyms /> </Label> <Description CoreType="LocalizedTextDataValue" /> <BriefDescriptionTemplate CoreType="LocalizedTextDataValue" /> <CaptionDescriptionTemplate CoreType="LocalizedStringDataValue"> <Value Language="1033"><4462E80B-6B47-4f7f-950C-F247D23A7696></Value> <Value Language="1049"><4462E80B-6B47-4f7f-950C-F247D23A7696></Value> <Value Language="1031"><4462E80B-6B47-4f7f-950C-F247D23A7696></Value> </CaptionDescriptionTemplate> <Properties> <Property IsPersonal="True" Id="4462e80b-6b47-4f7f-950c-f247d23a7696" /> <Property IsPersonal="True" Id="4462e80b-6b47-4f7f-950c-f247d23a7697" /> <Property IsPersonal="True" Id="4462e80b-6b47-4f7f-950c-f247d23a7698" /> <Property IsPersonal="True" Id="4462e80b-6b47-4f7f-950c-f247d23a7699" /> <Property IsPersonal="True" Id="4462e80b-6b47-4f7f-950c-f247d23a7702" /> <Property IsPersonal="True" Id="4422e40b-6b47-4f7f-950c-f647a23c4566" /> <Property IsPersonal="True" Id="4462e80b-6b47-4f7f-950c-f247d23a7700" /> <Property IsPersonal="True" Id="4462e80b-6b47-4f7f-950c-f247d23a7803" /> </Properties> </Category>
Cyscom Software-as-a-Service application database contains a hierarchy of categories which define possible entity types and subtypes of records with entity. Categories are grouped into category groups based on first level categories. Each category group represents an entity. Category defines a set of properties which are available for records within the category. Properties are inherited according to the hierarchy of the categories.
Category element
Root element of the category xml schema, contains information about one category.
Category element attributes
| Attribute | Type | Comments |
| CoreType | string | Should be fixed to 'Category' |
| Id | guid | Id of the category in Cyscom SaaS application database. |
| System | boolean | True if category is system (not available to user in UI) |
| Fixed | boolean | Used for internal purposes |
| Constant | boolean | Used for internal purposes |
| Name | string | Name of the category |
| CategoryGroup | guid | Id of the category group the category belongs to |
| SecurityDescriptor | string | Sddl representation of category security descriptor which controls access to records within this category group |
Category element sub elements
| Element | Comments |
| Label | Contains label for the category. Label is used in UI to identify category for user. Label sub element should follow DataValue Xml Schema with CoreType = LocalizedStringDataValue. See DataValue Xml section below. |
| Description | Contains description for the category. Description sub element should follow DataValue Xml Schema with CoreType = LocalizedTextDataValue. See DataValue Xml section below. |
| BriefDescriptionTemplate | Used for internal purposes |
| CaptionDescriptionTemplate | Contains template for record description. This element should follow DataValue Xml Schema with CoreType = LocalizedStringDataValue. See DataValue Xml section below. Record description template can contain any text and placeholders for record's properties. Record property placeholder is a string representation of property guid surrounded by '<>' brackets. Example: Case from <4462e80b-6b47-4f7f-950c-f247d23a7803> |
| Properties | Contains list of properties assigned to the category as a sequence of Property elements each containing Id attribute (which is the guid of property) and IsPersonal attribute (true if property assigned to category directly and false if it is inherited from parent category) |
Category xml contains a list of category definitions.
Categories element
Root element of the category list xml schema, contains sub elements for each category.
Categories element sub elements
| Element | Comments |
| Category | Contains definition for one category from the list. Should follow Category Xml schema. See Category Xml section. |
List Set xml contains a definition for one list set from Cyscom Software-as-a-Service application database. List Set is an object which contains a named predefined list of values to be used
<ListSet CoreType="LocalizedStringValueListSet" Id="758fbcb3-bcab-4114-ade5-8d87918bd287" System="False" Fixed="False" Constant="False" Name="Role Approval List"> <Label CoreType="LocalizedStringDataValue"> <Synonyms /> </Label> <Description CoreType="LocalizedTextDataValue" /> <Items> <Item CoreType="LocalizedStringDataValue" Id="b358d51f-0f82-424f-92a2-cc54d875b177"> <Value Language="1033">Pending</Value> <Value Language="1049">На рассмотрении</Value> <Value Language="1031">Ausstehend</Value> <Synonyms /> </Item> <Item CoreType="LocalizedStringDataValue" Id="b358d51f-0f82-424f-92a2-cc54d875b178"> <Value Language="1033">Approved</Value> <Value Language="1049">Согласовано</Value> <Value Language="1031">Genehmigt</Value> <Synonyms /> </Item> <Item CoreType="LocalizedStringDataValue" Id="b358d51f-0f82-424f-92a2-cc54d875b179"> <Value Language="1033">Declined</Value> <Value Language="1049">Отклонено</Value> <Value Language="1031">Abgelehnt</Value> <Synonyms /> </Item> </Items> </ListSet>
List Set object contains a predefined list of elements that can be referenced by list property values. It is possible to have List Sets of values of different types. The type of elements of the list is determined by CoreType attribute of ListSet element. The following CoreTypes values are available.
ListSet element
Root element of the ListSet xml schema, contains information about one List Set.
ListSet element attributes
| Attribute | Type | Allowed for List Set types | Comments |
| CoreType | string | All | Determines List Set type |
| Id | guid | All | Id of the List Set in Cyscom SaaS application database. |
| System | boolean | All | True if List Set is system (not available to user in UI) |
| Fixed | boolean | All | Used for internal purposes |
| Constant | boolean | All | Used for internal purposes |
| Name | string | All | Name of the List Set |
| UnitSet | guid | QuantityValueListSet | Id of the unit set which provides units of measure for list quantity values |
List Set element sub elements
| Element | Comments |
| Label | Contains label for the List Set. Label is used in UI to identify List Set for user. Label sub element should follow DataValue Xml Schema with CoreType = LocalizedStringDataValue. See DataValue Xml section below. |
| Description | Contains description for the List Set. Description sub element should follow DataValue Xml Schema with CoreType = LocalizedTextDataValue. See DataValue Xml section below. |
| Items | Contains list of List Set values as a sequence of Item elements each of which should follow DataValue Xml Schema with CoreType appropriate to List Set type. See DataValue Xml section below |
Unit Set xml contains a definition for one unit set from Cyscom Software-as-a-Service application database. Unit Set is an object which contains a named predefined list of units of measure and conversion rules for them.
<UnitSet Id="7c1eaa7d-70bd-4d48-a450-ac00156334a9" System="False" Fixed="True" Constant="False" Name="currency" CoreType="UnitSet"> <Label CoreType="LocalizedStringDataValue"> <Value Language="1033">Currency</Value> <Value Language="1049">Валюта</Value> <Value Language="1031">Wahrung</Value> <Synonyms /> </Label> <Description CoreType="LocalizedTextDataValue"> <Value Language="1033">currency unitset</Value> <Value Language="1049">денежная единица измерения</Value> </Description> <Units> <Unit CoreType="UnitElement" Id="f59b6cf0-f8f1-412e-b5b9-5bfdb270050c" Name="Euro"> <BriefName CoreType="LocalizedStringDataValue"> <Value Language="1033">?</Value> <Value Language="1049">?</Value> <Value Language="1031">Euro</Value> <Synonyms /> </BriefName> <FullName CoreType="LocalizedStringDataValue"> <Value Language="1033">dollar</Value> <Value Language="1049">доллар</Value> </FullName> </Unit> <Unit CoreType="UnitElement" Id="407ab1ec-48e7-449b-b82a-381ba10bafef" Name="$"> <BriefName CoreType="LocalizedStringDataValue"> <Value Language="1033">$</Value> <Value Language="1049">$</Value> <Value Language="1031">$</Value> <Synonyms /> </BriefName> <FullName CoreType="LocalizedStringDataValue" /> </Unit> <Unit CoreType="UnitElement" Id="26de4044-ed45-4fc5-b0d3-e11dfc8c3f46" Name="RUR"> <BriefName CoreType="LocalizedStringDataValue"> <Value Language="1033">RUR</Value> <Value Language="1049">RUR</Value> <Value Language="1031">RUR</Value> <Synonyms /> </BriefName> <FullName CoreType="LocalizedStringDataValue" /> </Unit> <Unit CoreType="UnitElement" Id="31e1c458-f754-4055-8c2a-d9651f04eb9c" Name="GBP"> <BriefName CoreType="LocalizedStringDataValue"> <Value Language="1033">GBP</Value> <Value Language="1049">GBP</Value> <Value Language="1031">GBP</Value> <Synonyms /> </BriefName> <FullName CoreType="LocalizedStringDataValue" /> </Unit> </Units> <Rules> <Rule CoreType="LinearUnitConvertionRule" Id="0fdac39e-d75a-43a8-ae8d-66346120b30c" SourceUnit="f59b6cf0-f8f1-412e-b5b9-5bfdb270050c" TargetUnit="26de4044-ed45-4fc5-b0d3-e11dfc8c3f46" Addend="0" Multiplier="36" /> <Rule CoreType="LinearUnitConvertionRule" Id="4c9ac216-ccd0-414d-8b28-98da35ee85ac" SourceUnit="f59b6cf0-f8f1-412e-b5b9-5bfdb270050c" TargetUnit="31e1c458-f754-4055-8c2a-d9651f04eb9c" Addend="0" Multiplier="1.32" /> <Rule CoreType="LinearUnitConvertionRule" Id="e1df14f8-8485-40c1-a708-2129238732a9" SourceUnit="f59b6cf0-f8f1-412e-b5b9-5bfdb270050c" TargetUnit="407ab1ec-48e7-449b-b82a-381ba10bafef" Addend="0" Multiplier="1.5" /> </Rules> </UnitSet>
Unit Set object contains a predefined list of unit of measures and conversion rules for them. Unit set can be used as a base for quantity property or quantity type list set.
UnitSet element
Root element of the UnitSet xml schema, contains information about one Unit Set.
UnitSet element attributes
| Attribute | Type | Comments |
| CoreType | string | Should be UnitSet |
| Id | guid | Id of the Unit Set in Cyscom SaaS application database. |
| System | boolean | True if Unit Set is system (not available to user in UI) |
| Fixed | boolean | Used for internal purposes |
| Constant | boolean | Used for internal purposes |
| Name | string | Name of the Unit Set |
Unit Set element sub elements
| Element | Comments |
| Label | Contains label for the Unit Set. Label is used in UI to identify Unit Set for user. Label sub element should follow DataValue Xml Schema with CoreType = LocalizedStringDataValue. See DataValue Xml section below. |
| Description | Contains description for the Unit Set. Description sub element should follow DataValue Xml Schema with CoreType = LocalizedTextDataValue. See DataValue Xml section below. |
| Units | Contains list of units as a sequence of Unit elements each of which should follow Unit Xml Schema. See Unit Xml section below |
| Rules | Contains list of conversion rules as a sequence of Rule elements each of which should follow Rule Xml Schema. See Rule Xml section below |
Subset xml contains a definition for one records subset from Cyscom Software-as-a-Service application database. Subset is an object that represents named filtering criteria for records with one category group (entity).
<Subset Id="acb0eb9b-0cee-4acc-9c71-668417b0fd20" System="False" Fixed="False" Constant="False" Name="Open Events" CategoryGroup="bd13bcf7-8568-4666-aa9b-6f07192b8411"> <Label CoreType="LocalizedStringDataValue"> <Value Language="1033">All Open</Value> <Value Language="1049">Все открытые</Value> <Value Language="1031">Alleoffenen Objekte</Value> <Synonyms /> </Label> <Description CoreType="LocalizedTextDataValue" /> <Filter CoreType="UnionFilter"> <Filters> <Filter CoreType="SinglePropertyValueFilter" Property="fc93c9aa-b43a-44b7-a4bd-7a434ac8ca54" Type="GreaterOrEqual"> <Value IsNull="True" /> <Expression>return new Cyscom.XFleX.Core.DataTypes.DataValues.DateTimeDataValue( System.DateTime.UtcNow )</Expression> </Filter> </Filters> </Filter> </Subset>
Subset object contains a filtering criteria which determines records that get into subset. Subset is allowed to contain records only from single category group (entity).
Subset element
Root element of the Subset xml schema, contains information about one Subset.
Subset element attributes
| Attribute | Type | Comments |
| CoreType | string | Determines Subset type |
| Id | guid | Id of the Subset in Cyscom SaaS application database. |
| System | boolean | True if Subset is system (not available to user in UI) |
| Fixed | boolean | Used for internal purposes |
| Constant | boolean | Used for internal purposes |
| Name | string | Name of the Subset |
| CategoryGroup | guid | Id of category group which is the source of records for this subset |
Subset element sub elements
| Element | Comments |
| Label | Contains label for the Subset. Label is used in UI to identify Subset for user. Label sub element should follow DataValue Xml Schema with CoreType = LocalizedStringDataValue. See DataValue Xml section below. |
| Description | Contains description for the Subset. Description sub element should follow DataValue Xml Schema with CoreType = LocalizedTextDataValue. See DataValue Xml section below. |
| Filter | Contains filtering criteria for the subset records. Filter element should follow Filter Xml schema. See Filter Xml section below. |
Filter xml contains a definition for filtering criteria. Filter xml is used as a part of subset definitions or can be passed to GeneralCatalogWebService to build a selection of records that meet certain criteria. There are the following types of filters available:
The following sections present xml schemas for every type of filter.
Selects items that belong to certain list of categories
<Filter CoreType="CategoryFilter" IsRecursive="true"> <Categories> <Category Id="0980dcb8-8ac4-4323-8d3b-cc942829b96f"/> </Categories> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element attributes
| Attribute | Type | Comments |
| CoreType | string | Determines filter type, CategoryFilter for categories filter |
| IsRecursive | boolean | True if filter should select records from all subcategories also otherwise only items from specifically listed categories are included |
Filter element sub elements
| Element | Comments |
| Categories | Contains sequence of Category elements which specify list of categories to include in filter. Each Category element contains Id attribute with category id. |
Selects items that have property values that meet some criteria
<Filter CoreType="SinglePropertyValueFilter" Property="4462e80b-6b47-4f7f-950c-f647a23c4556" PropertyName="Company Name" Type="Equality"> <Value>Volkswagen</Value> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element attributes
| Attribute | Type | Comments |
| CoreType | string | Determines filter type, SinglePropertyValueFilter for this kind of filter |
| Property | guid | Guid of the property which value is used for filtering |
| PropertyName | string | Name of the property which value is used for filtering (is used when Property attribute is not set) |
| Type | string | Type of relationship between property value from record and given
property value to evaluate criteria. Possible values are:
Note. Not all comparison types are appropriate for all types of properties.
|
Filter element sub elements
| Element | Comments |
| Value | Filtering data value which is used for comparison. This element should follow Data Value Xml schema for appropriate data value type. See Data Value Xml section for details. |
| Expression | C# code expression which calculates data value for filtering. Result type should be appropriate data value for given filter property type. |
Selects items either all items or no items.
<Filter CoreType="ConstantFilter" Value="true"> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element attributes
| Attribute | Type | Comments |
| CoreType | string | Determines filter type, ConstantFilter for this filter type |
| Value | boolean | True if all items have to be selected, false if no items. |
Selects items that fall into all of the supplied sub filters. This is the AND logical operation on item selections.
<Filter CoreType="IntersectionFilter"> <Filters> <Filter CoreType="CategoryFilter" IsRecursive="true"> <Categories> <Category Id="0980dcb8-8ac4-4323-8d3b-cc942829b96f"/> </Categories> </Filter> <Filter CoreType="SinglePropertyValueFilter" PropertyName="Created Date" Type="Greater"> <Value>01/01/2008</Value> </Filter> </Filters> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element sub elements
| Element | Comments |
| Filters | Contains sequence of Filter elements which specify list of filters to intersect. Each of Filter elements should follow Filter Xml schema. |
Selects items that fall into at least one of the supplied sub filters. This is the OR logical operation on item selections.
<Filter CoreType="UnionFilter"> <Filters> <Filter CoreType="SinglePropertyValueFilter" PropertyName="Created Date" Type="Greater"> <Value>01/01/2008</Value> </Filter> <Filter CoreType="SinglePropertyValueFilter" PropertyName="Created Date" Type="Less"> <Value>01/01/2006</Value> </Filter> </Filters> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element sub elements
| Element | Comments |
| Filters | Contains sequence of Filter elements which specify list of filters to unite. Each of Filter elements should follow Filter Xml schema. |
Selects items that have property values containing specified keywords
<Filter CoreType="KeywordsFilter" Keywords="David Edwards"> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element attributes
| Attribute | Type | Comments |
| CoreType | string | Determines filter type, should be KeywordsFilter for this type of filter |
| Keywords | string | Keywords for items to be searched for |
Selects items with specified ids
<Filter CoreType="ItemIdsFilter"> <Guids> <Guid Id="34aa2dae-8935-4adf-b485-44a00049141f"/> <Guid Id="93dd56f2-53d4-4e11-872c-cd922d7b51c5"/> </Guids> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element attributes
| Attribute | Type | Comments |
| CoreType | string | Determines filter type, should be ItemIdsFilter for this type of filter |
Filter element sub elements
| Element | Comments |
| Guids | Contains sequence of Guid elements which specify list of record ids. Each Guid element contains Id attribute to specify individual record id. |
Selects items having referenced item that fall into given filter.
<Filter CoreType="ItemJoinFilter" Property="4462E80B-6B47-4f7f-950C-F647A23C4731"> <SubFilter CoreType="SinglePropertyValueFilter" PropertyName="Company Name" Type="Equality"> <Value>Volkswagen</Value> </SubFilter> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element attributes
| Attribute | Type | Comments |
| CoreType | string | Determines filter type, should be ItemJoinFilter for this type of filter |
| Property | guid | Id of the ItemReference property that is used to reach referenced item |
Filter element sub elements
| Element | Comments |
| SubFilter | Should follow Filter Xml schema. Defines the filter which is applied to referenced items to check if the item is in the selection. |
Selects items having at least one referenced item that fall into given filter.
<Filter CoreType="MultipleItemJoinFilter" Property="4462E80B-6B47-4f7f-950C-F647A23C4603"> <SubFilter CoreType="SinglePropertyValueFilter" PropertyName="First Name (Contact Information)" Type="Equality"> <Value>Henry</Value> </SubFilter> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element attributes
| Attribute | Type | Comments |
| CoreType | string | Determines filter type, should be MultipleItemJoinFilter for this type of filter |
| Property | guid | Id of the MultipleItemReference property that is used to reach referenced items |
Filter element sub elements
| Element | Comments |
| SubFilter | Should follow Filter Xml schema. Defines the filter which is applied to referenced items to check if the item is in the selection. |
Selects items that don't fall into given filter within category group (entity).
<Filter CoreType="NotFilter"> <SubFilter CoreType="CategoryFilter" IsRecursive="true"> <Categories> <Category Id="960fbb23-ebe9-4744-a379-401b74fb95a9"/> </Categories> </SubFilter> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element attributes
| Attribute | Type | Comments |
| CoreType | string | Determines filter type, should be NotFilter for this type of filter |
Filter element sub elements
| Element | Comments |
| SubFilter | Should follow Filter Xml schema. Defines the filter which records should not fall into to get to the selection. |
Selects items that belong to given subset.
<Filter CoreType="SubsetFilter" Subset="471d4699-eaa1-4144-9ec8-be3be94043c3"> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element attributes
| Attribute | Type | Comments |
| CoreType | string | Determines filter type, should be SubsetFilter for this type of filter |
| Subset | guid | Id of the subset to select records from |
Selects items that are explicitly included into subset.
<Filter CoreType="SubsetIncludeItemsFilter" Subset="471d4699-eaa1-4144-9ec8-be3be94043c3"> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element attributes
| Attribute | Type | Comments |
| CoreType | string | Determines filter type, should be SubsetIncludeItemsFilter for this type of filter |
| Subset | guid | Id of the subset to select explicitly included records for |
Selects items that are explicitly excluded from subset.
<Filter CoreType="SubsetExcludeItemsFilter" Subset="471d4699-eaa1-4144-9ec8-be3be94043c3"> </Filter>
Filter element
Root element of the Filter xml schema, contains information about one Filter.
Filter element attributes
| Attribute | Type | Comments |
| CoreType | string | Determines filter type, should be SubsetExcludeItemsFilter for this type of filter |
| Subset | guid | Id of the subset to select explicitly excluded records for |
Data Value xml contains a information for some value of the property or other entity attribute. There are the following types of data values available:
Most of data value types consist of one single value of some simple underlying type. For this kind of data values xml schema contains single element with inner text containing underlying value in string representation. The following example shows StringDataValue Xml
<Value>
The Web Server does not respond
</Value>
Other simple data value types are:
For all of data value types there is IsNull attribute in root xml element node. IsNull = true indicates data value has null value.
Example:
<Value> <Value Language="1033">All Open</Value> <Value Language="1049">Все открытые</Value> <Value Language="1031">Alleoffenen Objekte</Value> <Synonyms /> </Value>
Root element
Root element of the Data Value xml schema, contains information about one value.
Root element attributes
| Attribute | Type | Comments |
| IsNull | boolean | True indicates value is null |
Root element sub elements
| Element | Comments |
| Value | Contains in inner text string value for language specified in Language attribute |
| Synonyms | Used for internal purposes |
Example:
<Value>
<Comment CoreType="LocalizedStringDataValue" />
<Content>...
</Content>
</Value>
Root element
Root element of the Data Value xml schema, contains information about one value.
Root element attributes
| Attribute | Type | Comments |
| IsNull | boolean | True indicates value is null |
Root element sub elements
| Element | Comments |
| Comment | Contains text comment to the value, should follow Data Value xml schema with CoreType = LocalizedStringDataValue |
| Content | Contains in inner text base64 encoded binary image |
Example:
<Value>
<ValueElement Id="7fa3132f-981b-43c9-a24a-53621ff9966a">f4e9a601-7b0c-4763-b167-5242cbc82bd1</ValueElement>
<ValueElement Id="6e7055c2-579c-4b60-bcc9-7e734a852708">980e17bb-58c2-458a-acc8-c4c13f567b99</ValueElement>
</Value>
Root element
Root element of the Data Value xml schema, contains information about one value.
Root element attributes
| Attribute | Type | Comments |
| IsNull | boolean | True indicates value is null |
Root element sub elements
| Element | Comments |
| ValueElement | Contains referenced item guid or list list element value guid in inner text. Id attribute contains guid of this element. |
Example:
<Value Unit="f59b6cf0-f8f1-412e-b5b9-5bfdb270050c" UnitOfMeasure="51eae61f-3e2d-4b24-89df-5081e57b4dd0"> 12 <PriceOptions /> </Value>
Root element
Root element of the Data Value xml schema, contains information about one value. Inner text contains string representation of quantity floating point value.
Root element attributes
| Attribute | Type | Comments |
| IsNull | boolean | True indicates value is null |
| Unit | guid | Guid of unit for quantity and currency for price |
| UnitOfMeasure | guid | (For PriceDataValue only) Guid of unit of measure |
Root element sub elements
| Element | Comments |
| PriceOptions | Used for internal purposes |
Unit xml contains a definition for a single unit of measure which is the part of Unit Set.
<Unit CoreType="UnitElement" Id="407ab1ec-48e7-449b-b82a-381ba10bafef" Name="$"> <BriefName CoreType="LocalizedStringDataValue"> <Value Language="1033">$</Value> <Value Language="1049">$</Value> <Value Language="1031">$</Value> <Synonyms /> </BriefName> <FullName CoreType="LocalizedStringDataValue" /> </Unit>
Unit element
Root element of the Unit xml schema, contains information about one Unit.
Unit element attributes
| Attribute | Type | Comments |
| CoreType | string | Should be fixed to UnitElement |
| Id | guid | Id of the unit in Cyscom SaaS database. |
| Name | string | Name of the unit |
Unit element sub elements
| Element | Comments |
| BriefName | Contains brief name for the Unit which is used to build string representation of quantity data value. BriefName sub element should follow DataValue Xml Schema with CoreType = LocalizedStringDataValue. See DataValue Xml section. |
| FullName | Contains full name for the Unit which is used informational purposes and can be emtpy. FullName sub element should follow DataValue Xml Schema with CoreType = LocalizedStringDataValue. See DataValue Xml section. |
Rule xml contains a definition for a conversion rule for a pair of units of measure which is the part of Unit Set.
<Rule CoreType="LinearUnitConvertionRule" Id="0fdac39e-d75a-43a8-ae8d-66346120b30c" SourceUnit="f59b6cf0-f8f1-412e-b5b9-5bfdb270050c" TargetUnit="26de4044-ed45-4fc5-b0d3-e11dfc8c3f46" Addend="0" Multiplier="36" />
Rule element
Root element of the Rule xml schema, contains information about one Rule.
Unit element attributes
| Attribute | Type | Comments |
| CoreType | string | Should be fixed to LinearUnitConvertionRule |
| Id | guid | Id of the rule in Cyscom SaaS database. |
| SourceUnit | guid | Id of the source unit for conversion |
| TargetUnit | guid | Id of the target unit for the conversion |
| Addend | double | Addend in the conversion rule target = source * multiplier + addend |
| Multiplier | double | Multiplier in the conversion rule target = source * multiplier + addend |