代表的な可用性 API を使用して、Dynamics 365 Contact Centerのキューとカスタマー サービス担当者の可用性に関する情報を取得します。
これらの API は、次のようなシナリオで使用できます。
- AI エージェントが進行中の会話を、サービス担当者が利用できるキューにのみエスカレートする必要がある場合。
- キューが稼働時間内であるか、利用可能な担当者がいる場合にのみ、顧客が会話を開始するようにします。
代表的な可用性 API は、音声、ライブ チャット、デジタル メッセージングなど、すべてのチャネルに適用できます。
前提条件
- オムニチャネル管理者ロールが割り当てられている。
API 承認用のトークンを設定する
代表的な可用性 API を使用するには、アクセス トークンを生成する必要があります。 このトークンは、アプリケーションの ID を認証し、特定のサービス リソースにアクセスすることを承認するためのセキュリティで保護された資格情報として機能します。
Azure ポータルで次の手順を実行します。
アプリケーションの登録または Entra ID>アプリの登録 に移動して、クライアント アプリケーションを選択します。 次の値をコピーします。
- アプリケーション (クライアント) ID
- ディレクトリ (テナント) ID
アプリの登録で、[API のアクセス許可] を選択します>アクセス許可を追加します。
Request API のアクセス許可で、Microsoft API タブを選択し、 Dynamics CRM を選択します。
[ 委任されたアクセス許可] を選択し、
user_impersonationスコープを選択します。アクセス許可の追加を選択します。
Important
シークレット値をすぐにコピーします。 この値は暗号化され、ページを離れた後は再び表示されません。
トークンを生成するには、次の POST 要求を実行します。 次の値を置き換えます。
| 価値 | 説明 |
|---|---|
tenant-Id |
アプリの ディレクトリ (テナント) ID 。 |
client_id |
Microsoft Entra IDでアプリに割り当てられたアプリケーション (クライアント) ID。 |
client_secret |
アプリの登録中に生成されるシークレット文字列。 |
resource |
要求されたアクセス許可を定義するDynamics 365環境の URL。 |
curl --request POST \
--url https://login.windows.net/{tenant-Id}/oauth2/token \
--header 'Content-Type: multipart/form-data' \
--header 'User-Agent: insomnia/10.1.0' \
--cookie 'fpc=ApQqO0OrCftGhsPOawVKHv6SxOiUAgAAHN3YN8OAAAA; x-ms-gateway-slice=estsfd; stsservicecookie=estsfd' \
--form grant_type=client_credentials \
--form client_id={ApplicationIdFromAppRegistration} \
--form 'client_secret={secretSavedInPreviousStep}' \
--form resource={OrgUrl}
応答は、ベアラー トークンとして代表的な可用性 API 呼び出しの Authorization ヘッダーで使用できるトークンを含む JSON オブジェクトを返します。
代表的な可用性 API
次の代表的な可用性 API を使用できます。
- CCaaS_GetRepresentativeAvailabilityForConversation: 有効な会話 ID を使用して、アクティブな会話中のキューとサービス担当者の可用性を返します。 詳細については、CCaaS_GetRepresentativeAvailabilityForConversationを参照してください
- CCaaS_GetRepresentativeAvailabilityBeforeConversation: 顧客との会話が開始される前に、キューとサービス担当者の可用性を返します。 詳細については、CCaaS_GetRepresentativeAvailabilityBeforeConversation をご覧ください。
関連情報
CCaaS_GetRepresentativeAvailabilityForConversation
CCaaS_GetRepresentativeAvailabilityBeforeConversation