Dynamics 365 Customer Engagement (on-premises) でのサポート情報記事に関する作業
Dynamics 365 Customer Engagement (on-premises) の新しいサポート情報記事を利用して、充実したサポート技術記事を作成し、バージョン管理と翻訳サポートを実現できます。 サポート技術記事を作成して公開すると、Customer Engagement (on-premises) インスタンス内のユーザーが記事を利用できるようになり、記事に含まれる情報を使って顧客に対して効果的にサービスを提供できます。 KnowledgeArticle
エンティティを使用して、Dynamics 365 Customer Engagement (on-premises) でサポート情報をネイティブに格納および管理します。
このトピックでは、新しいネイティブ Dynamics 365 Customer Engagement (on-premises) ナレッジ マネージメント機能の使用方法について説明します。
Note
エンティティ (KBArticle
)、(KBArticleTemplate
)、(KBArticleComment
) は非推奨になりました。 つまり、これらのエンティティを使用することは今後ありません。 Dynamics 365 Customer Service のナレッジ マネージメントにおいては、新しい (KnowledgeArticle
) エンティティを使用する必要があります。 詳細については、このトピックの最後にある非推奨のレガシー ナレッジ エンティティセクションを参照してください。
サポート情報の記事を作成する
サポート情報記事レコードを作成すると、Dynamics 365 Customer Engagement (on-premises) は内部的にレコードのルート記事を作成します。 ルート記事は、ユーザーが作成する主要なサポート情報記事と、今後作成する可能性があるすべての記事のバージョンおよび翻訳のコンテナーとして機能します。 次の図は、KnowledgeArticle
エンティティのエンティティ モデルを示しています。
サポート情報記事レコードを作成するとき、レコードはDraft
状態で作成されます。 新しい KnowledgeArticle
エンティティを使用すると、HTML 形式で記事の内容と書式を指定して、記事を作成できます。これに対し、従来の KbArticle
エンティティでは、記事のセクションと書式を記述したテンプレートに記事を関連付ける必要がありました。 プログラムからサポート情報記事レコードを作成する際に、KnowledgeArticle
.
ArticlePublicNumber
属性に独自の値を指定できます。独自の値を指定しなかった場合は、Web クライアントの Dynamics 365 Customer Engagement (on-premises) 設定領域に指定した書式に基づいて値が自動的に生成されます。 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 アクションまたは 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 アクション (Web API) または CreateKnowledgeArticleTranslationRequest (組織サービス) を使用して、サポート情報記事レコードの翻訳を作成します。 サポート情報記事を 150 を超える言語に翻訳できます。サポートされている言語についての情報が、新しい LanguageLocale
エンティティで提供されています。 詳細: LanguageLocale エンティティ
CreateKnowledgeArticleTranslation Action (Web 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));
Note
LanguageLocaleId
エンティティ内の各レコードに対する主キー (LanguageLocale
) の GUID 値は、すべての Dynamics 365 Customer Engagement (on-premises) 組織で同じです。
サポート情報記事ライフサイクル: サポート情報記事の状態を変更する
サポート情報記事は、ライフサイクルの過程で次の状態になります。
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 Engagement (on-premises) エンティティ インスタンスとの関連付け
CRM で Web クライアントを使って、Dynamics 365 Customer Engagement (on-premises) でのエンティティに対する埋め込みのサポート情報検索を有効にすると、多対多の関連付け、msdyn_
<Entity_Name>_knowledgearticle
、が自動的に作成されます。 この関連付けを使って、KnowledgeArticle
インスタンスを Dynamics 365 Customer Engagement (on-premises) エンティティ インスタンスにプログラムから関連付けまたはリンクすることができます。 KnowledgeArticle
インスタンスをエンティティ インスタンスに関連付けると、関連付けのレコードは、msdyn_
<Entity_Name>_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 Engagement (on-premises) のサポート情報記事には、個々のバージョンと翻訳を含めて、フルテキスト インデックスが作成され、SQL Server のフルテキスト検索がサポートされています。 フルテキスト検索の詳細については、「SQL Server: フルテキスト検索」を参照してください。
FullTextSearchKnowledgeArticleRequest メッセージを使用してアプリケーションからサポート情報記事を検索し、探している情報を見つけます。 FullTextSearchKnowledgeArticleRequest メッセージでは、語尾変化のある単語の語幹の一致を使用できます (検索文字列の異なる時制や語尾変化に対応できる)。また、指定したテキストが出現するサポート情報記事を検索するためのクエリ条件を指定できます (FetchXML や QueryExpression を使用してフィルター、順序、並べ替え、ページングを指定する)。 さらに、同じ記事の複数のバージョンが検索結果に含まれないようにすることや、テキスト検索時にサポート情報記事の状態でフィルター処理することを選択できます。
非推奨のサポート情報エンティティ
Dynamics 365 Customer Service のナレッジマネジメント機能が強化され、次のレガシ エンティティが廃止されました。
レガシ サポート情報エンティティの廃止は、Microsoft Dynamics 365 の将来のリリースにおける重要な変更点 で発表されました。
レガシー サポート情報エンティティは、2020 年 12 月 1 日をもってアクセスできなくなります。 今すぐ新しい KnowledgeArticle エンティティに移動することを強くお勧めします。 統一インターフェイスでサポート情報記事を作成する方法の詳細については、サポート情報記事の作成と管理 を参照してください。
移行のヘルプには、以下を使用します:
- シナリオに応じて、SDK、WebAPI、または Microsoft Power Automate を使用します。
- MIT ライセンス でオープン ソースの移行ツールを使用します。
重要
- オープン ソースの移行ツールは Microsoft によってサポートされていないため、シナリオに合わせて変更する必要がある場合があります。
- 運用環境で使用する前に、必ずテスト環境を実行してください。
- ツールを使用する前に、ライセンスと readme を確認してください。