Thao tác với bài viết kiến thức

Trải nghiệm kiến thức mới trong Dynamics 365 Customer Service cho phép bạn tạo các bài viết kiến thức phong phú cùng với hỗ trợ phiên bản và dịch thuật. Trải nghiệm kiến thức mới sử dụng thực thể KnowledgeArticle để lưu trữ và quản lý kiến thức gốc trong Dynamics 365 Customer Service.

Lưu ý

Các thực thể KBArticle, KBArticleTemplateKBArticleComment hiện không dùng nữa. Điều này nghĩa là chúng tôi không kỳ vọng bạn sử dụng các thực thể này nữa. Bạn phải sử dụng thực thể KnowledgeArticle mới hơn để quản lý kiến thức trong Dynamics 365 Customer Service. Để biết thêm thông tin, hãy xem phần Thực thể kiến thức không dùng nữa ở cuối chủ đề này.

Tạo bài viết kiến thức

Khi tạo bản ghi bài viết kiến thức, Dynamics 365 Customer Service sẽ tọa nội bộ một bài viết gốc cho bản ghi. Bài viết gốc hoạt động như một vùng chứa cho bài viết kiến thức chính do bạn tạo ra, cùng với tất cả phiên bản bài viết và bản dịch mà bạn có thể tạo trong tương lai. Sơ đồ sau mô tả mô hình thực thể cho thực thể KnowledgeArticle.

Mô hình thực thể KnowledgeArticle.

Khi bạn tạo bản ghi bài viết kiến thức, bản ghi được tạo ở trẠng thái Draft. Sử dụng thực thể KnowledgeArticle mới, bạn có thể tạo một bài viết bằng cách chỉ định nội dung và định dạng ở định dạng HTML. Bạn có thể chỉ định giá trị của riêng mình cho thuộc tính KnowledgeArticle.ArticlePublicNumber trong khi tạo bản ghi bài viết kiến thức theo chương trình; nếu không, giá trị sẽ được tự động tạo dựa trên định dạng mà bạn đã chỉ định trong khu vực thiết đặt Dynamics 365 Customer Service trong máy khách web. Thuộc tính KnowledgeArticle.ArticlePublicNumber lưu trữ ID hiển thị cho khách hàng, đối tác và người dùng bên ngoài khác để tham khảo và tra cứu các bài viết kiến thức mà vẫn giữ nguyên các phiên bản bài viết kiến thức và bản dịch.

Mã mẫu sau đây hiển thị cách bạn có thể tạo một bản ghi bài viết kiến thức.

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);  

Tạo các phiên bản lớn và nhỏ của bài viết kiến thức

Khi bạn tạo bản ghi bài viết kiến thức, phiên bản lớn sẽ tự động được đặt thành 1 và phiên bản nhỏ thành 0. Sử dụng thông báo CreateKnowledgeArticleVersion (Hành động CreateKnowledgeActionVersion hoặc CreateKnowledgeArticleVersionRequest) để tạo một phiên bản lớn hoặc nhỏ của bài viết kiến thức. Trong thông báo yêu cầu, đặt IsMajor thành true để tạo phiên bản lớn, đặt thành false để tạo một phiên bản nhỏ. Bản ghi phiên bản mới được tạo sử dụng:

  • Thuộc tính KnowledgeArticle.RootArticleId để duy trì sự liên kết với bản ghi bài viết kiến thức gốc.

  • Thuộc tính KnowledgeArticle.PreviousArticleContentId để trỏ đến phiên bản trước của bản ghi.

Mã mẫu sau cho biết cách bạn có thể tạo phiên bản lớn của một bản ghi bài viết kiến thức bằng CreateKnowledgeArticleVersionRequest.

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

Tạo bản dịch bài viết kiến thức

Sử dụng Hành động CreateKnowledgeArticleTranslation (Web API) hoặc CreateKnowledgeArticleTranslationRequest (dịch vụ tổ chức) để tạo bản dịch cho một bản ghi bài viết kiến thức. Bạn có thể dịch bài viết kiến thức ở hơn 150 ngôn ngữ và thông tin về các ngôn ngữ được hỗ trợ này có sẵn ở thực thể LanguageLocale mới.

Thông tin thêm: Thực thể Ngôn ngữLocale.

Sử dụng Hành động CreateKnowledgeArticleTranslation (API web) hoặc CreateKnowledgeArticleTranslationRequest (dịch vụ tổ chức) tạo bản ghi bài viết kiến thức với tiêu đề, nội dung, mô tả và từ khóa được sao chép từ bản ghi nguồn sang bản ghi mới và ngôn ngữ của bản ghi mới được đặt thành bản ghi bạn đã chỉ định trong yêu cầu. Bạn cũng cần xác định xem bản ghi mới sẽ là phiên bản lớn hay nhỏ. Bản ghi mới sử dụng thuộc tính KnowledgeArticle.ParentArticleContentId để duy trì sự liên kết với bản ghi bài viết kiến thức chính.

Sau khi bạn thực hiện thông báo này và nhận được phản hồi, hãy truy xuất bản ghi bài viết kiến thức từ đối tượng phản hồi, sau đó cập nhật tiêu đề, nội dung và từ khóa để thêm nội dung đã dịch.

Mã mẫu sau thể hiện cách bạn tạo bản dịch bài viết kiến thức bằng 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));  

Lưu ý

Giá trị GUID của khóa chính (LanguageLocaleId) cho mỗi bản ghi ngôn ngữ trong thực thể LanguageLocale là giống nhau trên tất cả các tổ chức Dynamics 365 Customer Service.

Vòng đời bài viết kiến thức: Thay đổi trạng thái của bài viết kiến thức

Trong vòng đời, một bài viết kiến thức có thể ở trạng thái sau:

  • 0: Bản nháp (sau khi bài viết kiến thức được tạo)

  • 1: Được phê duyệt (sau khi bài viết kiến thức được phê duyệt)

  • 2: Lên lịch (Sau khi một bài viết kiến thức được lên lịch xuất bản)

  • 3: Đã xuất bản (sau khi bài viết kiến thức được xuất bản)

  • 4: Đã hết hạn (sau khi bài viết kiến thức hết hạn theo ngày hết hạn chỉ định trong khi xuất bản)

  • 5: Đã lưu trữ (sau khi bài viết kiến thức được lưu trữ)

  • 6: Đã hủy bỏ (sau khi bài viết kiến thức bị hủy bỏ)

Để thay đổi trạng thái của bài viết, hãy sử dụng tin nhắn Update trên bản ghi bài viết kiến thức để cập nhật thuộc tính KnowledgeArticle.StateCode. Đối với các loại ràng buộc sớm, hãy sử dụng hàm liệt kê KnowledgeArticleState để đặt các trạng thái có thể. Thông tin thêm: Thực hiện các thao tác chuyên biệt bằng cách sử dụng Cập nhật.

Mã mẫu sau cho biết cách xuất bản bản ghi bài viết kiến thức.

// 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);  
  

Liên kết bản ghi bài viết kiến thức với phiên bản thực thể Dynamics 365 Customer Service

Khi bạn bật tính năng tìm kiếm kiến thức được nhúng cho một thực thể trong Dynamics 365 Customer Service bằng máy khách web, mối quan hệ nhiều với nhiều, msdyn_<Entity_Name>_knowledgearticle, sẽ được tạo tự động. Bạn có thể sử dụng mối quan hệ này để liên kết theo chương trình một phiên bản KnowledgeArticle với phiên bản thực thể Dynamics 365 Customer Service. Khi bạn liên kết một phiên bản KnowledgeArticle với phiên bản thực thể, một bản ghi cho mối quan hệ sẽ được tạo trong thực thể giao nhau gọi là msdyn_<Entity_Name>_knowledgearticle. Ví dụ: khi bạn liên kết phiên bản KnowledgeArticle với phiên bản Account trong lần đầu tiên, một thực thể giao nhau gọi là msdyn_account_knowledgearticle sẽ được tạo và một bản ghi có ánh xạ liên kết sẽ được tạo trong thực thể giao nhau này. Theo mặc định, thực thể Incident (Trường hợp) sẽ được bật cho tìm kiếm kiến thức được nhúng, và khi bạn liên kết bản ghi KnowledgeArticle với một bản ghi Incident, bản ghi liên kết sẽ được tạo trong thực thể giao nhau KnowledgeArticleIncident.

Mẫu mã sau đây cho thấy cách liên kết phiên bản KnowledgeArticle với phiên bản 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);  
  

Tăng số lượt xem bài viết kiến thức

Sử dụng thông báo IncrementKnowledgeArticleViewCountRequest để tăng số lượt xem bản ghi bài viết kiến thức cho một ngày nhất định trong thực thể KnowledgeArticleViews. Nếu bản ghi không tồn tại cho một bài viết kiến thức trong một ngày được chỉ định, hệ thống sẽ tạo một bản ghi rồi đặt giá trị lượt xem cụ thể trong thuộc tính KnowledgeArticleViews.KnowledgeArticleView. Nếu một bản ghi đã tồn tại cho một bài viết kiến thức trong ngày cụ thể, nó sẽ chỉ tăng số lượt xem trong thuộc tính KnowledgeArticleViews.KnowledgeArticleView của bản ghi hiện có.

Các bài viết kiến thức trong Dynamics 365 Customer Service, bao gồm các phiên bản và bản dịch, được lập chỉ mục toàn văn bản và hỗ trợ tính năng tìm kiếm toàn văn bản SQL Server. Để biết thêm thông tin về tính năng tìm kiếm toàn văn bản, hãy xem Máy chủ SQL: Tìm kiếm toàn văn bản.

Sử dụng thông báo FullTextSearchKnowledgeArticleRequest để tìm kiếm bài viết kiến thức từ ứng dụng của bạn để tìm thông tin bạn đang tìm kiếm. Thông báo FullTextSearchKnowledgeArticleRequest cho phép bạn sử dụng cách so khớp gốc biến cách (cho phép thay thế thì hoặc biến cách khác cho văn bản tìm kiếm) và chỉ định tiêu chí truy vấn (sử dụng FetchXML hoặc QueryExpression để chỉ định lọc, sắp xếp, sắp xếp và phân trang) để tìm các bài viết kiến ​​thức có văn bản được chỉ định. Bạn cũng có thể chọn xóa nhiều phiên bản của cùng một bài viết trong kết quả tìm kiếm và lọc theo trạng thái bài viết kiến thức trong khi tìm kiếm văn bản.

Thực thể kiến thức không dùng nữa

Các thực thể cũ sau đã bị ngừng hoạt động. Thông tin thêm: Thực thể kiến ​​thức không được dùng nữa

Kể từ ngày 1 tháng 12 năm 2020, các thực thể kiến thức kế thừa không thể truy cập được. Chúng tôi khuyên bạn nên di chuyển thực thể KnowledgeArticle. Để biết thêm thông tin về cách tạo bài viết kiến ​​thức trong Giao diện Hợp nhất, hãy xem Tạo và quản lý bài viết kiến ​​thức.  

Sử dụng phần sau đây để được trợ giúp về di chuyển:

  • Sử dụng SDK, WebAPI hoặc Microsoft Power Automate tùy thuộc vào tình huống của bạn.
  • Sử dụng công cụ di chuyển nguồn mở với Giấy phép MIT.

Quan trọng

  • Công cụ di chuyển nguồn mở không được Microsoft hỗ trợ và cần phải sửa đổi cho phù hợp với trường hợp của bạn.
  • Luôn chạy môi trường thử nghiệm trước khi dùng trong sản xuất.
  • Kiểm tra giấy phép và tệp readme trước khi sử dụng công cụ.

Xem thêm