CRM Kustom

Solusi CRM Kustom memungkinkan perusahaan memanfaatkan Portal Contact Center AI Platform (CCAI Platform) saat menggunakan CRM yang saat ini bukan merupakan integrasi standar dengan CCAI Platform. Konfigurasi CRM kustom berfungsi saat menggunakan CRM buatan sendiri atau CRM non-standar.

Agen menangani panggilan dan chat, serta supervisor dapat memantau dan menarik laporan menggunakan portal CCAI Platform. Semua detail tentang sesi panggilan atau chat disimpan dalam file metadata sesi. File ini dapat berisi lebih dari 20 titik data, termasuk informasi sesi, transfer, durasi penanganan, peserta, informasi diagnostik, dan banyak lagi. File metadata sesi dapat diurai dan digunakan untuk analisis dan pelacakan pasca-sesi.

Metadata sesi dan file media yang diupload konsumen dikirim ke layanan penyimpanan eksternal dan agen dapat melihat file media yang diupload konsumen langsung di adaptor agen selama sesi.

Solusi CRM kustom diimplementasikan dengan kombinasi komponen berikut. Beberapa komponen mungkin berlaku atau tidak berlaku untuk konfigurasi Anda:

  • Membuat file metadata sesi untuk setiap sesi panggilan dan chat

  • Mengirim metadata dan file media ke layanan penyimpanan eksternal

  • Integrasi API generik

  • URL pencarian kustom

  • Pembaruan data CRM melalui email

  • Pencarian akun atau kasus dari adaptor agen

Prasyarat

Untuk menggunakan fitur CRM Kustom, Anda harus menyiapkan penyimpanan eksternal terlebih dahulu. Lihat Penyimpanan eksternal untuk solusi CRM kustom untuk mengetahui informasi selengkapnya.

Metadata sesi

File metadata sesi berisi informasi mendetail tentang sesi. Email ini dikirim 15 menit setelah sesi selesai. Lihat File Metadata Sesi untuk mengetahui informasi selengkapnya.

Metode interaksi dan integrasi CRM kustom

Generic API URL Kustom
Pencarian akun Ya Ya
Pencarian kasus Ya
Pembaruan kasus Ya Tidak

Generic API

Metode integrasi Generic API memberikan kemampuan untuk menggunakan API CRM Kustom Anda guna membuat koneksi dua arah dengan CCAI Platform. Metode yang lancar ini terasa sama dengan pengalaman integrasi CRM siap pakai. Agen tidak perlu melakukan tindakan untuk membuat data CRM untuk sesi panggilan atau chat dan bergantung pada konfigurasi API yang unik. Hal ini dapat memungkinkan pencarian data dan pembaruan data yang lancar.

URL Kustom

Opsi Link Kustom memungkinkan agen Anda berinteraksi dengan CRM Anda dengan menggunakan link kustom yang dibuat untuk setiap sesi. Tidak seperti integrasi CRM standar dan pengalaman Generic API, Agen harus mengambil tindakan agar data CRM dibuat. Dalam beberapa kasus, hal ini mungkin hanya meluncurkan tab dengan link kustom dari sesi, dan dalam kasus lain, Agen mungkin perlu membuat data secara manual.

Detail dan konfigurasi URL pencarian kustom

Fungsi dasar URL adalah untuk melakukan pencarian CRM, tetapi bergantung pada CRM Anda, proses yang lebih kompleks dapat dipicu berdasarkan konten URL kustom. URL untuk CRM kustom dapat dikonfigurasi dengan variabel yang berisi informasi sesi dan dapat diakses di adaptor agen selama sesi berlangsung. Setelah diakses, URL akan memicu CRM kustom untuk melakukan pencarian. Pencarian CRM ini adalah cara agen dapat menggunakan "pop-up tiket" untuk sesi panggilan atau chat yang aktif. Proses link kustom hanya mengandalkan kemampuan CRM kustom untuk memproses link ini dan mengubah atau menulis ulang link jika diperlukan.

Metadata sesi, rekaman panggilan, dan file lain yang disimpan secara eksternal tidak akan dikaitkan kembali ke data CRM kecuali jika Metode pembaruan email yang tercantum juga dimanfaatkan.

Dalam konfigurasi ini, Agen akan login ke Portal CCAI Platform dan login ke CRM mereka di tab terpisah. Panggilan dan chat akan ditangani di tab CCAI Platform, dan detail tiket akan diakses di tab CRM.

Agar konfigurasi ini berfungsi:

  • Agen harus sedang login ke CRM di browsernya

  • Agen harus login ke Portal CCAI Platform di browser mereka

  • URL pencarian kustom harus dikonfigurasi sebelumnya

  • CRM Anda harus menangani URL kustom untuk menampilkan data CRM yang relevan

Perilaku URL pencarian kustom

  • CCAI Platform hanya akan menyertakan parameter di URL yang tidak kosong.

  • Platform CCAI tidak menyimpan URL yang dihasilkan yang berisi ANI/UID/Email di database Platform CCAI setelah sesi selesai.

Konfigurasi URL pencarian kustom

Karena ID unik serta kemampuan dan perilaku CRM yang bervariasi, Anda harus membuat 2 URL yang berbeda -- satu untuk sesi IVR/PSTN/SMS dan satu untuk sesi SDK web dan seluler. Sesi IVR/PSTN/SMS akan menggunakan ANI sebagai ID unik, sedangkan SDK web dan seluler kemungkinan akan menggunakan CUID dan Email.

Variabel berikut dapat digunakan untuk mengonfigurasi URL pencarian:

Variabel Nilai
{CUSTOMER_PHONE_NUMBER} Nomor telepon pengguna akhir
{ANI} Nomor telepon pengguna akhir. Dipertahankan untuk kompatibilitas mundur.
{CUID} ID pengguna kustom
{EMAIL} Email pengguna akhir
{MENU_PATH} Jalur menu antrean lengkap.
Misalnya, "Pesanan/Konfirmasi pesanan/Info pesanan".
{MENU_ID} ID Menu
{CHANNEL}

Saluran sesi. Nilai yang memungkinkan:

  • chat
  • voice_call
{TYPE}

Jenis sesi.

Nilai yang mungkin untuk panggilan:

  • Incoming_Call_(app)
  • Scheduled_Call_(app)
  • Incoming_Call_(web)
  • Scheduled_Call_(web)
  • Outbound_Call
  • Outbound_Call_(api)
  • Incoming_Call_(api)
  • IVR_Call
  • IVR_Call_(app)
  • Pesan suara

Nilai yang mungkin untuk chat:

  • Seluler
  • Web
  • SMS
{SUPPORT_PHONE_NUMBER} Nomor telepon pusat dukungan yang dihubungi pengguna akhir.
{OUTBOUND_NUMBER} Nomor telepon yang digunakan agen untuk panggilan keluar.
{SESSION_ID}

ID sesi. Nilai yang memungkinkan:

  • ID Panggilan
  • ID Chat
  • ID Email
{CUSTOM_AGENT_ID} Kolom ID agen opsional di objek user. ID agen tidak dapat diperoleh hingga sesi dibuat dan agen ditetapkan. Oleh karena itu, konfigurasikan instance Anda untuk menunda pembuatan data panggilan atau chat agar variabel ini dapat ditentukan. Anda dapat menunda pembuatan data panggilan atau chat di Settings > Operation Management > CRM Record Creation Details. Untuk mengetahui informasi selengkapnya, lihat Detail pembuatan data CRM.

Konfigurasi portal CCAI Platform

  1. Login ke portal CCAI Platform menggunakan akun yang memiliki peran Admin.

  2. Buka Setelan > Setelan Developer.

  3. Di bagian CRM, pilih Custom CRM.

  4. Di bagian Pencarian CRM, masukkan URL kustom Anda.

  5. Pilih Format Nomor Telepon yang akan digunakan dalam permintaan CRM.

  6. Klik Simpan Perubahan.

  7. Jika Anda belum melakukannya, konfigurasikan layanan penyimpanan eksternal Anda. Untuk mengetahui informasi selengkapnya, lihat Penyimpanan Eksternal.

Pembaruan data CRM melalui email

Dalam konfigurasi seperti URL pencarian kustom, setelah sesi selesai, metadata sesi perlu diperbarui di CRM. Dengan fitur ini, CCAI Platform dapat otomatis mengirim data sesi menggunakan email. Sekitar 15 menit setelah sesi berakhir, email akan dikirim ke lokasi yang dikonfigurasi dan konten email digunakan untuk memperbarui data di CRM Anda. Fitur ini dapat dikonfigurasi secara global dan per antrean. Setelah email diterima, CRM Anda dapat dikonfigurasi untuk memperbarui atau membuat data CRM baru untuk sesi tersebut.

Detail email

  • Dikirim dari no-reply@ccaiplatform.com

  • Berisi:

    • Subject line

    • Isi dengan metadata sesi dalam sintaksis JSON

    • Lampiran dalam format TXT dengan transkrip chat jika ada

  • CCAI Platform akan menunggu selama 15 menit setelah sesi berakhir, lalu mengirim email.

  • Email hanya dikirim untuk sesi yang berhasil diselesaikan. Peristiwa ini tidak dikirim untuk sesi yang gagal atau ditinggalkan.

Konfigurasi global

  1. Login ke portal CCAI Platform menggunakan akun yang memiliki peran Admin.

  2. Buka Setelan > Setelan Developer.

  3. Di bagian CRM, pastikan Custom CRM dipilih.

  4. Aktifkan Send session outcome via Email.

  5. Masukkan alamat email yang ingin Anda kirimi email.

  6. Klik Simpan Perubahan.

Konfigurasi per antrean

  1. Login ke portal CCAI Platform menggunakan akun yang memiliki peran Admin.

  2. Buka Setelan > Antrean, lalu pilih sub-antrean mana pun.

  3. Aktifkan Send session outcome via Email.

  4. Masukkan alamat email yang ingin Anda kirimi email.

    Tampilan konfigurasi email

  5. Klik Save Custom CRM setting.

Pewarisan dan penggantian setelan

Setelan Perilaku
Global = TIDAK diaktifkan
Antrean = TIDAK diaktifkan
Jangan kirim untuk semua antrean.
Global = TIDAK diaktifkan
Antrean = Diaktifkan
Setelan antrean (yaitu, status aktif/nonaktif) menggantikan setelan global.
Email dikirim dari antrean tertentu ke alamat email yang ditentukan dalam setelan antrean.
Global = Diaktifkan
Antrean = TIDAK diaktifkan
Setelan antrean (alamat email, status aktif/nonaktif) mewarisi setelan global.
Email dikirim dari antrean tertentu ke alamat email yang ditentukan dalam setelan global.
Global = Diaktifkan
Antrean = Diaktifkan
Setelan antrean (alamat email) menggantikan setelan global.
Email dikirim dari antrean tertentu ke alamat email yang ditentukan dalam setelan antrean.
Jika alamat email kosong, email tidak akan dikirim.

Pengalaman agen

Pencarian data CRM

  1. Login ke portal CCAI Platform menggunakan akun yang diberi peran Agen.

  2. Buka adaptor panggilan atau chat.

  3. Gunakan tombol Buka di jendela browser baru untuk memicu pencarian.

  4. Gunakan tombol Salin link untuk menyalin URL pencarian ke papan klip.

Tampilan agen

Penyimpanan eksternal untuk solusi CRM kustom

Penyimpanan Eksternal untuk Solusi Kustom memungkinkan penggunaan layanan penyimpanan eksternal untuk menyimpan dan mengambil metadata sesi CCAI Platform, rekaman panggilan, transkrip chat, dan file media yang diupload konsumen. File disimpan di luar CRM.

Untuk mengonfigurasi Penyimpanan Eksternal, Anda harus memiliki:

  • Akun CCAI Platform yang valid dengan peran Admin dan Agen yang ditetapkan untuk konfigurasi dan pengujian

  • Layanan penyimpanan eksternal

Struktur folder

Struktur folder berikut akan diatur di penyimpanan eksternal Anda di Folder Path:

  • ujet-chat-transcripts

  • ujet-media

  • ujet-metadata

  • ujet-voice-recordings

  • ujet-voicemails

Format file dan konvensi penamaan

Jenis file berikut dapat dikirim ke layanan penyimpanan eksternal. File dienkripsi selama pengiriman menggunakan HTTPS:

File Nama
Perekaman panggilan - call-{id}.mp3
- call-{id}.wav
File media - call-{id}-photo-{photo-id}.jpg
- call-{id}-video-{video-id}.mp4
- chat-{id}-photo-{photo-id}.jpg
- chat-{id}-video-{video-id}.mp4
Transkrip chat - chat-{id}.txt
Metadata sesi - call-{id}.json
- chat-{id}.json

Pengalaman agen dan supervisor

Selama sesi panggilan atau chat, foto dan video yang diupload oleh konsumen menggunakan smart action akan ditampilkan di adaptor agen.

Jika Anda menggunakan interaksi CRM URL kustom yang digabungkan dengan metode pembaruan email file metadata sesi, agen dan supervisor dapat mengakses informasi sesi menggunakan server eksternal Anda.

Mengonfigurasi layanan penyimpanan eksternal

Selesaikan langkah-langkah berikut untuk mengonfigurasi penyimpanan eksternal Anda:

  1. Login ke portal CCAI Platform menggunakan akun yang diberi peran Admin.

  2. Buka Setelan > Setelan Developer.

  3. Di halaman Setelan Developer, buka bagian Penyimpanan Eksternal.

  4. Aktifkan penyimpanan informasi di luar server CRM dengan mengalihkan tombol ke Aktif, lalu pilih jenis file yang akan disimpan.

  5. Di bagian Penyiapan Server, pilih jenis penyimpanan Anda dan selesaikan langkah-langkah penyiapan: Server SFTP, bucket Google Cloud .

Server SFTP

  1. Masukkan Host SFTP (URL atau alamat IP).

  2. Masukkan nomor Port.

  3. Masukkan ID Pengguna Login SFTP.

  4. Jika server SFTP memerlukan sandi untuk autentikasi, masukkan sandi di kolom Password.

  5. Jika server SFTP memerlukan kunci pribadi untuk autentikasi, centang kotak SSH Private Key.

  6. Masukkan (salin & tempel) kunci pribadi SSH.

  7. Masukkan Frasa sandi kunci pribadi. Jika informasi sesi harus disimpan di folder tertentu di server SFTP, centang kotak Folder Path dan masukkan SFTP folder path.

  8. Klik Simpan Perubahan.

Cloud Storage

  1. Masukkan Nama Bucket tujuan Google Cloud .

  2. Masukkan Google Cloud Client ID.

  3. Masukkan Google Cloud Client Secret.

  4. Jika informasi sesi harus disimpan di folder tertentu dalam bucket Google Cloud , centang kotak Folder Path dan masukkan Google Cloud folder path.

  5. Klik Tautkan & Simpan.

Menguji konfigurasi penyimpanan eksternal

Untuk CRM dengan integrasi standar yang sudah ada:

  1. Login ke CRM Anda.

  2. Login ke CCAI Platform dalam CRM menggunakan kredensial CCAI Platform dengan peran Agen yang ditetapkan.

  3. Lakukan panggilan atau chat. Data CRM yang terkait dengan sesi akan ditampilkan.

  4. Setelah sesi selesai, file transkrip akan diupload dalam hitungan detik.

  5. Buka folder penyimpanan server eksternal secara langsung dan pastikan file tersedia.

Mengirim file sesi ke CRM

Jika Penyimpanan Eksternal diaktifkan, setelan developer URL Penyimpanan CRM dan Penyimpanan Eksternal memberikan kemampuan untuk mengirim file sesi dan memutuskan sumber yang akan digunakan untuk menampilkan file di adaptor agen.

Untuk melihat setelan ini, Penyimpanan Eksternal harus diaktifkan di Setelan > Setelan Developer > Penyimpanan Eksternal. Alihkan Enable information storage outside CRM servers ke On.

Penyimpanan CRM

  1. Buka Setelan > Setelan Developer > Penyimpanan Eksternal > Penyimpanan CRM.

  2. Centang kotak di samping Also send session files to the CRM untuk mengirim file sesi seperti rekaman panggilan atau transkrip chat ke CRM dan ke penyimpanan eksternal yang dikonfigurasi.

  3. Klik Simpan Perubahan.

Jika kotak dicentang, rekaman akan disimpan di CRM dan penyimpanan eksternal.

URL penyimpanan eksternal

URL Penyimpanan Eksternal digunakan di dua tempat:

  • Adaptor agen.

  • Pelaporan: menampilkan URL media dalam laporan serta dalam menu seperti Setelan, Panggilan, Selesai.

  1. Buka Settings > Developer Settings > External Storage > External Storage URLs

  2. Pilih URL CRM atau URL Penyimpanan Eksternal sumber untuk menampilkan file di adaptor agen.

  3. Klik Simpan Perubahan.

Penyimpanan CRM

  • Jika kotak centang untuk penyimpanan CRM tidak dicentang, rekaman hanya akan disimpan di penyimpanan eksternal dan link ke CRM akan digunakan.

  • Jika kotak dicentang, rekaman akan disimpan di CRM dan penyimpanan eksternal.

URL penyimpanan eksternal

URL digunakan di dua tempat:

  • Salah satunya adalah menampilkan media di adaptor CCAI Platform. Penyimpanan eksternal atau CRM.

  • Satu lagi ada di laporan. Kami menampilkan URL media dalam laporan serta dalam menu seperti Setelan, Panggilan, Selesai.

Menampilkan CRM kustom di portal CCAI Platform

Saat menggunakan integrasi CRM kustom dengan CRM yang Anda buat sendiri, Anda dapat memuat CRM di halaman khusus dalam Portal CCAI Platform. Setelah diaktifkan, tab CRM di Portal CCAI Platform akan memuat dan menampilkan halaman CRM yang Anda buat khusus. Hal ini dapat dikonfigurasi di Setelan Developer > CRM.

Kemampuan ini memungkinkan agen menangani sesi dukungan langsung menggunakan adaptor panggilan dan chat CCAI Platform sekaligus bekerja di CRM kustom Anda. Hal ini termasuk meninjau detail akun dan data yang otomatis muncul serta file dan data khusus sesi yang diteruskan dari aplikasi seluler Anda atau oleh konsumen, semuanya menggunakan portal CCAI Platform.

Mengonfigurasi halaman CRM kustom

Untuk mengonfigurasi halaman CRM kustom, ikuti langkah-langkah berikut:

  1. Di portal CCAI Platform, klik Settings > Developer Settings. Jika Anda tidak melihat menu Setelan, klik Menu.

  2. Di panel CRM, klik Custom CRM.

  3. Klik tombol Display CRM in CCAI Platform portal ke posisi aktif.

  4. Di bagian Display URL, masukkan URL untuk halaman CRM kustom Anda, lalu klik Save.

Membuka pop-up layar URL kustom

Gunakan Buka URL Kustom untuk menampilkan pop-up layar URL kustom saat kontak tidak ditemukan dalam sistem. Buat data CRM dengan ID akun sementara, dan picu link kustom dengan parameter berdasarkan konfigurasi tingkat antrean.

Mengaktifkan pop-up layar per antrean

  1. Buka Setelan > Antrean > IVR, klik antrean yang akan diedit.

  2. Buka Buka URL Kustom di panel.

  3. Masukkan URL untuk menampilkan pop-up layar.

Sertakan parameter variabel {ACCOUNT_ID} dan {PHONE_NUMBER} ke dalam URL.

Contohnya diberikan.

  1. Klik Simpan.

Integrasi API generik CRM kustom

Metode integrasi API generik memberikan kemampuan untuk menggunakan API CRM Anda guna membuat koneksi dua arah dengan CCAI Platform. Metode yang lancar ini memiliki nuansa yang sama dengan pengalaman integrasi CRM siap pakai.

Agen tidak perlu melakukan tindakan apa pun untuk membuat data CRM untuk sesi panggilan atau chat. Bergantung pada konfigurasi API yang unik, API ini dapat memungkinkan pencarian data dan pembaruan data yang lancar.

Terminologi

Masa Berlaku

Deskripsi

Akun

Istilah ini digunakan untuk merujuk ke entitas Akun/Kontak/Pelanggan/Prospek di CRM. CRM Anda mungkin memiliki nama lain untuk entitas ini.

Akun berisi Data.

Rekam

ID ini digunakan untuk merujuk ke entitas Kasus/Tiket/Percakapan/Insiden di CRM. CRM Anda mungkin memiliki nama lain untuk entitas ini.

Data adalah milik Akun.

Komentar

ID ini digunakan untuk merujuk ke entitas Komentar/Catatan di CRM. CRM Anda mungkin memiliki nama lain untuk entitas ini.

Komentar adalah milik Rekaman.

Setelan API

Bagian ini menguraikan setelan khusus untuk setelan API CRM kustom.

Metode autentikasi

CCAI Platform mendukung tiga metode autentikasi untuk CRM Anda:

  • Autentikasi dasar: Konfigurasikan kredensial autentikasi yang mencakup Nama pengguna dan sandi.

  • Header kustom: Konfigurasikan pasangan nilai kunci header kustom: Kunci Kolom dan Nilai Kolom. Masukkan pasangan sebanyak yang Anda butuhkan.

  • OAuth: CCAI Platform mendukung protokol standar industri untuk otorisasi OAuth 2.0. Tentukan informasi OAuth jika Anda perlu mengaktifkan opsi "Sertakan URL Pengalihan sebagai bagian dari URL Otorisasi dan URL Token".

    Konfigurasikan nilai berikut:

    • URL otorisasi (wajib diisi)

    • URL token (wajib diisi)

    • Client ID (wajib diisi)

    • Rahasia Klien (wajib diisi)

    • Cakupan

    • Negara bagian/Provinsi

    • Jenis Akses

Format nomor telepon

Pilih Format Nomor Telepon yang akan digunakan dalam permintaan CRM:

  • Otomatis: Buat: +1 222 333 4444, Telusuri: *222*333*4444

  • E.164: +12223334444

  • Lokal AS: 2223334444

  • Standar lokal AS: (111) 222-3333

  • Internasional: +1 222 333 4444

Waktu tunggu permintaan API habis

Konfigurasikan Waktu tunggu permintaan API dari 1-10 detik menggunakan drop-down. Waktu tunggu ini akan diterapkan ke semua endpoint yang Anda konfigurasi.

URL pencarian CRM

Tentukan URL pencarian yang akan digunakan untuk mengarahkan Agen ke akun dan data saat ini.

Masukkan URL pencarian seperti yang muncul di CRM saat Anda membuka halaman akun atau data di browser.

Anda juga dapat menggunakan URL pencarian CRM dengan SDK web dan SDK seluler. Anda dapat mengonfigurasi SDK untuk mencari informasi akun dan data CRM yang akan ditampilkan di adaptor agen. Untuk mengetahui daftar lengkap URL pencarian CRM, lihat Parameter URL permintaan.

URL pencarian akun

Gunakan variabel {ACCOUNT_ID} untuk menyisipkan ID akun yang sebenarnya.

Contoh:

https://www.example.com/contact/{ACCOUNT_ID}

URL pencarian data

Gunakan variabel {RECORD_ID} untuk menyisipkan ID data yang sebenarnya.

Contoh:

https://www.example.com/record/{RECORD_ID}

endpoint API

Ini adalah konfigurasi terpenting untuk Generic API.

  1. Agar pencarian akun tersedia untuk agen, Anda harus mengonfigurasi endpoint Temukan akun dan Buat akun.

  2. Selain itu, Anda dapat menyiapkan endpoint Find a record dan Create a record untuk mengaktifkan pencarian atau pembuatan data ke agen Anda. Pembuatan akun dari langkah sebelumnya diperlukan untuk ini.

  3. Terakhir, jika Anda memasukkan endpoint Update a record, Upload a file, dan Comment, pembaruan data akan diaktifkan. Penyiapan data dari langkah sebelumnya diperlukan untuk hal ini.

Konfigurasi endpoint

Konfigurasi setelan berikut:

  1. URL Permintaan: URL endpoint API.

  2. Pilih metode permintaan dari POST, GET, PUT, atau PATCH.

  3. Tentukan Parameters permintaan. Anda dapat menggunakan variabel yang ditentukan CCAI Platform untuk meneruskan informasi yang diperlukan (lihat tabel di bawah). Selain itu, Anda dapat memasukkan teks biasa atau angka sebagai nilai parameter. Anda dapat menambahkan parameter sebanyak yang diperlukan.

  4. Jika endpoint-nya adalah POST/PUT/PATCH, CCAI Platform menawarkan kontrol yang lebih disesuaikan terkait cara permintaan dibuat. Pilih Minta Format Data dari Properti atau Penampung. Ini menentukan format JSON permintaan.

    • Properti. Hal ini menunjukkan bahwa objek permintaan adalah peta properti dasar saat CCAI Platform membuat isi permintaan dari parameter.

    • Container. Hal ini menunjukkan bahwa data objek permintaan yang akan dikirim harus disusun bertingkat dalam sebuah struktur. Pilih Container Type dari Map atau Array. Masukkan Nama Penampung. Nama ini digunakan sebagai nama objek induk saat membuat isi permintaan dari parameter.

      • Contoh: Map: { container_name : { ...parameters } }

      • Contoh: Array: {container_name : [ { ...parameters } ] }

  5. Masukkan Lokasi Data Respons. Ini digunakan untuk menemukan objek respons target dalam respons JSON.

Parameter URL permintaan

Parameter Variabel Komentar
ID Agen {AGENT_ID} ID agen internal.
ID Kustom Agen {AGENT_CUSTOM_ID} Kolom opsional dari profil pengguna.
Email Agen {AGENT_EMAIL} Email agen penjawab jika ada.
Nama pengguna akhir {NAME}
Nama depan pengguna akhir {FIRST_NAME} Diambil dari Name
Nama belakang pengguna akhir {LAST_NAME} Diambil dari Name, ditetapkan secara default ke -- jika tidak ada.
ID Eksternal {UJET_ID} ID pengguna akhir CCAI Platform
Email {EMAIL}
Jenis Panggilan/Jenis Sesi {SESSION_TYPE}
Nomor telepon pengguna akhir {PHONE_NUMBER} Diformat menggunakan pilihan setelan
ID Panggilan {Call_ID} ID panggilan CCAI Platform.
ID Chat {Chat_ID} ID chat CCAI Platform.
Bahasa {LANG}
UID Kustom {CUSTOM_USER_ID} Untuk Seluler: ini adalah sisi kiri email. Misalnya, test.user3 dari test.user3@test.co
ID Akun {ACCOUNT_ID} Ditemukan dengan memanggil endpoint Find/Create contact.
ID Kumpulan Data {RECORD_ID} Ditemukan dengan memanggil endpoint Find/Create record.
ID Sesi {SESSION_ID} ID sesi CCAI Platform
Jalur menu {MENU_PATH}
Nomor telepon keluar {OUTBOUND_PHONE_NUMBER} Diformat menggunakan pilihan setelan
Nama antrean {QUEUE_NAME}
ID Antrean {QUEUE_ID} ID antrean internal.
Nama SDK {SDK_NAME} Nama pengguna akhir seperti yang ditunjukkan di Web SDK atau Mobile SDK.
Email SDK {SDK_EMAIL} Alamat email pengguna akhir seperti yang ditunjukkan di Web SDK atau Mobile SDK.
SDK Phone {SDK_PHONE} Nomor telepon pengguna akhir seperti yang ditunjukkan di Web SDK atau Mobile SDK.
ID SDK {SDK_IDENTIFIER} Mengidentifikasi pengguna akhir atau akun Web atau Mobile SDK. Jangan sertakan PII dalam properti ini. Saat membuat akun, ID ini diperlukan dalam permintaan.
ID sesi SmartAction {SMART_ACTION_SESSION_ID}
SmartAction: verifikasi (Segera hadir)
SmartAction: input teks (Segera hadir)
Rating {RATING} Hanya tersedia jika pengguna meninggalkannya
Pesan masukan {FEEDBACK} Hanya tersedia jika pengguna meninggalkannya
Durasi panggilan {CALL_DURATION} Dalam mm:ss
Waktu tunggu {HOLD_TIME} Dalam mm:ss
Waktu tunggu {WAIT_TIME} Dalam mm:ss
Durasi pekerjaan setelah panggilan (Segera hadir)
Jenis Perangkat {DEVICE_TYPE}
Sambungan Diputus Oleh {DISCONNECTED_BY}
Saluran {CHANNEL}
Subjek Rekaman {TICKET_SUBJECT} Digunakan sebagai judul data
Deskripsi Rekaman {TICKET_DESCRIPTION}
HTML Deskripsi Rekaman {TICKET_DESCRIPTION_HTML} Sama seperti deskripsi, hanya diformat untuk HTML
Isi Komentar {COMMENT_BODY} Hanya tersedia dalam situasi tambahkan komentar (simpan rating, akhiri panggilan/chat, panggilan/chat dimulai)
Data File {FILE_DATA} Hanya tersedia di endpoint upload file, tetapi berisi base64 atau data untuk formulir multibagian.

Fungsi parameter URL permintaan

Fungsi disediakan untuk membantu variabel CCAI Platform dinamis. Fungsi ini hanya tersedia untuk digunakan di bagian Parameter Permintaan pada setelan endpoint.

Nilai yang dihasilkan dari fungsi akan berupa string. Jika tidak ada nilai yang ditampilkan dari fungsi, parameter akan dihapus dari daftar parameter dalam permintaan sebelum eksekusi.

Fungsi Sintaksis Fungsi Deskripsi
Nilai Default =DEFAULT_VALUE(val1, val2) Nilai akan menggunakan val1 kecuali jika null atau kosong, dan akan kembali ke val2 secara default.
Penyambungan Or =CONCAT_OR(val1, val2, val3) Penggabungan beberapa nilai dengan or. Contoh: 'val1 or val2 or val3'
Penyambungan And =CONCAT_AND(val1, val2, val3) Penggabungan beberapa nilai dengan and. Contoh: 'val1 and val2 and val3'

Contoh

Berikut adalah beberapa contoh penggunaan fungsi parameter URL permintaan.

Default

Contoh berikut menggunakan DEFAULT_VALUE di Create a Record Endpoint. Kunci dan nilai untuk penyiapan agen menggunakan fungsi default untuk memiliki penggantian jika nilai email agen kosong. Email agen mungkin kosong saat pembuatan data karena beberapa alasan: pelanggan mungkin telah mengakhiri panggilan IVR sebelum agen yang ditugaskan menjawab panggilan masuk, atau dalam kasus chat, data akan dibuat sebelum agen menjawab. Dengan cara ini, parameter yang diperlukan mungkin ditetapkan secara default ke nilai yang aman hingga update berikutnya atau ditetapkan jika panggilan ditinggalkan.

Edit Kolom

Penyambungan

Contoh berikut menggunakan CONCAT_OR di endpoint Find an Account by Query. Contoh ini khusus untuk Zoho CRM, tetapi menunjukkan cara penggunaan CONCAT_OR. CONCAT_AND mengikuti aturan yang sama, tetapi menghubungkan nilai dengan and, bukan or. Lihat kasus berikut untuk nilai yang ada di endpoint pada saat eksekusi dan nilai yang dihasilkan yang diteruskan sebagai parameter permintaan.

Kunci ada Nilai yang dihasilkan
ACCOUNT_ID (Id:equals:<uuid>)
ACCOUNT_ID, EMAIL (Id:equals:<uuid>) atau (Email:equals:kim@example)
PHONE_NUMBER, EMAIL (Phone:equals:+12223334444) atau (Email:equals:kim@example)

Akun API

Endpoint akun API mendukung integrasi dengan akun di CRM.

Panggilan ke endpoint yang menampilkan error 400 akan dicoba lagi. Panggilan yang menampilkan error lain tidak akan dicoba lagi. Percobaan ulang berlanjut selama seminggu, dan berkurang dengan penurunan eksponensial. Untuk mengetahui informasi tentang alur API, lihat API generik CRM kustom: Alur.

Menemukan akun berdasarkan endpoint kueri (sebelumnya endpoint menemukan akun)

Endpoint ini digunakan untuk menemukan akun berdasarkan nomor telepon, email, atau ID CRM internal. Ini adalah endpoint default yang digunakan untuk menemukan akun.

Contoh respons:

{
  "id": 123,
  "name": "Kim",
  "phone": "11234567890",
  "email": "Kim@agents.co"
}

Menemukan akun berdasarkan endpoint ID

Endpoint ini digunakan untuk menemukan akun berdasarkan ID. Umumnya, ID ini akan menjadi bagian dari URL. Validasi URL juga akan memperhitungkan jika URL tidak dibentuk dengan ID, maka endpoint ini tidak akan digunakan. Hal ini akan mengikuti standar REST. Jika 404 ditampilkan pada pencarian yang gagal, pencarian berdasarkan kueri akan dilakukan berikutnya.

Contoh respons:

{
  "id": 123,
  "name": "Kim",
  "phone": "11234567890",
  "email": "Kim@agents.co"
}

Membuat endpoint akun

Endpoint ini digunakan untuk membuat akun jika kami belum menemukannya. Sebagian besar CRM mengharuskan data dilampirkan ke akun. Untuk membuat alur terpadu, kami menerapkan persyaratan ini untuk semua CRM.

Data API

Endpoint data API memberikan kemampuan untuk berintegrasi dengan data atau kasus di CRM Anda.

Menemukan data berdasarkan kueri (sebelumnya endpoint menemukan data)

Endpoint ini digunakan untuk menemukan data berdasarkan kriteria. Umumnya, ini digunakan untuk menemukan data yang terkait dengan akun. Jika CCAI Platform dikonfigurasi untuk menggunakan kembali data yang ada, data yang ditemukan akan digunakan. Ini adalah endpoint default yang digunakan untuk menemukan data.

Contoh respons:

{
  "id": 456,
  "subject": "Record title",
  "status": "open", // enumerated status open/closed, or 1,2,3
  "contactId": 123, // contact attached to ticket
  "phone": "11234567890", // contact phone
}

Membuat endpoint data

Endpoint ini digunakan untuk membuat data. Data baru akan dibuat jika data tidak ditemukan dari permintaan Find a record atau jika CCAI Platform dikonfigurasi untuk tidak menggunakan kembali data yang ada.

Contoh permintaan:

{
  "id": 123,
  "subject": "Record title", 
  "description": "A longer description of the record, can be formatted in html",
  "phone": "11234567890", // can be saved in multiple formats
  "contactId": 123,
  "sourceType": "PHONE", // PHONE/CHAT
  "menu": "queue1",
  "direction": "outgoing",
  "rating": 5, // 1-5 scale
  "feedback": "the agent was great!" // description of rating
}

Memperbarui endpoint data

Endpoint ini digunakan untuk memperbarui data. Metode ini memperbarui judul dan deskripsi data. Endpoint ini juga dapat berfungsi untuk memperbarui data sesuai dengan peristiwa CCAI Platform, seperti menyimpan rating CSAT, peristiwa penyelesaian panggilan atau chat, antrean yang dipilih, memverifikasi pengguna, dan lainnya.

Endpoint upload file

Endpoint ini digunakan untuk mengupload lampiran.

Pilih Type untuk endpoint upload Anda

  • Formulir berenkode base64

  • Formulir multibagian

Pilih file yang akan dilampirkan

  • Rekaman panggilan

  • Transkrip chat

  • Pesan suara

  • Foto

  • Video

  • File metadata sesi

Pilih Attachment Type dari ID dan Attachment URL. Parameter ini menentukan format JSON respons.

  • ID

  • ID lampiran. Masukkan lokasi parameter dalam respons JSON untuk ID lampiran. ID ini akan tersedia untuk URL pembuat lampiran sebagai {ATTACHMENT_ID}.

  • URL Attachment Builder. Masukkan URL untuk mendownload lampiran file. RECORD_ID dan ATTACHMENT_ID adalah variabel yang tersedia.

    Contoh: https://www.example.com/Accounts/{RECORD_ID}/Attachments/{ATTACHMENT_ID}

  • URL Lampiran

    Masukkan lokasi parameter dalam respons JSON untuk URL download file.

Centang kotak Add comment to CRM jika Anda ingin CCAI Platform memberikan komentar pada data saat file diupload. Setelan Format Teks dari endpoint Komentar akan diterapkan untuk komentar ini.

Contoh berikut adalah contoh formulir multibagian yang menggunakan POST/PUT/PATCH:

{
  "file": <file data>
  "id": 123, // optional, this can also just be part of the URL;
             // for example https://example-customer.com/upload/record/{RECORD_ID}
}

Contoh respons:

Contoh A: URL download ada

{
  "id": 123,
  "url": "https://some-hosted-url.com"
}

Contoh B

Dalam hal ini, URL download tidak ada, tetapi ada endpoint lampiran download yang menggunakan ID ini. Misalnya, https://www.customer-api.com/record/{RECORD_ID}/Attachments/{ATTACHMENT_ID}.

{
  "id": 123
}
Endpoint komentar

Endpoint ini digunakan untuk menambahkan komentar ke data. Jika endpoint dikonfigurasi, CCAI Platform akan menambahkan komentar ke data dengan peristiwa:

  • panggilan atau chat dimulai

  • call or chat end

  • Rating dan komentar CSAT

  • paket data kustom

  • transfer komentar

  • kode disposisi dan catatan

  • pertanyaan dan jawaban survei

Pilih Format Teks untuk komentar. Jika kotak centang Konversi teks ke HTML dicentang, teks akan dalam format HTML atau teks biasa.

Contoh permintaan, POST/PUT/PATCH:

{
  "comment": "Some text",
 // string can also be formatted on CCAI Platform side as HTML).
  "id": 123,
 // optional, this can also just be part of the URL;
 // for example https://example-customer.com/comment/record/{RECORD_ID}
}

API generik CRM kustom: Alur

Integrasi CRM Kustom (Generic API) CCAI Platform berfungsi sebagai serangkaian alur. Di awal panggilan, chat, atau pesan suara, platform akan menjalankan langkah-langkah akun dan data yang dikonfigurasi, yang menemukan atau membuat akun dan data (seperti tiket atau kasus) di CRM Anda. Selama dan setelah interaksi, agen juga menjalankan tindakan seperti komentar, pembaruan data, dan upload file. Diagram alur berikut menunjukkan kapan setiap langkah berjalan dan apa yang harus dikonfigurasi agar langkah tersebut berjalan.

Kapan flow dijalankan

Alur ini berjalan di berbagai titik dalam interaksi. Langkah-langkah akun dan pencatatan dijalankan selama interaksi. Rekaman, transkrip, dan pesan suara diupload setelah interaksi berakhir, bersama dengan komentar, pembaruan data, dan tindakan pasca-sesi lainnya. Lampiran - foto, video, dokumen, dan audio - diupload saat dibagikan selama interaksi. Sebelum salah satu alur ini berjalan:

  • Pemicu untuk tindakan telah terjadi - misalnya, file tersedia untuk diupload, atau panggilan, chat, atau pesan suara telah berakhir.
  • Tindakan yang relevan diaktifkan di setelan CRM Kustom Anda. Misalnya, jenis file diaktifkan untuk diupload, atau endpoint API Comment atau API Update dikonfigurasi.
  • Untuk apa pun yang menulis ke CRM (mengupload ke data, memposting komentar, atau memperbarui data), endpoint yang diperlukan dikonfigurasi dan data ada untuk sesi tersebut. Jika data belum dibuat, platform akan menahan tindakan dan menjalankannya secara otomatis setelah data ada.

Mengupload file ke penyimpanan eksternal tidak memerlukan data. Persyaratan data berlaku untuk penulisan CRM.

Dalam beberapa konfigurasi, akun bertindak sebagai data sesi: saat pembuatan data dilewati dan data sesi dikirim ke akun CRM, endpoint komentar, upload, dan update tingkat akun digunakan sebagai pengganti endpoint tingkat data. Dalam diagram, "rekaman" mencakup akun yang bertindak sebagai rekaman sesi saat konfigurasi tersebut diaktifkan.

Untuk pengurutan akun, data, dan pasca-sesi, pengaturan waktu percobaan ulang, dan perilaku error, lihat Penanganan error, percobaan ulang, dan pengurutan panggilan di CRM Kustom (Generic API).

Diagram alir

Di seluruh diagram alir ini, tiga hasil muncul berulang kali:

Hasil Definisi
Dilewati Tindakan dinonaktifkan oleh konfigurasi, sehingga tidak ada yang dikirim.
Ditahan Tindakan dikonfigurasi, tetapi menunggu hingga data ada, lalu berjalan secara otomatis.
Konfigurasi tidak lengkap Endpoint yang diperlukan tidak ada, sehingga tindakan tidak dapat dijalankan.

Alur dasar

Interaksi menjalankan langkah akun, lalu langkah pencatatan, dan kemudian tindakan pasca-sesi. Setiap langkah hanya berjalan jika setelan dan endpoint-nya sendiri dikonfigurasi. Upload penyimpanan eksternal berjalan tanpa data; tindakan pasca-sesi lainnya menulis ke CRM dan menunggu hingga data ada. Ringkasan ini menunjukkan jalur pasca-sesi; file yang dibagikan selama interaksi mengikuti alur Upload file segera setelah tersedia.

Diagram alur dasar

Menemukan atau membuat akun

Platform akan mencari akun berdasarkan ID, nomor telepon, email, atau metode pencocokan yang dikonfigurasi. Jika tidak ada akun yang ditemukan dan pembuatan akun diaktifkan, Firebase Authentication akan membuat akun, atau akun anonim jika tidak ada detail identitas. Akun yang ditemukan atau dibuat kemudian ditautkan ke sesi.

Alur menemukan atau membuat akun

Menemukan atau membuat data

Jika mode rekam diaktifkan, platform akan menggunakan kembali rekaman yang ada untuk sesi tersebut jika masih dapat digunakan; jika tidak, platform akan membuat rekaman baru. ID data dapat disertakan dalam permintaan atau berasal dari data yang sudah terkait dengan interaksi. Jika ID data diberikan bersama permintaan, platform juga akan menambahkan komentar yang mencatat apakah ID tersebut menggunakan kembali data tersebut atau membuat data baru.

Alur menemukan atau membuat data

Memperbarui data

Setelah data ada, platform akan mengirimkan permintaan update yang dibuat dari template yang Anda konfigurasi. Jika endpoint update ditetapkan ke nilai placeholder, update akan dilewati.

Alur perbarui data

Tindakan setelah sesi

Setelah sesi, beberapa tindakan independen dapat berjalan, masing-masing dipicu oleh peristiwanya sendiri: panggilan, chat, atau email yang selesai; rating yang dikirimkan; survei yang dijawab; atau rekaman, transkrip, atau pesan suara pasca-sesi yang tersedia. Upload file mengikuti alur Upload file; tindakan komentar dan update menulis ke CRM dan menunggu hingga data ada.

Alur tindakan setelah sesi

Komentar

Komentar dapat diposting melalui tindakan selesai, rating, survei, atau upload file. API ini memerlukan endpoint API Comment dan data yang ada, serta menunggu hingga data tersebut ada. Komentar diposting sebagai HTML atau teks biasa, bergantung pada setelan komentar Anda.

Alur komentar

Alur upload file

Penyimpanan eksternal diaktifkan per jenis file. Jika diaktifkan untuk jenis file, file akan masuk ke penyimpanan eksternal; jika tidak, file akan masuk ke CRM. Setelan terpisah juga dapat mengupload file ke CRM setelah mengirimkannya ke penyimpanan eksternal. Penulisan ke CRM (lampiran file atau komentar) hanya berjalan setelah data ada.

Alur upload file

Adaptor agen

CRM kustom menawarkan metode umum untuk mengintegrasikan adaptor (widget UI) ke dalam sistem CRM. Sistem CRM harus dapat menangani cara adaptor diaktifkan dan dipicu di dalamnya.

Untuk mengintegrasikan adaptor antarmuka pengguna, software atau aplikasi CRM biasanya diperlukan. Kami telah menyediakan kemampuan ini untuk beberapa software CRM seperti Salesforce, Kustomer, Zendesk, dan lainnya.

iFrame

Adaptor agen dapat diintegrasikan dengan lancar ke CRM atau alat lainnya melalui penggunaan tag iFrame. Untuk mempelajari lebih lanjut Tag iframe HTML, lihat Tag iframe HTML.

Namun, CRM harus menangani cara adaptor ditampilkan kepada pengguna. Misalnya, mungkin ada tombol UI untuk menampilkan dan menyembunyikan adaptor. Selain itu, adaptor dapat didesain agar dapat ditarik, sehingga Agen dapat memosisikan ulang adaptor di layar sesuai keinginan. Contoh berikut menunjukkan format URL.

Adaptor panggilan: https://tenant.loc.ccaiplatform.com/agent/?type=call&from=custom

Adaptor chat: https://tenant.loc.ccaiplatform.com/agent/?type=chat&from=custom

Template iFrame

Adaptor panggilan: html <iframe src="https://tenant.loc.ccaiplatform.com/agent/?type=call&from=custom" allow="microphone; camera; geolocation" width="290" height="600"></iframe>

Adaptor chat: html <iframe src="https://tenant.loc.ccaiplatform.com/agent/?type=chat&from=custom" allow="microphone; camera; geolocation" width="450" height="590"></iframe>

Perhatikan hal-hal berikut saat menyematkan adaptor:

  • Atribut allow wajib diisi. Adaptor panggilan menggunakan WebRTC dan memerlukan microphone; camera dan geolocation diperlukan untuk fitur Berbagi Layar dan kemampuan penentuan lokasi. Jika izin tidak didelegasikan ke iframe, browser akan memblokirnya tanpa ada peringatan dan agen tidak dapat menerima panggilan.

  • Sematkan satu adaptor per iframe. Setiap adaptor mempertahankan koneksi real-time-nya sendiri, sehingga adaptor panggilan dan chat adalah dua iframe terpisah dan memposting peristiwa secara independen.

  • Adaptor mendeteksi bahwa adaptor disematkan karena jendela induknya berada di origin yang berbeda. Sajikan halaman host dari domain Anda sendiri, bukan dari domain tenant CCAI Platform.

Parameter URL

Parameter URL dapat digunakan untuk memberikan informasi tambahan ke software, seperti jenis interaksi (panggilan atau chat), sumber interaksi (kustom), dan detail relevan lainnya.

Jika setelan CRM tenant tidak tersedia dalam daftar, parameter From harus selalu ditetapkan ke Custom.

Jenis

  • Telepon
  • Chat

Dari

  • Kustom (Harus cocok dengan setelan CRM tenant). Nilainya harus selalu custom untuk CRM apa pun selain yang ada dalam daftar. Jika tidak ada penyiapan CRM, Anda dapat melewati parameter ini.

Peristiwa di adaptor agen

Adaptor agen memposting peristiwa yang dapat dihubungkan oleh sistem CRM, yang kemudian memproses update ke CRM. Untuk melakukannya, CRM perlu memproses postingan dari jendela induk dan membaca data postingan. Berdasarkan data, hal ini dapat memicu tindakan seperti membuka tab tiket untuk ID sesi tertentu.

Adaptor panggilan dan adaptor chat memiliki peristiwa tertentu yang dapat digunakan untuk meningkatkan kemampuan CRM.

Memanggil adaptor

  • Panggilan Baru
  • Konsumen bergabung
  • Penghapusan panggilan dimulai
  • Penghapusan panggilan berakhir
  • Akhiri Panggilan

Adaptor chat

  • Chat Baru
  • Chat Aktif
  • Pesan Chat Masuk
  • Pesan Chat Keluar
  • Formulir dikirim
  • Formulir selesai
  • Akhiri Chat
  • Chat yang Ditutup

Kedua adaptor

  • Login Agen
  • Sesi Berbagi Layar dimulai
  • Remote control sesi Berbagi Layar diubah
  • Sesi Berbagi Layar seluruh perangkat diubah
  • Sesi Berbagi Layar berakhir
  • Transfer
  • Pihak ditambahkan
  • Agen Terhubung ke Sesi
  • Logout agen
  • Agent Assist ditambahkan
  • Asisten Tugas Virtual bergabung
  • Asisten Tugas Virtual keluar
  • Variabel sesi bantuan tugas virtual diterima
  • Pop-up data CRM
  • Membuka halaman pihak ketiga

Format pesan

Setiap peristiwa dikirim dengan API window.postMessage() browser dari iframe adaptor ke jendela induk langsungnya (window.parent). Jendela induk menerimanya sebagai MessageEvent.

Pesan tersebut memiliki karakteristik berikut:

  • event.data adalah string JSON, bukan objek. Selalu panggil JSON.parse(event.data) sebelum membacanya. Karena skrip lain di halaman mungkin juga menggunakan postMessage() dengan payload non-JSON, gabungkan penguraian dalam try/catch.

  • Objek yang diurai memiliki tepat dua kunci tingkat atas:

    {
      "type": "<event type>",
      "data": { ... }
    }
    

    type adalah salah satu string yang tercantum dalam Jenis peristiwa. data berisi kolom peristiwa yang dijelaskan dalam Data untuk peristiwa. Semua kolom khusus peristiwa berada di dalam data, tidak pernah di tingkat teratas.

  • Kolom kosong akan dihilangkan. Sebelum memposting, adaptor akan menghapus kolom apa pun di data yang nilainya adalah null, undefined, atau string kosong. Perlakukan setiap kolom sebagai berpotensi tidak ada, dan jangan mengandalkan kunci yang ada dengan nilai null.

  • Adaptor memposting dengan origin target *, sehingga pesan dikirim ke halaman mana pun yang menyematkan iframe. Adaptor tidak membatasi siapa yang dapat menerima peristiwa. Pemroses Anda harus memeriksa event.origin terhadap host tenant Anda (misalnya https://tenant.loc.ccaiplatform.com) dan mengabaikan pesan dari origin lain, sehingga iframe yang berbeda di halaman yang sama tidak dapat melakukan spoofing pada peristiwa adaptor.

  • Nilai type peka huruf besar/kecil dan tidak menggunakan huruf besar/kecil yang seragam. Sebagian besar adalah Title_Case (New_Call, End_Chat); beberapa menggunakan huruf kecil (call_redaction_started, call_redaction_ended, agent_assist_added) atau camelCase (openThirdPartyPage). Bandingkan dengan string yang sama persis dalam dokumen ini.

  • Peristiwa hanya diposting saat adaptor disematkan (jendela induknya adalah jendela yang berbeda). Jika adaptor dibuka sebagai halaman tingkat teratas, tidak ada yang diposting.

Contoh berikut menunjukkan pemroses minimal yang menerapkan aturan ini:

// Replace with the origin of your tenant.
const ADAPTER_ORIGIN = 'https://tenant.loc.ccaiplatform.com'

window.addEventListener('message', (event) => {
  if (event.origin !== ADAPTER_ORIGIN) {
    return
  }

  let message
  try {
    message = JSON.parse(event.data)
  } catch (e) {
    // Not an agent adapter event; another script on the page posted it.
    return
  }

  const { type, data = {} } = message
  switch (type) {
    case 'New_Call':
      // data.call_id, data.agent_id, data.queue_id, ...
      break
    case 'New_Chat':
      // data.chat_id, data.agent_id, data.queue_id, ...
      break
    case 'CRM_Record_Pop':
      // data.recordUrl
      break
    default:
      // Ignore event types you don't handle; new types may be added over time.
      break
  }
}, false)

Pesan ke adaptor agen

Komunikasi sebagian besar bersifat satu arah (adaptor ke host), tetapi halaman host dapat mengirim sekumpulan kecil perintah ke adaptor panggilan dengan postMessage(). Pesan ini adalah objek biasa (bukan string JSON) dengan skema berikut:

iframe.contentWindow.postMessage({
  channel: '<channel name>',
  eventType: '<event type>'
}, ADAPTER_ORIGIN)

Perintah berikut didukung di saluran api:redaction. API ini digunakan untuk menjeda dan melanjutkan perekaman untuk penyuntingan panggilan dari halaman host.

eventType Deskripsi
start_call_redaction Jeda perekaman panggilan aktif untuk memulai penyuntingan.
stop_call_redaction Lanjutkan perekaman panggilan aktif untuk menghentikan penyuntingan.

Perhatikan hal berikut:

  • Perintah hanya akan ditindaklanjuti jika penyuntingan panggilan diaktifkan untuk tenant dan ada panggilan aktif. Jika tidak, adaptor akan mencatat bahwa pesan diabaikan dan tidak melakukan apa pun.

  • Saat adaptor bertindak berdasarkan perintah, adaptor akan memposting peristiwa call_redaction_started atau call_redaction_ended yang cocok kembali ke host, sehingga Anda dapat mengonfirmasi bahwa status perekaman benar-benar berubah.

  • Selalu teruskan origin tenant Anda sebagai argumen kedua ke postMessage(), bukan *, sehingga perintah tidak dapat dikirim ke halaman lain jika iframe dibuka.

  • Saluran crm:authority sebelumnya dengan jenis peristiwa redact_call:start dan redact_call:stop masih diterima oleh adaptor CRM kustom untuk kompatibilitas mundur, tetapi integrasi baru harus menggunakan api:redaction.

Untuk mengetahui informasi selengkapnya, lihat Penyamaran panggilan.

Data untuk acara

  • call_id: ini adalah ID untuk panggilan masuk suara dengan IVR (Tanggapan Suara Interaktif).

  • chat_id: ini adalah ID untuk panggilan masuk pesan (chat web atau seluler).

  • cobrowse_session_id: ini adalah ID untuk sesi Berbagi Layar. Sesi Berbagi Layar dapat dimulai dalam sesi panggilan atau chat.

  • session_type: ini adalah jenis sesi, seperti suara, chat, atau pesan.

  • va_data_parameters: semua variabel yang dikonfigurasi dalam antrean untuk dikirim ke Agen Virtual. Hal ini hanya diperlukan untuk peristiwa yang melibatkan Agen Virtual. Opsional.

  • session_variable: semua variabel dari Agen Virtual yang dikirim ke CCAI Platform dalam payload. Opsional.

  • custom_sip_headers: setelan ini memungkinkan header SIP kustom dari panggilan SIP masuk muncul di log peristiwa POST. Header ini hanya diperlukan jika header SIP kustom digunakan. Opsional.

  • custom_data_secured: berisi data kustom yang ditandatangani dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak ditandatangani dari halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Data kustom Chat yang tidak ditandatangani. Opsional.

ID Agen

  • agent_id: ini adalah ID untuk agen.
  • from_agent_id: digunakan saat merutekan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen asal.
  • to_agent_id: digunakan saat merutekan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen tujuan.
  • agent_custom_id: ini adalah ID agen dari profil pengguna, jika telah dimasukkan dalam profil. Opsional.
  • from_agent_custom_id: digunakan saat merutekan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen asal.
  • to_agent_custom_id: digunakan saat merutekan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen tujuan.
  • agent_email: ini adalah alamat email agen.
  • from_agent_email: digunakan saat merutekan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen asal.
  • to_agent_email: digunakan saat merutekan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen tujuan.

ID Agen Virtual

  • virtual_agent_id: ini adalah nomor ID yang ditetapkan untuk Agen Virtual tertentu.

ID Antrean

  • queue_id: ini adalah ID untuk antrean CCAI Platform, dan hanya ada jika panggilan berasal dari antrean.
  • from_queue_id: digunakan saat merutekan panggilan atau chat dari satu antrean ke antrean lain, untuk menunjukkan antrean asal.
  • to_queue_id: digunakan saat merutekan panggilan atau chat dari satu antrean ke antrean lain, untuk menunjukkan antrean tujuan.
  • queue_path: ini adalah jalur untuk antrean CCAI Platform, dan hanya ada jika panggilan berasal dari antrean.
  • from_queue_path: digunakan saat merutekan panggilan atau chat dari satu antrean ke antrean lain, untuk menunjukkan antrean asal.
  • to_queue_path: digunakan saat mengarahkan panggilan atau chat dari satu antrean ke antrean lain, untuk menunjukkan antrean tujuan.

Campaign ID

  • ID kampanye CCAI Platform campaign_id. Kolom ini hanya disertakan jika jenis panggilan adalah panggilan kampanye.
  • campaign_name: nama kampanye CCAI Platform. Panggilan ini hanya disertakan jika jenis panggilan adalah panggilan kampanye.

Kirim pesan

  • message: peristiwa yang menunjukkan bahwa pesan konsumen baru telah diterima, beserta konten pesan.

Jenis sesi

  • session_type: jenis sesi CCAI Platform.
  • cobrowse_session_remote_control: menunjukkan status sesi Berbagi Layar dengan kontrol jarak jauh yang diminta. Nilai: off, requested, rejected, on.
  • cobrowse_session_full_device: menunjukkan status sesi Berbagi Layar perangkat penuh. Nilai: off, requested, rejected, on.

Peserta

  • type: Jenis peserta - end_user; agent; (dari respons participants.type dari /api/v1/calls atau /api/v1/chats).

  • cobrowse_session_requested_by: menunjukkan siapa yang memulai sesi Berbagi Layar. Nilai yang mungkin adalah agent atau end_user.

  • cobrowse_session_ended_by: menunjukkan siapa yang mengakhiri sesi Berbagi Layar. Nilai yang mungkin adalah agent, end_user, atau api.

  • end_user_id: participants.end_user_id dari respons /api/v1/calls atau /api/v1/chats. Kolom ini hanya ada jika jenis: end_user.

Jenis Interaksi/Sesi

Jenis panggilan

  • Panggilan Masuk Suara: Panggilan PSTN standar.
  • Voice Inbound (IVR menggunakan Seluler): Panggilan PSTN penggantian yang dilakukan dari Mobile SDK.
  • Panggilan Masuk Suara (Seluler): Dilakukan oleh konsumen menggunakan SDK Seluler yang diinstal.
  • Callback Suara (Web): Dimulai dari Web SDK.
  • Voice Inbound (API): Dimulai menggunakan API.
  • Voice Scheduled (Seluler): Dijadwalkan menggunakan SDK Seluler yang diinstal.
  • Voice Dijadwalkan (Web): Dijadwalkan menggunakan Web SDK yang diinstal.
  • Panggilan Keluar Voice: Dimulai oleh Agen dengan menghubungi nomor.
  • Voice Outbound (API): Dimulai menggunakan API.
  • Kampanye Suara: Dimulai menggunakan Pemanggil Keluar (Kampanye).

Jenis chat

  • Pesan (WhatsApp): Dimulai menggunakan WhatsApp.
  • Pesan Masuk (SMS)
  • Pesan Keluar (SMS)
  • Pesan Keluar (SMS menggunakan API)
  • Pesan (Web): Dimulai menggunakan Web SDK yang diinstal.
  • Pesan (Seluler): Dimulai menggunakan SDK Seluler yang diinstal.

Jenis panggilan atau chat

  • Sesi Berbagi Layar: Dimulai oleh agen atau pengguna akhir selama panggilan atau chat.

Jenis peristiwa

Berikut adalah jenis peristiwa yang diposting oleh adaptor agen. Kolom type adalah string persis dan peka huruf besar/kecil yang muncul di kolom type pesan.

Acara type Adaptor
Login agen Agent_Login Keduanya
Panggilan baru New_Call Telepon
Konsumen bergabung Consumer_Joined Telepon
Akhiri panggilan End_Call Telepon
Penghapusan panggilan dimulai call_redaction_started Telepon
Penghapusan panggilan berakhir call_redaction_ended Telepon
Percakapan baru New_Chat Chat
Akhiri chat End_Chat Chat
Percakapan aktif Active_Chat Chat
Pesan masuk chat Chat_Inbound_Message Chat
Pesan keluar chat Chat_Outbound_Message Chat
Formulir terkirim Form_Sent Chat
Formulir selesai Form_Completed Chat
Chat yang ditutup Dismissed_Chat Chat
Sesi Berbagi Layar dimulai Cobrowse_Session_Started Keduanya
Kontrol jarak jauh sesi Berbagi Layar diubah Cobrowse_Session_Remote_Control_Changed Keduanya
Sesi Berbagi Layar perangkat penuh diubah Cobrowse_Session_Full_Device_Changed Keduanya
Sesi Berbagi Layar berakhir Cobrowse_Session_Ended Keduanya
Transfer Transfer_Call, Transfer_Chat Keduanya
Pihak ditambahkan Party_Added Keduanya
Agen terhubung ke sesi Agent_Joined_Call, Agent_Joined_Chat Keduanya
Logout agen Agent_Logout Keduanya
Agent Assist ditambahkan agent_assist_added Keduanya
Asisten Tugas Virtual bergabung Task_VA_Joined Keduanya
Asisten Tugas Virtual keluar Task_VA_Left Keduanya
Variabel sesi bantuan tugas virtual diterima Task_VA_Variables_Received Keduanya
Pop-up data CRM CRM_Record_Pop Keduanya
Buka halaman pihak ketiga openThirdPartyPage Telepon

Pemroses Anda harus mengabaikan nilai type yang tidak dikenali. Jenis peristiwa baru dapat ditambahkan dari waktu ke waktu, dan adaptor juga memposting pesan yang ditujukan untuk platform CCAI Platform lainnya (misalnya, saat dihosting di dalam desktop agen CCAI Platform) yang bukan bagian dari kontrak ini.

Login agen

Peristiwa login agen terjadi saat agen login ke adaptor.

Berikut adalah contoh peristiwa Agent_Login:

{
  "type": "Agent_Login",
    "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • agent_id: ID agen

  • Opsional: agent_custom_id: ID kustom agen, jika dimasukkan di profil agen.

  • agent_email: alamat email yang terkait dengan akun agen.

Panggilan baru

Peristiwa panggilan baru terjadi saat agen menjawab panggilan. Peristiwa ini berisi informasi seperti kapan panggilan dimulai, agen mana yang menangani panggilan, dan dari mana panggilan berasal.

Berikut adalah contoh peristiwa New_Call:

{
  "type": "New_Call",
  "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "call_id": 103646,
    "session_type": "Voice Campaign (UJET)"
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • agent_id: ID agen

  • agent_custom_id: ID kustom agen, jika dimasukkan dalam profil agen. Opsional.

  • agent_email: alamat email yang terkait dengan akun agen

  • queue_id: ID antrean tempat panggilan berasal. Kolom ini disertakan saat panggilan berasal dari antrean. Opsional.

  • queue_path: jalur antrean tempat panggilan berasal. Kolom ini disertakan saat panggilan berasal dari antrean. Opsional.

  • campaign_id: ID kampanye. Kolom ini disertakan untuk panggilan kampanye. Opsional.

  • campaign_name: nama kampanye. Kolom ini disertakan untuk panggilan kampanye. Opsional.

  • call_id: ID panggilan

  • session_type: jenis sesi

  • virtual_agent_id: ID agen virtual. Kolom ini disertakan untuk peristiwa yang melibatkan agen virtual. Opsional.

  • va_data_parameters: variabel yang dikonfigurasi dalam antrean untuk dikirim ke agen virtual. Kolom ini disertakan untuk peristiwa yang melibatkan agen virtual. Opsional.

  • session_variable: semua variabel dari agen virtual yang dikirim ke CCAI Platform. Opsional.

  • custom_sip_headers: memungkinkan header Session Initiation Protocol (SIP) kustom dari panggilan SIP masuk muncul di log peristiwa POST. Kolom ini disertakan jika header SIP kustom digunakan. Opsional.

  • custom_data_secured: berisi data kustom yang ditandatangani dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak ditandatangani dari halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Data kustom Chat yang tidak ditandatangani. Opsional.

Konsumen bergabung

Peristiwa konsumen bergabung terjadi pada panggilan kampanye (outbound dialer) saat data konsumen diselesaikan dan membawa kunci list campaign manager (LCM). Hal ini memungkinkan halaman host mencari kontak yang dihubungi di sistemnya sendiri sebelum data panggilan lainnya tiba. Peristiwa ini hanya diposting untuk panggilan kampanye yang kontaknya memiliki kunci LCM.

Berikut adalah contoh peristiwa Consumer_Joined:

{
  "type": "Consumer_Joined",
  "data": {
    "lcmKey": "acqueon:12345",
    "custom_sip_headers": {
      "X-Account-Id": "A-100"
    },
    "va_data_parameters": {
      "param1": "one"
    },
    "session_variable": {
      "key_one": "value"
    }
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • lcmKey: kunci pengelola kampanye daftar dari kontak yang dihubungi

  • custom_sip_headers: header SIP kustom dari panggilan. Kolom ini disertakan jika header SIP kustom digunakan. Opsional.

  • va_data_parameters: variabel yang dikonfigurasi dalam antrean untuk dikirim ke agen virtual. Opsional.

  • session_variable: variabel dari agen virtual yang dikirim ke Contact Center AI Platform. Opsional.

Penghapusan panggilan dimulai

Peristiwa Penghapusan panggilan dimulai terjadi saat penghapusan panggilan telah dimulai dan tidak merekam. Data peristiwa terdiri dari ID agen yang menangani panggilan dan ID panggilan.

Perhatikan bahwa type peristiwa ini menggunakan huruf kecil: call_redaction_started.

  • agent_id: ID agen yang menangani panggilan
  • call_id: ID panggilan

Berikut adalah contoh peristiwa Call redaction started:

{
  "type": "call_redaction_started",
  "data": {
    "agent_id": 2896,
    "call_id": 97939
  }
}

Penyamaran panggilan dihentikan

Peristiwa penghentian penyuntingan panggilan terjadi saat penyuntingan panggilan telah berakhir dan perekaman telah dilanjutkan. Peristiwa ini terdiri dari ID agen yang menangani panggilan dan call ID.

Perhatikan bahwa type peristiwa ini menggunakan huruf kecil: call_redaction_ended.

  • agent_id: ID agen yang menangani panggilan
  • call_id: ID panggilan

Berikut adalah contoh data peristiwa penghentian penyuntingan panggilan:

{
  "type": "call_redaction_ended",
  "data": {
    "agent_id": 2896,
    "call_id": 97939
  }
}

Akhiri panggilan

Peristiwa akhiri panggilan terjadi saat panggilan diakhiri. Peristiwa ini berisi informasi seperti kapan panggilan berakhir, agen mana yang menangani panggilan, dan dari mana panggilan berasal.

Berikut adalah contoh peristiwa End_Call:

{
  "type": "End_Call",
  "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "call_id": 103646,
    "session_type": "Voice Campaign (UJET)"
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • agent_id: ID agen

  • agent_custom_id: ID kustom agen, jika dimasukkan dalam profil agen. Opsional.

  • agent_email: alamat email yang terkait dengan akun agen

  • queue_id: ID antrean tempat panggilan berasal. Kolom ini disertakan saat panggilan berasal dari antrean. Opsional.

  • queue_path: jalur antrean tempat panggilan berasal. Kolom ini disertakan saat panggilan berasal dari antrean. Opsional.

  • campaign_id: ID kampanye. Kolom ini disertakan untuk panggilan kampanye. Opsional.

  • campaign_name: nama kampanye. Kolom ini disertakan untuk panggilan kampanye. Opsional.

  • call_id: ID panggilan

  • session_type: jenis sesi

  • virtual_agent_id: ID agen virtual. Kolom ini disertakan untuk peristiwa yang melibatkan agen virtual. Opsional.

  • va_data_parameters: variabel yang dikonfigurasi dalam antrean untuk dikirim ke agen virtual. Kolom ini disertakan untuk peristiwa yang melibatkan agen virtual. Opsional.

  • session_variable: semua variabel dari agen virtual yang dikirim ke Contact Center AI Platform. Opsional.

  • custom_sip_headers: memungkinkan header Session Initiation Protocol (SIP) kustom dari panggilan SIP masuk muncul di log peristiwa POST. Kolom ini disertakan jika header SIP kustom digunakan. Opsional.

  • custom_data_secured: berisi data kustom yang ditandatangani dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak ditandatangani dari halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Data kustom Chat yang tidak ditandatangani (Opsional). Opsional.

Chat baru

Peristiwa chat baru terjadi saat agen memulai sesi chat. Peristiwa ini menunjukkan kapan chat dimulai dan berisi informasi seperti agen mana yang menangani chat tempat chat berasal.

Berikut contoh peristiwa New_chat:

{
  "type": "New_Chat",
  "data": {
    "chat_id": 73522,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel"
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • chat_id: ID chat

  • session_type: jenis sesi

  • agent_id: ID agen

  • agent_custom_id: ID kustom agen, jika dimasukkan di profil agen. Opsional.

  • agent_email: alamat email yang terkait dengan akun agen.

  • queue_id: ID antrean tempat panggilan berasal. Kolom ini disertakan saat panggilan berasal dari antrean. Opsional.

  • queue_path: jalur antrean tempat panggilan berasal. Kolom ini disertakan saat panggilan berasal dari antrean. Opsional.

  • custom_data_secured: berisi data kustom yang ditandatangani dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak ditandatangani dari halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Data kustom Chat yang tidak ditandatangani (Opsional). Opsional.

Akhiri chat

Peristiwa akhiri chat terjadi saat sesi chat berakhir. Peristiwa ini menunjukkan kapan chat berakhir dan berisi informasi seperti agen mana yang menangani chat tempat chat berasal.

Berikut contoh peristiwa End_Chat:

{
  "type": "End_Chat",
  "data": {
    "chat_id": 73522,
    "session_type": "Messaging Inbound (Web Chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": null,
    "queue_path": null,
    "agent_custom_id": null
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • chat_id: ID chat.

  • session_type: jenis sesi.

  • agent_id: ID agen.

  • agent_custom_id: ID kustom agen, jika dimasukkan di profil agen. Opsional.

  • agent_email: alamat email yang terkait dengan akun agen.

  • queue_id: ID antrean tempat panggilan berasal. Kolom ini disertakan saat panggilan berasal dari antrean. Opsional.

  • queue_path: jalur antrean tempat panggilan berasal. Kolom ini disertakan saat panggilan berasal dari antrean. Opsional.

  • custom_data_secured: berisi data kustom yang ditandatangani dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak ditandatangani dari halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Data kustom Chat yang tidak ditandatangani (Opsional). Opsional.

Chat aktif

Peristiwa chat aktif terjadi saat agen beralih ke tab chat di adaptor chat.

Berikut adalah contoh peristiwa Active_Chat:

{
  "type": "Active_Chat",
  "data": {
    "chat_id": 73521,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel"
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • chat_id: ID chat

  • session_type: jenis sesi

  • agent_id: ID agen

  • agent_custom_id: ID kustom agen, jika dimasukkan di profil agen. Opsional.

  • agent_email: alamat email yang terkait dengan akun agen.

  • queue_id: ID antrean tempat panggilan berasal. Kolom ini disertakan saat panggilan berasal dari antrean. Opsional.

  • queue_path: jalur antrean tempat panggilan berasal. Kolom ini disertakan saat panggilan berasal dari antrean. Opsional.

  • custom_data_secured: berisi data kustom yang ditandatangani dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak ditandatangani dari halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Data kustom Chat yang tidak ditandatangani (Opsional). Opsional.

Pesan masuk chat

Peristiwa pesan masuk chat menunjukkan bahwa pesan pelanggan baru telah diterima. Notifikasi ini menyertakan konten pesan.

Data untuk kolom berikut dilaporkan untuk peristiwa pesan masuk chat:

  • chat_id: mengidentifikasi sesi chat

  • session_type: menunjukkan jenis sesi yang sedang dibuat, seperti pesan masuk melalui chat web

  • agent_id: mengidentifikasi agen yang menangani sesi chat

  • agent_custom_id: kolom ini hanya ada jika profil agen menyertakan ID kustom. Opsional.

  • agent_email: alamat email agen yang menangani sesi chat. Kolom ini hanya disertakan jika chat berasal dari antrean. Opsional.

  • queue_id: ID antrean tempat sesi chat berasal. Kolom ini hanya disertakan jika chat berasal dari antrean.

  • queue_path: jalur antrean tempat sesi chat berasal. Kolom ini hanya disertakan jika chat berasal dari antrean.

  • message: peristiwa yang menunjukkan bahwa pesan konsumen baru telah diterima, beserta konten pesan

  • custom_data_secured: memungkinkan transmisi data kustom SDK yang aman. Opsional.

  • custom_data_not_secured: mengizinkan transmisi data kustom SDK yang tidak aman. Opsional.

Berikut contoh peristiwa Chat_Inbound_Message:

{
  "type": "Chat_Inbound_Message",
  "data": {
    "chat_id": 73522,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel",
    "message" : "Can you help me with my order tracking number?"
  }
}

Pesan keluar chat

Peristiwa pesan keluar chat terjadi saat pesan konsumen baru diterima. Notifikasi ini menyertakan konten pesan.

Data untuk kolom berikut dilaporkan untuk peristiwa pesan keluar chat:

  • chat_id: mengidentifikasi sesi chat

  • session_type: menunjukkan jenis sesi yang sedang dibuat, seperti pesan masuk melalui chat web

  • agent_id: mengidentifikasi agen yang menangani sesi chat

  • agent_custom_id: Kolom ini hanya disertakan jika profil agen memiliki ID kustom. Opsional.

  • agent_email: alamat email agen yang menangani sesi chat. Kolom ini hanya disertakan jika chat berasal dari antrean. Opsional.

  • queue_id: ID antrean tempat sesi chat berasal. Kolom ini hanya disertakan jika chat berasal dari antrean.

  • queue_path: jalur antrean tempat sesi chat berasal. Kolom ini hanya disertakan jika chat berasal dari antrean.

  • message: peristiwa menunjukkan bahwa pesan konsumen baru telah diterima, beserta konten pesan

  • custom_data_secured: memungkinkan transmisi data kustom SDK yang aman. Opsional.

  • custom_data_not_secured: mengizinkan transmisi data kustom SDK yang tidak aman. Opsional.

Berikut contoh peristiwa Chat_Outbound_Message:

{
  "type": "Chat_Outbound_Message",
  "data": {
    "chat_id": 73522,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel",
    "message" : "Please give me a moment to look up your account information"
  }
}

Formulir dikirim

Peristiwa formulir dikirim terjadi saat formulir dikirim ke konsumen selama sesi chat. Kedua peristiwa diposting oleh adaptor chat saat chat menerima pesan sistem yang sesuai.

Berikut adalah contoh peristiwa Form_Sent:

{
  "type": "Form_Sent",
  "data": {
    "chat_id": 73522,
    "session_type": "Messaging Inbound (Web Chat)",
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
    "end_user_id": 5512,
    "form_external_id": "payment-details",
    "form_name": "Payment details",
    "form_type": "secure",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Kim",
    "queue_language_id": "en",
    "timestamp": 1727853575000
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • chat_id: ID chat

  • session_type: jenis sesi

  • agent_id: ID agen

  • agent_custom_id: ID kustom agen, jika dimasukkan di profil agen. Opsional.

  • agent_email: alamat email yang terkait dengan akun agen

  • end_user_id: ID konsumen dalam chat. Opsional.

  • form_external_id: ID eksternal formulir yang dikirim. Opsional.

  • form_name: nama formulir yang dikirim. Opsional.

  • form_type: jenis formulir yang dikirim. Opsional.

  • queue_id: ID antrean tempat chat berasal. Kolom ini disertakan jika chat berasal dari antrean. Opsional.

  • queue_path: jalur antrean tempat chat berasal. Kolom ini disertakan jika chat berasal dari antrean. Opsional.

  • queue_language_id: bahasa antrean. Opsional.

  • timestamp: waktu peristiwa diposting, dalam milidetik sejak epoch Unix

  • va_data_parameters: variabel yang dikonfigurasi dalam antrean untuk dikirim ke agen virtual. Opsional.

  • session_variable: semua variabel dari agen virtual yang dikirim ke Contact Center AI Platform. Opsional.

  • custom_data_secured: berisi data kustom yang ditandatangani dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak ditandatangani dari halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Data kustom Chat yang tidak ditandatangani. Opsional.

Formulir selesai

Peristiwa formulir selesai terjadi saat konsumen mengirimkan formulir yang dikirim selama sesi chat. Data peristiwa memiliki kolom yang sama dengan peristiwa Formulir dikirim.

Berikut adalah contoh peristiwa Form_Completed:

{
  "type": "Form_Completed",
  "data": {
    "chat_id": 73522,
    "session_type": "Messaging Inbound (Web Chat)",
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
    "end_user_id": 5512,
    "form_external_id": "payment-details",
    "form_name": "Payment details",
    "form_type": "secure",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Kim",
    "queue_language_id": "en",
    "timestamp": 1727853601000
  }
}

Chat ditutup

Peristiwa chat ditutup terjadi saat agen menutup tab chat di adaptor chat.

Berikut contoh peristiwa Dismissed_Chat:

{
  "type":"Dismissed_Chat",
  "data":{"chat_id":73522,
    "session_type":"Messaging Inbound (Web Chat)",
    "agent_id":1,
    "agent_email":"ariel@example.com"
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • chat_id: ID chat

  • session_type: jenis sesi

  • agent_id: ID agen

  • agent_custom_id: ID kustom agen, jika dimasukkan di profil agen. Opsional.

  • agent_email: alamat email yang terkait dengan akun agen

  • queue_id: ID antrean tempat panggilan berasal. Kolom ini disertakan saat panggilan berasal dari antrean. Opsional.

  • queue_path: jalur antrean tempat panggilan berasal. Kolom ini disertakan saat panggilan berasal dari antrean. Opsional.

  • custom_data_secured: berisi data kustom yang ditandatangani dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak ditandatangani dari halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Data kustom Chat yang tidak ditandatangani (Opsional). Opsional.

Sesi Berbagi Layar dimulai

Peristiwa Sesi Berbagi Layar dimulai terjadi saat sesi Berbagi Layar dimulai oleh agen atau pengguna akhir. Sesi Berbagi Layar dapat dimulai selama panggilan atau chat. Untuk mengetahui informasi selengkapnya, lihat Berbagi Layar.

Berikut adalah contoh objek JSON untuk peristiwa sesi Berbagi Layar yang dimulai:

{
  "type": "Cobrowse_Session_Started",
  "data": {
    "agent_id": 5,
    "chat_id": 791,
    "cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
    "cobrowse_session_requested_by": "agent",
    "cobrowse_session_remote_control": "off",
    "cobrowse_session_full_device": "off"
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • agent_id: ID agen.

  • call_id: ID untuk panggilan masuk di saluran IVR (respons suara interaktif). Kolom ini disertakan jika sesi Berbagi Layar dimulai selama panggilan.

  • chat_id: ID untuk chat masuk di saluran web atau seluler. Kolom ini disertakan jika sesi Berbagi Layar dimulai selama percakapan.

  • cobrowse_session_id: ID untuk sesi Berbagi Layar.

  • cobrowse_session_requested_by: Menunjukkan siapa yang memulai sesi Berbagi Layar. Nilainya adalah agent dan end-user.

  • cobrowse_session_remote_control: Menunjukkan status sesi Berbagi Layar kontrol jarak jauh. Nilainya adalah on, rejected, requested, dan off.

  • cobrowse_session_full_device: Menunjukkan status sesi Berbagi Layar perangkat penuh. Nilainya adalah on, rejected, requested, dan off.

  • custom_data_secured: berisi data kustom yang ditandatangani dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak ditandatangani dari halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Data kustom Chat yang tidak ditandatangani (Opsional). Opsional.

Remote control sesi Berbagi Layar diubah

Peristiwa perubahan kontrol jarak jauh sesi Berbagi Layar terjadi saat status sesi Berbagi Layar kontrol jarak jauh berubah. Peristiwa ini menunjukkan status sesi Berbagi Layar kendali jarak jauh. Untuk mengetahui informasi selengkapnya, lihat Berbagi Layar.

Berikut adalah contoh objek JSON untuk peristiwa Cobrowse_Session_Remote_Control_Changed:

{
  "type": "Cobrowse_Session_Remote_Control_Changed",
  "data": {
    "agent_id": 5,
    "chat_id": 791,
    "cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
    "cobrowse_session_remote_control": "requested"
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • agent_id: ID agen.

  • call_id: ID untuk panggilan masuk di saluran IVR (respons suara interaktif). Kolom ini disertakan jika sesi Berbagi Layar dimulai selama panggilan.

  • chat_id: ID untuk chat masuk di saluran web atau seluler. Kolom ini disertakan jika sesi Berbagi Layar dimulai selama percakapan.

  • cobrowse_session_id: ID untuk sesi Berbagi Layar.

  • cobrowse_session_remote_control: menunjukkan status sesi Berbagi Layar kontrol jarak jauh. Nilainya adalah on, rejected, requested, dan off.

  • custom_data_secured: berisi data kustom yang ditandatangani dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak ditandatangani dari halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Data kustom Chat yang tidak ditandatangani (Opsional). Opsional.

Sesi Berbagi Layar seluruh perangkat diubah

Peristiwa perubahan sesi Berbagi Layar seluruh perangkat terjadi saat status sesi Berbagi Layar seluruh perangkat berubah. Peristiwa ini menunjukkan status sesi Berbagi Layar perangkat penuh. Untuk mengetahui informasi selengkapnya, lihat Berbagi Layar.

Berikut contoh peristiwa Cobrowse_Session_Full_Device_Changed:

{
  "type": "Cobrowse_Session_Full_Device_Changed",
  "data": {
    "agent_id": 5,
    "cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
    "cobrowse_session_full_device": "rejected"
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • agent_id: ID agen.

  • call_id: ID untuk panggilan masuk di saluran IVR (respons suara interaktif). Kolom ini disertakan jika sesi Berbagi Layar dimulai selama panggilan.

  • chat_id: ID untuk chat masuk di saluran web atau seluler. Kolom ini disertakan jika sesi Berbagi Layar dimulai selama percakapan.

  • Cobrowse_session_id: ID untuk sesi Berbagi Layar.

  • Cobrowse_session_full_device: menunjukkan status sesi Berbagi Layar perangkat penuh. Nilainya adalah on, rejected, requested, dan off.

  • custom_data_secured: berisi data kustom yang ditandatangani dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak ditandatangani dari halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Data kustom Chat yang tidak ditandatangani (Opsional). Opsional.

Sesi Berbagi Layar berakhir

Peristiwa Sesi Berbagi Layar dimulai terjadi saat sesi Berbagi Layar diakhiri oleh agen, pengguna akhir, atau API. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi Berbagi Layar.

Berikut contoh peristiwa Cobrowse_Session_Ended:

{
  "type": "Cobrowse_Session_Ended",
  "data": {
    "agent_id": 5,
    "cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
    "cobrowse_session_requested_by": "end_user",
    "cobrowse_session_ended_by": "agent",
    "cobrowse_session_remote_control": "on",
    "cobrowse_session_full_device": "rejected"
  }
}

Berikut adalah deskripsi untuk kolom data peristiwa:

  • agent_id: ID agen.

  • call_id: ID untuk panggilan masuk di saluran IVR (respons suara interaktif). Kolom ini disertakan jika sesi Berbagi Layar dimulai selama panggilan.

  • chat_id: ID untuk chat masuk di saluran web atau seluler. Kolom ini disertakan jika sesi Berbagi Layar dimulai selama percakapan.

  • cobrowse_session_id: ID untuk sesi Berbagi Layar.

  • cobrowse_session_ended_by: menunjukkan siapa yang mengakhiri sesi Berbagi Layar. Nilainya adalah agent, end-user, dan api.

  • cobrowse_session_remote_control: menunjukkan status sesi Berbagi Layar kontrol jarak jauh. Nilainya adalah on, rejected, requested, dan off.

  • cobrowse_session_full_device: menunjukkan status sesi Berbagi Layar perangkat penuh. Nilainya adalah on, rejected, requested, dan off.

  • custom_data_secured: berisi data kustom yang ditandatangani dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak ditandatangani dari halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Data kustom Chat yang tidak ditandatangani (Opsional). Opsional.

Transfer

Peristiwa transfer terjadi saat panggilan atau chat ditransfer. Tindakan ini dapat merujuk pada transfer yang diketahui atau tidak diketahui.

Kolom peristiwa berikut adalah bagian dari peristiwa transfer.

  • chat_id atau call_id: mengidentifikasi sesi panggilan atau chat

  • session_type: menunjukkan jenis sesi yang sedang dibuat, seperti pesan masuk melalui chat web

  • campaign_id: ID kampanye. Kolom ini hanya ada jika jenis panggilan adalah panggilan kampanye. Opsional.

  • campaign_name: nama kampanye. Kolom ini hanya ada jika jenis panggilan adalah panggilan kampanye. Opsional.

  • from_agent_id: digunakan saat merutekan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen asal

  • from_agent_custom_id: digunakan saat mengarahkan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen asal. Opsional.

  • from_agent_email: digunakan saat mengarahkan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen asal

  • to_agent_id: digunakan saat merutekan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen tujuan

  • to_agent_custom_id: digunakan saat merutekan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen tujuan. Opsional.

  • to_agent_email: digunakan saat mengarahkan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen tujuan

  • from_queue_id: digunakan saat mengarahkan panggilan atau chat dari satu antrean ke antrean lain, untuk menunjukkan antrean asal

  • from_queue_path: digunakan saat mengarahkan panggilan atau chat dari satu antrean ke antrean lain, untuk menunjukkan antrean asal

  • to_queue_id: digunakan saat mengarahkan panggilan atau chat dari satu antrean ke antrean lain untuk menunjukkan antrean tujuan

  • to_queue_path: digunakan saat mengarahkan panggilan atau chat dari satu antrean ke antrean lain untuk menunjukkan antrean tujuan

  • virtual_agent_id: ID yang ditetapkan ke agen virtual. Opsional.

  • va_data_parameters: semua variabel yang dikonfigurasi dalam antrean untuk dikirim ke agen virtual. Hal ini hanya diperlukan untuk peristiwa yang melibatkan agen virtual. Opsional.

  • (session_variable: semua variabel dari agen virtual yang dikirim ke CCAI Platform dalam payload. Opsional.

  • custom_sip_headers: memungkinkan header SIP kustom dari panggilan SIP masuk muncul di log peristiwa POST. Header ini hanya diperlukan jika header SIP kustom digunakan. Opsional.

  • custom_data_secured: memungkinkan transmisi data kustom SDK yang aman. Opsional.

  • custom_data_not_secured: memungkinkan transmisi data kustom SDK yang tidak aman. Opsional.

Berikut adalah contoh peristiwa transfer:

{
  "type": "Transfer_Chat",
  "data": {
    "chat_id": 103646,
    "session_type": "Messaging Inbound (SMS)",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "from_agent_id": 1,
    "from_agent_custom_id": "007",
    "from_agent_email": "Ira@example.com",
    "to_agent_id" : 5
    "to_agent_custom_id": "100"
    "to_agent_email" : "ariel@example.com"
    "from_queue_id": 8469,
    "from_queue_path": "Developers / Ariel",
    "to_queue_id" : 1234,
    "to_queue_path" : "Schemes / Auric"
  }
}

Pihak ditambahkan

Peristiwa penambahan pihak mengacu pada transfer apa pun. Transfer ini dapat berupa transfer panggilan atau chat.

Peristiwa penambahan pihak berisi data berikut:

  • chat_id atau call_id: mengidentifikasi sesi panggilan atau chat

  • session_type: menunjukkan jenis sesi yang sedang dibuat, seperti pesan masuk melalui chat web

  • agent_custom_id: kolom ini hanya ada jika profil agen menyertakan ID kustom. Opsional.

  • agent_email: alamat email agen yang menangani panggilan atau sesi chat.

  • queue_id: ID antrean tempat sesi chat berasal. Kolom ini hanya disertakan jika chat berasal dari antrean. Opsional.

  • queue_path: jalur antrean tempat sesi chat berasal. Kolom ini hanya disertakan jika chat berasal dari antrean. Opsional.

  • campaign_id: ID kampanye. Kolom ini hanya disertakan jika jenis panggilannya adalah panggilan kampanye. Opsional.

  • campaign_name: nama kampanye. Kolom ini hanya disertakan jika jenis panggilannya adalah panggilan kampanye. Opsional.

  • type: jenis peserta, misalnya end_user atau agent. Kolom ini ditampilkan sebagai bagian dari respons participants.type /api/v1/calls atau /api/v1/chats

  • end_user_id: end_user_id. Kolom ini ditampilkan sebagai bagian dari respons dari /api/v1/calls atau /api/v1/chats. Kolom ini hanya ada untuk panggilan atau chat pengguna akhir yang dirutekan dari satu agen ke agen lain, untuk menunjukkan agen tujuan. Opsional.

  • virtual_agent_id: ID yang ditetapkan ke agen virtual. Opsional.

  • va_data_parameters: semua variabel yang dikonfigurasi dalam antrean untuk dikirim ke agen virtual. Hal ini hanya diperlukan untuk peristiwa yang melibatkan agen virtual. Opsional.

  • session_variable: semua variabel dari agen virtual yang dikirim ke CCAI Platform dalam payload. Opsional.

  • custom_sip_headers: ini memungkinkan header SIP kustom dari panggilan SIP masuk muncul di log peristiwa POST. Header ini hanya diperlukan jika header SIP kustom digunakan. Opsional.

  • custom_data_secured: memungkinkan transmisi data kustom SDK yang aman. Opsional.

  • custom_data_not_secured: memungkinkan transmisi data kustom SDK yang tidak aman. Opsional.

Berikut adalah contoh peristiwa Party_Added.

{
  "type": "Party_Added",
  "data": {
    "chat_id": 103646,
    "session_type": "Messaging Inbound (SMS)",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "ariel@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Ariel",
    "type" : "agent"
  }
}

Agen terhubung ke sesi

Peristiwa agen terhubung ke sesi terjadi saat agen terhubung ke sesi. Ada dua jenis peristiwa yang berbeda. Jenisnya ditentukan oleh apakah itu panggilan atau chat.

Kolom peristiwa berikut adalah bagian dari peristiwa agen terhubung ke sesi.

  • agent_id: mengidentifikasi agen yang menangani sesi panggilan atau chat.

  • agent_email: alamat email agen yang menangani panggilan atau sesi chat.

  • agent_custom_id: kolom ini hanya ada jika profil agen menyertakan ID kustom. Opsional.

  • chat_id atau call_id: mengidentifikasi sesi panggilan atau chat.

  • virtual_agent_id: ID yang ditetapkan ke agen virtual tertentu. Opsional.

  • campaign_id: ID kampanye. Kolom ini hanya disertakan jika jenis panggilan adalah panggilan kampanye. Opsional.

  • campaign_name: nama kampanye. Kolom ini hanya disertakan jika jenis panggilannya adalah panggilan kampanye. Opsional.

  • queue_id: ID antrean tempat sesi chat berasal. Kolom ini hanya disertakan jika chat berasal dari antrean. Opsional.

  • queue_path: jalur antrean tempat sesi chat berasal. Kolom ini hanya disertakan jika chat berasal dari antrean. Opsional.

  • session_type: menunjukkan jenis sesi yang sedang dibuat, seperti pesan masuk melalui chat web.

  • virtual_agent_id: ID yang ditetapkan ke agen virtual. Opsional.

  • va_data_parameters: semua variabel yang dikonfigurasi dalam antrean untuk dikirim ke agen virtual. Hal ini hanya diperlukan untuk peristiwa yang melibatkan Agen Virtual. Opsional.

  • session_variable: semua variabel dari agen virtual yang dikirim ke CCAI Platform dalam payload. Opsional.

  • custom_sip_headers: ini memungkinkan header SIP kustom dari panggilan SIP masuk muncul di log peristiwa POST. Header ini hanya diperlukan jika header SIP kustom digunakan. Opsional.

  • custom_data_secured: memungkinkan transmisi data kustom SDK yang aman. Opsional.

  • custom_data_not_secured: mengizinkan transmisi data kustom SDK yang tidak aman. Opsional.

Berikut adalah contoh data peristiwa Agent_Joined_Chat:

{
  "type": "Agent_Joined_Chat",
  "data": {
    "chat_id": 103646,
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "ariel@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Ariel",
    "session_type": "Messaging Inbound (SMS)",
  }
}

Logout agen

Peristiwa logout agen terjadi saat agen logout dari adaptor agen.

Kolom peristiwa berikut adalah bagian dari peristiwa Agent_Logout.

  • agent_id: ID agen yang login

  • agent_email: alamat email yang terkait dengan akun agen

  • agent_custom_id: ID kustom agen, jika dimasukkan di profil agen. Opsional.

Berikut adalah contoh peristiwa Agent_Logout:

{
  "type": "Agent_Logout",
  "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "ariel@example.com",
  }
}

Agent Assist ditambahkan

Peristiwa Agent Assist ditambahkan terjadi saat agen mengaktifkan Agent Assist selama sesi panggilan atau chat.

Perhatikan hal-hal berikut tentang peristiwa ini:

  • type peristiwa ini menggunakan huruf kecil: agent_assist_added.

  • Kolom stempel waktu diberi nama Timestamp (T kapital) dan merupakan jumlah milidetik sejak epoch Unix.

Berikut adalah contoh peristiwa agent_assist_added:

{
  "type": "agent_assist_added",
  "data": {
    "conversation_id": "12345",
    "queue_id": 65,
    "agent_id": 1,
    "session_id": "78534G4RT4284",
    "queue_language_id": "en",
    "Timestamp": 1727853575000
  }
}

Berikut adalah kolom peristiwa:

  • conversation_id: ID percakapan. Kolom ini disertakan saat sesi menggunakan profil percakapan. Opsional.

  • queue_id: ID antrean. Opsional.

  • agent_id: ID agen

  • session_id: ID sesi. Opsional.

  • queue_language_id: bahasa antrean. Opsional.

  • Timestamp: waktu peristiwa diposting, dalam milidetik sejak epoch Unix

Asisten Tugas Virtual bergabung

Peristiwa Asisten Tugas Virtual bergabung terjadi saat Asisten Tugas Virtual (VTA) bergabung ke sesi panggilan atau chat.

Berikut contoh peristiwa Task_VA_Joined:

{
  "type": "Task_VA_Joined",
  "data": {
    "chat_id": 103646,
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "virtual_agent_id": 1,
    "virtual_agent_name": "Order status assistant",
    "participant_id": 1,
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "queue_language_id": "en",
    "session_type": "Messaging Inbound (SMS)",
    "conversation_id": "12345",
    "session_id": "78534G4RT4284",
    "timestamp": 1727853575000,
    "data_parameters": {
      "param1": "one",
      "param2": "two"
    }
  }
}

Berikut adalah kolom peristiwa:

  • call_id atau chat_id: ID panggilan atau chat

  • campaign_id: ID kampanye. Kolom ini disertakan untuk panggilan kampanye. Opsional.

  • campaign_name: nama kampanye. Kolom ini disertakan untuk panggilan kampanye. Opsional.

  • virtual_agent_id: ID VTA

  • virtual_agent_name: nama VTA seperti yang dikonfigurasi di portal CCAI Platform

  • participant_id: ID peserta VTA dalam sesi

  • queue_id: ID antrean tempat sesi berasal. Opsional.

  • queue_path: jalur antrean tempat sesi berasal. Opsional.

  • queue_language_id: bahasa antrean. Opsional.

  • session_type: jenis sesi

  • conversation_id: ID percakapan. Kolom ini disertakan saat sesi menggunakan profil percakapan. Opsional.

  • session_id: ID sesi. Opsional.

  • timestamp: waktu peristiwa diposting, dalam milidetik sejak epoch Unix

  • data_parameters: variabel yang dikonfigurasi di portal CCAI Platform dan dikirim ke VTA. Opsional.

Asisten Tugas Virtual keluar

Peristiwa Asisten Tugas Virtual keluar terjadi saat VTA keluar dari sesi. Selain kolom peristiwa Asisten Tugas Virtual bergabung, peristiwa ini mencakup alasan sesi VTA berakhir dan variabel sesi yang diambil VTA.

Berikut contoh peristiwa Task_VA_Left:

{
  "type": "Task_VA_Left",
  "data": {
    "chat_id": 103646,
    "virtual_agent_id": 1,
    "virtual_agent_name": "Order status assistant",
    "participant_id": 1,
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "queue_language_id": "en",
    "session_type": "Messaging Inbound (SMS)",
    "conversation_id": "12345",
    "session_id": "78534G4RT4284",
    "timestamp": 1727853600000,
    "finish_reason": "Task VA completed",
    "data_parameters": {
      "param1": "one"
    },
    "captured_variables": [
      {
        "intent_name": null,
        "variables": {
          "order_number": "A-100"
        },
        "captured_at": "2024-11-15 16:46:31 UTC",
        "timestamp": 1727853590000
      }
    ]
  }
}

Kolom peristiwa tambahan adalah:

  • finish_reason: alasan sesi VTA berakhir

  • captured_variables: variabel sesi yang diambil oleh VTA, masing-masing dengan intent yang menangkapnya dan waktu penangkapannya. Opsional.

Variabel sesi bantuan tugas virtual diterima

Peristiwa variabel sesi Asisten Tugas Virtual diterima terjadi setiap kali VTA mengirim payload variabel sesi kustom selama sesi. Peristiwa ini memiliki kolom yang sama dengan peristiwa Asisten Tugas Virtual keluar kecuali finish_reason, dan captured_variables menyimpan variabel yang diterima sejauh ini.

Berikut contoh peristiwa Task_VA_Variables_Received:

{
  "type": "Task_VA_Variables_Received",
  "data": {
    "chat_id": 103646,
    "virtual_agent_id": 1,
    "virtual_agent_name": "Order status assistant",
    "participant_id": 1,
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "queue_language_id": "en",
    "session_type": "Messaging Inbound (SMS)",
    "conversation_id": "12345",
    "session_id": "78534G4RT4284",
    "timestamp": 1727853590000,
    "data_parameters": {
      "param1": "one"
    },
    "captured_variables": [
      {
        "intent_name": null,
        "variables": {
          "order_number": "A-100"
        },
        "captured_at": "2024-11-15 16:46:31 UTC",
        "timestamp": 1727853590000
      }
    ]
  }
}

Hanya variabel yang capture_type-nya menyertakan event dalam payload variabel sesi kustom agen virtual yang disertakan, dan kunci yang tercantum dalam invisible_to_adapter_events akan dikecualikan.

Pop-up layar latar belakang

Kemampuan pop-up layar memungkinkan agen melakukan pop-up layar CRM di latar belakang, yang berarti informasi pelanggan ditampilkan di layar agen tanpa memerlukan tindakan apa pun dari agen. Hal ini memberikan pengalaman yang lebih lancar bagi konsumen dan mengurangi waktu penanganan bagi agen.

Pop-up data CRM

Peristiwa, CRM_Record_Pop, adalah peristiwa sisi server yang dipicu saat tiket perlu ditampilkan. Peristiwa ini menyertakan parameter bernama recordUrl yang berisi URL data CRM, sehingga Anda dapat melakukan screen pop dengan berlangganan peristiwa POST jika menggunakan adaptor tersemat.

Berikut contoh peristiwa CRM_Record_Pop:

{
  "type": "CRM_Record_Pop",
  "data": {
    "recordUrl": "https://crm.example.com/tickets/4711"
  }
}

Peristiwa ini memiliki satu kolom:

  • recordUrl: URL data CRM yang akan ditampilkan

Untuk mencapai hal ini, contoh berikut menunjukkan cara menambahkan pemroses peristiwa yang memproses pesan yang dikirim dari frame atau jendela lain. Cuplikan kode ini dirancang untuk memungkinkan komunikasi antara berbagai frame atau jendela dan memungkinkan pembaruan dinamis pada konten yang ditampilkan di iframe berdasarkan pesan yang diterima.

// Replace with the origin of your tenant.
const ADAPTER_ORIGIN = 'https://tenant.loc.ccaiplatform.com'

// name is the html property of the iframe that shows the CRM record
const iframeTarget = document.querySelector('iframe[name="target_iframe_adapter"]')

// example usage of add event listener
// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
window.addEventListener('message', (e) => {
  // Only accept events posted by the agent adapter.
  if (e.origin !== ADAPTER_ORIGIN) {
    return
  }

  let message
  try {
    message = JSON.parse(e.data)
  } catch (err) {
    // Not an agent adapter event.
    return
  }

  const { type, data = {} } = message
  console.log('EventListener: ', type)

  switch (type) {
    case 'CRM_Record_Pop': {
      const recordUrl = data.recordUrl
      if (!recordUrl) {
        return
      }
      console.log(`Opening recordUrl in iframe ${iframeTarget.getAttribute('name')}`)

      // changing an iframe target to the record URL pop
      iframeTarget.src = recordUrl
      break
    }
    case 'New_Chat':
      console.log('Chat started...')
      // handling here for New_Chat events
      break
    case 'End_Chat':
      console.log('Chat ended...')
      // handling here for End_Chat events
      break
    default:
      // code handling for other types
      break
  }
}, false)

Membuka halaman pihak ketiga

Peristiwa openThirdPartyPage diposting oleh adaptor panggilan saat panggilan membawa kunci pihak ketiga (misalnya, kunci pengelola kampanye daftar pada panggilan kampanye) dan adaptor akan membuka halaman pihak ketiga yang cocok. Jika menggunakan adaptor tersemat, Anda dapat berlangganan peristiwa ini untuk membuka halaman di UI Anda sendiri.

Berikut adalah contoh peristiwa openThirdPartyPage:

{
  "type": "openThirdPartyPage",
  "data": {
    "thirdPartyKey": "acqueon:12345",
    "callId": 103646
  }
}

Berikut adalah kolom peristiwa:

  • thirdPartyKey: kunci pihak ketiga yang terkait dengan panggilan

  • callId: ID panggilan