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:
|
{TYPE} |
Jenis sesi. Nilai yang mungkin untuk panggilan:
Nilai yang mungkin untuk chat:
|
{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:
|
{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
Login ke portal CCAI Platform menggunakan akun yang memiliki peran Admin.
Buka Setelan > Setelan Developer.
Di bagian CRM, pilih Custom CRM.
Di bagian Pencarian CRM, masukkan URL kustom Anda.
Pilih Format Nomor Telepon yang akan digunakan dalam permintaan CRM.
Klik Simpan Perubahan.
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
Login ke portal CCAI Platform menggunakan akun yang memiliki peran Admin.
Buka Setelan > Setelan Developer.
Di bagian CRM, pastikan Custom CRM dipilih.
Aktifkan Send session outcome via Email.
Masukkan alamat email yang ingin Anda kirimi email.
Klik Simpan Perubahan.
Konfigurasi per antrean
Login ke portal CCAI Platform menggunakan akun yang memiliki peran Admin.
Buka Setelan > Antrean, lalu pilih sub-antrean mana pun.
Aktifkan Send session outcome via Email.
Masukkan alamat email yang ingin Anda kirimi email.

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
Login ke portal CCAI Platform menggunakan akun yang diberi peran Agen.
Buka adaptor panggilan atau chat.
Gunakan tombol Buka di jendela browser baru untuk memicu pencarian.
Gunakan tombol Salin link untuk menyalin URL pencarian ke papan klip.

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:
Login ke portal CCAI Platform menggunakan akun yang diberi peran Admin.
Buka Setelan > Setelan Developer.
Di halaman Setelan Developer, buka bagian Penyimpanan Eksternal.
Aktifkan penyimpanan informasi di luar server CRM dengan mengalihkan tombol ke Aktif, lalu pilih jenis file yang akan disimpan.
Di bagian Penyiapan Server, pilih jenis penyimpanan Anda dan selesaikan langkah-langkah penyiapan: Server SFTP, bucket Google Cloud .
Server SFTP
Masukkan Host SFTP (URL atau alamat IP).
Masukkan nomor Port.
Masukkan ID Pengguna Login SFTP.
Jika server SFTP memerlukan sandi untuk autentikasi, masukkan sandi di kolom Password.
Jika server SFTP memerlukan kunci pribadi untuk autentikasi, centang kotak SSH Private Key.
Masukkan (salin & tempel) kunci pribadi SSH.
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.
Klik Simpan Perubahan.
Cloud Storage
Masukkan Nama Bucket tujuan Google Cloud .
Masukkan Google Cloud Client ID.
Masukkan Google Cloud Client Secret.
Jika informasi sesi harus disimpan di folder tertentu dalam bucket Google Cloud , centang kotak Folder Path dan masukkan Google Cloud folder path.
Klik Tautkan & Simpan.
Menguji konfigurasi penyimpanan eksternal
Untuk CRM dengan integrasi standar yang sudah ada:
Login ke CRM Anda.
Login ke CCAI Platform dalam CRM menggunakan kredensial CCAI Platform dengan peran Agen yang ditetapkan.
Lakukan panggilan atau chat. Data CRM yang terkait dengan sesi akan ditampilkan.
Setelah sesi selesai, file transkrip akan diupload dalam hitungan detik.
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
Buka Setelan > Setelan Developer > Penyimpanan Eksternal > Penyimpanan CRM.
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.
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.
Buka Settings > Developer Settings > External Storage > External Storage URLs
Pilih URL CRM atau URL Penyimpanan Eksternal sumber untuk menampilkan file di adaptor agen.
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:
Di portal CCAI Platform, klik Settings > Developer Settings. Jika Anda tidak melihat menu Setelan, klik Menu.
Di panel CRM, klik Custom CRM.
Klik tombol Display CRM in CCAI Platform portal ke posisi aktif.
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
Buka Setelan > Antrean > IVR, klik antrean yang akan diedit.
Buka Buka URL Kustom di panel.
Masukkan URL untuk menampilkan pop-up layar.
Sertakan parameter variabel {ACCOUNT_ID} dan {PHONE_NUMBER} ke dalam URL.
Contohnya diberikan.
- 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.
Agar pencarian akun tersedia untuk agen, Anda harus mengonfigurasi endpoint Temukan akun dan Buat akun.
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.
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:
URL Permintaan: URL endpoint API.
Pilih metode permintaan dari POST, GET, PUT, atau PATCH.
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.
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 } ] }
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} |
||
| 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.

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.

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.

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.

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.

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.

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 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.

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
allowwajib diisi. Adaptor panggilan menggunakan WebRTC dan memerlukanmicrophone;cameradangeolocationdiperlukan 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.dataadalah string JSON, bukan objek. Selalu panggilJSON.parse(event.data)sebelum membacanya. Karena skrip lain di halaman mungkin juga menggunakanpostMessage()dengan payload non-JSON, gabungkan penguraian dalamtry/catch.Objek yang diurai memiliki tepat dua kunci tingkat atas:
{ "type": "<event type>", "data": { ... } }typeadalah salah satu string yang tercantum dalam Jenis peristiwa.databerisi kolom peristiwa yang dijelaskan dalam Data untuk peristiwa. Semua kolom khusus peristiwa berada di dalamdata, tidak pernah di tingkat teratas.Kolom kosong akan dihilangkan. Sebelum memposting, adaptor akan menghapus kolom apa pun di
datayang nilainya adalahnull,undefined, atau string kosong. Perlakukan setiap kolom sebagai berpotensi tidak ada, dan jangan mengandalkan kunci yang ada dengan nilainull.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 memeriksaevent.originterhadap host tenant Anda (misalnyahttps://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
typepeka huruf besar/kecil dan tidak menggunakan huruf besar/kecil yang seragam. Sebagian besar adalahTitle_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_startedataucall_redaction_endedyang 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:authoritysebelumnya dengan jenis peristiwaredact_call:startdanredact_call:stopmasih diterima oleh adaptor CRM kustom untuk kompatibilitas mundur, tetapi integrasi baru harus menggunakanapi: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 adalahagentatauend_user.cobrowse_session_ended_by: menunjukkan siapa yang mengakhiri sesi Berbagi Layar. Nilai yang mungkin adalahagent,end_user, atauapi.end_user_id:participants.end_user_iddari respons/api/v1/callsatau/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 agenOpsional:
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 agenagent_custom_id: ID kustom agen, jika dimasukkan dalam profil agen. Opsional.agent_email: alamat email yang terkait dengan akun agenqueue_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 panggilansession_type: jenis sesivirtual_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 dihubungicustom_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 panggilancall_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:IDagen yang menangani panggilancall_id:IDpanggilan
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 agenagent_custom_id: ID kustom agen, jika dimasukkan dalam profil agen. Opsional.agent_email: alamat email yang terkait dengan akun agenqueue_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 panggilansession_type: jenis sesivirtual_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 chatsession_type: jenis sesiagent_id: ID agenagent_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 chatsession_type: jenis sesiagent_id: ID agenagent_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 chatsession_type: menunjukkan jenis sesi yang sedang dibuat, seperti pesan masuk melalui chat webagent_id: mengidentifikasi agen yang menangani sesi chatagent_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 pesancustom_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 chatsession_type: menunjukkan jenis sesi yang sedang dibuat, seperti pesan masuk melalui chat webagent_id: mengidentifikasi agen yang menangani sesi chatagent_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 pesancustom_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 chatsession_type: jenis sesiagent_id: ID agenagent_custom_id: ID kustom agen, jika dimasukkan di profil agen. Opsional.agent_email: alamat email yang terkait dengan akun agenend_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 Unixva_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 chatsession_type: jenis sesiagent_id: ID agenagent_custom_id: ID kustom agen, jika dimasukkan di profil agen. Opsional.agent_email: alamat email yang terkait dengan akun agenqueue_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 adalahagentdanend-user.cobrowse_session_remote_control: Menunjukkan status sesi Berbagi Layar kontrol jarak jauh. Nilainya adalahon,rejected,requested, danoff.cobrowse_session_full_device: Menunjukkan status sesi Berbagi Layar perangkat penuh. Nilainya adalahon,rejected,requested, danoff.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 adalahon,rejected,requested, danoff.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 adalahon,rejected,requested, danoff.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 adalahagent,end-user, danapi.cobrowse_session_remote_control: menunjukkan status sesi Berbagi Layar kontrol jarak jauh. Nilainya adalahon,rejected,requested, danoff.cobrowse_session_full_device: menunjukkan status sesi Berbagi Layar perangkat penuh. Nilainya adalahon,rejected,requested, danoff.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_idataucall_id: mengidentifikasi sesi panggilan atau chatsession_type: menunjukkan jenis sesi yang sedang dibuat, seperti pesan masuk melalui chat webcampaign_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 asalfrom_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 asalto_agent_id: digunakan saat merutekan panggilan atau chat dari satu agen ke agen lain, untuk menunjukkan agen tujuanto_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 tujuanfrom_queue_id: digunakan saat mengarahkan panggilan atau chat dari satu antrean ke antrean lain, untuk menunjukkan antrean asalfrom_queue_path: digunakan saat mengarahkan panggilan atau chat dari satu antrean ke antrean lain, untuk menunjukkan antrean asalto_queue_id: digunakan saat mengarahkan panggilan atau chat dari satu antrean ke antrean lain untuk menunjukkan antrean tujuanto_queue_path: digunakan saat mengarahkan panggilan atau chat dari satu antrean ke antrean lain untuk menunjukkan antrean tujuanvirtual_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_idataucall_id: mengidentifikasi sesi panggilan atau chatsession_type: menunjukkan jenis sesi yang sedang dibuat, seperti pesan masuk melalui chat webagent_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/callsatau/api/v1/chatsend_user_id: end_user_id. Kolom ini ditampilkan sebagai bagian dari respons dari/api/v1/callsatau/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_idataucall_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 loginagent_email: alamat email yang terkait dengan akun agenagent_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:
typeperistiwa 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 agensession_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_idatauchat_id: ID panggilan atau chatcampaign_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 VTAvirtual_agent_name: nama VTA seperti yang dikonfigurasi di portal CCAI Platformparticipant_id: ID peserta VTA dalam sesiqueue_id: ID antrean tempat sesi berasal. Opsional.queue_path: jalur antrean tempat sesi berasal. Opsional.queue_language_id: bahasa antrean. Opsional.session_type: jenis sesiconversation_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 Unixdata_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 berakhircaptured_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 panggilancallId: ID panggilan