CCaaS_GetRepresentativeAvailabilityBeforeConversationを使用して、会話を開始する前にキューとサービス担当者の可用性を取得します。
たとえば、この API を呼び出してサービス担当者の可用性を確認することで、関連するキューが稼働時間内にある場合にのみ、Web サイトにチャット ウィジェットを表示します。
外部システムがサービス担当者の可用性を事前に照会し、監督者がキューのスタッフ配置の最適化を決定できるようにする必要がある場合は、この API を使用します。
リクエストの詳細
URL
/\<orgurl\>/api/data/v9.2/CCaaS\_ GetRepresentativeAvailabilityBeforeConversation
Method
POST
バージョン
1.0
リクエストヘッダー
| 氏名 | 説明 |
|---|---|
| Authorization | 必須。 Contact Center インスタンスにおける API 呼び出し元の Microsoft Entra ID ベアラートークン。 API 承認用のセットアップ トークンの詳細 |
サンプルリクエスト
| シナリオ | サンプル コード |
|---|---|
| 1 つの既定のキューを持つワークストリームのサービス担当者の可用性を確認します。 | curl --request POST \ --url https://<org-url>/api/data/v9.2/CCaaS_GetRepresentativeAvailabilityBeforeConversation \ --header 'Authorization: Bearer token' \ --header 'Content-Type: application/json' \ --data '{ "ApiVersion": "1.0", "LiveWorkStreamId": "8a581641-291b-2002-5b86-55e0cfa0fc63" }' |
| ルートからキューへのルールでコンテキスト変数が使用されるワークストリームの関連するキューの可用性を決定します。 | curl --request POST \ --url https://<org-url>/api/data/v9.2/CCaaS_GetRepresentativeAvailabilityBeforeConversation \ --header 'Authorization: Bearer token' \ --header 'Content-Type: application/json' \ --data '{ "ApiVersion": "1.0", "LiveWorkStreamId": "cf21df54-6d64-4aea-b668-405b8aa42b07", "CustomContextItems": "{\"contextItem1\": {\"value\": \"contextItemValue1\", \"isDisplayable\": true, \"datatype\": \"DataType1\"}, \"contextItem2\": {\"value\": \"contextItemValue2\", \"isDisplayable\": true, \"datatype\": \"DataType2\"}}" }' |
| コンテキスト項目を追加またはオーバーライドします。 たとえば、アンケートです。 | curl --request POST \ --url https://<org-url>/api/data/v9.2/CCaaS_GetRepresentativeAvailabilityBeforeConversation \ --header 'Authorization: Bearer <Token>' \ --header 'Content-Type: application/json' \ --data '{ "ApiVersion": "1.0", "LiveWorkStreamId": "8a581641-291b-2002-5b86-55e0cfa0fc63", "CustomContextItems": "{\"Survey\": {\"value\": \"India\", \"isDisplayable\": true, \"datatype\": \"192350000\"}}" }' |
| 会話にエンゲージメント コンテキスト エンティティに対するルールがある場合に、サービス担当者の可用性を決定します。 | curl --request POST \ --url https://<org-url>/api/data/v9.2/CCaaS_GetRepresentativeAvailabilityBeforeConversation \ --header 'Authorization: Bearer token' \ --header 'Content-Type: application/json' \ --data '{ "ApiVersion": "1.0", "LiveWorkStreamId": "8a581641-291b-2002-5b86-55e0cfa0fc63", "ChannelEngagementContext": "{"msdyn_browser": "Edge",\n "msdyn_city": "florida"\n}"" ' |
| コンテキスト項目とエンゲージメント コンテキストの両方にルールが存在する場合のサービス担当者の可用性を決定する | curl --request POST \ --url https://<org-url>/api/data/v9.2/CCaaS_GetRepresentativeAvailabilityBeforeConversation \ --header 'Authorization: Bearer token' \ --header 'Content-Type: application/json' \ --data '{ "ApiVersion": "1.0", "LiveWorkStreamId": "8a581641-291b-2002-5b86-55e0cfa0fc63", "ChannelEngagementContext": "{"msdyn_browser": "Edge", \n "msdyn_city": "florida"\n}", "CustomContextItems": "{\"contextItem1\": {\n \"value\": \"contextItemValue1\",\n \"isDisplayable\": true,\n \"datatype\": \"DataType1\"\n },\"contextItem12\": {\n \"value\": \"contextItemValue2\",\n \"isDisplayable\": true,\n \"datatype\": \"DataType2\"\n }}" }' |
Note
要求本文では、
CustomContextItemsはルートからキューへの規則で使用されるコンテキスト項目を含む文字列です。 コンテキスト項目のサンプル リスト:{ "contextItemName1": { "value": "contextItemValue1", "isDisplayable": true, "datatype": "DataType1" }, "contextItemName2": { "value": "contextItemValue2", "isDisplayable": true, "datatype": "DataType2" } }isDisplayableは、コンテキスト項目が画面に表示されるかどうかを示します。 この値は True または False です。datatype指定できるのは Text = 192350000 または Integer = 192350001
応答
成功した場合、このメソッドは 200 OK 応答コードを返します。 このメソッドは、次の状態コードも返します。
| HTTP 状態 | 説明 |
|---|---|
| 400 | 悪いリクエスト(入力パラメータが誤り) |
| 401 | 無許可 |
| 404 | リソースが見つかりません |
| 429 | レート制限(リクエストが多すぎる) |
| 405 | APIは許可されていません |
| 500 | サーバー内部エラー |
応答値
成功した場合、このメソッドは 200 OK 応答コードを返します。 このメソッドは、次の状態コードも返します。
| HTTP 状態 | 説明 |
|---|---|
| 400 | 悪いリクエスト(入力パラメータが誤り) |
| 401 | 無許可 |
| 404 | リソースが見つかりません |
| 429 | レート制限(リクエストが多すぎる) |
| 405 | APIは許可されていません |
| 500 | サーバー内部エラー |
応答値
| 氏名 | タイプ | 説明 |
|---|---|---|
| queueId | String | ルーティング規則の構成と、ルーティング規則の一部であるエンティティ値やコンテキストなどの入力データに基づいて要求がルーティングされるターゲット キュー。 |
| isQueueAvailable | ブール値 | キューが稼働時間内の場合は TRUE を表示します。 キューが稼働時間外である場合には FALSE になります。 |
| 次の運用時間の開始時刻 | DateTime | 現在、キューが稼働時間外である場合、その稼働時間の開始時刻 (UTC)。 営業時間中に 01-01-0001 を返します。 |
| 次の稼働時間の終了時刻 | DateTime | 現在稼働時間外の場合、キューの営業時間が終了する時刻 (UTC)。 営業時間中に 01-01-0001 を返します。 |
| 次の遷移時間 | DateTime | キューが営業時間外の場合に再び動作する時刻 (UTC)。 営業時間中は、キューが動作不能になったときに表示されます。 |
| キュー内の位置 | Number | 待機中の顧客が同じキュー内で他のユーザーの後ろにいる位置。 |
| エージェントが利用可能か | ブール値 | 表示:
|
| 平均待ち時間 | Number | ターゲット キュー内の顧客の平均待機時間 (分)。 |
| 平均待ち時間 (秒単位) AverageWaitTimeInSeconds | 数値 | ターゲット キュー内の顧客の平均待機時間 (秒単位)。 |
| キューにある利用可能な専門家の数 | 数値 | ターゲット キュー内の会話を受け入れるために現在使用できるサービス担当者の数。 |
サンプル応答
{
"@odata.context": "https://<org-url>/api/data/v9.2/\$metadata#Microsoft.Dynamics.CRM.CCaaS_GetRepresentativeAvailabilityForConversationResponse",
"NextTransitionTime": "9999-12-31T23:59:59Z",
"NumberOfExpertsAvailableInQueue": 5,
"AverageWaitTimeInSeconds": 45
"PositionInQueue": 1,
"AverageWaitTime": null,
"StartTimeOfNextOperatingHour": "0001-01-01T00:00:00Z",
"EndTimeOfNextOperatingHour": "0001-01-01T00:00:00Z",
"QueueId": "85e55877-f27a-e911-a81a-000d3a1ca610",
"IsAgentAvailable": true,
"IsQueueAvailable": true
}
関連情報
代表的な可用性 API を使用する
CCaaS_GetRepresentativeAvailabilityForConversation