Metadata transkrip chat

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

Skema metadata transkrip chat

Skema ini menjelaskan data 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 dimiliki transkrip ini. Komunikasi ini dapat berupa chat atau panggilan untuk panggilan dengan fungsi SMS gabungan.

  • comm_id (integer). 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, date-time). Stempel waktu saat chat ditetapkan.

  • timezone (string). Zona waktu saat chat 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 (object): mewakili pesan teks

    • type (string): harus "text"

    • content (string): konten teks sebenarnya dari pesan

    • lang (string): bahasa konten teks

  • text_template (object): mewakili pesan teks yang menggunakan template

    • type (string): harus text_template

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

  • markdown (object): mewakili pesan menggunakan format Markdown

    • type (string): harus Markdown

    • content (string): konten template Markdown

  • markdown_template (object): mewakili pesan Markdown yang menggunakan template

    • type (string): harus markdown_template.

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

  • photo (object): mewakili pesan yang berisi foto

    • type (string): harus photo

    • media_id (integer): ID file media untuk foto

  • video (object): mewakili pesan yang berisi video

    • title (string): judul video

    • video (object): 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 (object): mewakili pesan yang berisi gambar

    • title (string): judul gambar

    • image (object): detail tentang gambar

      • url (string): URL gambar

      • text (string): alternatif teks untuk URL gambar

  • document (object): mewakili pesan yang berisi dokumen

    • title (string): judul dokumen

    • document (object): detail tentang dokumen

      • url (string): URL dokumen.

      • text (string): alternatif teks untuk URL dokumen

  • inline_button (object): mewakili kumpulan tombol inline

    • title (string): judul kumpulan tombol inline

    • buttons (array): array objek tombol

      • title (string): judul tombol

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

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

  • sticky_button (object): mewakili kumpulan tombol tetap

    • title (string): judul kumpulan tombol tetap

    • buttons (array): array objek tombol

      • title (string): judul tombol

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

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

  • content_card (object): mewakili kartu konten

    • cards (array): array objek kartu konten

      • title (string): judul kartu konten

      • body (string): teks isi kartu konten

  • server_message (object): mewakili pesan yang diambil dari server

    • message_id (integer): ID pesan server yang disimpan

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

  • action (object): mewakili tindakan yang dilakukan selama chat. Tindakan ini dapat berupa salah satu hal berikut:

    • action_escalation (object): mewakili tindakan eskalasi

      • action (string): harus "escalation"

      • escalation_reason (string): alasan eskalasi.

      • menu_id (integer): ID tempat komunikasi harus ditingkatkan

      • language (string): kode bahasa ISO 689 dari antrean tempat eskalasi

    • action_deflection (object): mewakili tindakan pengalihan

      • action (string): harus deflection

      • deflection_type (string): jenis pengalihan

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

    • action_end (object): mewakili tindakan akhir

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

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

      • type (string): harus noti

      • event (string): harus "transferStarted"

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

      • agent (object): agen yang memulai transfer

        • id (integer): ID agen

        • email (string): email agen

        • name (string): nama agen

    • noti_verification_requested (object): notifikasi untuk permintaan verifikasi

    • type (string): harus noti

    • event (string): harus verificationRequested

    • agent (object): 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 (object): notifikasi untuk 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 (object): mewakili notifikasi kustom.

      • type (string): harus noti

      • event (string): harus custom

      • detail (object): detail peristiwa kustom

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

      • data (object): payload peristiwa yang ditentukan kustom

Entri transkrip

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

    • timestamp (string): stempel waktu saat pesan dikirim

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

    • body (object): konten pesan, yang sesuai dengan struktur yang ditentukan oleh jenis pesan. Pesan ini menggunakan oneOf untuk memungkinkan berbagai jenis isi.

    • 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 (object): 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