Dynamics 365 Customer Engagement Plan アプリケーションには標準で、1つのポータルアドオンが提供されています。
ポータルを利用するメリットしては以下のようなことが挙げられます。
・Dynamics 365 のライセンスを持たない組織外のユーザーに対しても、Dynamics 365 のデータを活用してサービスや情報の提供ができる
・Dynamics 365 のレコードの作成・編集のみで簡単に Web サービスの構築が行える
等のメリットが得られます。
引用元:Microsoft Dynamics 365 新機能: Portal アドオン その 1
今回は Dynamics 365 のポータルを使って、お問い合わせフォームを構成する手順をご紹介します。
目次
Dynamics 365 ポータルのセットアップ
Dynamics 365 ポータル機能については、上述したマイクロソフトのブログに詳しく記載されているため、ここでは割愛します。
なお、ここでは下図のように、顧客セルフサービスポータルをセットアップしました。
ページビューとライセンス
Dynamics 365 Customer Engagement Plan でポータル機能を利用する上での制限として以下があります。
- Dynamics 365 Customer Engagement Plan もしくはアプリケーション (Sales, CS, FS, PSA) のライセンスを合計で10シート必要
- ページビューは 100万回/月
- クラウドのみで利用可能。オンプレミスでは不可
無償版の Dynamics 365 を利用して検証する場合は、上記の制限を気にする必要はありません。
Marketing 利用時の注意事項
すでに Dynamics 365 for Marketing をセットアップしている環境で上記のポータルセットアップ手順を行うと、Marketing の機能に支障が出る可能性があります。Dynamics 365 for Marketing をセットアップしている環境で、ポータル機能を利用する場合は、別途ライセンスの購入が必要になります。
ポータル管理画面へアクセス
まずはポータルの管理画面に遷移します。左パネルの「ポータルの詳細」をクリックすると、ポータルの詳細情報を確認できます。
「ポータルアクション」をクリックすると、ポータルの再起動やURLの変更、リセットなどを実行できます。
診断ログを有効にできるのですが、これは別途 Azure Blob が必要になるので、ここでは触れません。
ポータルのアカウント
作成したポータルにアクセスをすると、右上に「サインイン」がありますので、クリックします。
ここで、「ローカル アカウント」と「外部アカウント」の2種類のサインインがあります。
- ローカルアカウントはポータルで管理されるアカウントで、登録をすると ID とパスワードがポータル内で管理されます。
- 外部アカウントは、Azure AD や他の外部システムで管理されているアカウントでのサインインになります。
以下、技術情報での定義です。
ローカル認証: ローカル認証は、認証用に Dynamics 365 for Customer Engagement 組織の取引先担当者レコードを使用する、共通のフォーム ベースの認証です。 カスタムの認証エクスペリエンスを構築するには、開発者は ASP.NET ID API を使用して、カスタムのログイン ページおよびツールを作成します。
外部認証: 外部認証は、ASP.NET ID API によって提供されます。 この場合、アカウント資格とパスワード管理は、サード パーティーの ID プロバイダーによって処理されます。 これには、Yahoo! などのプロバイダー ベースの OpenID が含まれます。 さらに Twitter、Facebook、および Microsoftなどのプロバイダー ベースの Google や OAuth 2.0。 ユーザーは、ポータルに登録するための外部 ID を選択して、ポータルにサイン アップします。 登録した後、外部 ID でローカル アカウントと同じ機能にアクセスできます。
引用元:Dynamics 365 for Customer Engagement ポータル認証を構成する
ここでのアカウントは、Dynamics 365 の「取引先担当者」レコードとして管理されます。
オープン登録の無効化
「オープン登録」というポータル上でユーザーが自由にアカウントを登録できる機能は既定ではONになっており、「サインイン」の「登録」タブからメールアドレス、ID、パスワードを自由に登録できます。これはマイページのようなアクセスしたユーザーが自由に利用できるタイプのサイトでは有効です。
もしこのオープン登録を無効化したい場合は、Dynamics 365 の「ポータル」を開きます。
「サイトの設定」をクリックします。
“Authentication/Registration/OpenRegistrationEnabled” という設定を検索してクリックします。
値を “false” にして保存します。
ポータルに戻り、「サインイン」をクリックします。すると「登録」のタブが消えていることがわかります。
その他の認証方法に関する技術情報は下記を参照してください。
技術情報:ポータル用の認証 ID の設定
※オープン登録は利用したいので、true に値を戻しておきます。
招待状の送付とサインイン
サインインできるユーザーを限定したい場合は、「招待状」を利用してユーザー登録を行います。
※ 招待状を送付するには、操作するユーザーのメールボックスが有効になっている必要があります。
手順については、 Dynamics 365 のメール設定を確認する で触れています。
事前作業:Send Invitation プロセスの更新
招待状に引換用のコードを付与したURLを追加するために、Send Invitation というプロセスを編集します。Dynamics 365 の「設定」の「プロセス」から “Send Invitation” というプロセスを開きます。「非アクティブ化」をクリックして非アクティブ化した後、「Create an email to act as an email template」の「プロパティの設定」をクリックします。
ここでメール本文にポータルログイン用のURLがありますが、これはサンプルになるのでここを書き換えます。URLの最初の部分は作成したポータルのURLに書き換えて、/register/?returnurl=%2f&invitation= だけ残しつつ、その後に “Encode Invitation Code” というプロセスの前のステップで取得した引き換えコード(動的)の値を追加します。
URLは下記のようになります。
<ポータルのURLはここ>/register/?returnurl=%2f&invitation=<Encode invitation Code をここに>
これでプロセス実行の準備ができました。
招待状の送付とサインイン
Dynamics 365 の取引先担当者を1つ開きます。招待状が送付される電子メールに値が入っていることを確認して、
メニューから「招待状の送付」をクリックします。
招待状の新規作成画面が表示されるので、名前などを入力して上書き保存します。そしてメニューの・・・より「フロー」を展開して、「ワークフローの実行」から “Send Invitation” をクリックします。
ダイアログで「OK」をクリックして完了です。
実行されたら、メールが届きます。下記のURLをコピーします。
ポータルで招待コードの引き換え画面になるので、「登録」をクリックします。
「ユーザー名」と「パスワード」を入力して「登録」をクリックします。
これで招待状を送付したユーザーはポータルにマイページをもって利用することが可能になります。
ポータルアカウントの確認
招待状で登録されたポータルアカウントの設定内容は、取引先担当者の別フォームで確認できます。フォームセレクターから「Portal Contacts」をクリックします。
「Web認証」タブを開くと先ほど設定した内容が記載されています。
- 「ユーザー名」はポータルのログイン名
- 「ログインが有効」でユーザーのログインが可能かどうかを判断(無効にするならチェックを外す)
- 「ロックアウトが有効」でユーザーが複数回ログインをするとしばらくロックアウトするかどうか
- 「ロックアウト終了日」でロックアウトされた場合、いつ解除されるか
などの設定が確認できます。
ポータルからお問い合わせ
それでは招待状でサインインしたまま、ポータル上でお問い合わせを行います。ページ下の「サポート案件の作成」をクリックします。
新規お問い合わせフォームが開きますので、そこでタイトルや説明を埋めます。
添付ファイルはないので、このまま「送信」をクリックします。
お問い合わせが届いたか確認します。Dynamics 365 の「サービス」を開きます。
「サポート案件」を開くと、先ほどのお問い合わせが作成されています。
これでポータルからサポート案件を作成することができました。もしお問い合わせをキャンセルやクローズしたい場合は、ポータルから設定もできます。
ポータルの簡単なセットアップについてはここまで。