このページでは、Manager API のエンドポイントを呼び出すときにページ分割とテーリングを使用する方法について説明します。
ページ分割
ページ分割は、Manager API のほとんどのエンドポイントでサポートされています。例外については、 更新されたレコードのエンドポイントをテーリングするをご覧ください。
ページサイズを設定する
デフォルトでは、Manager API エンドポイントは 100 件のレコードを含むページを返します。この数は、per クエリ パラメータを使用して変更できます。
ページサイズを設定するには、次のエンドポイントを使用します。
/manager/api/v1/agents?per=50
これにより、ページサイズが 50 レコードに設定されます。
特定のページをリクエストする
page クエリ パラメータを使用すると、レコードの特定のページをリクエストできます。
特定のページをリクエストするには、次のエンドポイントを使用します。
/manager/api/v1/agents?page=2
これにより、レコードの 2 ページ目が返されます。
使用可能なすべてのレコードを取得する
デフォルトでは、Manager API はレスポンス ページに 100 件のレコードを返しますが、ページサイズを設定することで、1 ページあたりのレコード数を変更できます。ページ分割をサポートするエンドポイントの場合、 レスポンス ヘッダーには使用可能なレコードの合計数が含まれます。その数がページサイズを超える場合は、API を複数回呼び出してすべてのレコードを取得する必要があります。Manager API は、返されるレコードが他にもあることを明示的に示しません。
使用可能なすべてのレコードを取得するには、次の操作を行います。
ページ分割をサポートする Manager API エンドポイントを呼び出します。詳しくは、 ページ分割をご覧ください。レスポンス ヘッダーには、返されるレコードの数が示されます。
返されるレコードの数をページ サイズと比較します。返されるレコードの数がページサイズより少ない場合は、すべてのレコードが返されています。それ以外の場合は、次のステップに進みます。
エンドポイントを再度呼び出し、レコードの次のページを指定します。詳しくは、特定のページをリクエストするをご覧ください。すべてのレコードが返されるまで、この手順を繰り返します。
更新されたレコードのエンドポイントをテーリングする
最適な結果を保証できないため、通話、チャット、 およびエージェント アクティビティの API エンドポイントでページ分割を使用することはおすすめしません。代わりに、更新されたレコードのこれらの API エンドポイントをテーリングすることをおすすめします。API エンドポイントのテーリングとは、前回のリクエスト以降に新規または更新されたレコードを取得するために、エンドポイントを継続的に呼び出すことを意味します。
Calls API エンドポイントをテーリングする
通話レコードが変更されるたびに、その updated_at タイムスタンプが更新されます。このタイムスタンプを使用して、Calls API エンドポイントを呼び出すときに取得する通話レコードを指定できます。
Calls API エンドポイントを 60 分ごとにテーリングするには、次の操作を行います。
Calls API エンドポイント(
/manager/api/v1/calls)にリクエストを送信し、次のクエリ パラメータを指定します。updated_at[from]。この時刻以降に更新されたレコードをリクエストすることを指定します。sort_column。レコードの並べ替えに使用するフィールドを指定します。sort_direction。レスポンス内のレコードの並べ替え方向を指定します。
次に、
curlコマンドを使用する Bash スクリプトの例を示します。# 1. Define your environment variables (usually set in your shell or .env file) export API_HOSTNAME="ccaip-host.uc1.ccaiplatform.com/" export API_USER="ccaip-host" export API_PASS="CCAI Platform API Key" # 2. Calculate the timestamp for 60 minutes ago in ISO 8601 format (UTC) # For macOS (BSD date): # TIMESTAMP=$(date -v-60M -u +"%Y-%m-%dT%H:%M:%SZ") # For Linux (GNU date): TIMESTAMP=$(date --date='60 minutes ago' -u +"%Y-%m-%dT%H:%M:%SZ") # 3. Execute the curl command # -u handles the Base64 encoding for Basic Auth automatically curl -g -u "${API_USER}:${API_PASS}" \ "https://${API_HOSTNAME}/manager/api/v1/calls?updated_at[from]=${TIMESTAMP}&sort_column=updated_at&sort_direction=asc" | jqCalls API は、次のようなレスポンスを返します。
[ { "id": 100, ... "updated_at": "2025-01-01T00:00:00Z" }, { "id": 98, ... "updated_at": "2025-01-02T00:00:00Z" }, { "id": 150, ... "updated_at": "2025-01-03T00:00:00Z" } ]指定したタイムスタンプ以降に更新されたレスポンス オブジェクトが、日付順に昇順で返されます。エンドポイントへの次の呼び出しのタイムスタンプには、このレスポンスの最後のオブジェクトの
updated_atタイムスタンプを使用します。60 分後に Call API エンドポイントを呼び出します。前回の呼び出し以降に更新された通話レコードが返されます。
前の手順を繰り返して、エンドポイントのテーリングを続行します。
Chats API エンドポイントをテーリングする
チャット レコードが変更されるたびに、その updated_at タイムスタンプが更新されます。このタイムスタンプを使用して、Chats API エンドポイントを呼び出すときに取得するチャット レコードを指定できます。
Chats API エンドポイントを 60 分ごとにテーリングするには、次の操作を行います。
Chats API エンドポイント(
/manager/api/v1/chats)にリクエストを送信し、次のクエリ パラメータを指定します。updated_at[from]。この時刻以降に更新されたレコードをリクエストすることを指定します。sort_column。レコードの並べ替えに使用するフィールドを指定します。sort_direction。レスポンス内のレコードの並べ替え方向を指定します。
次に、
curlコマンドを使用する Bash スクリプトの例を示します。# 1. Define your environment variables (usually set in your shell or .env file) export API_HOSTNAME="ccaip-host.uc1.ccaiplatform.com/" export API_USER="ccaip-host" export API_PASS="CCAI Platform API Key" # 2. Calculate the timestamp for 60 minutes ago in ISO 8601 format (UTC) # For macOS (BSD date): # TIMESTAMP=$(date -v-60M -u +"%Y-%m-%dT%H:%M:%SZ") # For Linux (GNU date): TIMESTAMP=$(date --date='60 minutes ago' -u +"%Y-%m-%dT%H:%M:%SZ") # 3.. Execute the curl command # -u handles the Base64 encoding for Basic Auth automatically curl -g -u "${API_USER}:${API_PASS}" \ "https://${API_HOSTNAME}/manager/api/v1/chats?updated_at[from]=${TIMESTAMP}&sort_column=updated_at&sort_direction=asc" | jqChats API は、次のようなレスポンスを返します。
[ { "id": 100, ... "updated_at": "2025-01-01T00:00:00Z" }, { "id": 98, ... "updated_at": "2025-01-02T00:00:00Z" }, { "id": 150, ... "updated_at": "2025-01-03T00:00:00Z" } ]指定したタイムスタンプ以降に更新されたレスポンス オブジェクトが、日付順に昇順で返されます。エンドポイントへの次の呼び出しのタイムスタンプには、このレスポンスの最後のオブジェクトの
updated_atタイムスタンプを使用します。60 分後に API エンドポイントを再度呼び出します。前回の呼び出し以降に更新されたチャット レコードが返されます。
前の手順を繰り返して、エンドポイントのテーリングを続行します。
Agent Activity API エンドポイントをテーリングする
チャット レコードや通話レコードとは異なり、エージェント アクティビティ ログは更新されないため、updated_at タイムスタンプはありません。started_at タイムスタンプを使用して、Agent Activity API エンドポイントを呼び出すときに取得するアクティビティ レコードを指定できます。
Agent Activity API エンドポイントを 60 分ごとにテーリングするには、次の操作を行います。
Agent Activity API エンドポイント(
/manager/api/v1/agent_activity_logs)にリクエストを送信し、次のクエリ パラメータを指定します。started_at[from]。この時刻以降に開始されたアクティビティ ログをリクエストすることを指定します。sort_column。レコードの並べ替えに使用するフィールドを指定します。sort_direction。レスポンス内のレコードの並べ替え方向を指定します。
次に、
curlコマンドを使用する Bash スクリプトの例を示します。# 1. Define your environment variables (usually set in your shell or .env file) export API_HOSTNAME="ccaip-host.uc1.ccaiplatform.com/" export API_USER="ccaip-host" export API_PASS="CCAI Platform API Key" # 2. Calculate the timestamp for 60 minutes ago in ISO 8601 format (UTC) # For macOS (BSD date): # TIMESTAMP=$(date -v-60M -u +"%Y-%m-%dT%H:%M:%SZ") # For Linux (GNU date): TIMESTAMP=$(date --date='60 minutes ago' -u +"%Y-%m-%dT%H:%M:%SZ") # 3. Execute the curl command # -u handles the Base64 encoding for Basic Auth automatically curl -g -u "${API_USER}:${API_PASS}" \ "https://${API_HOSTNAME}/manager/api/v1/agent_activity_logs?started_at[from]=${TIMESTAMP}&sort_column=started_at&sort_direction=asc" | jqAgent Activity API は、次のようなレスポンスを返します。
[ { "id": 100, ... "started_at": "2025-01-01T00:00:00Z" }, { "id": 98, ... "started_at": "2025-01-02T00:00:00Z" }, { "id": 150, ... "started_at": "2025-01-03T00:00:00Z" } ]指定したタイムスタンプ以降に開始されたレスポンス オブジェクトが、日付順に昇順で返されます。エンドポイントへの次の呼び出しのタイムスタンプには、このレスポンスの最後のオブジェクトの
started_atタイムスタンプを使用します。60 分後に Agent Activity API エンドポイントを再度呼び出します。前回の呼び出し以降に更新されたエージェント アクティビティ ログ レコードが返されます。
前の手順を繰り返して、エンドポイントのテーリングを続行します。