Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Memecahkan masalah dengan widget komunikasi Amazon Connect - Amazon Connect

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memecahkan masalah dengan widget komunikasi Amazon Connect

Topik ini ditujukan untuk pengembang yang perlu menyelidiki masalah yang mungkin terjadi saat mengonfigurasi widget komunikasi di situs web Amazon Connect admin.

“Ada yang tidak beres”

Jika Anda melihat pesan kesalahan Sesuatu yang salah berikut saat memuat widget komunikasi Anda, buka alat browser untuk melihat log kesalahan.

Pesan kesalahan yang mengatakan Ada yang tidak beres.

Berikut ini adalah masalah umum yang menyebabkan kesalahan ini.

400 Permintaan tidak valid

Jika log menyebutkan 400 permintaan tidak valid, ada beberapa kemungkinan penyebabnya:

  • Widget komunikasi Anda tidak dilayani pada domain yang diizinkan. Anda harus secara khusus menyatakan domain tempat Anda akan meng-host widget Anda.

  • Permintaan ke titik akhir tidak diformat dengan benar. Ini biasanya terjadi hanya jika isi cuplikan embed telah dimodifikasi.

401 Tidak Sah

Jika log menyebutkan 401 tidak sah, ini adalah masalah dengan otentikasi JSON Web Token (JWT).

Setelah Anda memiliki JWT, Anda perlu mengimplementasikannya dalam fungsi authenticate callback. Contoh berikut menunjukkan cara mengimplementasikannya jika Anda mencoba mengambil token Anda dan kemudian menggunakannya:

amazon_connect('authenticate', function(callback) { window.fetch('/token').then(res => { res.json().then(data => { callback(data.data); }); }); });

Berikut adalah versi yang lebih mendasar dari apa yang perlu diimplementasikan:

amazon_connect('authenticate', function(callback) { callback(token); });

Untuk petunjuk tentang penerapan JWT, lihat. Langkah 3: Konfirmasikan dan salin kode widget komunikasi dan kunci keamanan

Jika Anda telah menerapkan callback, skenario berikut mungkin masih menyebabkan 401:

  • Tanda tangan tidak valid

  • Token kadaluwarsa

404 Tidak ditemukan

Kode status 404 menunjukkan bahwa Anda widgetId tidak dapat ditemukan. Verifikasi bahwa cuplikan Anda persis seperti yang disalin dari situs web Amazon Connect, dan tidak ada pengidentifikasi yang berubah.

Jika pengenal tidak berubah dan Anda melihat 404, hubungi Support AWS .

500 Kesalahan server internal

Hal ini dapat disebabkan oleh peran terkait layanan Anda yang tidak memiliki izin yang diperlukan untuk memulai obrolan. Ini terjadi jika instans Amazon Connect Anda dibuat sebelum Oktober 2018 karena Anda tidak memiliki peran terkait layanan yang disiapkan.

Solusi: Tambahkan connect:* kebijakan tentang peran yang terkait dengan instans Amazon Connect Anda. Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan dan izin peran untuk Amazon Connect.

Jika peran terkait layanan Anda memiliki izin yang benar, hubungi Support. AWS

Pelanggan yang tidak menerima pesan agen: Jaringan atau WebSocket terputus

Selama sesi obrolan, pelanggan yang menggunakan aplikasi obrolan kehilangan jaringan/koneksi WebSocket mereka. Mereka dengan cepat mendapatkan kembali koneksi, tetapi pesan yang dikirim oleh agen selama waktu itu tidak diberikan di antarmuka obrolan pelanggan.

Gambar berikut menunjukkan contoh antarmuka obrolan pelanggan dan Panel Kontrol Kontak agen side-by-side. Pesan yang dikirim agen tidak diberikan dalam sesi obrolan pelanggan. Namun, tampaknya agen seolah-olah pelanggan telah menerimanya.

Pesan di PKT yang tidak dikirim ke kontak.

Jika aplikasi obrolan pelanggan kehilangan WebSocket jaringan/koneksi, antarmuka pengguna obrolan harus melakukan hal berikut untuk mengambil pesan future serta pesan yang dikirim ke sana saat terputus:

  • Buat kembali WebSocket koneksi untuk menerima pesan masuk masa depan lagi.

  • Buat permintaan ChatSession.getTranscript (getTranscripts API) untuk mengambil semua pesan yang hilang yang dikirim saat pelanggan terputus.

Jika agen mengirim pesan saat antarmuka pengguna obrolan pelanggan terputus, pesan berhasil disimpan di bagian belakang Amazon Connect: CCP berfungsi seperti yang diharapkan dan semua pesan direkam dalam transkrip, tetapi perangkat pelanggan tidak dapat menerima pesan. Ketika klien terhubung kembali ke WebSocket, ada celah dalam pesan. Pesan masuk di masa mendatang akan muncul lagi dari WebSocket, tetapi pesan celah masih hilang kecuali kode secara eksplisit membuat panggilan ke API. GetTranscript

Solusi

Gunakan ChatSession. onConnectionEstablishedevent handler untuk memanggil GetTranscriptAPI. chatSession.onConnectionEstablishedEvent handler dipicu saat menghubungkan WebSocket kembali. ChatJS memiliki detak jantung bawaan dan coba lagi logika untuk koneksi. WebSocket Karena ChatJS tidak menyimpan transkrip, bagaimanapun, Anda harus menambahkan kode khusus ke antarmuka pengguna obrolan untuk mengambil transkrip secara manual lagi.

Contoh kode berikut menunjukkan bagaimana onConnectionEstablished menerapkan panggilanGetTranscript.

import "amazon-connect-chatjs"; const chatSession = connect.ChatSession.create({ chatDetails: { ContactId: "the ID of the contact", ParticipantId: "the ID of the chat participant", ParticipantToken: "the participant token", }, type: "CUSTOMER", options: { region: "us-west-2" }, }); // Triggered when the websocket reconnects chatSession.onConnectionEstablished(() => { chatSession.getTranscript({ scanDirection: "BACKWARD", sortOrder: "ASCENDING", maxResults: 15, // nextToken?: nextToken - OPTIONAL, for pagination }) .then((response) => { const { initialContactId, nextToken, transcript } = response.data; // ... }) .catch(() => {}) });
function loadLatestTranscript(args) { // Documentation: https://github.com/amazon-connect/amazon-connect-chatjs?tab=readme-ov-file#chatsessiongettranscript return chatSession.getTranscript({ scanDirection: "BACKWARD", sortOrder: "ASCENDING", maxResults: 15, // nextToken?: nextToken - OPTIONAL, for pagination }) .then((response) => { const { initialContactId, nextToken, transcript } = response.data; const exampleMessageObj = transcript[0]; const { DisplayName, ParticipantId, ParticipantRole, // CUSTOMER, AGENT, SUPERVISOR, SYSTEM Content, ContentType, Id, Type, AbsoluteTime, // sentTime = new Date(item.AbsoluteTime).getTime() / 1000 MessageMetadata, // { Receipts: [{ RecipientParticipantId: "asdf" }] } Attachments, RelatedContactid, } = exampleMessageObj; return transcript // TODO - store the new transcript somewhere }) .catch((err) => { console.log("CustomerUI", "ChatSession", "transcript fetch error: ", err); }); }

Untuk contoh lain, lihat implementasi open source ini di GitHub.

Melewati CORS saat membuka tautan pihak ketiga

Untuk meningkatkan keamanan, widget komunikasi beroperasi dalam lingkungan kotak pasir. Akibatnya, tautan pihak ketiga yang dibagikan dalam widget tidak dapat dibuka.

Solusi

Ada dua opsi untuk melewati CORS untuk memungkinkan tautan pihak ketiga dibuka.

  • (Direkomendasikan)

    Perbarui atribut sandbox untuk memungkinkan membuka tautan di tab baru yang dapat dilakukan dengan menambahkan atribut berikut ke cuplikan kode:

    amazon_connect('updateSandboxAttributes', 'allow-scripts allow-same-origin allow-popups allow-downloads allow-top-navigation-by-user-activation')
    catatan

    Nilai atribut dapat diperbarui sesuai kebutuhan untuk memungkinkan tindakan tertentu. Ini adalah contoh bagaimana mengizinkan membuka tautan di tab baru.

  • Hapus atribut sandbox yang dapat dilakukan dengan menambahkan atribut berikut ke cuplikan kode:

    amazon_connect('removeSandboxAttribute', true)
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.