提供: Bright Pattern Documentation
移動先: 案内、 検索
• English

統合の設定

この手順では、Microsoft Dynamics 365 CRM および Microsoft Azure を設定し、Microsoft Dynamics と Bright Pattern コンタクトセンター ソフトウェアとの統合を有効にする方法について説明します。この手順の一部として、Web API 経由で Dynamics 365 データを使用するために、Bright Pattern シナリオブロックを有効化(つまり、認証および承認)することが含まれます。

ステップ 1: Microsoft Dynamics 365 にサインインする

まだお持ちでない場合は、Microsoft Dynamics 365 アカウントを取得し、ユーザー ID を作成してください。 Microsoft Dynamics 365 の試用組織を取得するか、お使いのインスタンスにサインインしてください。

ステップ 2: Web API アクセス用に Microsoft Azure および Dynamics 365 CRM を設定する

  1. Azure ポータル > Azure Active Directory > アプリの登録 で、[新規追加] をクリックして新しい登録済みアプリを追加します。

  2. 登録済みアプリの各フィールドを、以下の値で編集してください:

    1. アプリケーションの種類 - Web アプリ / API

    2. アプリケーション ID - クライアント ID

    3. オブジェクト ID - この ID は、登録されたアプリに対して自動的に入力されます

    4. ホームページ - http://localhost [注: この値は Azure ポータルにもハードコードされるため、正確にこの値を使用してください]

      アプリ登録フィールド


  3. 新しく作成したアプリで、必須のアクセス許可 > API > 追加 の順に進み、API アクセス権を追加してください。

    API アクセスを追加


  4. 「API アクセスの追加」 で、以下の選択を行ってください:

    1. 「API の選択」 で、Dynamics CRM Online API を選択してください。

    2. 委任されたアクセス許可 のチェックボックスを選択してください。

    3. 設定が完了したら、「アクセス許可の付与」 をクリックしてください。

  5. 新しく作成されたアプリで、「キー」 に移動し、以下の操作を行ってください:

    1. 「説明」 で、アプリキーに名前を付けます。

    2. 「有効期限」 で、「有効期限なし」 を設定してください。

    3. 「保存」 をクリックしてください。保存が完了すると、キーの値が表示されます。このキーの値が「クライアントシークレット」であり、後の設定ステップで必要となります。

    4. 実際のキーを確認できるのはこの時点のみですので、今すぐキーの値をコピーしてください。

      このキーが「クライアントシークレット」です


  6. 「App Registrations」>「Endpoints」 に移動し、「OAUTH 2.0 Authorization Endpoint」および「OAUTH 2.0 Token Endpoint」の値をコピーしてください。

    OAUTH 2.0 エンドポイントの値


  7. Dynamics 365 CRM(Azure ではありません)アプリケーションを開き、「設定」>「セキュリティ」>「セキュリティ役割」に進んでください。

    1. 新規の役割を追加します(または既存の役割をコピーします)。

    2. 役割に必要な権限が設定されていることを確認してください(表示されているスクリーンショットでは、CRM の「アカウント」オブジェクトへのアクセス権のみが付与されています)。

      役割の割り当て


  8. 「設定」>「セキュリティ」>「ユーザー」 に移動してください。

    1. 表示を「アプリケーションユーザー」に切り替えます。

      「アプリケーションユーザー」表示


  9. 新規ユーザーを追加します。

    1. 新規ユーザーフォームが表示されたら、「アプリケーションユーザー」に変更してください。

      ユーザーアカウント情報


  10. 「アカウント情報」で、以下の項目を入力してください:

    1. ユーザー名

    2. アプリケーション ID - ステップ 2 で取得したアプリケーション ID(つまり、クライアント ID)

  11. 「ユーザー情報」で、以下の項目を入力してください:

    1. 氏名 - ユーザーの名前と姓

    2. プライマリメール - ユーザーのメールアドレス

      新規ユーザーレコードの作成完了


  12. レコードを保存してください。この時点で、「アプリケーション ID URI」および「Azure AD オブジェクト ID」の各フィールドに値が入力されます。

    ユーザーレコードを保存します


  13. 「役割の管理」 をクリックします。

    1. 「ユーザー役割の管理」 で、ステップ 2.7 で作成したカスタム役割をそのユーザーに追加してください。

      ユーザーの役割の管理


これで、Microsoft Dynamics 365 CRM および Azure の設定は完了です。

ステップ 3: CRM Web API へのアクセスに必要な設定値を取得する

CRM Web API を使用するには、Bright Pattern シナリオエンジンで以下の設定(設定 DB テーブル)が必要となります。これらの設定値は、Azure ポータルから取得してください。

CREATE TABLE 'ms_dynamics_365_data' (
 'ID' varchar(255) NOT NULL,
 'VERSION' bigint(20) DEFAULT NULL,
 'DEFAULT_ACCOUNT' tinyint(1) NOT NULL DEFAULT '0',
 'TENANT_ID' varchar(255) NOT NULL,
 'NAME' varchar(255) NOT NULL,
 'CLIENT_ID' varchar(255) NOT NULL,
 'CLIENT_SECRET' varchar(255) DEFAULT NULL,
 'REFRESH_TOKEN' longtext NOT NULL, (encrypted)
 'AUTHORIZATION_URL' varchar(255) NOT NULL,
 'TOKEN_URL' varchar(255) NOT NULL,
 'API_URL' varchar(255) NOT NULL,
PRIMARY KEY ('ID')
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ステップ 4: 統合アカウントを追加して、Web API アクセス用のリフレッシュトークンを取得する

リフレッシュトークンは、CRM Web API にアクセスするための認証情報を指定した後にのみ取得できます。これらの認証情報は、Microsoft Dynamics 365 の 統合アカウントのプロパティに設定します。

  1. 「コンタクトセンター管理者」>「統合アカウント」で、タイプが Microsoft Dynamics 365 の統合アカウントを追加してください。

    統合アカウントのタイプを選択します


  2. プロパティの編集:

    1. タイプ - 作成する統合アカウントのタイプは「Microsoft Dynamics 365」であるため、既定では「Microsoft Dynamics 365」となります

    2. 名前 - アカウントの一意の名前(任意)

    3. 既定のアカウント - このタイプの統合アカウントを複数持つことが可能ですので、このアカウントを既定として有効にするには、このチェックボックスを選択してください

    4. 認証 URL - 認証コード(「認証 URL の取得方法」を参照してください)

    5. トークン URL - この手順のステップ 2.2 で入力した「ホームページ」の値(例:「http://localhost」)です

    6. API URL - インスタンスの名前を含む API の URL(例:「https://example.crm.dynamics.com/api/data/v9.0」)

    7. クライアント ID - 本手順のステップ 2.2 で取得したアプリケーション ID

    8. クライアントシークレット - この手順のステップ 2.2 で取得したキーです

    9. リクエストトークン - 指定した認証情報を使用して Microsoft の Web API にアクセスし、リフレッシュトークンをリクエストします。クリックすると、トークンが「リフレッシュトークン」フィールドに表示されます

    10. リフレッシュトークン - 認証 URL をリクエストして取得したリフレッシュトークンです(「認証 URL の取得方法」を参照してください)。

    11. 接続テスト - 認証情報をテストし、Bright Pattern と Microsoft 間の接続が有効かどうかを検証します。

認証 URL の取得方法

AUTHORIZATION をベース URL とし、クライアント ID(アプリケーション ID)、クライアントシークレット(キー)、リダイレクト URL(例:「http://localhost」)、および API_URL(例:「https://brightpatterndev.crm.dynamics.com/api/data/v9.0」)を使用して、1 回限りの認証コードを取得します。

以下のように指定します:

<base_url>?grant_type=client_credentials&client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>&response_type=code&redirect_url=http://localhost& scope=offline_access&resource=<API_URL>

例:

https://login.microsoftonline.com/7f3b7d01-a049-4dfd-9dbd-d394e711c3a0/oauth2/authorize? grant_type=client_credentials&client_id=dc40e7c1-86fa-484e-a38b-bec0d31c945a&client_secret=uxjgDon7fWbis1ijuCDwPifHooG4BV2lVTUFRGVttt4%3D&response_type=code&redirect_url=http://localhost&scope=offline_access&resource=https://brightpatterndev.crm.dynamics.com

これにより、リダイレクト URL に 1 回限り使用できるコードが返されます。このコードはデータベースに保存しないでください。リフレッシュトークンを取得するために 1 回だけ使用されます:

http://localhost/?code=&session_state=XXX

次に、このコードを使用して、以下の本文を含む HTTP POST リクエストをトークン URL(すなわち「http://localhost」)に送信し、アクセストークンとリフレッシュトークンを取得します:

redirect_uri=http://localhost&client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>&grant_type=authorization_code&code=

これに対し、トークンサービスは以下の JSON 形式のデータを返します:

{
	"token_type":"Bearer",
	"scope":"user_impersonation",
	"expires_in":"3599",
	"ext_expires_in":"3599",
	"expires_on":"1548192804",
	"not_before":"1548188904",
	"resource":"https://<your.instance.name>.crm.dynamics.com",
	"access_token":"XXX",
	"refresh_token":"YYY",
	"id_token":"ZZZ"
}

必要なのは refresh_token のみです。これを、設定 DB テーブルの REFRESH_TOKEN フィールドに保存してください。

ステップ 5: シナリオエンジンおよびワークフローエンジンが CRM Web API を使用できるようにするためのアクセストークンの取得

サーバーコンポーネントは、まず設定内のリフレッシュトークンを使用してアクセストークンを取得します。アクセストークンの有効期限は、既定では通常 1 時間以内です。

以下の本文を含む HTTP POST リクエストを <TOKEN_URL> に送信してください:

client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>&grant_type=refresh_token&refresh_token=<REFRESH_TOKEN>

これに対し、トークンサービスは以下の JSON エンコードされたデータを返します:

{
	"token_type":"Bearer",
	"scope":"user_impersonation",
	"expires_in":"3599",
	"ext_expires_in":"3599",
	"expires_on":"1548192804",
	"not_before":"1548188904",
	"resource":"https://example.crm.dynamics.com",
	"access_token":"XXX",
	"refresh_token":"YYY"
}

前のステップで取得したアクセストークンを使用して API_URL を利用する際は、以下の値を含む Authorization HTTP ヘッダーを追加してください:

Authorization: Bearer <access_token>


アクセストークンの有効期限が切れたら、ステップ 1 を繰り返して新しいアクセストークンを取得してください。

< 前へ