logoDokumen
Cari

Pelajari tentang SMSHook

SMSHook adalah saluran di mana pelanggan menerima informasi pengiriman mereka. Setelah pengguna mengirim permintaan SMS ke EngageLab, EngageLab akan secara sinkron mengembalikan "hasil permintaan" kepada pengguna, sedangkan "hasil pengiriman" dan "hasil peristiwa lainnya" dari SMS akan dikirim secara asinkron ke pengguna melalui SMSHook.

Pemrosesan SMSHook

  • EngageLab menyediakan beberapa peristiwa SMS yang dapat dipilih pelanggan untuk diikuti.
  • Ketika suatu peristiwa terjadi, EngageLab akan mengirimkan data (POST) ke URL yang telah ditetapkan pelanggan.
  • Jenis data yang dikirim EngageLab adalah "Content Type: application/JSON".
  • Pelanggan menerima data, mengurai peristiwa dan datanya, dan perlu mengembalikan HTTP Status Code 200 dalam waktu 3 detik. Jika tidak, EngageLab akan mengirim ulang pesan tersebut.

Cara Penggunaan

  • Pengguna dapat membuat layanan HTTP sendiri untuk menangani peristiwa terkait, mengurai data yang diterima, dan membuka URL yang sesuai.
  • Pengguna memilih peristiwa yang ingin diikuti di SMSHook EngageLab dan mengonfigurasi URL untuk menerima data.

Verifikasi Tanda Tangan

Untuk memastikan bahwa sumber pesan benar-benar dari EngageLab, Anda dapat memilih untuk melakukan autentikasi keamanan pada sumber data POST (Tanpa verifikasi, Anda juga dapat langsung mengurai data POST).

Metode autentikasi keamanan sebagai berikut:

  • Dapatkan APP SECRET melalui [Pengaturan Pengiriman] - [SMSHook]
  • Urai X-SMSHook Timestamp pada header
  • Urai X-SMSHook AppKey pada header
  • Urai X-SMSHook Signature pada header
  • Hasilkan signature menggunakan md5 (timestamp+appkey+secret) dan bandingkan dengan X-SMSHook Signature

Pemrosesan Respons

Setelah menerima callback dari EngageLab, layanan pengembang perlu memberikan respons dalam waktu 3 detik sesuai persyaratan berikut.

Penerimaan berhasil: kode status respons HTTP harus mengembalikan 200 atau 204, dan tidak perlu mengembalikan pesan respons.

Penerimaan gagal: kode status respons HTTP harus mengembalikan 5XX atau 4XX, dan pesan respons juga harus dikembalikan dengan format berikut:

{"code":2002,"message":"failed"}
              
              {"code":2002,"message":"failed"}

            
Tampilkan blok kode ini di jendela mengambang
Parameter Tipe Wajib/Opsional Deskripsi
code int Opsional Kode error
message string Opsional Detail error

Pemrosesan Ulang (Retry)

Jika terjadi kesalahan akses URL atau timeout, EngageLab akan mencoba ulang hingga maksimal 7 kali. Interval waktu antar percobaan ulang adalah 3 menit, 10 menit, 30 menit, 1 jam, 6 jam, 12 jam, dan 24 jam. Artinya, Anda punya cukup waktu untuk memperbaiki URL sebelum pesan hilang.

Jika jumlah percobaan ulang melebihi batas, EngageLab akan membuang pesan tersebut.

Untuk setiap pemrosesan peristiwa dan analisis data, Anda perlu mengembalikan [Respons berhasil diterima] dalam waktu 3 detik. Jika tidak, EngageLab akan mengirim ulang pesan tersebut.

Icon Solid Transparent White Qiyu
Hubungi Sales