Penomoran halaman dan pengakhiran

Halaman ini menjelaskan cara menggunakan penomoran halaman dan penyesuaian saat memanggil endpoint dari manager API.

Penomoran halaman

Penomoran halaman didukung untuk sebagian besar endpoint manager API. Untuk pengecualian, lihat Menyesuaikan endpoint untuk data yang diperbarui.

Menetapkan ukuran halaman

Secara default, endpoint manager API menampilkan halaman yang berisi 100 data. Anda dapat mengubah angka ini menggunakan parameter kueri per.

Untuk menetapkan ukuran halaman, gunakan endpoint berikut:

/manager/api/v1/agents?per=50

Tindakan ini akan menetapkan ukuran halaman menjadi 50 data.

Meminta halaman tertentu

Anda dapat meminta halaman data tertentu menggunakan parameter kueri page.

Untuk meminta halaman tertentu, gunakan endpoint berikut:

/manager/api/v1/agents?page=2

Tindakan ini akan menampilkan halaman data kedua

Mendapatkan semua data yang tersedia

Secara default, manager API menampilkan 100 data di halaman respons, meskipun Anda dapat mengubah jumlah data di halaman dengan menetapkan ukuran halaman. Untuk endpoint yang mendukung penomoran halaman, header respons mencakup jumlah total data yang tersedia. Jika jumlah tersebut melebihi ukuran halaman Anda, Anda harus memanggil API beberapa kali untuk mendapatkan semua data. Manager API tidak secara eksplisit menunjukkan bahwa ada data tambahan yang akan ditampilkan.

Untuk mendapatkan semua data yang tersedia, lakukan hal berikut:

  1. Panggil endpoint manager API yang mendukung penomoran halaman. Untuk mengetahui informasi selengkapnya, lihat Penomoran halaman. Header respons menunjukkan jumlah data yang akan ditampilkan.

  2. Bandingkan jumlah data yang akan ditampilkan dengan ukuran halaman Anda. Jika jumlah data yang akan ditampilkan kurang dari ukuran halaman Anda, semua data telah ditampilkan. Jika tidak, lanjutkan ke langkah berikutnya.

  3. Panggil endpoint lagi, dengan menentukan halaman data berikutnya. Untuk mengetahui informasi selengkapnya, lihat Meminta halaman tertentu. Ulangi langkah ini hingga semua data Anda ditampilkan.

Menyesuaikan endpoint untuk data yang diperbarui

Google merekomendasikan untuk tidak menggunakan penomoran halaman untuk endpoint API aktivitas panggilan, chat, dan agen karena kami tidak dapat menjamin hasil yang optimal. Sebagai gantinya, sebaiknya sesuaikan endpoint API ini untuk data yang diperbarui. Menyesuaikan endpoint API berarti terus memanggilnya untuk mendapatkan data yang baru atau diperbarui sejak permintaan terakhir Anda.

Menyesuaikan endpoint Calls API

Setiap kali data panggilan diubah, stempel waktu updated_at akan diperbarui. Anda dapat menggunakan stempel waktu untuk menentukan data panggilan yang ingin diambil saat memanggil endpoint Calls API.

Untuk menyesuaikan endpoint Calls API setiap 60 menit, ikuti langkah-langkah berikut:

  1. Buat permintaan ke endpoint Calls API (/manager/api/v1/calls), dengan menentukan parameter kueri berikut:

    • updated_at[from]. Tentukan bahwa Anda menginginkan data yang diperbarui pada atau setelah waktu ini.

    • sort_column. Tentukan kolom untuk mengurutkan data.

    • sort_direction. Tentukan arah pengurutan data dalam respons.

    Berikut adalah contoh skrip Bash yang menggunakan perintah curl:

    # 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" | jq
    

    Calls API menampilkan respons yang mirip dengan berikut ini:

      [
        {
          "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"
        }
      ]
    

    Objek respons yang diperbarui pada atau setelah stempel waktu yang Anda tentukan akan ditampilkan, diurutkan berdasarkan tanggal, dalam urutan menaik. Gunakan stempel waktu updated_at dari objek terakhir dalam respons ini untuk stempel waktu dalam panggilan berikutnya ke endpoint.

  2. Panggil endpoint Call API 60 menit kemudian. Data Panggilan yang diperbarui sejak permintaan terakhir Anda akan ditampilkan.

  3. Ulangi langkah sebelumnya untuk terus menyesuaikan endpoint.

Menyesuaikan endpoint Chats API

Setiap kali data chat diubah, stempel waktu updated_at akan diperbarui. Anda dapat menggunakan stempel waktu untuk menentukan data chat yang ingin diambil saat memanggil endpoint Chats API.

Untuk menyesuaikan endpoint Chats API setiap 60 menit, ikuti langkah-langkah berikut:

  1. Buat permintaan ke endpoint Chats API (/manager/api/v1/chats), dengan menentukan parameter kueri berikut:

    • updated_at[from]. Tentukan bahwa Anda menginginkan data yang diperbarui pada atau setelah waktu ini.

    • sort_column. Tentukan kolom untuk mengurutkan data.

    • sort_direction. Tentukan arah pengurutan data dalam respons.

    Berikut adalah contoh skrip Bash yang menggunakan perintah curl:

    # 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" | jq
    

    Chats API menampilkan respons yang mirip dengan berikut ini:

    [
      {
        "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"
      }
    ]
    

    Objek respons yang diperbarui pada atau setelah stempel waktu yang ditentukan akan ditampilkan, diurutkan berdasarkan tanggal, dalam urutan menaik. Gunakan stempel waktu updated_at dari objek terakhir dalam respons ini untuk stempel waktu dalam panggilan berikutnya ke endpoint.

  2. Panggil endpoint API lagi 60 menit kemudian. Data chat yang diperbarui sejak permintaan terakhir Anda akan ditampilkan.

  3. Ulangi langkah sebelumnya untuk terus menyesuaikan endpoint.

Menyesuaikan endpoint Agent Activity API

Tidak seperti data Chat dan Panggilan, Log Aktivitas Agen tidak diperbarui dan oleh karena itu tidak memiliki stempel waktu updated_at. Anda dapat menggunakan stempel waktu started_at untuk menentukan data aktivitas yang ingin diambil saat memanggil endpoint Agent Activity API.

Untuk menyesuaikan endpoint Agent Activity API setiap 60 menit, ikuti langkah-langkah berikut:

  1. Buat permintaan ke endpoint Agent Activity API (/manager/api/v1/agent_activity_logs), dengan menentukan parameter kueri berikut:

    • started_at[from]. Tentukan bahwa Anda menginginkan log aktivitas yang dimulai pada atau setelah waktu ini.

    • sort_column. Tentukan kolom untuk mengurutkan data.

    • sort_direction. Tentukan arah pengurutan data dalam respons.

    Berikut adalah contoh skrip Bash yang menggunakan perintah curl:

    # 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" | jq
    

    Agent Activity API menampilkan respons yang mirip dengan berikut ini:

    [
      {
        "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"
      }
    ]
    

    Objek respons yang dimulai pada atau setelah stempel waktu yang ditentukan akan ditampilkan, diurutkan berdasarkan tanggal, dalam urutan menaik. Gunakan stempel waktu started_at dari objek terakhir dalam respons ini untuk stempel waktu dalam panggilan berikutnya ke endpoint.

  2. Panggil endpoint Agent Activity API lagi 60 menit kemudian. Data Log Aktivitas Agen yang diperbarui sejak permintaan terakhir Anda akan ditampilkan.

  3. Ulangi langkah sebelumnya untuk terus menyesuaikan endpoint.