Metadata sesi chat

Dokumen ini menjelaskan skema rekaman metadata sesi chat. Catatan metadata adalah dokumen JSON yang dibuat Contact Center AI Platform untuk sesi chat dukungan. CCAI Platform mengirimkan catatan metadata ke integrasi CRM Anda sebagai bagian dari perintah session-end chat. Saat Anda mengaktifkan penyimpanan eksternal, Platform CCAI juga menuliskan rekaman ke konfigurasi penyimpanan eksternal menggunakan file metadata.json. Setiap percakapan menghasilkan satu catatan, yang diidentifikasi secara unik oleh id tingkat teratas. Gunakan skema ini untuk menyerap rekaman ke dalam sistem hilir, memvalidasi payload yang diterima, atau memetakan kolom ke dalam kolom gudang data.

Root skema

Catatan metadata sesi chat adalah satu objek JSON yang merepresentasikan satu sesi chat. Tiga konsep di tingkat teratas menentukan identitas dan bentuk rekaman.

Kunci utama: id (bilangan bulat)

Mengidentifikasi sesi chat secara unik dalam tenant Anda. Satu rekaman ada per chat. Semua kolom, array, dan objek bertingkat level teratas lainnya menjelaskan atribut percakapan yang diidentifikasi oleh id ini.

Diskriminator handler: agent_info (object, oneOf)

Satu objek yang bentuknya bervariasi, bergantung pada handler terakhir chat. Kedua varian tidak dapat muncul bersamaan — hanya satu yang akan muncul:

  • Varian agen manusia: Hadir saat penangan terakhir chat adalah agen manusia. Membawa email, first_name, last_name, dan agent_number selain kolom id, name, dan avatar_url yang dibagikan.

  • Varian agen virtual: Hadir saat penanganan terakhir chat adalah agen virtual. Membawa va_alias dan menghilangkan email, first_name, last_name, dan agent_number.

Untuk mendeteksi varian yang dibawa oleh suatu rekaman, periksa keberadaan kolom khusus varian, biasanya agent_info.email untuk varian agen manusia atau agent_info.va_alias untuk varian agen virtual. Definisi lengkap untuk setiap varian muncul di Definisi: agent dan Definisi: virtual_agent.

Diskriminator bentuk chat: chat_type, session_type, session_type_v2 (string)

Tiga tampilan paralel dari jenis chat pokok yang sama. Keduanya tidak pernah berbeda pendapat tentang jenis chat yang diwakili oleh suatu rekaman; keduanya hanya berbeda dalam kosakata yang digunakan untuk menamainya.

  • chat_type: Menggunakan kosakata enum lama, seperti Messaging Inbound (App Chat), Messaging (SMS), dan Messaging (WhatsApp).

  • session_type: Selalu menampilkan string yang sama dengan chat_type. Kolom ini ada untuk kompatibilitas mundur dengan integrasi yang menggunakan kolom ini sebagai kunci; perlakukan kolom ini sebagai alias chat_type yang tidak digunakan lagi.

  • session_type_v2: Menggunakan kosakata enum saat ini, yang dapat mencakup perbedaan yang lebih mendetail seperti Masuk Pesan (Chat Seluler). Untuk jenis chat yang tidak memiliki nilai khusus v2, session_type_v2 menampilkan string yang sama dengan chat_type. Integrasi baru harus mengurai session_type_v2.

Untuk nilai setiap kolom, lihat Informasi inti.

Informasi inti

  • id (integer): ID unik untuk setiap sesi chat. Kunci utama ini membedakan satu percakapan dengan percakapan lainnya.

  • lang (string): Kode bahasa ISO 639 yang digunakan selama chat (misalnya, "en" untuk bahasa Inggris, "es" untuk bahasa Spanyol).

  • chat_type (string): Jenis chat, menggunakan kosakata jenis lama. Nilai mencakup "Messaging Inbound (App Chat)", "Messaging Inbound (Web Chat)", "Messaging (SMS)", "Messaging (WhatsApp)", dan "Messaging (Apple Messaging for Business)".

  • session_type (string): Duplikat chat_type (nilai yang sama), dipertahankan untuk kompatibilitas mundur. Lihat Pembuatan versi dan penghentian penggunaan: Duplikat lama.

  • session_type_v2 (string): Jenis chat, menggunakan kosakata jenis saat ini. Hal ini menyaring nilai chat_type dengan perbedaan yang lebih terperinci. Nilai mencakup "Messaging Inbound (Mobile Chat)", "Messaging Inbound (Web Chat)", "Messaging (WhatsApp)", "Messaging (Apple Messaging for Business)", "Messaging (SMS)", "Messaging Inbound (SMS)", "Messaging Outbound (SMS)", "Messaging Outbound (SMS using the API)", "Messaging Inbound (SMS Direct)", "Messaging Outbound (SMS Direct)", dan "Messaging Outbound (SMS Direct using the API)".

  • status (string): Status chat saat ini. Nilai yang mungkin: "queued", "selecting", "assigned", "va_assigned", "dismissed", "va_dismissed", "check_in_timeout", "finished", "no_response", "canceled", dan "failed". (CCAI Platform melaporkan chat yang selesai dan tidak menerima balasan konsumen sebagai "no_response".)

  • sub_status (string atau null): Detail status yang lebih spesifik untuk chat, jika ada. Nilai yang mungkin: "selecting", "queued", "ongoing", "dismissed", "finished", "timeout", "deflected", "abandoned", "expired", "failed", "disconnected_by_agent", "disconnected_by_end_user", "no_messages", "no_messages_disconnected_by_agent", "no_messages_disconnected_by_end_user", dan "end_user_opt_out".

  • created_at (string, date-time): Stempel waktu saat CCAI Platform membuat sesi chat.

  • assigned_at (string, date-time, atau null): Stempel waktu saat Platform CCAI menetapkan percakapan ke agen, atau null jika tidak ditetapkan.

  • ends_at (string, date-time, atau null): Stempel waktu saat sesi chat berakhir.

  • updated_at (string, waktu tanggal): Stempel waktu saat CCAI Platform terakhir kali memperbarui data chat.

  • first_msg_sent_at (string, date-time, atau null): Stempel waktu saat peserta mengirim pesan pertama dalam chat.

  • last_msg_sent_at (string, date-time, atau null): Stempel waktu saat peserta mengirim pesan terakhir dalam chat.

  • wait_duration (integer): Total waktu yang dihabiskan konsumen untuk menunggu, dalam detik.

  • chat_duration (integer): Total durasi chat, dalam detik.

  • verified (boolean): Menunjukkan apakah tindakan smart verifikasi memverifikasi interaksi.

  • rating (integer atau null): Rating kepuasan pelanggan (CSAT) yang diberikan konsumen, atau null jika konsumen tidak memberikan rating.

  • has_feedback (boolean): Menunjukkan apakah konsumen memberikan masukan setelah chat.

  • out_ticket_id (string atau null): ID tiket yang dibuat oleh Platform CCAI di sistem CRM eksternal.

  • out_ticket_url (string, uri, atau null): URL tiket CRM.

  • is_out_ticket_account (boolean atau null): Menunjukkan apakah tiket CRM mewakili pelanggan (benar) atau interaksi chat (salah).

  • fail_reason (string): Alasan kegagalan selama percakapan, atau "nothing" saat percakapan tidak gagal. Nilai yang mungkin: "nothing", "unknown", "expired", "after_hours", "escalation_failed", "check_in_timed_out", "check_in_timed_out_expired", "expired_menu_selection", "end_user_opt_out", "over_cap_email", "group_deleted_no_substitute", "presession_deflection_unknown", "presession_deflection_timeout", "presession_deflection_message_delivery_failed", "sms_error", dan "force_ended".

  • provider_type (string): Jenis penyedia chat yang digunakan. Nilai yang mungkin: "unknown", "messaging", "twilio_conversations", "nexmo_conversations", dan "ujet_conversations".

  • provider_channel_id (string atau null): ID channel khusus penyedia untuk chat.

  • message_count (integer): Jumlah total pesan yang dikirim dan diterima dalam chat.

  • average_response_time (bilangan bulat): Waktu rata-rata yang dibutuhkan agen untuk merespons selama chat, dalam detik.

  • longest_response_time (integer): Waktu terlama yang dibutuhkan agen untuk merespons selama percakapan, dalam detik.

  • transcript (boolean): Menunjukkan apakah transkrip chat ada untuk sesi tersebut.

Informasi agen dan agen virtual

  • agent_info (objek): Informasi tentang agen manusia atau agen virtual yang terakhir menangani chat. Kolom ini menggunakan kata kunci oneOf untuk menentukan bahwa kolom tersebut dapat berupa salah satu dari dua jenis.

    • agent (objek): Informasi tentang agen manusia:

      • id (integer): ID unik agen.

      • agent_number (string atau null): ID yang ditetapkan ke agen.

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

      • name (string): Nama lengkap agen.

      • last_name (string): Nama belakang agen.

      • first_name (string): Nama depan agen.

      • avatar_url (string, uri, atau null): URL gambar avatar agen.

    • virtual_agent (objek): Informasi tentang agen virtual:

      • id (integer): ID unik agen virtual.

      • name (string): Nama agen virtual.

      • avatar_url (string, uri, atau null): URL gambar avatar agen virtual.

      • va_alias (string atau null): Alias tampilan agen virtual, jika dikonfigurasi. Selalu ada di payload; null jika tidak ada alias yang ditetapkan.

  • selected_menu (objek atau null): Informasi tentang menu yang dipilih konsumen selama percakapan.

    • id (integer): ID unik menu.

    • name (string): Nama menu.

    • parent_id (bilangan bulat atau null): ID menu induk, jika ada.

    • position (integer atau null): Posisi menu relatif terhadap menu lain di tingkat yang sama.

    • deleted (boolean): Menunjukkan apakah administrator menghapus menu.

    • menu_type (string): Jenis menu (misalnya, "sms_menu", "web_menu").

    • hidden (boolean): Apakah menu terlihat atau tersedia untuk digunakan.

    • menu_path (objek atau null): Mendeskripsikan jalur hierarkis menu yang dijelajahi pelanggan.

    • items_count (integer): Jumlah menu di jalur.

    • name (string atau null): String nama menu yang dipisahkan dengan garis miring (misalnya, "Support/Billing"), atau null jika jalur menu tidak tersedia.

    • materialized_path (string): String ID menu yang dipisahkan dengan garis miring.

  • queue_priority_level (integer): Prioritas antrean yang ditetapkan untuk antrean yang dipilih chat. Hanya ada jika prioritas antrean diaktifkan di akun Anda.

Detail pengguna akhir

  • end_user (objek atau null): Informasi tentang konsumen:

    • id (bilangan bulat atau null): ID internal konsumen.

    • identifier (string atau null): ID eksternal untuk konsumen.

    • out_contact_id (string atau null): ID konsumen di CRM.

Flag pelanggan dan data yang disediakan SDK

  • customer_flag (objek): Flag yang menandai atribut konsumen penting yang disediakan atau diperbarui oleh sistem eksternal selama sesi. Hanya ada jika sistem eksternal memberikan atau memperbarui tanda pelanggan terkait autentikasi selama sesi.

    • verified_customer (boolean): Menunjukkan apakah sistem eksternal menandai konsumen sebagai terverifikasi.

    • bad_actor (boolean): Menunjukkan apakah sistem eksternal menandai konsumen sebagai pihak tidak bertanggung jawab.

    • repeat_customer (boolean): Menunjukkan apakah sistem eksternal menandai konsumen sebagai pelanggan berulang.

  • custom_data_secured (objek atau null): Data khusus yang ditandatangani dengan aman yang disediakan oleh SDK atau Apps API.

  • custom_data_not_secured (objek atau null): Data kustom yang ditandatangani secara tidak aman yang disediakan oleh SDK atau Apps API.

  • sip_headers (objek): Header SIP masuk yang diambil untuk chat. Kunci dan nilai mencerminkan header SIP yang diterima dari penyedia upstream. Hanya ada jika Anda mengaktifkan pengambilan header SIP di akun dan mengonfigurasinya agar muncul di metadata sesi

Lampiran media

  • photos (array): Foto atau screenshot yang terkait dengan percakapan.

    • id (integer): ID unik untuk foto.

    • photo_type (string): Jenis foto. Nilai yang mungkin mencakup "photo" dan "screenshot".

    • url (string, uri): URL ke foto yang disimpan.

    • smart_action_type (string atau null): Tindakan smart yang terkait dengan foto, jika ada.

    • transfer_id (integer atau null): ID peristiwa transfer yang terkait dengan foto, jika peserta menguploadnya setelah transfer selesai.

  • videos (array): Video yang terkait dengan percakapan.

    • id (integer): ID unik untuk video.

    • url (string, uri): URL ke video yang disimpan.

    • smart_action_type (string atau null): Tindakan smart yang terkait dengan video, jika ada.

    • transfer_id (integer atau null): ID peristiwa transfer yang terkait dengan video, jika peserta menguploadnya setelah transfer selesai.

Transfer chat

  • transfers (array): Satu entri per peristiwa transfer selama chat. Mencatat transfer antara agen, agen virtual, dan menu.

    • id (integer): ID unik transfer.

    • status (string): Status transfer saat ini. Nilai yang mungkin mencakup "transferring", "transferred", "failed", dan "deflected".

    • fail_reason (string): Alasan transfer gagal, atau "nothing" jika tidak gagal. Nilai yang mungkin: "nothing", "timeout", "canceled", "ag_connection_timeout", "va_failure", "agent_detection_missed", "unknown", dan "unreachable_phone_number".

    • created_at (string, date-time): Stempel waktu saat transfer dimulai.

    • assigned_at (string, date-time, atau null): Stempel waktu saat CCAI Platform menetapkan transfer.

    • connected_at (string, date-time, atau null): Stempel waktu saat transfer terhubung.

    • updated_at (string, date-time, atau null): Stempel waktu saat CCAI Platform terakhir kali memperbarui catatan transfer.

    • call_duration (integer atau null): Durasi segmen chat yang ditransfer, dalam detik.

    • wait_duration (integer atau null): Waktu tunggu konsumen selama transfer, dalam detik.

    • deflection (string): Jenis pengalihan yang terkait dengan transfer. Lihat Definisi: deflection untuk mengetahui nilai yang diizinkan.

    • answer_type_path (string atau null): Jalur yang menjelaskan cara agen atau menu menjawab percakapan asli dan tujuan.

    • from_menu_path / to_menu_path (objek atau null): Jalur menu sebelum dan setelah transfer; bentuknya sama dengan menu_path di Definitions.

    • from_agent / to_agent (objek atau null): Agen manusia di setiap sisi transfer; bentuknya sama dengan objek agent di Definitions.

    • from_virtual_agent / to_virtual_agent (objek atau null): Agen virtual di setiap sisi transfer; bentuknya sama dengan objek virtual_agent di Definitions.

    • from_queue_priority_level / to_queue_priority_level (bilangan bulat atau null): Prioritas antrean sebelum dan setelah transfer.

Durasi penanganan chat

  • handle_durations (array): Array objek, yang masing-masing merepresentasikan segmen percakapan yang ditangani oleh agen.

    • id (integer): ID unik untuk durasi penanganan.

    • agent_id (bilangan bulat atau null): ID agen.

    • acw_duration (integer): Durasi kerja setelah chat, dalam detik.

    • chat_duration (integer): Durasi chat selama segmen ini, dalam detik.

    • menu_path_id (integer atau null): ID jalur menu.

    • menu_path (string): Nama jalur menu.

    • lang (string): Bahasa yang digunakan.

    • transfer (boolean): Apakah transfer terjadi.

    • transfer_id (bilangan bulat atau null): ID transfer.

    • started_at (string, date-time, atau null): Stempel waktu mulai.

    • ended_at (string, date-time, atau null): Stempel waktu akhir.

    • response_count (integer): Jumlah respons agen.

    • response_time_total (bilangan bulat): Total waktu respons agen, dalam detik.

    • response_time_max (integer): Waktu respons agen terlama, dalam detik.

    • response_time_avg (angka atau null): Waktu respons rata-rata agen, dalam detik. Nilai ini dapat mencakup presisi desimal.

    • assigned_connection_duration (integer): Durasi konsumen menunggu saat agen yang ditetapkan terhubung selama segmen ini.

Durasi antrean

  • queue_durations (array): Array objek, yang masing-masing mewakili segmen percakapan tempat konsumen menunggu dalam antrean.

    • id (integer): ID unik.

    • agent_id (integer atau null): ID agen.

    • ended_at (string, date-time): Stempel waktu akhir.

    • lang (string): Bahasa.

    • menu_path_id (integer atau null): ID jalur menu.

    • menu_path (string): Jalur menu.

    • queue_duration (integer atau null): Durasi antrean, dalam detik.

    • started_at (string, date-time): Stempel waktu mulai.

    • transfer_cold (boolean atau null): Apakah percakapan dialihkan tanpa pemberitahuan.

    • transfer (boolean): Apakah transfer terjadi.

    • transfer_id (integer atau null): ID transfer.

    • service_level_abandon_time_threshold (integer): Tingkat layanan batas waktu pengabaian, dalam detik.

    • service_level_event (string): Status peristiwa tingkat layanan. Nilai yang mungkin mencakup "excluded", "in_sla", dan "not_in_sla".

    • service_level_target_percent (integer): Persentase target tingkat layanan.

    • service_level_target_time (integer): Waktu target tingkat layanan, dalam detik.

Eskalasi dari agen virtual ke agen manusia

  • escalations (array): Setiap entri mewakili eskalasi dari agen virtual ke agen manusia.

    • id (integer): ID unik untuk eskalasi.

    • status (string): Status eskalasi saat ini. Nilai yang mungkin: "escalating", "escalated", "canceled", "deflecting", dan "deflected".

    • reason (string): Alasan chat dieskalasikan. Nilai yang mungkin: "unknown", "by_end_user_ask", "by_end_user_message", "by_virtual_agent", "payload_failure", "could_not_resume", "by_human_agent", "invalid_queue", dan "dismissed".

    • created_at (string, date-time): Stempel waktu saat eskalasi dimulai.

    • escalated_at (string, date-time, atau null): Stempel waktu saat eskalasi selesai.

    • from_virtual_agent (objek atau null): Agen virtual yang mengeskalasikan chat. Bentuk yang sama dengan objek virtual_agent di Definitions.

    • to_agent (objek atau null): Agen manusia yang menerima eskalasi chat. Bentuk yang sama dengan objek agent di Definitions.

    • from_menu_path / to_menu_path (objek atau null): Jalur menu sebelum dan setelah eskalasi.

Eskalasi yang dialihkan oleh agen virtual

  • virtual_agent_deflected_escalations (array): Detail eskalasi dari agen virtual yang dialihkan ke tujuan lain.

    • id (integer): ID unik.

    • deflection (string): Jenis pengalihan untuk eskalasi yang dialihkan. Nilai yang mungkin: "no_deflection", "over_cap", "over_cap_email", "over_cap_virtual_agent", "over_cap_human_agent", "over_cap_sip", "over_cap_extension", "after_hours", "after_hours_email", dan "after_hours_virtual_agent".

    • escalation_id (integer): ID peristiwa eskalasi.

    • escalation_reason (string): Alasan eskalasi. Nilai yang sama dengan escalations[].reason (lihat 10. Eskalasi dari agen virtual ke agen manusia).

    • escalated_at (string, date-time): Stempel waktu eskalasi.

    • menu_path_id (integer): ID jalur menu.

    • menu_path (string): Jalur menu.

    • lang (string): Bahasa.

    • virtual_agent (objek): Detail agen virtual. Lihat Definisi: virtual_agent.

Durasi penanganan agen virtual

  • virtual_agent_handle_durations (array): Segmen waktu saat chat ditangani oleh agen virtual.

    • id (integer): ID unik.

    • virtual_agent (objek): Detail agen virtual. Lihat Definisi: virtual_agent.

    • chat_duration (integer): Durasi segmen, dalam detik.

    • escalation_reason (string): Alasan eskalasi.

    • finish_reason (string): Alasan interaksi berakhir.

    • response_count (integer): Jumlah respons agen virtual.

    • response_time_total (integer): Total waktu respons agen virtual, dalam detik.

    • response_time_max (integer): Waktu respons agen virtual terlama, dalam detik.

    • response_time_avg (angka atau null): Waktu respons rata-rata agen virtual, dalam detik. Nilai ini dapat mencakup presisi desimal.

    • fallback_response_count (integer): Jumlah respons penggantian.

    • initiated_by (string): Cara sesi agen virtual dimulai. Nilai yang mungkin: "end_user", "human_agent", dan "post_session".

    • menu_path_id (integer): ID jalur menu.

    • menu_path (string): Jalur menu.

    • lang (string): Bahasa.

    • transfer (boolean): Apakah chat ditransfer.

    • transfer_id (bilangan bulat atau null): ID peristiwa transfer.

    • started_at (string, date-time): Stempel waktu mulai.

    • ended_at (string, date-time): Stempel waktu akhir.

Durasi penanganan konsumen

  • consumer_handle_durations (array): Durasi konsumen berada dalam chat.

    • id (integer): ID unik.

    • chat_duration (integer): Durasi segmen konsumen, dalam detik.

    • started_at (string, date-time, atau null): Stempel waktu mulai.

    • ended_at (string, date-time, atau null): Stempel waktu akhir.

    • message_count (integer): Jumlah pesan konsumen.

    • response_count (integer): Jumlah respons konsumen.

    • response_time_total (integer): Total waktu respons konsumen, dalam detik.

    • response_time_max (integer): Waktu respons konsumen terlama, dalam detik.

    • response_time_avg (integer): Waktu respons rata-rata konsumen, dalam detik.

Durasi acara konsumen

  • consumer_event_durations (array): Detail peristiwa chat konsumen (misalnya, CSAT, pembayaran).

    • id (integer): ID unik.

    • duration (integer): Durasi acara, dalam detik.

    • type (string): Jenis acara. Nilai yang mungkin: "csat".

    • event (string): Hasil peristiwa. Nilai yang mungkin: "finished" dan "abandoned".

    • menu_path_id (integer): ID jalur menu.

    • menu_path (string): Jalur menu.

    • lang (string): Bahasa.

    • started_at (string, date-time): Stempel waktu mulai.

    • ended_at (string, date-time): Stempel waktu akhir.

Peserta

  • participants (array): Informasi tentang setiap peserta dalam chat (misalnya, pengguna akhir, agen, agen virtual).

    • id (integer): ID unik untuk peserta.

    • type (string): Jenis peserta. Nilai yang mungkin: "end_user", "agent", "manager", "virtual_agent", "external_agent", dan "task_virtual_agent".

    • entry_type (string): Cara peserta bergabung ke chat. Nilai yang mungkin: "queue_or_transfer", "barge", dan "post_session".

    • user_id (integer atau null): ID pengguna jika peserta adalah agen.

    • end_user_id (integer atau null): ID konsumen, jika peserta adalah konsumen.

    • virtual_agent_id (integer atau null): ID agen virtual jika peserta adalah agen virtual.

    • virtual_agent_params (objek): Metadata kustom yang digunakan oleh agen virtual. Hanya ada saat Anda mengonfigurasi penyertaan metadata kustom virtual-agent.

    • status (string): Status peserta. Nilai yang mungkin: "waiting", "connecting", "invited", "connected", "wrapping_up", "finished", "failed", "resuming", dan "post_session_in_progress".

    • fail_reason (string): Alasan kegagalan, jika ada. Nilai yang mungkin: "nothing", "canceled", "ag_connection_timeout", dan "unknown".

    • connected_at (string, date-time, atau null): Stempel waktu saat peserta terhubung.

    • phone_number (string): Nomor telepon peserta. Hanya ditampilkan pada peserta konsumen.

    • chat_id (integer): ID untuk chat.

    • chat_duration (integer atau null): Durasi chat untuk peserta, dalam detik.

    • finished_at (string, date-time, atau null): Stempel waktu saat keterlibatan peserta berakhir.

    • agent_assist (objek): Setelan Agent Assist aktif untuk peserta. Selalu ada; objek default kosong jika Agent Assist tidak dikonfigurasi.

    • virtual_agent (objek atau null): Detail agen virtual yang berfungsi sebagai peserta ini; berbeda dari agent_info tingkat teratas dan dari virtual_agent_params.

    • sip_headers (objek atau null): Header SIP yang terkait dengan peserta ini. Selalu ada di payload; null jika CCAI Platform tidak merekam apa pun.

    • location (string atau null): Lokasi yang dikonfigurasi agen. Hanya ada pada peserta agen.

    • location_id (bilangan bulat atau null): ID lokasi. Hanya hadir di peserta agen.

    • email (string, email): Alamat email agen. Hanya ada di peserta agen.

    • first_name (string atau null): Nama depan agen. Hanya ada di peserta agen.

    • last_name (string atau null): Nama belakang agen. Hanya ada di peserta agen.

    • middle_name (string atau null): Nama tengah agen. Hanya ada di peserta agen.

    • teams (array): Array objek { id, name } yang menjelaskan tim tempat agen berada. Hanya ada di peserta agen.

Log check-in

  • check_in_logs (array): Peristiwa check-in yang dicatat selama sesi chat. Setiap item mengelompokkan peristiwa check-in untuk satu alur check-in.

    • check_in_id (integer): ID alur check-in.

    • check_in_modal_displayed (string, date-time): Stempel waktu saat CCAI Platform menampilkan modal check-in kepada konsumen. Hanya ada saat Platform CCAI menampilkan modal check-in.

    • check_in_modal_confirmed (string, date-time): Stempel waktu saat konsumen mengonfirmasi bahwa mereka masih Hadir. Hanya ada saat konsumen mengonfirmasi modal check-in.

    • check_in_modal_timed_out (string, date-time): Stempel waktu saat perintah check-in berakhir. Hanya ada saat modal check-in habis waktunya.

    • timeout_modal_rejoin_success (string, date-time): Stempel waktu saat tindakan bergabung kembali berhasil. Hanya ada jika konsumen berhasil bergabung kembali setelah waktu tunggu habis.

    • timeout_modal_rejoin_failed_after_hour (string, date-time): Stempel waktu saat tindakan bergabung kembali gagal karena perilaku di luar jam kerja. Hanya ada jika bergabung kembali gagal karena antrean berada di luar jam kerja.

    • timeout_modal_exit_chat (string, date-time): Stempel waktu saat konsumen memilih untuk keluar dari chat. Hanya ada saat konsumen keluar dari chat dari modal waktu tunggu habis.

    • timeout_modal_time_out_sdk_closed (string, date-time): Stempel waktu saat alur modal waktu tunggu berakhir karena SDK ditutup. Hanya ada jika SDK ditutup setelah waktu tunggu habis.

Menawarkan acara

  • offer_type (string atau null): Cara CCAI Platform menawarkan chat kepada agen.

  • offer_events (array): Peristiwa saat Platform CCAI menawarkan chat kepada agen.

    • casting_time (string, date-time): Waktu saat Platform CCAI menawarkan chat.

    • group (string): Grup yang ditawari chat oleh CCAI Platform.

Detail lainnya

  • dismiss_duration (integer): Durasi chat dalam status ditutup, dalam detik. Hanya ada jika waktu yang dihabiskan dalam chat berstatus ditutup.

  • answer_type (string atau null): Cara percakapan dijawab. Nilai yang mungkin: "manual", "auto", "outbound", dan "deflection".

  • inbound_number (string): Nomor telepon masuk yang terkait dengan chat. Hanya ada jika nomor telepon masuk dikaitkan dengan chat.

  • outbound_number (string): Nomor telepon keluar yang terkait dengan chat. Hanya ada jika nomor telepon keluar dikaitkan dengan chat.

  • after_hours (boolean): Apakah chat terjadi di luar jam kerja.

  • dispositions (array): Kode dan catatan penyelesaian yang direkam oleh agen. Hanya ada jika Anda mengaktifkan kode atau catatan penyelesaian di akun Anda. Setiap entri dapat berisi kolom yang dirender secara kondisional berdasarkan konfigurasi penyelesaian Anda:

    • user_id (integer): ID agen.

    • transfer_id (integer atau null): ID peristiwa transfer, jika dicatat setelah transfer.

    • participant_id (integer): ID peserta.

    • note (string): Catatan agen teks bebas.

    • original_note (string): Versi asli (sebelum diedit) catatan.

    • code (string): Nama kode disposisi.

    • ujet_code_id (integer atau string kosong): ID kode disposisi yang ditetapkan Platform CCAI; kunci stabil untuk kode (nama tampilan kode dapat berubah). String kosong jika tidak tersedia.

    • list (string): Nama daftar tempat kode berada.

    • list_path (string): Jalur daftar kode yang dipisahkan dengan garis miring.

    • ujet_list_id (bilangan bulat atau string kosong): ID daftar yang ditetapkan Platform CCAI yang berisi kode disposisi; kunci yang stabil untuk daftar. String kosong jika tidak tersedia.

    • custom_list_id (string atau bilangan bulat): ID daftar yang ditentukan pelanggan, jika dipetakan.

    • custom_code_id (string atau bilangan bulat): ID kode yang ditentukan pelanggan, jika dipetakan.

  • auto_session_summaries (array): Ringkasan sesi buatan AI yang disimpan ke catatan CRM. Hanya ada jika Anda mengaktifkan peringkasan percakapan di akun Anda dan AI berhasil membuat ringkasan. Setiap entri berisi:

    • user_id (integer): ID peserta agen yang terkait dengan ringkasan.

    • participant_id (integer): ID peserta.

    • session_summary (string): Teks ringkasan.

    • session_summary_sections (array atau objek): Ringkasan yang dibagi menjadi bagian terstruktur, jika tersedia.

  • transfer_limit (objek atau null): Data batas transfer untuk chat.

    • enabled (boolean): Apakah pelacakan batas transfer diaktifkan untuk chat.

    • limit_count (bilangan bulat): Jumlah transfer yang diizinkan.

    • limit_reached (boolean): Apakah chat mencapai batas transfer yang dikonfigurasi.

  • email (string, email, atau null): Alamat email konsumen.

  • feedback (string atau null): Masukan konsumen.

  • smart_action_text (string atau null): Teks tindakan smart apa pun yang dilakukan.

Definisi

Sub-skema berikut muncul di beberapa titik dalam dokumen metadata sesi chat. Setiap sub-skema muncul satu kali. Grup properti yang mereferensikannya menunjuk kembali ke bagian ini, bukan mendefinisikan ulang bentuknya secara inline.

Menjelaskan jalur menu hierarkis yang dilalui chat. Lihat Navigasi menu untuk mengetahui daftar lengkap kolomnya.

Dirujuk dari: kolom menu_path tingkat teratas; setiap transfers[].from_menu_path dan transfers[].to_menu_path; setiap escalations[].from_menu_path dan escalations[].to_menu_path.

agent (objek)

Mendeskripsikan agen manusia. Ini adalah salah satu dari dua varian diskriminator agent_info tingkat teratas (lihat Root skema). Lihat Informasi agen dan agen virtual untuk mengetahui daftar lengkap kolomnya.

Dirujuk dari: kolom agent_info saat penanganan terakhir chat adalah agen manusia; setiap transfers[].from_agent dan transfers[].to_agent; setiap escalations[].to_agent.

virtual_agent (objek)

Menjelaskan agen virtual. Ini adalah salah satu dari dua varian diskriminator agent_info tingkat teratas (lihat Root skema). Lihat Informasi agen dan agen virtual untuk mengetahui daftar lengkap kolomnya.

Dirujuk dari: kolom agent_info saat penanganan terakhir chat adalah agen virtual; setiap transfers[].from_virtual_agent dan transfers[].to_virtual_agent; setiap escalations[].from_virtual_agent; setiap virtual_agent_handle_durations[].virtual_agent; setiap virtual_agent_deflected_escalations[].virtual_agent; setiap participants[].virtual_agent.

deflection (string, enum)

Status pengalihan yang terkait dengan transfer. Nilai mengikuti pola <trigger>_<destination>, dengan awalan mengidentifikasi kondisi yang memicu pengalihan dan akhiran mengidentifikasi tujuan atau perlakuan (misalnya, _phone, _voicemail, _message, _queue, _sip, _extension, _callback, _wait).

Nilai yang diizinkan, dikelompokkan menurut keluarga pemicu:

  • Tidak ada pengalihan: no_deflection, deflecting

  • Kelebihan kapasitas, saat antrean melebihi nilai minimum kapasitasnya: over_cap_phone, over_cap_voicemail, over_cap_callback, over_cap_wait, over_cap_message, over_cap_ewt_only, over_cap_queue, over_cap_sip, over_cap_extension, over_cap_phone_with_extension

  • Di luar jam kerja, saat chat tiba di luar jam kerja yang dikonfigurasi di menu: after_hours_voicemail, after_hours_phone, after_hours_message_only, after_hours_message, after_hours_queue, after_hours_sip, after_hours_extension, after_hours_phone_with_extension

  • Pengalihan sementara, saat pengalihan sementara dikonfigurasi di menu: temp_redirection_phone, temp_redirection_message, temp_redirection_voicemail, temp_redirection_queue, temp_redirection_sip, temp_redirection_extension, temp_redirection_phone_with_extension

  • Pra-sesi IVR: ivr_presession_deflection

  • Pengalihan agen virtual, saat agen virtual mengalihkan percakapan: va_redirection_phone, va_redirection_sip

Direferensikan dari: setiap transfers[].deflection. (Eskalasi yang dialihkan agen virtual di Eskalasi yang dialihkan agen virtual menggunakan kosakata pengalihan yang terpisah dan lebih kecil, yang didokumentasikan secara inline di sana.)

transfer (objek)

Menjelaskan transfer yang terjadi selama percakapan. Transfer dapat memindahkan percakapan antar-menu, agen, dan agen virtual. Lihat Transfer chat untuk mengetahui daftar lengkap kolomnya.

Dirujuk dari: array transfers tingkat teratas. (Kolom lain yang bernama transfer_id di seluruh dokumen adalah referensi bilangan bulat ke id transfer, bukan objek transfer sebaris.)

participant (objek)

Mendeskripsikan satu peserta dalam percakapan. Bentuk peserta bervariasi menurut jenis peserta; peserta agen dapat mencakup profil agen, lokasi, tim, dan kolom Agent Assist, sementara peserta konsumen dan agen virtual mencakup ID khusus jenis. Lihat Peserta untuk mengetahui daftar lengkap kolom yang didokumentasikan.

Dirujuk dari: array participants tingkat teratas; auto_session_summaries[].participant_id; catatan disposisi.

Baris durasi (objek)

Menjelaskan interval terukur dalam chat, seperti waktu penanganan agen, waktu antrean, waktu penanganan konsumen, waktu peristiwa konsumen, atau waktu penanganan agen virtual. Setiap array durasi memiliki bentuk barisnya sendiri karena kolom dengan nama yang sama dapat memiliki presisi atau kemampuan null yang berbeda di seluruh tabel.

Dirujuk dari: handle_durations, queue_durations, virtual_agent_handle_durations, consumer_handle_durations, dan consumer_event_durations.

Pembuatan versi dan penghentian penggunaan

Dokumen metadata sesi chat dirancang untuk evolusi skema yang kompatibel dengan versi sebelumnya. Kolom dan array baru dapat ditambahkan kapan saja, dan integrasi harus mengabaikan kunci yang tidak dikenali untuk memastikan fungsi yang berkelanjutan. Kolom berikut adalah kolom lama atau digantikan secara tidak langsung; kolom tersebut tetap ada di payload untuk kompatibilitas mundur, tetapi integrasi baru harus mengikuti panduan untuk setiap kolom.

Duplikat lama

  • session_type (string): Alias lama chat_type. Selalu menampilkan nilai yang sama dengan chat_type dan menggunakan kosakata enum lama yang sama. Dipertahankan untuk kompatibilitas mundur dengan integrasi yang menggunakan session_type sebagai kunci. Integrasi baru harus mengurai chat_type secara langsung, atau untuk perbedaan yang lebih terperinci session_type_v2 (lihat Evolusi kosakata di bawah).

Evolusi kosakata

chat_type dan session_type_v2 menjelaskan jenis chat yang sama dengan dua kosakata yang berbeda. CCAI Platform memancarkan kedua kolom di setiap catatan; keduanya tidak duplikat satu sama lain:

  • chat_type menggunakan kosakata enum lama. Nilai seperti Messaging Inbound (Chat Aplikasi) dan Messaging (SMS) menjelaskan kategori jenis chat asli.

  • session_type_v2 menggunakan kosakata enum saat ini. Hal ini dapat memperkenalkan perbedaan yang lebih terperinci untuk jenis chat yang memiliki nilai khusus v2. Untuk jenis chat yang tidak memiliki nilai khusus v2, session_type_v2 menampilkan string yang sama dengan chat_type.

Integrasi baru harus mengurai session_type_v2. Nilai untuk setiap kolom dicantumkan di Informasi inti.

Kolom aditif

Payload metadata sesi chat dapat memperoleh kolom tingkat teratas baru, kolom bertingkat, kolom item array, atau nilai enum dari waktu ke waktu. Integrasi harus mengabaikan kunci yang tidak dikenal dan mempertahankan rekaman mentah jika memungkinkan. Hindari penguraian ketat yang gagal saat properti baru muncul.