Sebuah teks dapat tiba setelah ponsel terhubung kembali meskipun pengirim mengirimkannya lebih awal.
Apa arti store and forward?
Pusat pesan menyimpan teks sebelum mencoba mengirimkannya ke ponsel.
Penerimaan oleh jaringan tidak membuktikan bahwa ponsel telah menerima teks tersebut. Ponsel yang mati atau tidak terjangkau dapat membuat pesan menunggu. Menghubungkan kembali ponsel memungkinkan percobaan pengiriman berikutnya. Pesan harus tetap memenuhi syarat untuk percobaan tersebut.
Spesifikasi 3GPP 23.040 menjelaskan peran pusat pesan dalam SMS.
Berapa lama pesan dapat menunggu?
Jaringan dapat melakukan percobaan pengiriman lebih lanjut selama jendela pengiriman pesan masih terbuka. Jendela tersebut disebut validity period.
Standar SMS memungkinkan pengirim menyertakan validity period. Penyedia Anda menentukan apakah Anda dapat mengaturnya melalui API mereka.
Pengiriman dapat berakhir dengan kedaluwarsa ketika jendela tersebut tertutup. Laporan kedaluwarsa tidak berarti permintaan pengiriman awal gagal.
Untuk alur yang sensitif terhadap waktu, tenggat waktu aplikasi Anda sendiri tetap perlu diterapkan. Jika kode verifikasi berlaku selama sepuluh menit dan tiba setelah empat jam, server Anda harus menolaknya. Teks yang terlambat tidak boleh memperpanjang masa berlaku tindakan yang dijelaskannya.
Di mana posisi pusat pesan relatif terhadap aplikasi saya?
Aplikasi Anda dapat menjangkau pusat pesan melalui penyedia layanan pesan, tanpa perlu mengelola koneksi operator sendiri.
Penyedia menggunakan SMPP untuk meneruskan teks ke pusat pesan, secara langsung atau melalui layanan routing lain. Referensi SMPP menjelaskan koneksi-koneksi ini.
Penyedia Anda dapat mengonfirmasi permintaan sebelum layanan jaringan berikutnya menerimanya. Pusat pesan kemudian dapat menerima teks sebelum ponsel menerimanya. Setiap konfirmasi menggambarkan satu tahap perjalanan.
Diterima tetapi belum terkirim menjelaskan bagaimana tahapan tersebut muncul dalam aplikasi.
Apa yang dapat saya amati melalui Bird?
Anda dapat memeriksa serah terima ke operator dan pengiriman yang dilaporkan tanpa perlu terhubung ke pusat pesan sendiri.
sent_at dalam respons pesan mencatat kapan Bird menyerahkan pesan ke operator. delivered_at mencatat pengiriman yang dikonfirmasi. Kedua field berisi timestamp atau null. Waktu pengiriman yang tidak ada bukan berarti ponsel menolak teks tersebut.
Endpoint kirim Bird menolak validity_period dengan HTTP 422 SMSUnsupportedFeature. Anda tidak dapat mengatur jendela retensi operator melalui field tersebut. Respons tidak mengembalikan field tersebut.
Bird mengirimkan sms.expired ketika operator melaporkan kedaluwarsa. Tanda terima yang ditahan, yaitu operator menahan teks, tidak menghasilkan perubahan status publik. Tanda terima pengiriman menjelaskan laporan jaringan mana yang sampai ke aplikasi Anda.
Apa yang berubah dalam alur pengiriman?
Aplikasi Anda perlu menangani pengiriman sebagai peristiwa yang terjadi kemudian dengan hasil yang terpisah dari pengajuan.
Bedakan hasil tertunda dari kegagalan. Terapkan tenggat waktu untuk kode verifikasi dan tindakan sensitif waktu lainnya di aplikasi Anda. Gunakan tanda terima pengiriman sebagai laporan jaringan tentang pengiriman. Tanda terima tersebut tidak membuktikan bahwa seseorang membaca teks itu.
Singkatnya
Penerimaan dan pengiriman adalah dua hal terpisah.
Pusat pesan dapat menerima teks sebelum ponsel penerima dapat dijangkau.
Penyimpanan memberi peluang pengiriman tambahan.
Teks yang menunggu dapat tiba setelah ponsel terhubung kembali, selama jendela pengiriman masih terbuka.
Jendela pengiriman terbatas.
Jaringan dapat melaporkan kedaluwarsa ketika masa tunggu berakhir.
Integrasi Anda tidak perlu terhubung langsung.
Penyedia layanan pesan dapat menangani koneksi antara aplikasi Anda dan jaringan operator.