整合 Microsoft Dynamics CRM 2015 與 Parature
發佈日期: 2016年11月
適用對象: Dynamics CRM 2015
啟用 Parature 知識管理整合,協助客服專員從 Microsoft Dynamics 365 中快速尋找及提供正確訊息給客戶,可改善客服專員的生產力。Parature,來自 Microsoft 是雲端客戶服務解決方案,透過知識管理、智慧型自助服務和多管道互動,提供一致和組織資訊的快速存取。 如需 Parature 的詳細資訊,請參閱關於 Parature。
備註
如果是 Microsoft Dynamics CRM Online 組織,只有在組織已更新至 Dynamics CRM Online 2015 更新 1 時,才能使用此功能。 這項功能不適用於 Dynamics CRM (內部部署)。
本主題內容
啟用與 Parature 知識管理整合
建立並管理知識庫記錄中繼資料
關聯知識庫記錄與實體執行個體
啟用與 Parature 知識管理整合
使用網頁用戶端,可以啟用 Dynamics 365 執行個體與 Parature 知識管理整合;您無法透過 SDK 執行。其他資訊:TechNet:將 Microsoft Dynamics CRM 連線至 Parature 知識庫
啟用 Parature 知識管理整合之後,開發人員便可以使用 IsKnowledgeManagementEnabled 屬性,在 Dynamics 365 啟用或偵測 Parature 實體的知識管理整合。 您只可以針對可在多對多實體關聯的實體 (可使用實體的 CanBeInManyToMany 屬性決定) 啟用 Parature 整合。
當您啟用實體的 Parature 整合,在建立此實體與下列名稱的 KnowledgeBaseRecord 實體之間會自動建立多對多關聯:KnowledgeBaseRecord_<Entity_Name>。 例如,如果您啟用 Account 實體的 Parature 整合,多對多關聯的名稱將是 KnowledgeBaseRecord_Account。
根據預設,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 表單。
知識庫搜尋控制項提供程式設計支援,以自動化或增強使用者使用此控制項的體驗。其他資訊:Parature 知識庫搜尋控制項 (用戶端參考)
建立並管理知識庫記錄中繼資料
使用 KnowledgeBaseRecord 實體,您可以建立和管理 Parature 知識庫記錄中繼資料。 在下表中會顯示此實體儲存的部分資訊。
屬性 |
描述 |
---|---|
KnowledgeBaseRecord.Title |
知識庫記錄的標題。 |
KnowledgeBaseRecord.UniqueID |
連結的 Parature 知識庫記錄的唯一識別碼。 |
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 執行個體與實體執行個體時,在下列名稱的交集實體中建立此關聯的記錄:**<Entity_Name>KnowledgeBaseRecord。 例如,當您首次關聯 KnowledgeBaseRecord 執行個體與 Account 執行個體,會建立稱為 AccountKnowledgeBaseRecord 的交集實體,並在交集實體中建立關聯對應的記錄。
下列範例程式碼示範如何關聯 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 實體訊息和方法
範例:建立並關聯知識庫記錄與事件
TechNet:將 Microsoft Dynamics CRM 連線至 Parature 知識庫
Parature 知識庫搜尋控制項 (用戶端參考)
TechNet:將知識庫搜尋控制項新增至 Microsoft Dynamics CRM 表單
事件 (案例) 實體
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權