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 tekstype(string): harus "text"content(string): konten teks sebenarnya dari pesanlang(string): bahasa konten teks
text_template(objek): merepresentasikan pesan teks ber-templatetype(string): harustext_templatecontent(string): konten template teks, yang mungkin menyertakan placeholder
markdown(objek): merepresentasikan pesan menggunakan pemformatan Markdowntype(string): harusMarkdowncontent(string): konten template Markdown
markdown_template(objek): merepresentasikan pesan Markdown yang dibuat dengan templatetype(string): harusmarkdown_template.content(string): konten template Markdown, mungkin dengan placeholder
photo(objek): merepresentasikan pesan yang berisi fototype(string): harusphotomedia_id(integer): ID file media untuk foto
video(objek): merepresentasikan pesan yang berisi videotitle(string): judul videovideo(objek): detail tentang videourl(string): URL videotext(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 gambartitle(string): judul gambarimage(objek): detail tentang gambarurl(string): URL gambartext(string): alternatif teks untuk URL gambar
document(objek): mewakili pesan yang berisi dokumentitle(string): judul dokumendocument(objek): detail tentang dokumenurl(string): URL dokumen.text(string): alternatif teks untuk URL dokumen
inline_button(objek): mewakili sekumpulan tombol inlinetitle(string): judul set tombol inlinebuttons(array): array objek tomboltitle(string): judul tombolaction(string): nama tindakan yang ditunjukkan oleh tombollink(string): Link URL untuk tindakan link balasan cepat
sticky_button(objek): mewakili sekumpulan tombol tetaptitle(string): judul set tombol tetapbuttons(array): array objek tomboltitle(string): judul tombolaction(string): nama tindakan yang ditunjukkan oleh tombollink(string): Link URL untuk tindakan link balasan cepat
content_card(objek): merepresentasikan kartu kontencards(array): array objek kartu kontentitle(string): judul kartu kontenbody(string): teks isi kartu konten
server_message(objek): merepresentasikan pesan yang diambil dari servermessage_id(bilangan bulat): ID pesan server yang disimpancontent(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 eskalasiaction(string): harus "escalation"escalation_reason(string): alasan eskalasi.menu_id(bilangan bulat): ID yang harus dihubungi untuk eskalasi komunikasilanguage(string): Kode bahasa ISO 689 antrean yang akan dinaikkan
action_deflection(objek): merepresentasikan tindakan pengalihanaction(string): harusdeflectiondeflection_type(string): jenis pengalihansip_parameters(objek atau null): Parameter SIP yang akan diteruskan sebagai bagian dari pengalihan, jika ada
action_end(objek): mewakili tindakan akhiraction(string): harusend
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): harusnotievent(string): harus "transferStarted"target(string): tujuan target transfer, misalnya — menu atau agen.agent(objek): agen yang memulai pengalihanid(integer): ID agenemail(string): email agenname(string): nama agen
noti_verification_requested(objek): notifikasi untuk permintaan verifikasitype(string): harusnotievent(string): harusverificationRequestedagent(objek): agen yang meminta verifikasiid(integer): ID agen yang meminta verifikasiemail(string): email agen yang meminta verifikasiname(string): nama agen yang meminta verifikasi
noti_end_user_verified(objek): notifikasi saat pengguna akhir diverifikasitype(string): harusnotievent(string): harusendUserVerified
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): harusnotievent(string): haruscustomdetail(objek): detail peristiwa kustomkey(string): kunci yang mewakili detail peristiwa kustomdata(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 dikirimtype(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 menggunakanoneOfuntuk mengakomodasi berbagai jenis bentuk tubuh.role(string): peran peserta yang mengirim pesan. Nilai yang mungkin mencakupend_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 penggunaid(integer): ID unik pengguna
avatar_url(string): URL penyimpanan untuk avatar pengguna