Genesys接口 - 04 配置 - Configuration

仅个人思考:百仕瑞项目中,配置可能会起到的作用:
1、人员组更新配置
2、搜索报表配置
3、每次通话结束,获取回传信息的配置

原文链接:
https://help.genesys.com/developer/cic/docs/icws/webhelp/ConceptualContent/GoingFurther_Configuration.htm#SingletonObjects


配置(Configuration)命名空间 提供允许用户访问IC服务器配置数据的API。有许多不同的配置对象类型,如用户,角色和工作组。访问和修改配置数据的API在所有对象类型中都是相同的。

配置对象通常分为三种类型:

  • Singleton - 此配置对象只有一个实例。一个例子是系统配置对象。
  • List - 此配置对象有许多实例。有一个用于查询项目列表的搜索API。
  • 子对象 - 这是一个配置对象的子对象。一个示例是关键字配置对象是关键字集配置对象的子对象。

大多数配置对象都有一个ConfigurationId,它由三个属性组成:

  • ID - 系统标识符。
  • DisplayName - 用于显示目的的用户友好标识符。
  • URI - 用于访问ConfigurationId引用的配置对象。例如,User对象具有'workgroups'属性,该属性是ConfigurationIds的列表。这些ConfigurationIds中的URI可用于直接访问这些工作组配置对象。ID为的用户对象的URI theUser看起来像/configuration/users/theUser

具有与之关联的一个或多个子对象类型的每个对象类型对于每个子对象类型也具有其属性。例如,关键字集对象类型上有一个关键字属性。

跳转到描述配置API的每个区域的部分:

  • 单例对象
  • 基于列表的对象
  • 关于配置属性
  • 获取配置对象的默认值
  • 子对象
  • 订阅工作组配置

一、单例对象

1、获取单例配置对象
获取单例配置对象的API遵循以下模式

GET /icws/{sessionID}/configuration/{objectType}

注意:此API仅适用于单例配置对象。在上面的示例中,{objectType}应替换为要获取的对象类型。以下是此API的示例:

获取系统配置单例对象

GET /icws/{sessionID}/configuration/system

获取系统配置单例对象的默认语言

GET /icws/{sessionID}/configuration/system?select=defaultLanguage&rightsFilter=view

2、更新单例配置对象
用于更新单例配置对象的API遵循以下模式:

PUT / icws / { sessionID } / configuration / { objectType }

注意:此API仅适用于单例配置对象。在上面的示例中,{objectType}应替换为要更新的对象类型。以下是此API的示例:

更新系统配置单例对象:

PUT / icws / { sessionID } / configuration / system 
 { “defaultLanguage” :“en-US” } 

二、基于列表的对象

1、搜索配置对象
用于搜索配置对象列表的API遵循以下模式:

GET /icws/{sessionID}/configuration/{objectType}

注意:此API仅适用于基于列表的配置对象。在上面的示例中,{objectType}应替换为要搜索的对象类型。

上面的示例将返回用户具有管理访问权限的所有对象的ID和显示名称对的列表。

此API有许多查询字符串参数,用于返回其他数据或由不同安全权限过滤的不同对象集。

有关这些选项的说明,请参阅特定的配置对象API。以下是此API的一些示例:

获取登录用户具有查看权限的用户列表。此搜索的结果将包括extension具有对象的属性,结果也将按extension属性排序。

GET /icws/{sessionID}/configuration/users?select=extension&rightsFilter=view&orderBy=extension

获取显示名称以“skills”开头的技能列表

GET /icws/{sessionID}/configuration/skills?where=configurationID.displayName sw skill

2、添加新配置对象
添加新配置对象的API遵循以下模式:

POST /icws/{sessionID}/configuration/{objectType}

注意:此API仅适用于基于列表的配置对象。在上面的示例中,{objectType}应替换为要添加的对象类型。

请求的主体应包含要添加的对象的JSON表示。期望使用对象类型的默认 API 创建请求的主体,如果它具有一个,以确保正确创建对象。此外,必须设置新创建的对象的configurationId。没有它,服务器将返回错误。

保存对象时发生的任何验证错误都将在响应中返回。以下是此API的示例:

添加ID为的新用户theUser

POST /icws/{sessionID}/configuration/users 
{ 
    "configurationId": 
    { 
        "id": "theUser", 
        "displayName": "The User"
    }
}

注意:在某些情况下,响应中返回的ID可能与请求中发送的ID不匹配。如果发生这种情况,则应将响应中返回的ID视为该配置对象的正确ID。

3、获取特定的基于列表的配置对象
获取特定配置对象的API遵循以下模式:

GET /icws/{sessionID}/configuration/{objectType}/{ID}

注意:此API仅适用于基于列表的配置对象。在上面的示例中,{objectType}应替换为要搜索的对象类型,并{ID}应替换为要提取的对象的ID。此API具有与搜索对象API相同的一些查询字符串参数。以下是此API的示例:

获取ID为的用户theUser并包含其扩展名和备注属性

GET /icws/{sessionID}/configuration/users/theUser?select=extension,notes

4、删除基于列表的配置对象
删除特定配置对象的API遵循以下模式:

DELETE /icws/{sessionID}/configuration/{objectType}/{ID}

注意:此API仅适用于基于列表的配置对象。在上面的示例中,{objectType}应替换为要搜索的对象类型,并{ID}应替换为要删除的对象的ID。以下是此API的示例:

删除ID为的用户theUser:

DELETE /icws/{sessionID}/configuration/users/theUser

5、更新基于列表的配置对象
用于更新特定配置对象的API遵循以下模式:

PUT /icws/{sessionID}/configuration/{objectType}/{ID}

注意:此API仅适用于基于列表的配置对象。在上面的示例中,{objectType}应替换为要更新的对象类型,并{ID}应替换为要更新的对象的ID。请求正文应包含要更新的对象的JSON表示形式。以下是此API的示例:

更新ID为的用户theUser:

PUT /icws/{sessionID}/configuration/users/theUser
{
    "personalInformationProperties": {
        "phoneNumberOfHome1" : NewHomePhoneNumber1,
        "phoneNumberOfHome2" : NewHomePhoneNumber2,
    }
}

三、关于配置属性

检索配置对象时,可以获得4种类型的配置值。如果配置查询中未指定其他类型,则仅返回“有效值”。可以返回的其他3种配置值类型是“实际值”,“继承值”和“从值继承”。这些可以通过指定的返回actualValues,inheritedValues或singlePropertyInheritedFrom在配置查询标志。

1、实际值
可以通过actualValues在配置查询中设置参数来返回“实际值” ,true并且可以从actualValue配置属性的一部分访问该实际值。“实际值”是在对象上显式设置的值,不考虑任何“继承的值”。管理类型应用程序最常使用此值,它是执行PUT或POST操作时唯一支持的配置值类型。

2、有效价值
默认情况下返回“有效值”,可以从effectiveValue配置属性的一部分访问。“有效值”是配置属性的最终计算值,考虑了“实际值”和可能影响它的所有“继承值”(例如a Role或Workgroup)。因此,“有效值”通常是大多数应用程序有兴趣检索的值。例如,如果用户“John Doe”是“支持”工作组的成员,那么分配给支持工作组的任何访问权限都将由John Doe继承,并在计算John Doe的访问权限时予以考虑。如果John Doe未设置特定访问权限effectiveValue 对于访问权限,将等于来自工作组的访问权限(假设没有其他继承的对象影响该值)。

3、继承的价值观
可以通过inheritedValues在配置查询中设置参数来返回“继承的值” ,true并且可以从inheritedValue配置属性的一部分访问它。“继承价值”只是“有效价值”而没有考虑“实际价值”。

4、继承自价值观
可以通过singlePropertyInheritedFrom在配置查询中设置参数来返回“从值继承” ,true并且可以从inheritedFromValue配置属性的一部分访问该参数。只能在查询特定对象的单个属性时返回此值。“从值继承”包含“继承值”来自的对象列表。


四、获取配置对象的默认值

获取配置对象的默认值的API遵循以下模式:

GET /icws/{sessionID}/configuration/defaults/{objectType}

在上面的示例中,{objectType}应替换为要获取默认值的对象类型。只有具有默认值属性的对象类型才具有此API。响应主体将包含对象的JSON表示,其中包含所有属性的默认值。以下是此API的示例:

获取用户的默认值:

GET /icws/{sessionID}/configuration/defaults/user

五、子对象

1、获取有关对象类型的子对象的信息
要获取有关对象类型的子对象的信息,可以使用表示URL查询字符串中的子对象类型的属性来创建对象类型的Get Object List或Get Object请求。这将返回有关指定父对象的子对象实例的所有信息。换句话说,无法控制返回哪些子对象。

2、添加一个或多个子对象
将一个或多个子对象添加到父对象可以通过以下两种方式之一完成:

  • 添加父对象时添加它们。
  • 将它们添加到现有父对象。

对于这两种方法,请求正文应包含要添加的子对象的JSON表示。
第二种方法的API在批量更新部分中有详细说明。

3、更新一个或多个子对象
更新父对象上的一个或多个子对象可以通过以下两种方式之一完成:

  • 更新父对象时更新它们。
  • 在现有父对象上修改它们。

对于这两种方法,请求正文应包含要添加的子对象的JSON表示。
第二种方法的API在批量更新部分中有详细说明。

4、添加,创建和/或删除一个或多个子对象
用于在父对象上添加,创建和/或删除一个或多个子对象的API遵循以下模式:

POST /icws/{sessionID}/configuration/{object-type}/{id}/{sub-object-type}

注意:此API仅适用于基于子对象的配置对象。在上面的示例中,{objectType}应该替换为要更新的父对象类型,{ID}应该替换为要更新的父对象的ID,并且{sub-object-type}应该替换为子对象类型。


六、订阅工作组配置

此示例将演示如何订阅工作组配置以在特定属性更改时接收更新。

PUT /icws/{essionID}/configuration/workgroups/
{
    "configurationIds": [
    "*"
    ],
    "properties": [
     "hasQueue",
     "isActive",
     "isWrapUpActive",
     "isCallbackEnabled",
     "isAcdEmailRoutingActive"
    ],
    "rightsFilter": "view"
}

在上面的示例中,'*'将检索用户具有查看权限的所有工作组。如果对列出的属性进行了任何更改,则将使用更新的值发送一条消息。


配置-详细内容

原文链接:
https://help.genesys.com/developer/cic/docs/icws/webhelp/icws/(sessionId)/configuration/Configuration.htm#application

你可能感兴趣的:(Genesys接口 - 04 配置 - Configuration)