使用 Dynamics 365 中的 Parature 知识

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

Microsoft 提供的 Parature 是一种基于云的客户服务解决方案,提供通过知识管理、智能自助服务和多渠道交互对一致和经过整理的信息进行快速访问。详细信息:关于 Parature

您可以通过使用 Microsoft Dynamics 365 中的 Parature 知识来帮助服务代理快速找到准确信息并提供给客户,从而提高服务代理的工作效率。

本主题内容

与 Dynamics 365 中 Parature 知识集成

创建和管理知识库记录元数据

将知识库记录与实体实例相关联

与 Dynamics 365 中 Parature 知识集成

如果您正在使用 Dynamics 365(在线),则可以在设置知识库管理的同时,选择是使用本机 Dynamics 365 知识还是使用 Parature 知识作为知识源。 只能使用 Web 客户端设置知识库管理;这无法通过 SDK 完成。详细信息:帮助和培训:在 CRM 中设置知识管理

备注

您只能在 Dynamics 365(在线) 实例中与 Parature 知识集成;这不适用于内部部署 Dynamics 365。

设置知识库管理以使用 Parature 之后,开发人员可以通过使用 IsKnowledgeManagementEnabled 属性来启用或检测 Dynamics 365 中实体的知识管理集成。 您可以只为那些可以具有多对多实体关系的实体启用 Parature 知识管理,这可以使用该实体的 CanBeInManyToMany 属性确定。

默认情况下,知识管理集成对 Incident 实体是启用的。 以下示例代码演示如何为实体检测和启用知识管理集成。


RetrieveEntityRequest entityRequest = new RetrieveEntityRequest
{
    EntityFilters = EntityFilters.All,
    LogicalName = Incident.EntityLogicalName,

    // Retrieve only the currently published changes, ignoring the changes 
    // that have not been published.
    RetrieveAsIfPublished = false
};
RetrieveEntityResponse entityResponse = (RetrieveEntityResponse)_serviceProxy.Execute(entityRequest);

if (entityResponse.EntityMetadata.IsKnowledgeManagementEnabled == true)
{
    Console.WriteLine("Verified that knowledge management is enabled for Incident entity.\n");
    return;
}
else
{
    // Enable knolwledge management for the Incident entity.
    Console.WriteLine("Knowledge management is not enabled for the Incident entity.");
    entityResponse.EntityMetadata.IsKnowledgeManagementEnabled = true;

    // Create an update request.                    
    UpdateEntityRequest updateRequest = new UpdateEntityRequest
    {
        Entity = entityResponse.EntityMetadata
    };
    _serviceProxy.Execute(updateRequest);

    // Publish the entity.
    // All customizations must be published before they can be used.
    PublishAllXmlRequest enableRequest = new PublishAllXmlRequest();
    _serviceProxy.Execute(enableRequest);
    Console.WriteLine("Enabled Knowledge management for the Incident entity.");
}

有关完整示例代码,请参阅示例:创建并将知识库记录关联到事件

在为您的 Dynamics 365(在线) 实例启用 Parature 知识管理时,您可以为启用了知识管理集成的实体的窗体添加知识库搜索控件。 您可以使用控件在搜索结果显示自动建议,定义搜索的筛选器,并指定可在知识库文章中完成的上下文操作。详细信息:TechNet:将知识库搜索控件添加到 Microsoft Dynamics CRM 窗体

知识库搜索控件提供可编程支持以在用户使用此控件时自动化或增强用户体验。详细信息:知识库搜索控件(客户端引用)

创建和管理知识库记录元数据

可以使用 KnowledgeBaseRecord 实体创建和管理 Parature 知识库记录元数据。 下表显示了本实体存储的一些信息。

属性

说明

KnowledgeBaseRecord.Title

知识库记录的标题。

KnowledgeBaseRecord.UniqueID

链接的 Parature 知识库记录的唯一 ID。

KnowledgeBaseRecord.PrivateUrl

知识库记录的内部 Parature 服务台 URL。

KnowledgeBaseRecord.PublicUrl

知识库记录的公共 Parature 门户 URL。

以下示例代码演示如何创建知识库记录实例。


// Create a knowledge base record instance        
KnowledgeBaseRecord kbRecord = new KnowledgeBaseRecord
{
    // These are sample values. Replace them with
    // appropriate values as per your integrated 
    // Parature  instance.
    PrivateUrl = "http://www.demo.parature.com/internal",
    PublicUrl = "http://www.demo.parature.com",
    Title = "How to track shipping?",
    UniqueId = "8000/8467/Article/23782"
};
_kbRecordId = _serviceProxy.Create(kbRecord);
Console.WriteLine("Created knowledge base record with ID: '{0}'.\n", _kbRecordId.ToString());

有关完整示例代码,请参阅示例:创建并将知识库记录关联到事件

将知识库记录与实体实例相关联

可通过编程方式使用多对多关系(在为实体启用 Parature 集成时自动创建)将 KnowledgeBaseRecord 实例与实体实例相关联。 在将 KnowledgeBaseRecord 实例与实体实例关联时,会在名为 msdyn_<Entity_Name>_knowledgebaserecord 的相交实体中创建此关系的一条记录。 例如,当您第一次将 KnowledgeBaseRecord 实例与 Account 实例关联时,将会创建名为 msdyn_account_knowledgebaserecord 的相交实体,并且将在此相交实体中创建带有关联映射的记录。

以下示例代码演示如何将 KnowledgeBaseRecord 实例与 Incident 实例关联。


// Associate the knowledge base record with an incident record

// Step 1: Create a collection of knowledge base record that will be 
// associated to the incident. In this case, we have only a single
// knowledge base record to be associated.
EntityReferenceCollection relatedEntities = new EntityReferenceCollection();
relatedEntities.Add(new EntityReference(KnowledgeBaseRecord.EntityLogicalName, _kbRecordId));

// Step 2: Create an object that defines the relationship between knowledge base record and incident.
// Use the many-to-many relationship name (KnowledgeBaseRecord_Incident) between knowledge base
// record and incident.
Relationship relationship = new Relationship("KnowledgeBaseRecord_Incident");

// Step 3: Associate the knowledge base record with the incident record.
_serviceProxy.Associate(Incident.EntityLogicalName, _incidentId, relationship,
    relatedEntities);

要获得完整示例代码,包括如何解除 KnowledgeBaseRecord 实例与 Incident 实例的关联,请参阅示例:创建并将知识库记录关联到事件

KnowledgeBaseRecord 中存储的数据以及相交(在此为 IncidentKnowledgeBaseRecord)实体可用于与 Power BI 之类的工具一起使用,以生成有关 Parature 知识库在服务客户过程中的影响的报告。

另请参阅

KnowledgeBaseRecord 实体消息和方法
在 Dynamics 365 中处理知识文章
示例:创建并将知识库记录关联到事件
TechNet:将 Microsoft Dynamics CRM 连接到 Parature 知识库
知识库搜索控件(客户端引用)
TechNet:将知识库搜索控件添加到 Microsoft Dynamics CRM 窗体
事件(案例)实体

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权