Dengan Contact Center AI Platform (CCAI Platform), Anda dapat menggunakan SMS API untuk menangani pesan SMS masuk dan keluar.
Autentikasi
Untuk menggunakan SMS API, Anda memerlukan kredensial.
Untuk membuat kredensial untuk SMS API, ikuti langkah-langkah berikut:
Di portal Platform CCAI, klik Setelan > Setelan Developer > Pengelolaan kredensial API.
Klik tombol + Add API Credential. Pesan Tambahkan Kredensial API akan terbuka.
Masukkan Nama untuk Kredensial.
Klik Create.
Outbound SMS API
Outbound SMS API menyediakan endpoint untuk memulai pesan SMS keluar. Dengan begitu, Anda dapat mengirim pesan SMS ke konsumen secara terprogram.
Ada tiga poin penting yang perlu dipertimbangkan saat menggunakan API ini:
Layanan ini tidak dirancang untuk mengirim puluhan ribu pesan sekaligus. Tujuannya adalah pesan berbasis peristiwa.
Konsumen dapat membalas pesan SMS dan memulai sesi dukungan.
API ini tidak akan berfungsi jika Anda perlu mengirim beberapa pesan SMS ke nomor yang sama dalam hari yang sama.
Kasus Penggunaan
Contoh kasus penggunaan Outbound SMS API berbasis peristiwa. Misalnya, jika Anda ingin memberi tahu konsumen bahwa pesanannya siap diambil DAN memberinya opsi untuk merespons. Sesi aktif dibuat saat SMS keluar dikirim; saat pelanggan merespons, ia akan diarahkan ke agen.
Perbedaan antara API ini dan SMS Keluar Tanpa Sesi adalah bahwa dengan tanpa sesi, Anda hanya mengirim notifikasi dan jika konsumen merespons, mereka akan menerima pesan default (jika dikonfigurasi) dan tidak dialihkan ke agen.
Kasus penggunaan potensial lainnya:
- Login akun.
- Aktivitas akun.
- Peristiwa penggunaan akun yang penting.
- Deteksi masalah perangkat terhubung.
- Notifikasi ETA untuk layanan sesuai permintaan, seperti pengiriman dan transportasi online.
- Pengingat janji temu.
- Notifikasi proaktif terkait layanan atau akun.
- Autentikasi dua faktor (memerlukan pelanggan memiliki generator kode dan proses layanan yang ada).
Endpoint API SMS keluar
URI dasar untuk endpoint baru ini adalah:
POST https://<subdomain>.<domain>/apps/api/v1/sms
Dukungan SMS masuk
Jika lingkungan ingin mendukung respons SMS masuk, nomor keluar juga perlu disiapkan sebagai nomor SMS masuk yang ditetapkan ke antrean. Setiap nomor telepon SMS hanya dapat ditetapkan ke satu antrean. Untuk mengetahui informasi selengkapnya, lihat: Konfigurasi Chat SMS Umum.
Jika pengguna akhir membalas SMS yang dikonfigurasi dengan cara ini, mereka akan diarahkan ke menu antrean SMS yang nomor telepon SMS masuknya ditetapkan. Untuk mengetahui informasi selengkapnya, lihat Setelan Chat Pesan SMS - Nomor Telepon.
Operasi API
Bagian ini menguraikan operasi API, parameter isi, dan kode respons.
Body dan Params
Kolom berikut harus disertakan dalam isi permintaan API:
| Nama Kolom | Jenis | Wajib | Deskripsi | Nilai | Catatan |
|---|---|---|---|---|---|
| agent_id | Bilangan bulat | Tidak | Agen yang sesuai dengan ID ini akan ditetapkan ke percakapan baru jika tidak ada percakapan antara nomor yang diberikan. Jika agen terhubung ke percakapan yang sudah ada, pesan akan dikirim atas nama agen tersebut. | ||
| agent_email | String | Tidak | Alamat email agen. | ||
| chat_type | String | Ya | Pesan SMS | SMSAP | |
| chat_subtype | String | Ya | api_initiated | ||
| end_user_number | String | Ya | Nomor telepon yang akan dikirimi SMS | Validasi: nomor telepon yang valid: +18882468888 untuk nomor telepon AS |
|
| outbound_number | String | Ya | Nomor telepon keluar yang akan digunakan untuk mengirim pesan SMS | Validasi: a) nomor telepon harus berupa nomor telepon SMS yang terkait dengan tenant, b) nomor telepon tidak ada, c) format nomor telepon salah: +18882468888 untuk nomor telepon AS |
|
| pesan | String | Ya | Pesan SMS yang akan dikirim ke konsumen | Pesan panjang: memecah pesan panjang menjadi beberapa pesan (harus tercakup dalam kemampuan SMS keluar yang ada) | Validasi: a) pesan tidak ada, b) pesan melebihi jumlah karakter maksimum (sebanyak x) |
| ticket_id | id | Tidak | Akan mengaitkan sesi dengan ID tiket CRM tertentu | Catatan: ID tiket yang tidak valid akan diabaikan. |
Error dan Berhasil
| Kasus | Hasil yang Diharapkan | Salin |
|---|---|---|
| Layanan SMS diaktifkan Layanan SMS keluar diaktifkan Nilai chat_type adalah 'OutboundSMSAPI' end_user_number diberikan dan diformat dengan benar outbound_number diberikan dan diformat dengan benar Untuk nomor telepon non-AS: nomor telepon non-AS diaktifkan Pesan diberikan Tidak ada chat aktif antara outbound_number dan end_user_number |
berhasil | (200) Contoh Respons Berhasil |
| ID agen dan email agen diberikan | error | Hanya salah satu dari agent_id atau agent_email yang dapat diberikan. |
| ID agen atau email agen diberikan Agen tidak terhubung ke percakapan yang ada |
error | SMS keluar gagal. Agen tidak terhubung ke chat. |
| Layanan SMS tidak diaktifkan | error | "Layanan SMS tidak diaktifkan". |
| Layanan SMS keluar tidak diaktifkan | error | "Layanan SMS keluar tidak diaktifkan" |
| chat_type tidak diberikan | error | "chat_type needs to be provided" (chat_type harus diberikan) |
| chat_type disediakan tetapi tidak ditetapkan ke 'sms' | error | "Jenis chat yang valid harus diberikan" |
| end_user_number diberikan, tetapi tidak diformat dengan baik | error | "end_user_number is invalid" (catatan: nomor telepon yang valid: "+18882468888" untuk nomor telepon AS) |
| end_user_number tidak diberikan | error | "end_user_number is required" (end_user_number wajib diisi) |
| outbound_number disediakan, tetapi tidak dibuat dengan baik | error | "outbound_number is invalid" (catatan: nomor telepon yang valid: "+18882468888" untuk nomor telepon AS) |
| outbound_number diberikan, tetapi tidak ada untuk tenant tersebut | error | "outbound_number is not found" (outbound_number tidak ditemukan) |
| outbound_number tidak diberikan | error | "outbound_number is required" (outbound_number wajib diisi) |
| outbound_number adalah nomor telepon non-AS dan 'non US phone number service' tidak diaktifkan | error | "Layanan nomor telepon non-AS tidak diaktifkan" Catatan: bergantung pada setelan Nomor telepon non-AS di Setelan > SMS Dalam Panggilan > Konfigurasi Nomor Telepon Non-AS |
| Pesan kosong | error | "pesan wajib diisi" |
| Chat aktif antara outbound_number dan end_user_number | error | "Outbound SMS failed. Konsumen sudah berada dalam sesi SMS aktif." |
| ticket_id diisi, tetapi tidak ada di CRM | error | "Tiket tidak ditemukan" |
Masa berlaku SMS
Pesan SMS keluar akan aktif segera setelah dikirim.
Setiap chat SMS harus diakhiri sebelum sesi chat SMS baru dapat dibuat antara nomor telepon konsumen dan nomor telepon keluar tertentu. Hal ini mencakup pesan SMS keluar yang dikirim menggunakan API. SMS keluar akan gagal jika ada percakapan aktif yang sudah ada antara nomor telepon konsumen dan nomor telepon yang mengirim SMS keluar.
Opsi waktu tunggu chat otomatis
Opsi waktu tunggu chat otomatis dikonfigurasi di Setelan > Chat > Waktu Berakhir SMS & Waktu Tunggu Global. Hal ini memberikan kontrol untuk berapa lama sesi chat akan tetap aktif jika tidak ada aktivitas atau progres dalam alur sesi chat.
Perbedaan status chat
Berikut adalah perbedaan antara perubahan status proses chat:
Masa berlaku Chat status pemilihan antreanChat keluar yang dikirim menggunakan API dianggap dalam status pemilihan antrean hingga konsumen membalas
Sesi chat yang belum melampaui status pemilihan antrean. Hal ini mencakup pesan SMS keluar yang dikirim dan belum dibalas oleh konsumen. Anda dapat menentukan berapa lama chat dapat tetap dalam status ini sebelum berakhir (pesan dikirim & konsumen tidak merespons dalam batas waktu - chat berakhir).
Masa berlaku chat SMS yang tidak terjawab (selama jam operasional)Lamanya waktu chat dapat tetap tidak terjawab dalam antrean sebelum masa berlakunya berakhir dalam jam operasional yang ditetapkan untuk antrean tertentu.
Masa berlaku chat SMS yang tidak terjawab (selama di luar jam kerja)Durasi waktu chat dapat tetap tidak terjawab dalam antrean sebelum masa berlakunya berakhir di luar jam kerja yang ditetapkan untuk antrean tertentu.
Waktu tunggu chat SMS keluar Sesi chat SMS keluar akan otomatis berakhir jika tidak ada aktivitas selama [x] menit.
Detail status chat
Saat SMS keluar dikirim menggunakan API, percakapan dianggap aktif, tetapi tidak terhubung
Chat SMS keluar yang aktif ini dianggap berada dalam status pemilihan antrean hingga konsumen membalas
Percakapan dianggap terhubung setelah konsumen membalas dan Agen ditetapkan ke percakapan
Dampak status chat pada timer yang diterapkan
Percakapan aktif yang dikirim menggunakan API yang belum mendapatkan respons dari konsumen tunduk pada timer status pemilihan Antrean
Chat yang terhubung ke agen tunduk pada timer habis masa berlaku Keluar
Jika konsumen membalas pesan awal, tetapi Agen tidak pernah ditugaskan, chat tidak terhubung dan tunduk pada timer berakhirnya Chat yang Tidak Terjawab, di dalam atau setelah jam operasional
Contoh alur dan status pesan API:
Pesan SMS dikirim menggunakan API ke konsumen - chat dalam status pemilihan antrean dan tidak terhubung ke Agen
Timer habis masa berlaku chat status pemilihan antrean dimulai. Chat akan berakhir dan berhenti jika konsumen tidak membalas dalam batas waktu timer.
Konsumen membalas chat - chat kini terhubung ke Agen.
Konsumen mengirim pesan terakhir - Timer waktu tunggu chat SMS keluar dimulai.
Waktu tunggu chat SMS keluar telah mencapai batas - chat telah berakhir.
Tidak ada timer penutupan chat - untuk sesi SMS keluar yang dimulai API, timer penutupan chat tidak beroperasi sehingga peristiwa penutupan chat tidak akan terjadi meskipun setelah chat tersebut masuk sebagai chat masuk saat konsumen membalas pesan.
Definisi Respons
API merespons dengan satu objek panggilan, seperti yang terlihat dalam model dari /calls.
Sessionless Outbound SMS API
Platform CCAI menawarkan Outbound SMS API yang dapat mendukung pesan SMS keluar tanpa sesi tertaut.
Panggilan API ini memulai pesan SMS tertaut non-sesi yang dapat dipicu selama alur kerja yang ada menggunakan Platform CCAI.
SMS tanpa sesi lebih disukai jika hanya pesan satu kali yang dikirimkan kepada konsumen dan tidak perlu membuka tiket CRM.
Outbound SMS API ini memberikan kemampuan untuk mengirim hingga 500 pesan per panggilan API.
Kasus Penggunaan
Kasus penggunaan umum untuk SMS tanpa sesi dapat mencakup hal berikut:
Penyiapan sandi sekali pakai.
Kode verifikasi.
Pengingat janji temu.
Link masukan.
Pesan pemasaran atau promosi.
Sessionless Outbound API dan Outbound SMS API berbeda karena dengan Outbound SMS, saat konsumen merespons, sesi aktif akan dimulai dan mereka dapat diarahkan ke agen. Meskipun memiliki kasus penggunaan yang serupa (notifikasi pengiriman, pengingat janji temu), perbedaannya terletak pada apa yang terjadi saat konsumen merespons. Pengguna mungkin menerima notifikasi default jangan balas dengan tanpa sesi, tetapi dengan SMS keluar, pengguna akan diarahkan ke agen.
Endpoint API SMS keluar tanpa sesi
URI dasar untuk endpoint ini adalah:
POST https://<subdomain>.<domain>/apps/api/v1/sessionless_sms
Menambahkan kredensial API
Di portal Platform CCAI, buka Settings > Developer Settings > API Credential management.
Klik tombol + Add API Credential. Pesan Tambahkan Kredensial API akan terbuka.
Masukkan nama untuk kredensial Name.
Klik Create.
Mengirim pesan SMS
Untuk mengirim SMS keluar tanpa sesi, panggil POST https://<subdomain>.<domain>/apps/api/v1/sessionless_sms dan
teruskan parameter permintaan berikut:
{
"from_phone": <string>,
"to_phones": <array[string]>,
"messages": <array[string]>
}
| Nama Kolom | Jenis | Wajib | Deskripsi | Catatan |
|---|---|---|---|---|
| from_phone | String | Ya | Nomor telepon yang akan digunakan untuk mengirim pesan. | Harus berupa nomor AS yang valid. Panggilan API akan menampilkan error jika: * nomor telepon bukan nomor telepon SMS yang terkait dengan tenant * kolom from_phone kosong * nomor telepon tidak mengikuti format yang benar. Misalnya, nomor berikut adalah nomor telepon AS yang valid: +18882468888 |
| to_phones | Array [String] | Ya | Nomor telepon yang akan dikirimi pesan. | Untuk memastikan panggilan API berhasil: * Pastikan Anda memiliki nomor telepon yang valid, seperti +18882468888Jumlah maksimum nomor telepon adalah 100 per panggilan API. |
| pesan | Array [String] | Ya | Pesan yang akan dikirim. | Jumlah maksimum pesan terpisah yang dapat Anda kirim adalah 5. Setiap pesan memiliki batas 320 karakter dan tidak boleh melebihi batas tersebut. |
Respons API
Jika panggilan API berhasil, Anda akan melihat:
kode: 200
ID Permintaan
Pastikan Anda mencatat ID permintaan dalam catatan sistem Anda. Jika Anda perlu memecahkan masalah, dukungan akan memerlukan ID permintaan untuk membantu.
Jika panggilan API gagal, Anda akan melihat:
kode: 4xx
Pesan error
Batasan SMS
API memproses maksimal 300 pesan per menit.
Semua pesan yang belum diproses akan berakhir dalam waktu 2 jam.