Делите путем


Рад са чланцима у бази знања

Белешка

Информације о доступности функција су следеће.

Дyнамицс 365 < ДИЦТ__контакт центар > Цонтацт Центер – уграђен Дyнамицс 365 < ДИЦТ__контакт центар > Цонтацт Центер – самостално Dynamics 365 Customer Service
No Да Да

Ново искуство знања вам омогућава да креирате чланке о богатом знању заједно са подршком за креирање верзија и превођење. Ново искуство знања користи ентитет KnowledgeArticle за подразумевано складиштење знања и управљање њиме у услузи Dynamics 365 Customer Service.

Белешка

Ентитети KBArticle, KBArticleTemplate и KBArticleComment су застарели. То значи да не очекујемо да их бише користите. Морате да користите новији ентитет KnowledgeArticle за управљање знањем у услузи Dynamics 365 Customer Service. Више информација потражите у одељку Застарели ентитети знања на крају ове теме.

Креирање чланка базе знања

Када креирате запис чланка знања, Dynamics 365 Customer Service интерно креира основни чланак за запис. Основни чланак делује као контејнер за примарни чланак у бази знања који сте креирали заједно са свим верзијама чланка и преводима које бисте могли да креирате у будућности. Следећи дијаграм приказује модел ентитета за ентитет KnowledgeArticle.

Модел ентитета KnowledgeArticle.

Када креирате запис чланка у бази знања, он се креира у статусу Draft. Помоћу новог ентитета KnowledgeArticle можете да креирате чланак тако што ћете навести његов садржај и форматирање у HTML формату. Можете да наведете сопствену вредност за KnowledgeArticle. ArticlePublicNumber атрибут док програмски креирате запис чланка у бази знања; у супротном, вредност се аутоматски генерише на основу формата који сте навели у области са подешавањима за Dynamics 365 Customer Service у веб-клијенту. KnowledgeArticle. ArticlePublicNumber атрибут чува ID који се приказује клијентима, партнерима и другим спољним корисницима да би се позивали на и прегледали чланке у бази знања и остаје исти у различитим верзијама и преводима чланка у бази знања.

Следећи пример кода показује како можете да креирате запис чланка у бази знања.

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 Action или CreateKnowledgeArticleVersionRequest) да бисте креирали главну или споредну верзију чланка у бази знања. У поруци захтева подесите IsMajor на true да бисте креирали главну верзију; подесите на false да бисте креирали споредну верзију. Нова верзија записа која се креира користи:

  • KnowledgeArticle. RootArticleId атрибут за одржавање везе са основним записом чланка у бази знања.

  • KnowledgeArticle. PreviousArticleContentId атрибут за указивање на претходну верзију записа.

Следећи пример кода показује како можете да креирате главну верзију записа чланка у бази знања користећи CreateKnowledgeArticleVersionRequest.

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

Креирање превода чланка у бази знања

Користите CreateKnowledgeArticleTranslation Action (веб API) или CreateKnowledgeArticleTranslationRequest (услуга организације) за креирање превода за запис чланка у бази знања. Чланак у бази знања можете превести на више од 150 језика, а информације о тим подржаним језицима су доступне у новом ентитету LanguageLocale.

Више информација: Ентитет ЛангуагеЛоцале.

Користећи CreateKnowledgeArticleTranslation Action (веб API) или CreateKnowledgeArticleTranslationRequest (услуга организације) креирате нови запис чланка у бази знања са насловом, садржајем, описом и кључним речима копираним из изворног у нови запис и језиком новог записа који је подешен на онај који сте навели у захтеву. Такође морате да наведете да ли ће нови запис бити главна или споредна верзија. Нови запис користи KnowledgeArticle. ParentArticleContentId атрибут за одржавање везе са примарним записом чланка у бази знања.

Након што извршите ову поруку и добијете одговор, преузмите запис чланка у бази знања из објекта одговора, а затим ажурирајте наслов, садржај, опис и кључне речи да бисте додали преведени садржај.

Следећи пример кода показује како да креирате превод чланка у бази знања користећи 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));  

Белешка

GUID вредност примарног кључа (LanguageLocaleId) за сваки језички запис у ентитету LanguageLocale је иста у свим 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_<Назив ентитета>_knowledgearticle се аутоматски креира. Можете да користите овај однос да бисте програмски повезали KnowledgeArticle инстанцу са инстанцом ентитета Dynamics 365 Customer Service. Када повежете инстанцу KnowledgeArticle са инстанцом ентитета, креира се запис за однос у ентитету укрштања који се зове msdyn_<Назив ентитета>_knowledgearticle. На пример, када први пут повежете инстанцу KnowledgeArticle са инстанцом Account, креира се ентитет укрштања са називом msdyn_account_knowledgearticle, а запис са мапирањем повезивања се креира у овом ентитету укрштања. Подразумевано је омогућен ентитет Incident (предмет) за уграђену претрагу базе знања и када повежете запис KnowledgeArticle и запис Incident креира се запис повезивања у ентитету укрштања 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 коришћење или QуерyЕxпрессион за одређивање филтрирања, наручивања, сортирања и страничне меморије) за проналажење чланака знања са наведеним текстом. Такође можете да уклоните више верзија истих чланака у резултатима претраге и филтрирате према статусу чланка у бази знања док тражите текст.

Застарели ентитети знања

Следећи наслеђени ресурси су застарели. Више информација:Неодобрени ентитети знања

Наслеђени ентитети базе знања нису доступни од 1. децембра 2020. Изричито препоручујемо да пређете на ентитет KnowledgeArticle. Више информација о креирању чланка о знању у < ДИЦТ__обједињени интерфејс > Унифиед Интерфаце чланке о знању и управљајте њима.  

За помоћ око миграције користите следеће:

  • Користите SDK, WebAPI или Microsoft Power Automate у зависности од ваших сценарија.
  • Користите алатку за миграцију отвореног кода са MIT лиценцом.

Важно

  • Microsoft не подржава алатку за миграцију отвореног кода и можда ћете морати да је измените у складу са вашим сценаријима.
  • Увек покрените пробно окружење пре употребе у производњи.
  • Пре употребе алатке проверите лиценцу и датотеку „Прочитај ме“.

Такође погледајте