共用方式為


使用知識文章

注意

功能可用性資訊如下。

Dynamics 365 Contact Center — 內嵌 Dynamics 365 Contact Center — 獨立 Dynamics 365 Customer Service

新的知識文章體驗可讓您建立豐富的知識文章,以及版本設定和翻譯支援。 新的知識體驗使用 KnowledgeArticle 實體來儲存和管理 Dynamics 365 Customer Service 中的原生知識。

注意

KBArticleKBArticleTemplateKBArticleComment 實體現已被取代。 這表示我們不希望您再使用這些實體。 您必須使用較新的 KnowledgeArticle 實體進行 Dynamics 365 Customer Service 中的知識管理。 如需詳細資訊,請參閱本主題結尾的已取代的知識實體一節。

建立知識文章

當您建立知識文章記錄時,Dynamics 365 Customer Service 會在內部建立記錄的根文章。 根文章做為您建立的主要知識文章的容器,以及您未來可能建立的所有文章版本和翻譯的容器。 下圖顯示 KnowledgeArticle 實體的實體模型。

KnowledgeArticle 實體模型。

建立知識文章記錄時,此記錄是在 Draft 狀態下建立。 您可以使用新的 KnowledgeArticle 實體,指定採用 HTML 格式的文章內容及格式設定來建立文章。 以程式設計方式建立知識文章記錄時,您可以為 KnowledgeArticle 指定 ArticlePublicNumber 屬性;否則會根據您在網頁用戶端 Dynamics 365 Customer Service 設定區域指定的格式自動建立此值。 KnowledgeArticleArticlePublicNumber 屬性儲存的識別碼會公開給客戶、合作夥伴及其他外部使用者,以供參照和尋找知識文章,識別碼在不同的知識文章版本和翻譯中都保持相同。

下列範例程式碼將顯示如何建立知識文章記錄。

KnowledgeArticle newKnowledgeArticle = new KnowledgeArticle  
{  
   Title = "Sample Knowledge Article",  
   Content = "<p>This is the article content.</p>"  
};  
knowledgeArticleId = _serviceProxy.Create(newKnowledgeArticle);  
Console.WriteLine("Created {0}", newKnowledgeArticle.Title);  

建立知識文章的主要版本和次要版本

當您建立知識庫文章記錄時,主要版本會自動設定為 1,而次要版本設定為 0。 使用 CreateKnowledgeArticleVersion 訊息 (CreateKnowledgeArticleVersion 動作CreateKnowledgeArticleVersionRequest) 來建立知識文章的主要或次要版本。 在要求訊息,設定 IsMajortrue 建立主要版本,設定為 false 建立次要版本。 建立的新版本記錄使用:

  • KnowledgeArticleRootArticleId 屬性,用於維護與根知識文章記錄的關聯。

  • KnowledgeArticlePreviousArticleContentId 屬性,用於指向記錄的舊版本。

下列範例程式碼顯示如何使用 CreateKnowledgeArticleVersionRequest 建立知識文章記錄的主要版本。

CreateKnowledgeArticleVersionRequest versionRequest = new CreateKnowledgeArticleVersionRequest  
{  
   Source = new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId),  
   IsMajor = true  
};  
CreateKnowledgeArticleVersionResponse versionResponse = (CreateKnowledgeArticleVersionResponse)_serviceProxy.Execute(versionRequest);  

建立知識文章翻譯

使用 CreateKnowledgeArticleTranslation 動作 (Web API) 或 CreateKnowledgeArticleTranslationRequest (組織服務) 建立知識文章記錄的翻譯。 您可以用 150 個以上語言翻譯知識文章,這些支援語言的資訊在新 LanguageLocale 實體中提供。

其他資訊:LanguageLocale 實體

使用 CreateKnowledgeArticleTranslation 動作 (Web API) 或 CreateKnowledgeArticleTranslationRequest (組織服務) 建立新知識文章記錄,從來源記錄將標題、內容、描述和關鍵字複製到新記錄,以及將新記錄的語言設定為您在要求中指定的語言。 您也必須指定新記錄為主要或次要版本。 新的記錄會使用 KnowledgeArticleParentArticleContentId 屬性,用於維護與主要知識文章記錄的關聯。

在執行此訊息並取得回覆之後,從回覆物件中擷取知識文章記錄,然後更新標題、內容、描述和關鍵字以新增翻譯的內容。

下列範例程式碼將顯示如何使用 CreateKnowledgeArticleTranslationRequest 建立知識文章的翻譯:

CreateKnowledgeArticleTranslationRequest translationRequest = new CreateKnowledgeArticleTranslationRequest  
{  
   Source = new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId),  
   Language = new EntityReference(LanguageLocale.EntityLogicalName, languageLocaleId), //languageLocaleId = GUID of the Primary Key of LanguageLocale record  
   IsMajor = true    // Creating a major version   
};  
CreateKnowledgeArticleTranslationResponse translationResponse = (CreateKnowledgeArticleTranslationResponse)_serviceProxy.Execute(translationRequest);  
  
// Retrieve the new knowledge article record  
KnowledgeArticle respObject = (KnowledgeArticle)_serviceProxy.Retrieve(KnowledgeArticle.EntityLogicalName,   
      translationResponse.CreateKnowledgeArticleTranslation.Id, new ColumnSet(true));  

注意

LanguageLocale 實體中每個語言記錄的主索引鍵的 GUID 值 (LanguageLocaleId) 在所有 Dynamics 365 Customer Service 組織中皆相同。

知識文章生命週期:變更知識文章的狀態

知識文章在其生命週期內可處於下列狀態:

  • 0:草稿 (在知識文章建立後)

  • 1:已核准 (在知識文章經過核准之後)

  • 2:已排程 (在知識文章已排程發行之後)

  • 3:已發行 (在知識文章發行後)

  • 4:已過期 (根據發行時指定的到期日,在知識文章到期之後)

  • 5:已封存 (在封存知識文章之後)

  • 6:已捨棄 (在捨棄知識文章之後)

若要變更文章的狀態,請在知識文章記錄上使用 Update 訊息以更新 KnowledgeArticle.StateCode 屬性。 若是早期繫結類型,請使用 KnowledgeArticleState 列舉來設定可能的狀態。 其他資訊:使用更新執行特殊化作業

下列範例程式碼將顯示如何發行知識文章記錄。

// Retrieve the knowledge article record  
KnowledgeArticle myKnowledgeArticle = (KnowledgeArticle)_serviceProxy.Retrieve(  
        KnowledgeArticle.EntityLogicalName, knowledgeArticleId, new ColumnSet("statecode"));  
  
// Update the knowledge article record  
myKnowledgeArticle.StateCode = KnowledgeArticleState.Published;  
UpdateRequest updateKnowledgeArticle = new UpdateRequest  
{  
    Target = myKnowledgeArticle  
};  
_serviceProxy.Execute(updateKnowledgeArticle);  
  

建立知識文章記錄與 Dynamics 365 Customer Service 實體執行個體的關聯

當您使用網頁用戶端啟用 Dynamics 365 Customer Service 實體的內嵌知識搜尋時,系統會自動建立多對多關聯 msdyn_<Entity_Name>_knowledgearticle。 您可以使用此關聯,以程式設計方式將 KnowledgeArticle 執行個體與 Dynamics 365 Customer Service 實體執行個體關聯或連結起來。 當您關聯 KnowledgeArticle 執行個體與實體執行個體時,在下列名稱的交集實體中建立此關聯的記錄:msdyn_<Entity_Name>_knowledgearticle。 例如,當您首次關聯 KnowledgeArticle 執行個體與 Account 執行個體,會建立稱為 msdyn_account_knowledgearticle 的交集實體,並在交集實體中建立關聯對應的記錄。 根據預設,Incident (案例) 實體已啟用內嵌知識搜尋,而且當您連結 Incident 記錄至 KnowledgeArticle 記錄,KnowledgeArticleIncident交集實體中會建立關聯記錄。

下列範例程式碼示範如何關聯 KnowledgeArticle 執行個體與 Account 執行個體:

// Associate the knowledge article record with an account record  
  
// Step 1: Create a collection of knowledge article records that will be   
// associated to the account. In this case, we have only a single  
// knowledge article record to be associated.  
EntityReferenceCollection relatedEntities = new EntityReferenceCollection();  
relatedEntities.Add(new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId));  
  
// Step 2: Create an object that defines the relationship between knowledge article record and account record.  
// Use the many-to-many relationship name (msdyn_account_knowledgearticle) between knowledge article  
// record and account record.  
Relationship newRelationship = new Relationship("msdyn_account_knowledgearticle");  
  
// Step 3: Associate the knowledge article record with the account record.  
_serviceProxy.Associate(Account.EntityLogicalName, accountId, newRelationship, relatedEntities);  
  

遞增知識文章檢視計數

使用 IncrementKnowledgeArticleViewCountRequest 訊息,遞增 KnowledgeArticleViews 實體在指定日期的知識文章檢視計數。 如果知識文章在指定日期沒有記錄,就會建立記錄,然後在 KnowledgeArticleViews 中設定指定的檢視計數值。 KnowledgeArticleView 屬性。 如果知識文章在指定的一天已經有記錄,則只是會遞增 KnowledgeArticleViews 中的檢視計數。 現有記錄的 KnowledgeArticleView 屬性。

Dynamics 365 Customer Service 知識文章 (包括其版本和翻譯) 已全文檢索且支援 SQL Server 全文搜尋。 如需關於全文檢索搜尋的詳細資訊,請參閱 SQL Server:全文搜尋

使用 FullTextSearchKnowledgeArticleRequest 訊息,從您的應用程式搜尋知識文章,尋找所要的資訊。 FullTextSearchKnowledgeArticleRequest 訊息讓您使用詞幹曲折變化比對 (允許使用不同時態或詞形變化來取代搜尋文字),並指定查詢準則 (使用 FetchXML 或 QueryExpression 以指定篩選、順序、排序和分頁),尋找包含指定文字的知識文章。 您也可以選擇移除搜尋結果中相同文章的多版本,並在搜尋文字時篩選知識文章狀態。

已取代的知識實體

下列舊版實體已被取代。 其他資訊:取代的知識實體

自 2020 年 12 月 1 日起,無法存取舊版知識實體。 強烈建議您遷移至 KnowledgeArticle 實體。 如需有關在整合介面中建立知識文章的詳細資訊,請參閱 建立和管理知識文章。  

使用下列資源來取得移轉作業方面的協助:

  • 視您的案例而定,使用 SDK、WebAPI 或 Microsoft Power Automate。
  • 使用提供 MIT 授權的開放原始碼移轉工具。

重要

  • 此開放原始碼移轉工具並非 Microsoft 提供的支援,可能必須進行修改,才能符合您的案例。
  • 在正式生產中使用之前,請務必執行測試環境。
  • 使用此工具之前,請檢查授權和讀我檔案。

請參閱