Metadata transkrip chat

Dokumen ini menjelaskan skema catatan metadata transkrip chat. File ini adalah file JSON yang dibuat oleh Contact Center AI Platform (CCAI Platform) untuk transkrip chat yang telah selesai. Catatan metadata transkrip chat dihasilkan oleh ekspor JSON chat-history dan dapat dikirimkan melalui upload transkrip CRM dan file transkrip external-storage, bergantung pada konfigurasi instance Anda. Gunakan skema ini untuk mengurai JSON transkrip, memvalidasi payload yang diterima, atau memetakan pesan transkrip ke sistem downstream.

Root skema

Catatan metadata transkrip chat adalah satu objek JSON yang merepresentasikan satu artefak transkrip chat. Kolom di root mengidentifikasi komunikasi, versi format transkrip, dan kumpulan entri transkrip yang diurutkan.

Pengidentifikasi komunikasi comm_type dan comm_id

Bersama-sama, comm_type dan comm_id mengidentifikasi komunikasi yang diwakili oleh rekaman transkrip ini.

  • comm_type mengidentifikasi jenis komunikasi. Nilainya biasanya chat. Nilai ini mungkin call untuk panggilan suara yang mencakup konten transkrip SMS gabungan.

  • comm_id adalah ID chat atau panggilan yang diwakili oleh transkrip.

Versi format transcript_version

Mengidentifikasi versi format transkrip JSON. Integrasi harus menggunakan kolom ini untuk penguraian yang kompatibel ke depan dan harus mengabaikan kolom yang tidak dikenali.

Diskriminator entri - entries[].type dan entries[].body.type

Setiap item di entries mewakili satu pesan atau peristiwa transkrip. Kolom type tingkat entri mencerminkan jenis isi pesan. Objek body bertingkat membawa payload yang bentuknya bervariasi menurut jenisnya - misalnya, text, markdown, photo, noti, atau action.

Skema metadata transkrip chat

Skema ini menjelaskan struktur data transkrip chat. Bagian berikut menjelaskan komponen inti.

Informasi transkrip inti

Properti berikut memberikan informasi mendasar tentang transkrip itu sendiri:

  • comm_type (string): Jenis komunikasi yang diwakili oleh transkrip. Nilai yang mungkin: chat, call. Nilai call menunjukkan panggilan suara dengan konten transkrip SMS gabungan.

  • comm_id (bilangan bulat): ID unik komunikasi yang diwakili oleh transkrip.

  • transcript_version (string): Versi format JSON transkrip. Nilai saat ini adalah "1.0". Lihat Pembuatan versi dan penghentian penggunaan.

  • assigned_at (string, date-time): Stempel waktu saat chat ditetapkan.

  • timezone (string): Zona waktu untuk konteks transkrip, seperti "America/Los_Angeles".

Entri transkrip

  • entries (array): Daftar entri transkrip yang diurutkan. Setiap entri mewakili satu pesan, notifikasi, atau tindakan dalam percakapan.

    • timestamp (bilangan bulat): Stempel waktu epoch Unix, dalam detik, saat sistem membuat entri.

    • type (string): Jenis isi pesan. Nilai ini mencerminkan body.type. Lihat Definisi untuk jenis tubuh yang didukung.

    • body (objek): Payload entri. Bentuknya bergantung pada nilai type / body.type.

    • role (string): Peran peserta atau komponen sistem yang menghasilkan entri. Nilai yang mungkin: end_user, agent, manager, virtual_agent, external_agent, task_virtual_agent, system.

    • user_data (objek): Metadata pengirim. Untuk entri agent, manager, virtual_agent, external_agent, dan task_virtual_agent, objek ini berisi data tampilan pengirim. Untuk entri end_user dan system, objek ini kosong.

      • name (string; hanya ada jika metadata pengirim tersedia): Nama tampilan pengirim.

      • id (integer; hanya ada jika metadata pengirim tersedia): ID pengirim.

      • avatar_url (string, uri; hanya ada jika metadata pengirim tersedia): URL gambar avatar pengirim.

Isi pesan teks

  • text (objek): Isi pesan teks biasa.

    • type (string): Selalu text.

    • content (string): Teks pesan.

    • lang (string; hanya ada jika metadata bahasa tersedia): Kode bahasa yang terkait dengan pesan.

  • text_template (objek): Isi pesan teks yang dibuat dengan template.

    • type (string): Selalu text_template.

    • content (string): Teks template.

  • markdown (objek): Isi pesan berformat Markdown.

    • type (string): Selalu markdown.

    • content (string): Konten Markdown.

    • lang (string; hanya ada jika metadata bahasa tersedia): Kode bahasa yang terkait dengan pesan.

  • markdown_template (objek): Isi pesan Markdown yang dibuat dengan template.

    • type (string): Selalu markdown_template.

    • content (string): Konten template Markdown.

Isi pesan media dan file

  • photo (objek): Isi pesan foto atau screenshot.

    • type (string): Selalu photo.

    • media_id (integer): ID media foto tersimpan.

  • video (objek): Isi pesan video.

    • type (string): Selalu video.

    • media_id (integer; ada saat sistem menyimpan video sebagai media Platform CCAI): ID media video yang disimpan.

    • title (string; ada saat objek video sematan merepresentasikan video): Judul video.

    • video (objek; ada saat objek video sematan mewakili video): Detail video.

      • url (string, uri): URL video.

      • text (string): Alternatif teks atau URL penggantian untuk video.

  • image (objek): Isi pesan gambar.

    • type (string): Selalu image.

    • title (string; ada saat pengirim pesan menyediakannya): Judul gambar.

    • image (objek): Detail gambar.

      • url (string, uri): URL gambar.

      • text (string): Alternatif teks atau URL penggantian untuk gambar.

  • document (objek): Isi pesan dokumen.

    • type (string): Selalu document.

    • media_id (integer; ada saat sistem menyimpan dokumen sebagai media CCAI Platform): ID media dokumen yang disimpan.

    • title (string; ada saat objek dokumen sematan mewakili dokumen): Judul dokumen.

    • document (objek; ada saat objek dokumen sematan mewakili dokumen): Detail dokumen.

      • url (string, uri): URL dokumen.

      • text (string): Alternatif teks atau URL penggantian untuk dokumen.

  • audio (objek): Isi pesan audio.

    • type (string): Selalu audio.

    • media_id (integer; ada saat sistem menyimpan audio sebagai media CCAI Platform): ID media audio yang disimpan.

    • title (string; ada saat objek audio sematan merepresentasikan file audio): Judul file audio.

    • audio (objek; ada saat objek audio sematan mewakili file audio): Detail audio.

      • url (string, uri): URL file audio.

      • text (string): Alternatif teks atau URL penggantian untuk file audio.

Isi pesan interaktif

  • inline_button (objek): Isi pesan tombol inline.

    • type (string): Selalu inline_button.

    • title (string): Judul yang akan ditampilkan di atas tombol.

    • buttons (array): Daftar definisi tombol.

      • title (string): Label tombol.

      • action (string): Tindakan yang terkait dengan tombol.

      • link (string, uri; hanya ada untuk balasan cepat gaya link): URL yang terkait dengan tombol.

  • sticky_button (objek): Isi pesan tombol tetap.

    • type (string): Selalu sticky_button.

    • title (string): Judul yang akan ditampilkan di atas tombol.

    • buttons (array): Daftar definisi tombol.

      • title (string): Label tombol.

      • action (string): Tindakan yang terkait dengan tombol.

      • link (string, uri; hanya ada untuk balasan cepat gaya link): URL yang terkait dengan tombol.

  • content_card (objek): Isi pesan kartu konten.

    • type (string): Selalu content_card.

    • cards (array): Daftar kartu konten.

      • title (string): Judul kartu.

      • body (string; hanya ada saat Anda mengonfigurasi teks isi kartu): Teks isi kartu.

  • form_complete (objek): Isi pesan penyelesaian formulir yang dikirim klien saat konsumen menyelesaikan, gagal, atau membatalkan formulir.

    • type (string): Selalu form_complete.

    • signature (string; hanya ada jika peristiwa penyelesaian berisi tanda tangan): Tanda tangan untuk payload penyelesaian formulir.

    • data (objek): Detail pengisian formulir.

      • status (string): Status penyelesaian. Nilai yang mungkin: success, error, cancelled.

      • smart_action_id (integer): ID tindakan smart yang terkait dengan formulir.

      • timestamp (string, date-time): Stempel waktu saat peristiwa penyelesaian formulir terjadi. Hal ini berbeda dengan timestamp tingkat entri, yang merupakan stempel waktu epoch Unix bilangan bulat dalam detik.

      • details (objek; hanya ada jika payload memberikan detail penyelesaian tambahan): Detail status tambahan.

        • error_code (string; hanya ada untuk error dengan kode): Kode error yang terkait dengan hasil penyelesaian.

        • message (string): Detail status yang dapat dibaca manusia.

Isi pesan yang dibuat server dan diteruskan

  • server_message (objek): Isi pesan yang dibuat server. Transkrip menyertakan entri server_message hanya jika Anda mengaktifkan konten transkrip agen virtual tugas untuk akun Anda; jika tidak, transkrip akan menghilangkan entri ini. Gunakan objek ini saat transkrip mereferensikan pesan sisi server yang disimpan.

    • type (string): Selalu server_message.

    • message_id (integer): ID pesan server yang disimpan.

    • visibility (string atau null): Setelan visibilitas untuk pesan server yang disimpan.

  • passthrough (objek): Payload kustom yang diteruskan sistem melalui Platform CCAI untuk integrasi agen virtual atau CCaaS. Integrasi Anda menentukan content-nya, yang bukan bagian dari skema Platform CCAI; perlakukan sebagai buram.

    • type (string): Selalu passthrough.

    • content (string atau objek): Payload yang ditentukan integrasi. Strukturnya bervariasi menurut integrasi, dan Platform CCAI tidak menafsirkannya.

Isi pesan tindakan

  • action (objek): Tindakan yang diminta oleh agen virtual atau alur chatbot. Kolom action menentukan bentuk payload tindakan.

    • type (string): Selalu action.

    • action (string): Jenis tindakan. Nilai yang mungkin mencakup escalation, deflection, dan end.

    • escalation_reason (string; hanya ada jika action adalah escalation): Alasan percakapan ditingkatkan.

    • menu_id (integer; hanya ada jika action adalah escalation): ID menu yang harus digunakan untuk eskalasi percakapan.

    • language (string; hanya ada jika action adalah escalation): Kode bahasa antrean tujuan.

    • deflection_type (string; hanya ada jika action adalah deflection): Jenis pengalihan yang diminta.

    • sip_parameters (objek atau null; hanya ada jika action adalah deflection): Parameter SIP yang akan diteruskan sebagai bagian dari pengalihan.

Isi pesan notifikasi

  • noti (objek): Isi pesan notifikasi. Notifikasi menjelaskan peristiwa sistem yang terjadi selama percakapan.

    • type (string): Selalu noti.

    • event (string): Nama peristiwa notifikasi.

    • agent (objek; hanya ada untuk peristiwa yang terkait dengan agen manusia): Agen yang terkait dengan peristiwa.

      • id (integer): ID agen.

      • email (string, email): Alamat email agen.

      • name (string): Nama tampilan agen.

    • from_agent (objek; hanya ada untuk peristiwa transfer dengan agen sumber): Agen sumber untuk peristiwa.

      • id (integer): ID agen.

      • email (string, email): Alamat email agen.

      • name (string): Nama tampilan agen.

    • to_agent (objek; hanya ada untuk peristiwa pengalihan atau eskalasi dengan agen manusia tujuan): Agen manusia tujuan untuk peristiwa tersebut.

      • id (integer): ID agen.

      • email (string, email): Alamat email agen.

      • name (string): Nama tampilan agen.

    • from_virtual_agent (objek; hanya ada untuk peristiwa eskalasi dari agen virtual): Agen virtual sumber untuk peristiwa.

      • id (integer): ID agen virtual.

      • name (string): nama tampilan agen virtual.

      • avatar_url (string, uri, atau null): URL gambar avatar agen virtual.

    • to_virtual_agent (objek; hanya ada untuk peristiwa transfer ke agen virtual): Agen virtual tujuan untuk peristiwa.

      • id (integer): ID agen virtual.

      • name (string): nama tampilan agen virtual.

      • avatar_url (string, uri, atau null): URL gambar avatar agen virtual.

    • target (string; hanya ada untuk peristiwa transfer): Jenis tujuan transfer. Nilai yang mungkin mencakup menu dan agent.

    • status (string; hanya ada untuk peristiwa yang memiliki status chat): Status chat yang terkait dengan peristiwa.

    • timeout (boolean; hanya ada untuk peristiwa terkait waktu tunggu habis): Apakah waktu tunggu habis menyebabkan peristiwa.

    • memberIdentity (string; hanya ada untuk peristiwa bergabung atau keluar peserta): Identitas peserta.

    • memberName (string; hanya ada untuk peristiwa bergabung atau keluar peserta): Nama tampilan peserta.

    • name (string; hanya ada untuk peristiwa virtual-agent atau task-va): Nama tampilan yang terkait dengan peristiwa.

    • reason (string; hanya ada untuk peristiwa penyelesaian task-va): Alasan sesi task-va berakhir.

    • escalation_reason (string; hanya ada untuk peristiwa eskalasi): Alasan eskalasi.

    • deflection (objek; hanya ada untuk peristiwa pengalihan): Detail pengalihan.

    • detail (objek; hanya ada untuk peristiwa notifikasi kustom): Detail peristiwa kustom.

      • key (string): Kunci peristiwa kustom.

      • data (objek): Payload peristiwa kustom.

Nama peristiwa notifikasi

Kolom event mengidentifikasi peristiwa notifikasi. Penyedia chat, yang berfungsi sebagai sumber kebenaran tunggal, menyimpan semua peristiwa notifikasi dalam daftar berikut ke JSON transkrip. Daftar ini mengelompokkan acara tersebut berdasarkan keluarga.

Permintaan tindakan pintar

  • verificationRequested

  • photoRequested

  • videoRequested

  • screenshotRequested

  • textRequested

  • cobrowseRequestedFromAgent

Hasil tindakan cerdas

  • Selesai: photoFinished, videoFinished, screenshotFinished, textFinished

  • Dibatalkan: photoCanceled, videoCanceled, screenshotCanceled, textCanceled, cobrowseCanceled

  • Gagal: photoFailed, videoFailed, screenshotFailed, textFailed, verificationFailed

Verifikasi

  • endUserVerified

Penjelajahan bersama

  • cobrowseRequestedFromEndUser

  • cobrowseCodeGenerated

  • cobrowseStarted

  • cobrowseEnded

  • cobrowseFailed

Formulir

  • formRequested

  • formSent

  • formCompleted

Transfer

  • transferStarted

  • transferAccepted

  • transferFailed

Eskalasi agen virtual

  • escalationStarted

  • escalationAccepted

  • escalationDeflected

  • escalationFailed

Agen virtual tugas

  • taskVaStarted

  • taskVaFinished

Langganan

  • memberJoined

  • memberLeft

Siklus proses sesi

  • chatEnded

  • chatEndedWithPostSession

  • chatDismissed

  • checkInRequired

  • checkInTimedOut

  • transcriptRequested

  • transcriptUpdated

Kustom

  • custom

Untuk rekaman dengan comm_type yang ditetapkan ke call, peristiwa notifikasi transkrip panggilan tambahan dapat muncul. Peristiwa ini terkait dengan penanganan transkrip panggilan atau Agent Assist, bukan keluarga peristiwa chat biasa.

Definisi

Sub-skema berikut muncul dalam dokumen metadata transkrip chat. Bagian ini menentukan setiap sub-skema satu kali; grup properti yang mereferensikannya akan merujuk kembali ke bagian ini, bukan mendefinisikan ulang bentuknya secara inline.

entri (objek)

Mewakili satu pesan transkrip, notifikasi, atau tindakan. Setiap entri memiliki timestamp epoch Unix, type level teratas, objek body yang jenisnya cocok dengan bentuk tersebut, role pengirim, dan objek user_data. Lihat Entri transkrip untuk mengetahui daftar lengkap kolom.

user_data (objek)

Mendeskripsikan pengirim entri transkrip saat metadata pengirim tersedia. Entri agen, pengelola, agen virtual, agen eksternal, dan agen virtual tugas dapat membawa name, id, dan avatar_url. Entri konsumen dan sistem membawa objek kosong.

isi pesan (objek, oneOf)

Objek body di setiap entri menggunakan nilai body.type untuk memilih salah satu bentuk isi pesan yang didukung. Jenis isi yang didukung mencakup isi teks, isi media atau file, isi interaktif, isi yang dibuat server, isi tindakan, dan isi notifikasi. Lihat Isi pesan teks hingga Isi pesan notifikasi untuk mengetahui daftar lengkap varian yang didokumentasikan.

peran peserta (string, enum)

Mengidentifikasi kategori pengirim untuk entri transkrip.

Nilai yang diizinkan

  • end_user - Konsumen.

  • agent - Agen manusia.

  • manager - Peserta pengelola.

  • virtual_agent - Agen virtual.

  • external_agent - Peserta agen eksternal.

  • task_virtual_agent - Agen virtual tugas.

  • system - Entri yang dibuat sistem.

Pembuatan versi dan penghentian penggunaan

Dokumen metadata transkrip chat mendukung evolusi skema yang kompatibel dengan versi lama. Seiring waktu, sistem dapat menambahkan kolom dan varian isi pesan baru, dan integrasi harus mengabaikan kunci yang tidak dikenali untuk memastikan fungsionalitas yang berkelanjutan.

Versi format saat ini

  • transcript_version (string) - Nilai saat ini: "1.0". Integrasi harus mengurai transkrip berdasarkan kolom yang ada di payload dan tidak boleh gagal jika versi mendatang menambahkan kolom atau jenis isi pesan baru.

Jenis isi pesan tidak diketahui

Jika entri transkrip berisi type atau body.type yang tidak dikenali, pertahankan entri mentah jika memungkinkan dan lanjutkan penguraian sisa transkrip. Sistem dapat menambahkan jenis isi pesan baru tanpa mengubah arti kolom yang ada.

Kolom yang tidak digunakan lagi

Dokumen ini tidak mencantumkan kolom yang tidak digunakan lagi untuk rekaman metadata transkrip chat.