xDBインデックス内のSearch連絡先と商取引のやり取り
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
xConnect Search APIを使えば、連絡先や商取引のやり取りを検索し 、例えば注文した顧客のリストや顧客が購入した全商品のリストを作成できます。
!注デフォルトでインデックスされていないすべてのモデルのブラックリストを見つけることができます。これらのモデルは*DoNotIndexAttribute*タイプを持っています。このリストはカスタムモデルでデプロイされるSitecore.Commerce.Connect.XConnect.Models.jsonファイルに含まれています。
このトピックでは、xConnect Search APIを使ってCommerceのイベントに基づいて連絡先を照会する方法の例を提供します。
!注Azureでは、以下の例にある入れ子されたループを単一のLINQ文にまとめることができます。
注文した顧客のリストを返却してください
以下のコード例は、注文を行った連絡先のリストを返します。
using (var client = new XConnectClient(cfg))
{
var query = client.Contacts.Where(c => c.Interactions
.Any(i => i.Events.OfType
var enumerator = await query.GetBatchEnumerator(20);
List<IEntityReference
while (await enumerator.MoveNext()) { var contacts = enumerator.Current; contactsWhoPlacedOrders.AddRange(contacts); } }
顧客が購入したすべての商品のリストを返送してください
以下のコード例は、特定の顧客が購入した商品のリストを返します。
using (var client = new XConnectClient(cfg))
{
var contactId = Guid.Parse("1822ef81-3016-0000-0000-05a9dc69662e");
var query = client.Interactions
.Where(i => i.Contact.Id == contactId
&& i.Events.OfType
while (await enumerator.MoveNext())
{
var interactions = enumerator.Current;
var productList = interactions.Where(i => i.Events.OfType
顧客が閲覧したすべての商品のリストを返送してください
以下のコード例は、個々の顧客が閲覧したすべての商品のリストを返します。
using (var client = new XConnectClient(cfg))
{
var query = client.Interactions
.Where(i => i.Contact.Id == Guid.Parse("1822ef81-3016-0000-0000-05a9dc69662e")
&& i.Events.OfType
while (await enumerator.MoveNext())
{
var interactions = enumerator.Current;
var visitedProductsListIds = interactions
.SelectMany(i => i.Events.OfType
顧客が訪れたすべてのカテゴリーのリストを返してください
以下のコード例は、顧客が訪れたすべてのカテゴリのリストを返します。
var cfg = GetXConnectClientConfiguration();
using (var client = new XConnectClient(cfg))
{
var query = client.Interactions
.Where(i => i.Contact.Id == Guid.Parse("1822ef81-3016-0000-0000-05a9dc69662e")
&& i.Events.OfType
while (await enumerator.MoveNext())
{
var interactions = enumerator.Current;
var visitedCategoryListIds = interactions
.SelectMany(i => i.Events.OfType
カートを放棄した顧客のリストを返却してください
以下のコード例は、カートを放棄した顧客のリストを返します。
var cfg = GetXConnectClientConfiguration();
using (var client = new XConnectClient(cfg))
{
var query = client.Contacts.Where(c => c.Interactions
.Any(i => i.Events.OfType
while (await enumerator.MoveNext()) { var contacts = enumerator.Current; contactsWithAbandonedCart.AddRange(contacts); } }