キュー統計の取得
/engagement/api/consumer/{fqSiteName}/v1/getQueueStats
この操作は、エンゲージメント・キューの統計を取得するために使用されます。 URLエンコードJSONオブジェクトは、このリクエストの'request'問合せパラメータで渡される必要があります。 このJSONオブジェクトには、次のフィールドを含めることができます:
- chatProactiveAvailableType(string): 指定したキューに対して使用可能なプロアクティブ・タイプ。 If the value is set to 'AGENTS', the response will include the number of agents who are available, have requested a chat engagement, and have connectivity status as active when servicing the specified queue. 値が'SESSIONS'に設定されている場合、レスポンスには、指定されたキューのサービス時に接続ステータスがアクティブであるが使用可能なエージェントの数が含まれますが、チャット・エンゲージメントをリクエストしたかどうかは関係ありません。
- queueId(integer): キューの一意の識別子。
エンコーディング前のJSONオブジェクトの例を次に示します:
{"queueId":1,
"chatProactiveAvailableType":"AGENTS"
}
JSONオブジェクトのURLエンコード値は次のとおりです:
%7B%0D%0A%09%22queueId%22%3A+1%2C%0D%0A%09%22chatProactiveAvailableType%22%3A+%22AGENTS%22%0D%0A%7D
ノート: この操作は、キューにユーザーを追加するためのディシジョン・ポイントとして使用できるように、キューの統計を取得することを目的としています。 他の多くのコンシューマ・インタラクション操作とは異なり、この操作では、リクエストでヘッダー・パラメータとして'SessionId'を指定する必要はありません。
リクエスト
- application/json; charset=utf-8
- fqSiteName: string
セッションを確立するためにコールによって返されるサイトの名前。
- pool: string
セッションの確立レスポンスで指定されている、またはRNEngagementConfigurationChangedMessageシステム・メッセージで指定されているプールID。
- request: string
URLエンコードされたJSONオブジェクト。
レスポンス
- application/json; charset=utf-8
200 レスポンス
object
- availableAgentSessions(optional): integer(int32)
使用可能なエージェントまたはエージェント・セッションの数。 リクエストで'chatProactiveAvailableType'の値が'AGENTS'に設定されている場合、'availableAgentSessions'は、使用可能なエージェント、チャット・エンゲージメントをリクエストしたエージェントの数で、指定したキューのサービス時に接続ステータスがアクティブです。 リクエストで'chatProactiveAvailableType'の値が'SESSIONS'に設定されている場合、'availableAgentSessions'は、指定されたキューのサービス時に接続ステータスがアクティブであるが使用可能なエージェントの数で、チャット・エンゲージメントをリクエストしたかどうかは不明です。
- engagementsInQueue(optional): integer(int32)
現在キューに入っているエンゲージメントの数
- expectedWaitSeconds(optional): integer(int64)
予想される待機時間(秒)。
- expectedWaitSecondsString(optional): string
文字列として予想される待機時間(秒)。
- pollingOverrideMultiplier(optional): integer(int32)
この値は、大量のデータが処理されるときにシステムが過負荷になるのを防ぐために必要なこの操作のポーリング間隔を決定するために、クライアント・システムによって使用されます。 サポートされている値は次のとおりです : 0, positive integer >= 2 and <= 50.< p>
- 0: クライアントがポーリングをオフにする必要があることを示します。
- 正のinteger>= 2and<= 1260 50: クライアントが現在のポーリング間隔にこの数値を乗算する必要があることを示します。たとえば、レスポンス5のフィールドの秒および値が指定されている場合は、*秒に調整します。
このフィールドの値がチャット・サービスによって内部的にデフォルト値にリセットされると、このフィールドはレスポンスに含められず、クライアントはデフォルトの間隔でポーリングを再開できます。
ノート: チャット・サービスをポーリングしてキュー統計を取得するクライアントには、推奨されるポーリング期間は12秒です。 ポーリング頻度が高くなる(12秒未満の値)と、システムの過負荷が発生し、最終的な停止時間が発生する可能性があります。
- queueId(optional): integer(int64)
リクエストされたキューの一意の識別子。
- queueIdString(optional): string
文字列としてのリクエストされたキューの一意の識別子。
- serviceFinishTime(optional): string
リクエスト処理がyyyy-MM-dd'T'HH:mm:ssXXX形式で完了した時間。
- serviceStartTime(optional): string
リクエスト処理がyyyy-MM-dd'T'HH:mm:ssXXX形式で開始した時間。
- totalAgentsRequestingNewEngagement(optional): integer(int32)
使用可能なエージェントで、キャパシティがあるエージェントの合計数。
- totalAvailableAgents(optional): integer(int32)
ステータスが使用可能なエージェントの合計数。
- totalUnavailableAgents(optional): integer(int32)
400 レスポンス
object
404 レスポンス
object
500 レスポンス
object
例
次の例は、cURLを使用してGETリクエストを発行してエンゲージメント・キュー統計を取得する方法を示しています:
cURLコマンドの例
curl -X GET https://chat_rest_server_domain.com/engagement/api/consumer/day119_181100_sql_238h/v1/getQueueStats?pool=297:1&request=%7B%0D%0A%09%22clientRequestTime%22%3A+null%2C%0D%0A%09%22clientTransactionId%22%3A+6%2C%0D%0A%09%22queueId%22%3A+1%2C%0D%0A%09%22chatProactiveAvailableType%22%3A+%22AGENTS%22%0D%0A%7D -H 'SessionId: 192hyto5qomm8r8rpzzmuzsa6'
レスポンス・ヘッダーの例
次に、レスポンス・ヘッダーの例を示します。
Status: 200 OK Content-Type: application/json;charset=utf-8
応答本文の例
次に、JSON形式のレスポンス本文の例を示します。
{ "clientRequestTime": null, "serviceStartTime": "2018-10-23T14:14:40.995Z", "serviceFinishTime": "2018-10-23T14:14:40.997Z", "clientTransactionId": 6, "clientTransactionIdString": "6", "queueId": 1, "queueIdString": "1", "expectedWaitSeconds": 0, "expectedWaitSecondsString": "0", "availableAgentSessions": 0 }