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, sedangkan 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 atau mungkin 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 API Generik memberikan kemampuan untuk menggunakan API CRM Kustom Anda guna membuat koneksi dua arah dengan Platform CCAI. Metode yang lancar ini terasa sama dengan pengalaman integrasi CRM langsung. Agen tidak perlu melakukan tindakan untuk membuat catatan 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 perlu mengambil tindakan agar data CRM dapat dibuat. Dalam beberapa kasus, hal ini mungkin hanya meluncurkan tab dengan link kustom dari sesi, dan dalam kasus lainnya, Agen mungkin perlu membuat catatan secara manual.

Detail dan konfigurasi URL pencarian kustom

Fungsi dasar URL adalah 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 URL diakses, URL tersebut akan memicu CRM kustom untuk melakukan pencarian. Pencarian CRM ini adalah cara agen dapat menggunakan "pop-up tiket" untuk sesi panggilan atau chat 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 lainnya yang disimpan secara eksternal tidak akan dikaitkan kembali dengan data CRM kecuali jika Metode pembaruan email yang tercantum juga digunakan.

Dalam konfigurasi ini, Agen akan login ke Portal Platform CCAI 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 browser mereka

  • 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 pengidentifikasi unik serta kemampuan dan perilaku CRM yang berbeda-beda, 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

Kemungkinan nilai 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 setelah sesi dibuat dan agen ditetapkan. Oleh karena itu, konfigurasi instance Anda untuk menunda pembuatan rekaman panggilan atau chat agar ada waktu untuk menentukan variabel ini. Anda dapat menunda pembuatan data panggilan atau chat di Setelan > Pengelolaan Operasi > Detail Pembuatan Data CRM. Untuk mengetahui informasi selengkapnya, lihat Detail pembuatan data CRM.

Konfigurasi portal CCAI Platform

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

  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 informasi selengkapnya, lihat Penyimpanan Eksternal.

Pembaruan data CRM melalui email

Dalam konfigurasi seperti URL penelusuran 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 catatan 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 dengan peran Admin yang ditetapkan.

  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 Anda inginkan untuk menerima 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.

  3. Aktifkan Send session outcome via Email.

  4. Masukkan alamat email yang Anda inginkan untuk menerima email.

    Tampilan konfigurasi email

  5. Klik Save Custom CRM setting.

Pewarisan dan penggantian setelan

Setelan Perilaku
Global = TIDAK diaktifkan
Antrean = TIDAK diaktifkan
Jangan mengirim 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 penelusuran 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 tindakan smart 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 Platform CCAI menggunakan akun dengan peran Admin yang ditetapkan.

  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, Google Cloud bucket.

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 Jalur Folder dan masukkan jalur folder SFTP.

  8. Klik Simpan Perubahan.

Cloud Storage

  1. Masukkan tujuan Google Cloud Bucket Name.

  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 harus 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 mana yang akan digunakan untuk menampilkan file di adaptor agen.

Untuk melihat setelan ini, Penyimpanan Eksternal harus diaktifkan di Setelan > Setelan Developer > Penyimpanan Eksternal. Alihkan Aktifkan penyimpanan informasi di luar server CRM ke Aktif.

Penyimpanan CRM

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

  2. Centang kotak di samping Kirim juga file sesi ke 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 centang 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 Setelan > Setelan Developer > Penyimpanan Eksternal > URL Penyimpanan Eksternal

  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 akan disimpan hanya 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 atau CRM eksternal.

  • 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 Platform CCAI akan dimuat dan menampilkan halaman CRM buatan kustom Anda. Hal ini dapat dikonfigurasi di Setelan Developer > CRM.

Dengan kemampuan ini, agen dapat menangani sesi dukungan langsung menggunakan adaptor panggilan dan chat Platform CCAI 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 CRM kustom.

  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 Open Custom URL di panel.

  3. Masukkan URL untuk menampilkan pop-up layar.

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

Contoh 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 catatan 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 Catatan.

Rekam

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

Catatan termasuk dalam Akun.

Komentar

ID ini digunakan untuk merujuk ke entitas Comment/Note 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

Platform CCAI mendukung tiga metode autentikasi untuk CRM Anda:

  • Autentikasi dasar: Konfigurasi 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)

    • Client ID (wajib diisi)

    • Rahasia Klien (wajib)

    • Cakupan

    • Negara Bagian

    • 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

  • US Local: 2223334444

  • Standar lokal AS: (111) 222-3333

  • Internasional: +1 222 333 4444

Waktu tunggu permintaan API habis

Konfigurasi 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 akun CRM dan merekam informasi untuk 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 agen Anda dapat melakukan penelusuran akun, 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. Penyiapan 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 Parameter 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 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. 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 penanganan pasca-panggilan (Segera hadir)
Jenis Perangkat {DEVICE_TYPE}
Terputus 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 menambahkan komentar (menyimpan rating, mengakhiri panggilan/chat, memulai panggilan/chat)
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 dieksekusi.

Fungsi Sintaksis Fungsi Deskripsi
Nilai Default =DEFAULT_VALUE(val1, val2) Nilai akan menggunakan val1 kecuali jika null atau kosong, dan akan kembali ke default val2.
Penyambungan Or =CONCAT_OR(val1, val2, val3) Penggabungan beberapa nilai dengan or. Contoh: 'val1 atau val2 atau 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 rekaman karena beberapa alasan: pelanggan mungkin telah mengakhiri panggilan IVR sebelum agen yang ditugaskan menjawab panggilan masuk, atau dalam kasus chat, rekaman 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"
}

Endpoint Temukan akun menurut 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.

Rekaman API

Endpoint rekaman API memberikan kemampuan untuk berintegrasi dengan rekaman 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. Tindakan ini akan memperbarui judul dan deskripsi rekaman. 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 multipart

Pilih file yang akan dilampirkan

  • Rekaman panggilan

  • Transkrip chat

  • Pesan suara

  • Foto

  • Video

  • File metadata sesi

Pilih Jenis Lampiran dari ID dan URL Lampiran. Parameter ini menentukan format JSON respons.

  • ID

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

  • URL Pembuat Lampiran. 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

  • akhir panggilan atau chat

  • 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 ujet 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 umum CRM kustom: Alur

Bagian ini menyediakan diagram alur untuk alur API generik CRM kustom.

Diagram alur dasar

Diagram alur dasar

Alur menemukan atau membuat akun

Alur menemukan atau membuat akun

Alur menemukan atau membuat data

Alur menemukan atau membuat data

Alur tindakan panggilan atau chat setelah postingan

Alur tindakan panggilan atau chat setelah postingan

Alur perbarui data

Alur pembaruan data

Alur komentar

Alur komentar

Alur upload file

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 artikel 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 keinginannya. 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 Dari harus selalu ditetapkan ke Kustom.

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.

Adaptor panggilan

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

Adaptor chat

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

Kedua adaptor

  • Login Agen
  • Sesi Berbagi Layar dimulai
  • Remote control sesi Berbagi Layar diubah
  • Sesi Berbagi Layar perangkat penuh 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 yang 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 ini memiliki karakteristik berikut:

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

  • Objek yang diurai memiliki tepat dua kunci tingkat atas:

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

    type adalah salah satu string yang tercantum di 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 target origin *, sehingga pesan dikirim ke halaman apa pun yang menyematkan iframe. Adaptor tidak membatasi siapa yang dapat menerima peristiwa. Penerima Anda harus memeriksa event.origin terhadap host tenant Anda (misalnya https://tenant.loc.ccaiplatform.com) dan mengabaikan pesan dari origin lain, sehingga iframe lain di halaman yang sama tidak dapat memalsukan 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 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 atas, 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 satu arah (adapter ke host), tetapi halaman host dapat mengirim serangkaian kecil perintah ke adapter 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. Tombol ini digunakan untuk menjeda dan melanjutkan perekaman untuk penyensoran 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 ditindaklanjuti jika penyamaran 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 Penyensoran 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. Parameter 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 bertanda tangan dari server Anda. Opsional.

  • custom_data_not_secured: berisi data kustom yang tidak bertanda dan 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 merutekan panggilan atau chat dari satu antrean ke antrean lain, untuk menunjukkan antrean tujuan.

Campaign ID

  • campaign_id: ID kampanye CCAI Platform. Data ini hanya disertakan jika jenis panggilannya adalah panggilan kampanye.
  • campaign_name: nama kampanye CCAI Platform. Metrik ini hanya disertakan jika jenis panggilan adalah panggilan kampanye.

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 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 participants.type respons /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 respons /api/v1/calls atau /api/v1/chats. Kolom ini hanya ada jika jenis: end_user.

Jenis Interaksi / Sesi

Jenis panggilan

  • Masuk Suara: Panggilan PSTN standar.
  • Voice Inbound (IVR menggunakan Seluler): Panggilan PSTN penggantian yang dilakukan dari Mobile SDK.
  • Voice Inbound (Seluler): Ditempatkan 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 Terjadwal (Web): Dijadwalkan menggunakan Web SDK yang diinstal.
  • Panggilan Keluar Voice: Dimulai oleh Agen dengan memanggil nomor.
  • Voice Outbound (API): Dimulai menggunakan API.
  • Kampanye Suara: Dimulai menggunakan Dialer 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 Mobile SDK yang terinstal.

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
Penyensoran 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
Percakapan 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
Pesta 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 yang 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 seiring 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 waktu panggilan dimulai, agen yang menangani panggilan, dan asal panggilan.

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

  • 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 bertanda tangan 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). Dengan begitu, halaman host dapat 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 campaign manager daftar 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.

Penyensoran 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 Redaksi panggilan dimulai:

{
  "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 pengeditan panggilan dihentikan:

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

  • 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 bertanda tangan 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

Acara 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 adalah 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 bertanda tangan 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 adalah 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 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.

  • 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 tidak bertanda tangan Chat (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. Bagian ini mencakup 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 saat 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 saat 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 diamankan. Opsional.

  • custom_data_not_secured: memungkinkan 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 terkirim

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 dalam 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 saat chat berasal dari antrean. Opsional.

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

  • queue_language_id: bahasa antrean. Opsional.

  • timestamp: waktu saat 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 tidak bertanda tangan Chat. 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
  }
}

Percakapan yang ditutup

Peristiwa chat yang ditutup terjadi saat agen menutup tab chat di adapter 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 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.

  • 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 memulai sesi Berbagi Layar:

{
  "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 (tanggapan 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 (tanggapan 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 bertanda tangan 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 tidak bertanda tangan Chat (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 (tanggapan 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 tidak bertanda tangan Chat (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 (tanggapan 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 bertanda tangan 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 tidak bertanda tangan Chat (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 panggilannya 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 merutekan 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 mengarahkan 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 merutekan 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 merutekan 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 diamankan. Opsional.

  • custom_data_not_secured: mengizinkan 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 saat 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 panggilan adalah panggilan kampanye. Opsional.

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

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

  • end_user_id: end_user_id. Kolom ini ditampilkan sebagai bagian dari respons /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 Platform CCAI 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: memungkinkan transmisi data kustom SDK yang diamankan. 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 acara 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 panggilan atau sesi 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 panggilan 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. Parameter ini hanya diperlukan untuk peristiwa yang melibatkan Agen Virtual. Opsional.

  • session_variable: semua variabel dari agen virtual yang dikirim ke UJET 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: memungkinkan transmisi data kustom SDK yang diamankan. 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 penambahan Agent Assist terjadi saat agen mengaktifkan Agent Assist selama sesi panggilan atau chat.

Perhatikan hal-hal berikut tentang acara ini:

  • type acara 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 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 Virtual Task Assistant bergabung terjadi saat Virtual Task Assistant (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 tersisa

Peristiwa Asisten Tugas Virtual keluar dari acara 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 maksud yang mengambilnya dan waktu pengambilan. 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 perlu 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 Anda menggunakan adaptor tersemat.

Berikut adalah contoh peristiwa CRM_Record_Pop:

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

Acara 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 frame atau jendela yang berbeda 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 sematan, Anda dapat berlangganan peristiwa ini untuk membuka halaman di UI Anda sendiri.

Berikut 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