Dokumen ini memberikan penjelasan tentang skema JSON yang digunakan untuk menyusun metadata sesi panggilan. Skema ini sangat penting untuk merepresentasikan dan memproses sesi panggilan secara akurat.
Skema metadata sesi panggilan
Skema ini menjelaskan struktur data yang terkait dengan metadata sesi panggilan. Komponen utama dijelaskan di bagian berikut.
Informasi inti
Properti ini mencatat informasi inti panggilan:
id(bilangan bulat). ID untuk setiap sesi panggilan. Ini adalah kunci utama yang membedakan satu panggilan dengan panggilan lainnya.lang(string). Kode bahasa ISO 689 yang digunakan selama panggilan, misalnya —enuntuk bahasa Inggris atauesuntuk bahasa Spanyol. Hal ini sangat penting untuk analisis dan pelaporan khusus bahasa.call_type(string). Jenis panggilan, menggunakan serangkaian jenis lama. Contohnya mencakup — Voice Inbound (Aplikasi), Voice Outbound, dan Voice Internal. Hal ini membantu mengategorikan panggilan berdasarkan asal dan tujuannya.session_type(string): duplikat call_typesession_type_v2(string). Jenis panggilan, menggunakan kumpulan jenis saat ini. Dimensinya mirip dengan call_type, tetapi dapat mencakup perbedaan yang lebih terperinci, seperti Voice Inbound (Seluler) atau Voice Inbound (IVR menggunakan Seluler).status(string). Status panggilan saat ini. Nilai yang mungkin mencakupscheduled,queued,connected,finished,failed, dandeflected. Ini melacak progres panggilan melalui siklus prosesnya.subStatus(string). Memberikan status panggilan yang lebih mendetail. Nilai yang mungkin mencakupwaiting_for_agent,in_queue, danconnected_with_agent.created_at(string, date-time): stempel waktu yang tepat saat rekaman panggilan dibuatqueued_at(string, tanggal dan waktu, atau null): stempel waktu saat panggilan memasuki antrean, atau null jika tidak pernah dimasukkan dalam antreanassigned_at(string, date-time, atau null): stempel waktu saat panggilan diberikan kepada agen, atau null jika tidak diberikanconnected_at(string, date-time, atau null): stempel waktu saat panggilan berhasil terhubungends_at(string, date-time, atau null): stempel waktu saat panggilan berakhirscheduled_at(string, tanggal-waktu, atau null): stempel waktu saat panggilan dijadwalkan, atau null jika merupakan panggilan langsungupdated_at(string, date-time): stempel waktu saat data panggilan terakhir diubahwait_duration(integer): total waktu yang dihabiskan pelanggan untuk menunggu, dalam detikcall_duration(integer): total durasi panggilan, dalam detikhold_duration(integer): total waktu pelanggan ditahan, dalam detik, atau null jika tidak ada waktu penahananrating(integer atau null): rating kepuasan pelanggan (CSAT) yang diberikan oleh pelanggan, atau null jika tidak ada rating yang diberikanhas_feedback(boolean): tanda yang menunjukkan apakah pelanggan memberikan masukan setelah panggilanvoip_provider(string): penyedia VoIP yang digunakan untuk panggilan. Kolom ini tidak digunakan lagi dan akan selalu menampilkandeprecated.out_ticket_id(string): ID tiket yang dibuat di sistem CRM eksternalout_ticket_url(string, uri): URL tiket CRMis_out_ticket_account(boolean): menunjukkan apakah tiket CRM merepresentasikan pelanggan (benar) atau interaksi panggilan (salah)verified(boolean): menunjukkan apakah interaksi diverifikasi melalui tindakan smart verifikasirecording_url(string, uri, atau null): URL rekaman panggilan, atau null jika tidak ada rekaman yang tersediarecording_permission(string). Status izin perekaman pelanggan. Nilai yang mungkin mencakupnot_asked,granted, ataudenied.voicemail_reason(string). Alasan pesan suara ditinggalkan, jika ada. Opsi mencakupnot_voicemail,temporary_redirection, danafter_hour_deflection.
Informasi agen dan agen virtual
Bagian ini menjelaskan siapa atau apa yang menangani panggilan:
agent_info(objek). Kolom ini dapat menyimpan informasi tentang agen manusia atau agen virtual. Objek ini menggunakan kata kunci one of untuk menentukan bahwa objek dapat berupa salah satu dari dua jenis.agent(objek): informasi tentang agen manusia:id(integer): ID agenagent_number(string atau null): ID yang ditetapkan ke agenemail(string, email): alamat email agenname(string): nama lengkap agenlast_name(string): nama belakang agenfirst_name(string): nama depan agenavatar_url(string, uri): URL gambar avatar agen
virtual_agent(objek): informasi tentang agen virtual:id(integer): ID agen virtualname(string): nama agen virtualavatar_url(string, uri): URL gambar avatar agen virtual
Navigasi menu
selected_menu(objek atau null): informasi tentang menu yang dipilih pelanggan selama panggilanid(integer): ID menuname(string): nama menuparent_id(bilangan bulat atau null): ID menu induk, jika adaposition(integer): posisi menu relatif terhadap menu lain di tingkat yang samadeleted(boolean): apakah menu telah dihapusmenu_type(string): jenis menu. Misalnya —ivr_menuatausms_menu.hidden(boolean): apakah menu terlihat dan tersedia untuk digunakan
menu_path(objek atau null): menjelaskan jalur hierarkis menu yang dijelajahi pelangganitems_count(integer): jumlah menu dalam jalurname(string): string nama menu yang dipisahkan dengan garis miring. Misalnya — dukungan atau penagihan.materialized_path(string): string ID menu yang dipisahkan dengan garis miring
Detail pengguna akhir
end_user(objek): informasi tentang pelangganid(bilangan bulat): ID internal pelangganidentifier(string atau null): ID eksternal untuk pelangganout_contact_id(string atau null): ID pelanggan di CRM
Pengalihan panggilan
deflection(string): menunjukkan apakah dan bagaimana panggilan dialihkan. Misalnya —no_deflection,over_cap_phone,after_hours_voicemail.deflection_details(array): memberikan log mendetail tentang pengalihan yang terjadi selama panggilan. Setiap entri mencakup:id(integer): ID untuk catatan log pengalihancall_id(integer): ID panggilantransfer_id(integer atau null): ID transfer yang terkait dengan pengalihan, jika adadeflection(string): jenis pengalihancreated_at(string, date-time): stempel waktu saat pengalihan terjadifrom_menu_path(objek atau null): jalur menu dari mana panggilan dialihkanto_menu_path(objek atau null): jalur menu yang menjadi tujuan pengalihan panggilanto_sip_uri(string atau null): URI SIP yang menjadi tujuan pengalihan panggilan, jika berlakuto_sip_headers(objek): Header SIP yang digunakan untuk mengalihkan panggilan, jika ada
Durasi penanganan panggilan
handle_durations(array): array objek, yang masing-masing merepresentasikan segmen panggilan yang ditangani oleh agen. Hal ini berguna untuk menganalisis waktu penanganan agen.id(integer): ID untuk durasi penangananagent_id(integer): ID agenacw_duration(integer): durasi pekerjaan setelah panggilanbcw_duration(integer): durasi tugas sebelum panggilancall_duration(integer): durasi panggilan selama segmen inimenu_path_id(string atau null): ID jalur menumenu_path(string): nama jalur menulang(string): bahasa yang digunakanbarged(boolean): apakah panggilan diselatransfer(boolean): apakah transfer terjaditransfer_id(string atau null): ID transfertransfer_cold(boolean atau null): apakah transfer dilakukan tanpa pemberitahuanstarted_at(string, date-time): stempel waktu mulaiended_at(string, date-time): stempel waktu akhirscheduled_at(string, tanggal-waktu, atau null): stempel waktu terjadwalhold_duration(integer atau null): durasi penahanan selama segmen iniassigned_connection_duration(integer): durasi pengguna akhir menunggu saat agen terhubung selama fase inisession_breakthrough(objek): detail tentang penugasan pemutusan panggilan melalui status tidak tersedia agen, jika berlaku
Durasi antrean
queue_durations(array): array objek, yang masing-masing mewakili segmen panggilan saat pelanggan berada dalam antrean. Hal ini penting untuk menganalisis waktu tunggu dan tingkat layanan.id(integer): ID untuk durasi antreanagent_id(integer): ID agenended_at(string, date-time): stempel waktu akhirlang(string): bahasa yang digunakanmenu_path_id(integer): ID jalur menumenu_path(string): nama jalur menuqueue_duration(integer): durasi segmen antreanstarted_at(string, date-time): stempel waktu mulaitransfer_cold(boolean): apakah panggilan ditransfer tanpa diketahuitransfer(boolean): apakah transfer terjaditransfer_id(bilangan bulat): ID transferservice_level_abandon_time_threshold(integer): nilai minimum waktu untuk pengabaian tingkat layananservice_level_event(string): status peristiwa tingkat layanan. Misalnya —excluded,in_sla,not_in_sla.service_level_target_percent(integer): target persentase untuk kepatuhan tingkat layananservice_level_target_time(integer): target waktu untuk kepatuhan tingkat layanan
Eskalasi agen virtual
virtual_agent_deflected_escalations(array): detail eskalasi dari agen virtual yang dialihkanid(integer): IDdeflection(string): jenis pembelokanescalation_id(integer): ID peristiwa eskalasiescalation_reason(string): alasan eskalasiescalated_at(string, date-time): stempel waktu eskalasimenu_path_id(integer): ID jalur menumenu_path(string): jalur menulang(string): bahasavirtual_agent(objek): detail agen virtual
Durasi penanganan agen virtual
virtual_agent_handle_durations(array): segmen waktu panggilan ditangani oleh agen virtualid(integer): IDvirtual_agent(objek): detail agen virtualcall_duration(integer): durasi segmenescalation_reason(string): alasan eskalasifinish_reason(string): alasan interaksi berakhirsentiment(bilangan bulat): sentimen pengguna akhirresponse_count(bilangan bulat): jumlah respons agen virtualfallback_response_count(integer): jumlah respons penggantianinitiated_by(string): cara sesi agen virtual dimulaimenu_path_id(integer): ID jalur menumenu_path(string): jalur menulang(string): bahasatransfer(boolean): apakah panggilan dialihkantransfer_id(bilangan bulat): ID peristiwa transferstarted_at(string, date-time): stempel waktu mulaiended_at(string, date-time): stempel waktu akhir
Durasi penanganan pengguna akhir
consumer_handle_durations(array): durasi pengguna akhir melakukan panggilanid(integer): IDcall_duration(integer): durasi segmen pengguna akhirhold_duration(integer): durasi penahanan pengguna akhirstarted_at(string, date-time): stempel waktu mulaiended_at(string, date-time): stempel waktu akhir
Durasi peristiwa pengguna akhir
consumer_event_durations(array): detail peristiwa panggilan pengguna akhir. Misalnya — CSAT atau pembayaran.id(integer): IDduration(integer): durasi acaratype(string): jenis acaraevent(string): hasil peristiwamenu_path_id(integer): ID jalur menumenu_path(string): jalur menulang(string): bahasastarted_at(string, date-time): stempel waktu mulaiended_at(string, date-time): stempel waktu akhir
Durasi dalam menu pengguna akhir
consumer_in_menu_durations(array): durasi interaksi pengguna akhir dalam menuid(integer): IDduration(integer): durasi dalam menuevent(string): hasil interaksi menumenu_path_id(integer): ID jalur menumenu_path(string): jalur menulang(string): bahasastarted_at(string, date-time): stempel waktu mulaiended_at(string, date-time): stempel waktu akhir
Peserta
participants(array): informasi tentang setiap peserta dalam panggilan. Misalnya — pelanggan, agen, agen virtual.id(integer): ID pesertatype(string): jenis peserta. Misalnya — end_user, agent, virtual_agent, dll.entry_type(string): cara peserta bergabung ke panggilanuser_id(integer atau null): ID pengguna jika peserta adalah agenend_user_id(bilangan bulat atau null): ID pengguna akhir jika peserta adalah pelangganvirtual_agent_id(integer atau null): ID agen virtual jika peserta adalah agen virtualvirtual_agent_params(objek): metadata kustom yang digunakan oleh agen virtualstatus(string): status peserta. Misalnya — menunggu, terhubung, selesai, dll.fail_reason(string): alasan kegagalan, jika adaconnected_at(string, date-time): stempel waktu saat peserta terhubungphone_number(string): nomor telepon pesertacall_id(integer): ID untuk panggilancall_duration(integer): durasi panggilan untuk pesertahold_duration(integer atau null): durasi penangguhan untuk pesertaended_at(string, date-time): stempel waktu saat partisipasi peserta berakhiradapter_fail_code(integer atau null): kode numerik yang sesuai dengan alasan kegagalanadapter_fail_message(string atau null): deskripsi yang dapat dibaca manusia tentangfail_reason, jika tersedia.
Rekaman
recordings(array): informasi tentang rekaman panggilanid(integer): ID untuk rekamancall_id(bilangan bulat): ID panggilanconference_sid(string): ID panggilan penyedia VoIPduration(integer): durasi perekamanrecording_type(string): jenis rekamanredaction_times(array): segmen waktu yang disamarkanstarted_at(string, date-time): stempel waktu mulai perekaman
Menawarkan acara
offer_type(string atau null): cara panggilan ditawarkan kepada agenoffer_events(array): peristiwa saat panggilan ditawarkan kepada agencasting_time(date-time): waktu penawaran panggilangroup(string): Grup yang menawarkan panggilan
Detail lainnya
answer_type(string atau null): cara panggilan dijawab. Misalnya — manual atau otomatis.outbound_number(string): nomor telepon keluar yang digunakanwait_time_sms(array): interaksi SMS waktu tungguin_call_sms(array): Interaksi SMS selama panggilandispositions(array): disposisi yang dicatat selama panggilanemail(string, email, atau null): alamat email pelangganfeedback(string atau null): masukan pelanggansmart_action_text(string atau null): teks dari tindakan smart apa pun yang dilakukancustom_data_secured(objek atau null): data kustom yang ditandatangani dengan amancustom_data_not_secured(objek atau null): data khusus yang ditandatangani secara tidak aman
Definisi kunci
Skema juga mencakup bagian definisi, yang menentukan komponen skema yang dapat digunakan kembali:
menu_path: jalur menu hierarkisagent: agen manusiavirtual_agent: agen virtualdeflection: menentukan kemungkinan status pengalihan