ID レコードの顧客 ID への自動リンクを有効にする
この記事では、Microsoft Dynamics 365 Commerce で ID レコードと顧客 ID への自動リンクを有効にする方法について説明します。
コマースの自動リンク機能は、企業間取引 (B2B) および企業対消費者 (B2C) のサイトフローで使用され、承認された顧客が Microsoft Entra B2C テナントにサインアップし、既存の顧客レコードに自動的にリンクされるようにします。 B2C サイト フローでは、ID レコード自動リンク機能を使用して、Microsoft Entra テナントに登録したユーザーを、販売時点管理 (POS)、コール センター、または Commerce headquarters で以前に作成した顧客 ID レコードに自動的にリンクできます。
警告
ID レコード自動リンク機能は、ID プロバイダーとして Microsoft Entra ID B2C とともに使用する必要があります。 「サインアップとサインイン」ユーザー フローでは、ローカル アカウントのサインアップ ページのレイアウトで、電子メール アドレス ユーザー属性の既定の設定を維持し、検証を要求するオプションを「はい」に設定する必要があります。このコンフィギュレーションにより、自動リンク機能の使用時に、サインアップ フローで電子メールの検証機能を保持できます。
Commerce は、Microsoft Entra B2C などの ID プロバイダー サービスと連携して、ユーザー名やパスワードなどのユーザー認証資格情報を格納します。 ユーザーの ID プロバイダー レコードは、Commerce のリンク テーブルによって参照され、認証済ユーザーを Commerce の顧客 ID に関連付けます。
Commerce 本社で自動リンク機能を有効にする
Commerce 本社の環境で自動リンク機能を有効にするには、次の手順を実行します。
- システム管理>ワークスペース>機能管理に移動し、すべてタブを選択します。
- ローカル ID レコードと Commerce 顧客の自動リンクという機能を検索します。
- 機能を選択し、プロパティ ウィンドウで今すぐ有効にするを選択します。
注記
自動リンクを成功させるには、顧客が Web サイトにサインインする前に 1010 (顧客) 配信スケジュール ジョブを実行する必要があります。 有効にすると、環境内のすべてのチャンネルに対して自動リンク機能が有効になります。これは、環境内でさまざまなタイプのサイトをホストしている場合に注意が必要です。
B2B サイトでの自動リンク
B2B サイトは、チャネルの作成時に顧客タイプ プロパティが「B2B」に設定された、オンライン ストアに接続されている Commerce サイトです。 B2B サイトでは、顧客の承認やサインイン プロセスにおいて、ID レコードから顧客 ID への自動リンクが重要です。 顧客レコードは、B2B レコードが承認されたとき、または B2B 管理者がユーザー レコードを作成するときに作成されます。 顧客レコードが存在する場合、ユーザーは B2B サイトに移動してサインインします。 Microsoft Entra B2C サインイン エクスペリエンスに転送されると、ユーザーはサインアップを続行できます。 サインアップが完了すると、ユーザーは B2B サイトにリダイレクトされます。 この返却コールで、Commerce は顧客の最初のサインインの自動リンク オプションを確認します。
ユーザーの Microsoft Entra B2C ユーザー ID として使用される電子メール アドレスは、法人内のすべての B2B 顧客レコードで検索されます。 Commerce 自動リンク機能は、個人タイプで isB2B が「true」に設定されている顧客レコードを確認し、その顧客レコードに対して構成されている基本電子メール アドレスと照合します。
B2B サイトでは、自動リンクは次のチェックを実行します。
- 法人内の 1 つの顧客レコードのみが一致条件を満たす場合、サインアップしたユーザーは自動的にそのレコードにリンクされます。
- 法人内に一致条件を満たす顧客レコードがない場合、Commerce はエラー コード Microsoft_Dynamics_CommerceIdentityNotFound で CommerceIdentityNotFound エラーを生成します。
- CommerceIdentityNotFound エラーが発生した場合にユーザー向けメッセージを送信するには、Commerce サイト ビルダーでサイトのヘッダー モジュールのフラグメントをを開き、概要ビューでヘッダー モジュールを選択します。 右側のプロパティ ペインで、顧客が見つからない場合に表示するエラー メッセージに、メッセージを入力します (例: 「サインアップに成功しましたが、ビジネス ユーザー レコードが未承認です。後でもう一度サインインするか、アカウント承認の通知が来てからサインインしてください。」)。 次に、フラグメントを保存して公開します。
- 法人内の複数の顧客レコードで一致する条件が見つかった場合、Commerce はエラー コードMicrosoft_Dynamics_Commerce_Runtime_MultipleCustomerAccountsFoundWithSameEmailAddress で CustomerServiceMultipleCustomerAccountsFoundErrorOccurredWhenAutoLinking エラーを生成します。
- CommerceIdentityNotFound エラーが発生した場合にユーザー向けメッセージを送信するには、Commerce サイト ビルダーでサイトのヘッダー モジュールのフラグメントをを開き、概要ビューでヘッダー モジュールを選択します。 右側のプロパティ ペインで、複数の顧客が見つかった場合に表示するエラー メッセージ に、メッセージを入力します (例: 「サインアップに成功しましたが、ビジネス ユーザー アカウントに関連した問題があります。後でもう一度サインインしてください。」)。 次に、フラグメントを保存して公開します。
B2C サイトでの自動リンク
B2C サイトは、チャネルの作成時に顧客タイプ プロパティが「B2C」に設定された、オンライン ストアに接続されている Commerce サイトです。 B2C サイトでは、自動リンク機能は、サインアップに使用された電子メール アドレスを持つ単一の顧客 ID が法人内に存在するかどうかを確認します。
ユーザーの Microsoft Entra B2C ユーザー ID として使用される電子メール アドレスは、法人内のすべての B2C 顧客レコードで検索されます。 Commerce 自動リンク機能は、個人タイプの顧客レコードを確認します。
B2C サイトでは、自動リンクは次のチェックを実行します。
- 法人内の 1 つの顧客レコードのみが一致条件を満たす場合、サインアップしたユーザーは自動的にそのレコードにリンクされます。
- 法人内に一致条件を満たす顧客レコードがない場合、Commerce は ID プロバイダー レコードにリンクされた新しい顧客レコードを生成します。
- 法人内の複数の顧客レコードが一致条件を満たす場合、Commerce はエラー コードMicrosoft_Dynamics_Commerce_Runtime_MultipleCustomerAccountsFoundWithSameEmailAddress で CustomerServiceMultipleCustomerAccountsFoundErrorOccurredWhenAutoLinking エラーを生成します。
- CommerceIdentityNotFound エラーが発生した場合にユーザー向けメッセージを送信するには、Commerce サイト ビルダーでサイトのヘッダー モジュールのフラグメントをを開き、概要ビューでヘッダー モジュールを選択します。 右側のプロパティ ペインで、複数の顧客が見つかった場合に表示するエラー メッセージ に、メッセージを入力します (例: 「サインアップに成功しましたが、ビジネス ユーザー アカウントに関連した問題があります。後でもう一度サインインしてください。」)。 次に、フラグメントを保存して公開します。
メモ
- Commerce 通知モジュールを拡張して、エラー条件が満たされた場合にユーザーにエラー メッセージを表示することができます。
- 1 つのレコードが見つかった場合、Microsoft Entra ID B2C に設定されたソーシャル ID プロバイダー レコードも、条件が一致する同じ顧客レコードに自動的にリンクされます。 Commerce 顧客 ID は、ローカル ID レコードとソーシャル ID レコードの両方に同時にリンクできます。
追加リソース
サイトと Dynamics 365 Commerce チャンネルの関連付け