Metadata transkrip chat

Dokumen ini menjelaskan skema JSON yang digunakan untuk menyusun metadata transkrip chat. Skema ini diperlukan untuk merepresentasikan dan memproses percakapan chat secara akurat.

Skema metadata transkrip chat

Skema ini menjelaskan struktur data transkrip chat. Komponen inti dijelaskan di bagian berikut:

Informasi transkrip inti

Properti berikut memberikan informasi mendasar tentang transkrip itu sendiri:

  • comm_type (string). Jenis komunikasi yang terkait dengan transkrip ini. Dapat berupa chat atau panggilan untuk panggilan dengan fungsi SMS gabungan.

  • comm_id (bilangan bulat). ID untuk komunikasi, misalnya — chat atau panggilan yang terkait dengan transkrip ini.

  • transcript_version (string). Versi format transkrip. Hal ini diperlukan untuk kompatibilitas mundur saat mengurai transkrip.

  • assigned_at (string, tanggal-waktu). Stempel waktu saat chat ditetapkan.

  • timezone (string). Zona waktu saat percakapan dilakukan.

Definisi Pesan

Bagian definitions berisi komponen skema yang dapat digunakan kembali yang menentukan struktur berbagai jenis pesan dalam transkrip. Hal ini memberikan fleksibilitas dalam menangani berbagai format konten:

  • text (objek): merepresentasikan pesan teks

    • type (string): harus "text"

    • content (string): konten teks sebenarnya dari pesan

    • lang (string): bahasa konten teks

  • text_template (objek): merepresentasikan pesan teks ber-template

    • type (string): harus text_template

    • content (string): konten template teks, yang mungkin menyertakan placeholder

  • markdown (objek): merepresentasikan pesan menggunakan pemformatan Markdown

    • type (string): harus Markdown

    • content (string): konten template Markdown

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

    • type (string): harus markdown_template.

    • content (string): konten template Markdown, mungkin dengan placeholder

  • photo (objek): merepresentasikan pesan yang berisi foto

    • type (string): harus photo

    • media_id (integer): ID file media untuk foto

  • video (objek): merepresentasikan pesan yang berisi video

    • title (string): judul video

    • video (objek): detail tentang video

      • url (string): URL video

      • text (string): alternatif teks untuk URL video

    • media_id (integer): ID media untuk mengambil URL video jika tidak diberikan secara langsung

  • image (objek): merepresentasikan pesan yang berisi gambar

    • title (string): judul gambar

    • image (objek): detail tentang gambar

      • url (string): URL gambar

      • text (string): alternatif teks untuk URL gambar

  • document (objek): mewakili pesan yang berisi dokumen

    • title (string): judul dokumen

    • document (objek): detail tentang dokumen

      • url (string): URL dokumen.

      • text (string): alternatif teks untuk URL dokumen

  • inline_button (objek): mewakili sekumpulan tombol inline

    • title (string): judul set tombol inline

    • buttons (array): array objek tombol

      • title (string): judul tombol

      • action (string): nama tindakan yang ditunjukkan oleh tombol

      • link (string): Link URL untuk tindakan link balasan cepat

  • sticky_button (objek): mewakili sekumpulan tombol tetap

    • title (string): judul set tombol tetap

    • buttons (array): array objek tombol

      • title (string): judul tombol

      • action (string): nama tindakan yang ditunjukkan oleh tombol

      • link (string): Link URL untuk tindakan link balasan cepat

  • content_card (objek): merepresentasikan kartu konten

    • cards (array): array objek kartu konten

      • title (string): judul kartu konten

      • body (string): teks isi kartu konten

  • server_message (objek): merepresentasikan pesan yang diambil dari server

    • message_id (bilangan bulat): ID pesan server yang disimpan

    • content (string): konten pesan yang diambil dari server

  • action (objek): mewakili tindakan yang dilakukan selama percakapan. Nilainya dapat berupa salah satu berikut:

    • action_escalation (objek): merepresentasikan tindakan eskalasi

      • action (string): harus "escalation"

      • escalation_reason (string): alasan eskalasi.

      • menu_id (bilangan bulat): ID yang harus dihubungi untuk eskalasi komunikasi

      • language (string): Kode bahasa ISO 689 antrean yang akan dinaikkan

    • action_deflection (objek): merepresentasikan tindakan pengalihan

      • action (string): harus deflection

      • deflection_type (string): jenis pengalihan

      • sip_parameters (objek atau null): Parameter SIP yang akan diteruskan sebagai bagian dari pengalihan, jika ada

    • action_end (objek): mewakili tindakan akhir

      • action (string): harus end
  • noti (objek): mewakili pesan notifikasi. Notifikasi dapat berupa salah satu dari berbagai jenis notifikasi:

    • noti_transfer_started (objek): notifikasi untuk transfer yang dimulai.

      • type (string): harus noti

      • event (string): harus "transferStarted"

      • target (string): tujuan target transfer, misalnya — menu atau agen.

      • agent (objek): agen yang memulai pengalihan

        • id (integer): ID agen

        • email (string): email agen

        • name (string): nama agen

    • noti_verification_requested (objek): notifikasi untuk permintaan verifikasi

    • type (string): harus noti

    • event (string): harus verificationRequested

    • agent (objek): agen yang meminta verifikasi

      • id (integer): ID agen yang meminta verifikasi

      • email (string): email agen yang meminta verifikasi

      • name (string): nama agen yang meminta verifikasi

    • noti_end_user_verified (objek): notifikasi saat pengguna akhir diverifikasi

      • type (string): harus noti

      • event (string): harus endUserVerified

    • Jenis noti_\* lainnya menentukan notifikasi untuk berbagai peristiwa seperti permintaan foto, permintaan video, peristiwa penjelajahan bersama, peristiwa agen virtual tugas, bergabungnya agen, dan perubahan status transfer atau eskalasi.

    • noti_custom (objek): mewakili notifikasi kustom.

      • type (string): harus noti

      • event (string): harus custom

      • detail (objek): detail peristiwa kustom

      • key (string): kunci yang mewakili detail peristiwa kustom

      • data (objek): payload peristiwa yang ditentukan kustom

Entri transkrip

  • entries (array): Array objek, di mana setiap objek mewakili pesan individual yang dikirim dalam chat.

    • timestamp (string): stempel waktu saat pesan dikirim

    • type (string): jenis pesan, yang merujuk pada salah satu definisi yang dijelaskan sebelumnya, misalnya — text, photo, noti.

    • body (objek): konten pesan, sesuai dengan struktur yang ditentukan oleh jenis pesan. Fitur ini menggunakan oneOf untuk mengakomodasi berbagai jenis bentuk tubuh.

    • role (string): peran peserta yang mengirim pesan. Nilai yang mungkin mencakup end_user, agent, manager, virtual_agent, external_agent, task_virtual_agent, system.

    • user_data (objek): data untuk pengguna yang mengirim pesan, kecuali jika pesan tersebut adalah pesan end_user atau sistem.

      • name (string): nama pengguna

      • id (integer): ID unik pengguna

    • avatar_url (string): URL penyimpanan untuk avatar pengguna