Metadata transkrip chat

Dokumen ini menjelaskan skema data metadata transkrip chat. Ini adalah file JSON yang dibuat oleh Contact Center AI Platform (CCAI Platform) untuk transkrip chat yang telah selesai. Data metadata transkrip chat dihasilkan oleh ekspor JSON histori chat dan dapat dikirim melalui upload transkrip CRM dan file transkrip penyimpanan eksternal, 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

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

ID komunikasi comm_type dan comm_id

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

  • comm_type mengidentifikasi jenis komunikasi. Nilainya biasanya chat. Nilainya dapat berupa call untuk panggilan suara yang menyertakan 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 dengan versi baru dan harus mengabaikan kolom yang tidak dikenali.

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

Setiap item dalam entries mewakili satu pesan atau peristiwa transkrip. Kolom type tingkat entri mencerminkan jenis isi pesan. Objek body bertingkat membawa payload yang bentuknya bervariasi menurut jenis - 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 dasar 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, tanggal-waktu): 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 bodi 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 (bilangan bulat; 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 menggunakan 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 di-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 (bilangan bulat): ID media foto yang disimpan.

  • video (objek): Isi pesan video.

    • type (string): Selalu video.

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

    • title (string; ada saat objek video tersemat mewakili video): Judul video.

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

      • url (string, uri): URL video.

      • text (string): Teks alternatif atau URL pengganti untuk video.

  • image (objek): Isi pesan gambar.

    • type (string): Selalu image.

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

    • image (objek): Detail gambar.

      • url (string, uri): URL gambar.

      • text (string): Teks alternatif atau URL pengganti untuk gambar.

  • document (objek): Isi pesan dokumen.

    • type (string): Selalu document.

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

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

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

      • url (string, uri): URL dokumen.

      • text (string): Teks alternatif atau URL pengganti untuk dokumen.

  • audio (objek): Isi pesan audio.

    • type (string): Selalu audio.

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

    • title (string; ada saat objek audio tersemat mewakili file audio): Judul file audio.

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

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

      • text (string): Teks alternatif atau URL pengganti 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 bergaya link): URL yang terkait dengan tombol.

  • sticky_button (objek): Isi pesan tombol melekat.

    • 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 bergaya 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 jika 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 (bilangan bulat): ID tindakan cerdas yang terkait dengan formulir.

      • timestamp (string, tanggal-waktu): Stempel waktu saat peristiwa pengisian 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 dihasilkan server dan passthrough

  • server_message (objek): Isi pesan yang dibuat server. Transkrip hanya menyertakan entri server_message jika Anda mengaktifkan konten transkrip agen virtual tugas untuk akun Anda; jika tidak, transkrip akan menghilangkan entri ini. Gunakan objek ini saat transkrip merujuk ke 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 CCAI Platform untuk integrasi agen virtual atau CCaaS. Integrasi Anda menentukan content-nya, yang bukan bagian dari skema CCAI Platform; perlakukan sebagai buram.

    • type (string): Selalu passthrough.

    • content (string atau objek): Payload yang ditentukan integrasi. Strukturnya bervariasi menurut integrasi, dan CCAI Platform 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 dieskalasi.

    • menu_id (bilangan bulat; hanya ada jika action adalah escalation): ID menu yang harus menjadi tujuan 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 defleksi.

Isi pesan notifikasi

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

    • 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 (bilangan bulat): 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 (bilangan bulat): ID agen.

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

      • name (string): Nama tampilan agen.

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

      • id (bilangan bulat): 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 (bilangan bulat): 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 tersebut.

      • id (bilangan bulat): 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 acara yang memiliki status chat): Status chat yang terkait dengan acara.

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

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

    • memberName (string; hanya ada untuk peristiwa bergabung atau keluarnya 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 defleksi): Detail defleksi.

    • 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 satu sumber tepercaya, mempertahankan semua peristiwa notifikasi dalam daftar berikut ke JSON transkrip. Daftar ini mengelompokkan peristiwa tersebut berdasarkan kelompok.

Permintaan tindakan cerdas

  • verificationRequested

  • photoRequested

  • videoRequested

  • screenshotRequested

  • textRequested

  • cobrowseRequestedFromAgent

Hasil tindakan cerdas

  • Selesai: photoFinished, videoFinished, screenshotFinished, textFinished
  • Dibatalkan: photoCanceled, videoCanceled, screenshotCanceled, textCanceled
  • Gagal: photoFailed, videoFailed, screenshotFailed, textFailed, verificationFailed

Verifikasi

  • endUserVerified

Co-browse

  • 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

  • agentJoined

  • memberJoined

  • memberLeft

Siklus proses sesi

  • chatEnded

  • chatEndedWithPostSession

  • chatDismissed

  • chatReactivated

  • checkInRequired

  • checkInTimedOut

  • transcriptRequested

  • transcriptUpdated

Kustom

  • custom

Untuk data dengan comm_type yang ditetapkan ke call, peristiwa notifikasi transkrip panggilan tambahan mungkin akan muncul. Peristiwa ini terkait dengan penanganan transkrip panggilan atau Agent Assist, bukan kelompok 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 mengarah kembali ke bagian ini, bukan menentukan ulang bentuknya secara inline.

entry (object)

Mewakili satu pesan, notifikasi, atau tindakan transkrip. 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)

Menjelaskan 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 pada 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 dihasilkan server, isi tindakan, dan isi notifikasi. Lihat Isi pesan teks hingga Isi pesan notifikasi untuk mengetahui daftar lengkap varian yang terdokumentasi.

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. Sistem dapat menambahkan kolom baru dan varian isi pesan seiring waktu, 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 dalam 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 mengurai 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 kumpulan data metadata transkrip chat.