ジョブの予測待機時間と位置を取得する方法
コール センターのコンテキストでは、顧客はエージェントにつながるまでどのくらい待たなければならないか知りたいでしょう。 そのため、ジョブ ルーターはキュー内のジョブの予測待機時間や位置を計算することができます。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- デプロイ済みの Communication Services リソース。 Communication Services リソースを作成します。
- 省略可能: ジョブ ルーターを開始するためのクイックスタートを完了する
- 省略可能: ジョブ オファーを受け付けるを完了します
キューの予測待機時間と長さを取得する
キューの予測待機時間は、GetQueueStatisticsAsync
を呼び出して EstimatedWaitTimeMinutes
プロパティをチェックすることにより取得されます。 予測待機時間はジョブの優先順位別にグループ分けされます。 ジョブ ルーターはキューの長さとキュー内の最大待機時間も返します。
var queueStatistics = await client.GetQueueStatisticsAsync(queueId: "queue1");
Console.WriteLine($"Queue statistics: {JsonSerializer.Serialize(queueStatistics.Value)}");
var queueStatistics = await client.path("/routing/queues/{queueId}/statistics", "queue-1").get();
console.log(`Queue statistics: ${JSON.stringify(queueStatistics.body)}`);
queue_statistics = client.get_queue_statistics(queue_id = "queue1")
print("Queue statistics: " + queue_statistics)
RouterQueueStatistics queueStatistics = client.getQueueStatisticsWithResponse("queue1").getValue();
System.out.println("Queue statistics: " + BinaryData.fromObject(queueStatistics).toString());
上のコードを実行すると、次のスニペットのようなメッセージが出力されます (注: EstimatedWaitTimeMinutes
プロパティはジョブ優先順位別にグループ分けされます):
Queue statistics: { "QueueId":"queue1", "Length": 15, "EstimatedWaitTimeMinutes": { "1": 10 }, "LongestJobWaitTimeMinutes": 4.724 }
キュー内のジョブの予測待機時間と位置を取得する
ID が job1
のジョブの予測待機時間は、GetQueuePositionAsync
を呼び出して EstimatedWaitTimeMinutes
プロパティをチェックすることにより取得されます。 ジョブ ルーターはキュー内のジョブの位置も返します。
var queuePositionDetails = await client.GetQueuePositionAsync(jobId: "job1");
Console.WriteLine($"Queue position details: {JsonSerializer.Serialize(queuePositionDetails.Value)}");
var queuePositionDetails = await client.path("/routing/jobs/{jobId}/position", "job1").get();
console.log(`Queue position details: ${JSON.stringify(queuePositionDetails.body)}`);
queue_position_details = client.get_queue_position(job_id = "job1")
print("Queue position details: " + queue_position_details)
var queuePositionDetails = client.getQueuePosition("job1");
System.out.println("Queue position details: " + new GsonBuilder().toJson(queuePositionDetails));
上のコードを実行すると、次のスニペットのようなメッセージが出力されます。
Queue position details: { "JobId": "job1", "Position": 4, "QueueId": "queue1", "QueueLength":15, "EstimatedWaitTimeMinutes": 5 }