Repository ini tidak lagi diteruskan. Sebagai gantinya, gunakan https://github.com/kamshory/OTP-Pi
OTP atau One Time Password
adalah sebuah password satu kali pakai yang memiliki masa berlaku tertentu. Umumnya masa berlaku dibuat sangat singkat dan hanya memberikan kesempatan kepada penerimanya untuk memasukkannya ke dalam aplikasi dan mengirimkannya ke server aplikasi yang memerlukannya. OTP bersifat sangat rahasia sehingga clear text
dari OTP tidak boleh disimpan oleh pihak manapun. Bahkan, server aplikasi hanya menyimpan hash
atau token
yang cocok dengan OTP tersebut. Clear text
hanya dibuat lalu dikirim ke penerima. Dengan kata lain, clear text
hanya diketahui oleh penerima OTP saja.
OTP yang paling populer dikirimkan melalui SMS atau Short Message Service. Penggunaan SMS memiliki kelebihan sebagai berikut:
- Hanya dapat diterima oleh perangkat di mana SIM card dari nomor penerima terpasang. Hal ini tentu saja berkaitan dengan
What you have
padamultifactor authentication
- Dapat dengan mudah dibaca pada hampir semua merek dan model perangkat telepon seluler
- Umumnya perangkat langsung memberitahukan adanya pesan masuk tanpa memerlukan aksi pengguna
- Pada perangkat telepon seluler pintar, aplikasi pengguna OTP dapat langsung membaca pesan masuk apabila diijinkan oleh penggunanya. Dengan demikian, aplikasi dapat langsung memverifikasi OTP tanpa memerlukan tindakan manual dari penggunanya. Hal ini akan menghemat waktu dan mengurangi kesalahan
- Tidak memerlukan credit penerima sehingga penerima pesan tidak perlu membayar apapun untuk dapat menerima pesan tersebut
- Memiliki jangkauan yang sangat luas
- Perangkat penerima SMS tersedia dalam berbagai kelas harga sehingga dapat dijangkau oleh hampir semua kalangan
Dari sekian banyak kelebihan di atas, ternyata SMS memiliki keterbatasan secara teknis. SMS harus dikirim melalui operator telekomunikasi yang secara legal terdaftar di negara pengirim. SMS dapat dikirm menggunakan perangkat GSM yang tersambung ke operator telekomunikasi. Perangkat yang paling murah untuk mengirimkan SMS adalah telepon seluler dan modem GSM.
Cara lain untuk mengirimkan SMS yaitu dengan bekerjasama langsung dengan operator telekomunikasi atau menggunakan jasa pihak ketiga. Kerjasama dengan operator telekomunikasi tentu saja tidak mudah. Selain harus berbadan hukum, biaya yang diperlukan tentu saja tidak sedikit. Selain itu, volume pengiriman SMS juga menjadi bahan pertimbangan kerjasama tersebut diterima atau tidak oleh operator telekomunikasi. Penggunaan jasa pihak ketiga adalah opsi lain. Faktor keamanan tentu saja menjadi pertimbangan. Penyedia layanan tentu saja harus bisa dipercaya untuk menjaga kerahasiaan OTP yang dikirimkan.
Bagi perusahaan berskala kecil yang ingin membangun sendiri sistem pengiriman OTP dapat menggunakan berbagai macam aplikasi yang tersedia secara gratis maupun berbayar di pasaran. Beberapa pertimbangan dalam memilih aplikasi OTP adalah sebagai berikut:
- Kecepatan pengiriman
- Keamanan/kerahasiaan
- Kemudahan dalam instalasi dan integrasi
- Biaya awal dan biaya operasional
Aplikasi yang menggunakan database untuk menghubungkan antara sisi penerima pesan dan modem GSM tentu saja tidak aman. Data di dalam database dapat dibaca oleh administrator. Bahkan, administrator dapat meminta OTP pada saat pengguna sedang tidak menyadarinya dan sedang tidak bertransaksi.
Aplikasi yang mewajibkan penggunaan public IP address tentu saja tidak memberikan keleluasaan bagi pengguna. Perusahaan atau perorangan yang tidak berlangganan internet dengan IP public tidak dapat menggunakan palikasi tersebut. Pengguna perlu menempatkan server pada jaringan dengan IP public.
Aplikasi yang berjalan pada desktop dan laptop tentu saja memerlukan biaya investasi dan biaya operasional yang tinggi. Laptop atau desktop yang digunakan harus beroperasi selama 24 jam sehari dan 7 hari dalam seminggu. Listrik yang digunakan tentu saja tidak sedikit.
OTP Broker menjawab semua tantangan di atas. Dengan perangkat yang sangat murah, pengguna dapat memiliki sebuah SMS gateway yang memberikan banyak fitur serta dapat dioperasikan dengan biaya yang sangat murah.
OTP Broker adalah server untuk mengirimkan SMS melalui protokol HTTP, WebSocket dan Message Broker. Pengguna dapat memasang OTP Broker pada server dengan IP address statis yang diapat diakses oleh klien yang akan mengirimkan SMS. Selain itu, pengguna juga dapat memasang OTP Broker pada server dengan IP address dinamis. Server ini kemudian mengakses sebuah server websocket atau server RabbitMQ. OTP Broker bertindak sebagai consumer yang akan mengirimkan semua SMS yang diterimanya.
Modem adalah daftar modem yang terpasang pada OTP Broker. Modem diberi nama berdasarkan merek dan model perangkat serta koneksi yang digunakan. Modem dapat diaktifkan dan dinonaktirkan kapan saja. Modem yang tidak aktif tidak akan digunakan untuk mengirimkan SMS meskipun secara fisik terpasang pada OTP Broker dan menerima aliran daya.
OTP Broker dapat menggunakan beberapa modem sekaligus. Pengiriman SMS akan menggunakan algoritma Round-Robin di mana semua modem yang aktif akan digunakan secara bergilir.
Dalam kenyataannya, efisiensi biaya menjadi hal yang sangat penting bagi pengguna. Biaya pengiriman SMS harus dapat ditekan semaksimal mungkin. Operator telekomunikasi biasannya menerapkan biaya yang lebih rendah saat mengirim SMS ke nomor pelanggan dari operator telekomunikasi yang sama. Sebaliknya, biaya pengiriman SMS akan lebih tinggi saat mengirim SMS ke nomor pelanggan dari operator lain.
OTP Broker memungkinkan pengguna mengatur pengiriman SMS. Sebagai contoh: pengguna menggunakan 4 modem dengan 4 SIM card yang berbeda dari operator telekomunikasi yang berbeda.
- Modem 1 dengan SIM Card dari Operator Telekomunikasi 1
- Modem 2 dengan SIM Card dari Operator Telekomunikasi 2
- Modem 3 dengan SIM Card dari Operator Telekomunikasi 3
- Modem 4 dengan SIM Card dari Operator Telekomunikasi 4
Operator Telekomunikasi 1 menerapkan biaya Rp 50 untuk nomor dengan prefix 62871
dan 62872
dan menerapkan biaya Rp 350 untuk nomor selain itu.
Operator Telekomunikasi 2 menerapkan biaya Rp 100 untuk nomor dengan prefix 62835
, 62856
, dan 62837
dan menerapkan biaya Rp 350 untuk nomor selain itu.
Operator Telekomunikasi 3 menerapkan biaya Rp 60 untuk nomor dengan prefix 62845
dan menerapkan biaya Rp 250 untuk nomor selain itu.
Operator Telekomunikasi 4 menerapkan biaya Rp 90 untuk nomor dengan prefix 62848
dan 62849
dan menerapkan biaya Rp 200 untuk nomor selain itu.
Dari kasus di atas, biaya paling rendah untuk operator lain adalah Rp 200. Pengguna dapat mengatur modem 4 sebagai modem default. Semua SMS selain dari prefix 62871
, 62872
, 62835
, 62856
, 62837
dan 62845
akan menggunakan modem ini dan dikirim melalui Operator Telekomunikasi 4. Semua SMS untuk nomor dengan prefix 62871
dan 62872
menggunakan modem 1 dan dikirim melalui Operator Telekomunikasi 1. Semua SMS untuk nomor dengan prefix 62835
, 62856
, dan 62837
menggunakan modem 2 dan dikirim melalui Operator Telekomunikasi 2. Semua SMS untuk nomor dengan prefix 62845
menggunakan modem 3 dan dikirim melalui Operator Telekomunikasi 3. Dengan demikian, biaya pengiriman SMS akan dapat ditekan.
Pengguna dapat menggunakan 2 atau lebih SIM Card dari satu operator yang sama. Modem akan digunakan secara bergantian dengan algoritma Round-Robin saat OTP Broker mengirimkan SMS ke nomor dengan prefix yang sama.
Biaya pengiriman SMS akan lebih murah lagi ketika pengguna memanfaatkan promo dari operator telekomunikasi yang bersangkutan. Beberapa operator akan menerapkan biaya pengiriman SMS yang sangat rendah setelah pengguna mengirimkan beberapa SMS dengan ketentuan tertentu.
Pengaturan prefix menggunakan MSISDN. Dengan demikian, pada contoh di atas, saat pengguna di Indonesia mengatur prefix 0871, maka yang tersimpan adalah 62871. Dengan demikian, pengguna harus menggunakan panjang prefix 5 alih-alih 4.
OTP Broker memungkinkan pengguna melakukan perintah USSD pada masing-masing modem. Perintah USSD tentu saja tergantung dari masing-masing operator seluler yang digunakan pada masing-masing SIM card yang terpasang pada masing-masing modem.
Manual SMS digunakan untuk menguji apakah masing-masing modem dapat mengirimkan SMS.
OTP Broker dapat terhubung ke internet menggunakan modem mobile. Dengan demikian, pengguna tidak perlu menghubungkan OTP Broker dengan internet kabel atau optik. Ini memberikan alternatif bagi pengguna dalam memilih koneksi internet.
Administrator Setting adalah menu untuk melakukan konfigurasi administrator. Perangkat OTP Broker baru belum memiliki administrator. Pengguna harus membuat administrator terlebih dahulu sebelum menggunakannya. Silakan masuk ke akses poin OTP Broker sesuai dengan SSID dan password yang tertera pada brosur dan pindai QR Code pada brosur menggunakan smartphone.
Alamat bawaan dari web manajemen adalah http://192.168.0.11:8888
Username Username adalah pengenal administrator saat login ke OTP Broker
Password Username adalah pengaman administrator saat login ke OTP Broker
Phone Number Phone number dapat digunakan jika administrator lupa password. Password akan dikirim melalui SMS. Tentu saja ini baru bisa dilakukan ketika OTP Broker telah terkonfigurasi dengan benar.
Email Email dapat digunakan jika administrator lupa password. Password akan dikirim melalui email. Tentu saja ini baru bisa dilakukan ketika OTP Broker telah terkonfigurasi dengan benar.
API Setting adalah konfigurasi REST API untuk mengirimkan SMS.
- HTTP Port adalah port server untuk HTTP
- Enable HTTP adalah pengaturan untuk mengaktifkan atau menonaktifkan port HTTP
- HTTPS Port adalah port server untuk HTTPS
- Enable HTTPS adalah pengaturan untuk mengaktifkan atau menonaktifkan port HTTPS
- Message Path adalah path untuk mengirimkan SMS dan email
- Blocking Path adalah path untuk memblokir nomor telepon agar OTP Broker tidak mengirimkan SMS ke nomor tersebut
- Unblocking Path adalah path untuk membuka blokir nomor telepon agar OTP Broker dapat kembali mengirimkan SMS ke nomor tersebut
API User adalah akun pengirim SMS melalui REST API.
Username Username adalah pengenal pengirim saat mengirimkan SMS ke OTP Broker
Password Username adalah pengaman pengirim saat mengirimkan SMS ke OTP Broker
Phone Number Phone number adalah informasi kontak berupa nomor telepon dari pengguna API
Email Email adalah informasi kontak berupa alamat email dari pengguna API
OTP Broker memberikan pilihan apabila perangkat ini dipasang pada jaringan internet mobile atau pada jaringan di mana perangkat pengirim tidak mungkin dapat menjangkau alamat dari OTP Broker.
OTP Broker menyediakan 2 cara agar OTP Broker dapat menerima pesan yang akan dikirimkan melalui SMS yaitu dengan RabbitMQ dan WSMessageBroker.
SMS Setting adalah konfigurasi pengiriman SMS oleh OTP Broker.
Field | Description |
---|---|
Name | Modem Name |
Port | Serial port used |
SMS Center | SMS center |
IMEI | Modem IMEI |
MSISDN | MSISDN of the SIM Card used |
IMSI | IMSI of the SIM Card used |
Recipient Prefix | Recipient prefix that will receive SMS from this modem. See Prefix-Based Routing secton |
SIM Card PIN | SIM Card PIN if exists |
Baud Rate | Modem baud rate |
Parity Bit | Modem parity bit |
Start Bits | Modem start bits |
Stop Bits | Modem stop bits |
Internet Access | Use modem to connect to the internet |
APN | Access Point Name |
APN Username | Username of the APN to connect to the internet |
APN Password | Password of the APN to connect to the internet |
Dial Number | Number to be dialed to connect to the internet |
Init Dial 1 | Initial AT command to be executed to connect to the internet |
Init Dial 2 | Initial AT command to be executed to connect to the internet |
Init Dial 3 | Initial AT command to be executed to connect to the internet |
Init Dial 4 | Initial AT command to be executed to connect to the internet |
Init Dial 5 | Initial AT command to be executed to connect to the internet |
Dial Command | Command to be executed to connect to the internet |
Send SMS from API | Flag that the modem will be used to send SMS from API or not. If it set to false , modem will not send incomming SMS from API but user can send SMS manualy from the management web. |
Default Modem | Flag that the modem is default or not. The default modem will be used to send SMS that the prefix is not exists on Recipient Prefix of the other modems. |
Active | Flag for the modem that will be used or not |
Operator | APN | Username | Password | Dial UP |
---|---|---|---|---|
Telkmonsel | internet | *99# | ||
XL | internet | *99# | ||
Three | 3data | 3data | 3data | *99# |
Smartfren | smart | smart | smart | #777 |
Indosat Ooredoo | indosatgprs | *99# | ||
Axis | axis | axis | 123456 | *99# |
Bloking list adalah daftar nomor telepon yang diblokir. Nomor yang diblokir tidak akan menerima SMS dari modem manapun. Daftar ini dapat ditambah dan diputihkanmelalui REST API, RabbitMQ dan WebSocket. Daftar ini juga dapat secara manual ditambah, diputihkan, atau dihapus melalui web admin.
OTP Broker mendukung multiple email account. Email account adalah konfigurasi yang berisi alamat SMTP Server, port SMTP server, username, password, dan konfigurasi lainnya.
SMTP Server digunakan untuk mengirimkan OTP ke alamat email dan dapat digunakan untuk melakukan reset password.
Penggunaan banyak akun email lebih direkomendasikan karena jumlah email yang dikirim oleh setiap akun email akan berkurang. Sebagai contoh: sebuah SMTP server membatasi 500 email perhari. Dengan menggunakan 20 akun email, OTP Broker dapat mengirim hingga 10.000 email perhari.
Untuk menggunakan SMTP Gmail, gunakan konfigurasi berikut:
Use Port 587
Field | Value |
---|---|
SMTP Host | smtp.gmail.com |
SMTP Port | 587 |
SSL Enable | No |
Start TLS Before Send | Yes |
Authentication | Yes |
Sender Account | Gmail Account |
Sender Password | Gmail Password |
Active | Yes |
Use Port 465
Field | Value |
---|---|
SMTP Host | smtp.gmail.com |
SMTP Port | 465 |
SSL Enable | Yes |
Start TLS Before Send | Yes |
Authentication | Yes |
Sender Account | Gmail Account |
Sender Password | Gmail Password |
Active | Yes |
OPT Broker dilengkapi dengan local SMTP server untuk mengirim email. Dengan adanya local SMTP server ini, pengguna dapat mengirimkan email tanpa memerlukan external SMTP server. Meskipun demikian, local SMTP server tidak direkomendasikan karena mail server tujuan dapat saja memblokir email yang dikirim dari local SMTP server.
DDNS Record adalah data untuk melakukan pengaturan DNS secara dinamis. DDNS atau Dymanic Domain Name System adalah sebuah mekanisme pengaturan DNS yang dilakukan secara berulang-ulang disebabkan karena alamat IP publik dari server yang selalu berubah-ubah.
OTP Broker menyediakan pengaturan DDNS menggunakan vendor DDNS. Beberapa vendor DDNS yang didukung adalah sebagai berikut:
- Cloudflare - https://www.cloudflare.com/
- NoIP - https://www.noip.com/
- Dynu Dyn DNS - https://www.dynu.com/
- Free DNS Afraid - https://freedns.afraid.org/
Network Setting adalah konfigurasi untuk mengatur jaringan dari OTP Broker. OTP Broker dilengkapi dengan akses poin sehingga dapat diakses langsung menggunakan laptop atau handphone tanpa harus memasangnya ke jaringan kabel. Hal ini akan memudahkan pengguna karena konfigurasi jaringan LAN pengguna berbeda-beda. Pengguna cukup mengatur alamat IP pada jaringan ethernet sesuai dengan konfigurasi jaringan LAN yang digunakan.
Konfigurasi DHCP akan mengatur DHCP pada akses poin OTP Broker.
Konfigurasi Wireless LAN akan mengatur alamat IP pada jaringan wireless OTP Broker. Alamat IP bawaan dari OTP Broker adalah 192.168.0.11
Konfigurasi Ethernet akan mengatur alamat IP ethernet pada OTP Broker.
OTP Broker dapat membuka dan mentutup port dari sistem operasi yang digunakan oleh SMS Broker. Penutupan port ini akan membuat firewall di lapis sistem operasi. Dalam hal ini, apabila port ditutup, maka equest tidak akan sampai masuk ke aplikasi.
Monitor dapat digunakan untuk melihat aktivitas modem yang terpasang di OTP Broker. Pada saat OTP Broker mengirimkan SMS, OTP Broker akan menunjukkan dari mana request SMS masuk dan modem mana yang digunakan. Selain itu, status dari modem akan ditunjukkan sehingga akan terlihat modem mana saja yang terhubung dengan benar.
Modul Cloudflare adalah modul untuk mengatur akun Cloudflare yang digunakan.
Modul NoIP adalah modul untuk mengatur akun NoIP yang digunakan.
Modul Dynu adalah modul untuk mengatur akun Dynu Dyn DNS yang digunakan.
Modul Afraid adalah modul untuk mengatur akun Free DNS Afraid yang digunakan.
Pada kasus pengguna tidak dapat mengakses web administrator, baik karena lupa password, atau karena konfigurasi jaringan yang kacau, pengguna dapat melakukan reset device. Reset device dilakukan dengan menancapkan sebuah flash disk yang berisi file sebagai berikut:
/optb/reset.txt
Nama direktori, nama file dan ekstensi harus ditulis dengan benar dalam huruf kecil (lower case). File /optb/reset.txt
harus beriksi tesk sebagai berikut:
????????????????
Reset device akan melakukan hal-hal sebagai berikut:
- Mengembalikan konfigurasi DHCP ke awal
- Mengembalikan konfigurasi Wireless LAN ke awal
- Mengembalikan konfigurasi LAN ke awal
- Menghapus semua akun administrator
Untuk melakukan reset device, lakukan langkah-langkah sebagai berikut:
- Persiapkan sebuah flash disk dengan file seperti dijelaskan di atas
- Cabut semua modem yang terpasang pada perangkat
- Pasang flash disk di sembarang port USB perangkat
- Cabut catu daya (power supplay) ke perangkat
- Pasang kembali catu daya (power supplay) ke perangkat
- Tunggu hingga 10 menit
- Cabut flash disk dari perangkat
- Pasang kembali catu daya (power supplay) ke perangkat
- Masuk ke akses poin dengan SSID dan password seperti tertera pada brosur menggunakan smartphone atau PC
- Buka halaman 192.168.0.8888 dengan browser menggunakan smartphone atau PC yang telah terhubung ke akses poin di atas
- Login ke halaman yang disediakan
- Buat administrator baru untuk perangkat
Baik WebSocket maupun Message Broker menggunakan sebuah channel yang dapat diseting dari kedua sisi (pengirim dan penerima).
Untuk menggunakan WebSocket, silakan gunakan library WSMessageBrocker dengan link https://github.com/kamshory/WSMessageBrocker atau anda dapat membuatnya sendiri.
Untuk menggunakan Message Broker, silakan gunakan RabbitMQ dengan link https://www.rabbitmq.com/
Pada skenario ini, App Server dapat langsung mengirimkan OTP ke OTP Broker melalui HTTP.
Pengguna dapat menggunakan sebuah domain murah dan menggunakan Dynamic Domain Name System gratis. Dengan penggunaan port forwarding pada router, OTP Broker dapat diakses dari manapun dengan menggunakan domain atau subdomain. Dalam skenario ini, pengguna membutuhkan:
- OTP Broker
- Koneksi internet fix dengan IP public (statis atau dinamis)
- Router yang dapat melakukan port forwarding
- Domain yang name servernya dapat diatur
- Layanan Dynamic DNS (gratis maupun berbayar)
1. REST API
Send SMS Request
POST /api/sms HTTP/1.1
Host: sub.domain.tld
Connection: close
User-agent: KSPS
Content-type: application/json
Content-length: 124
Authorization: Basic dXNlcjpwYXNzd29yZA==
{
"command":"send-sms",
"data":{
"id": 123456,
"msisdn": "08126666666",
"message": "OTP Anda adalah 1234"
}
}
Parameter | Tipe | Deskripsi |
---|---|---|
command | String | Perintah ke OTP Broker |
data | Objek | Data untuk OTP Broker |
data .id |
String | ID SMS |
data .msisdn |
String | Nomor MSISDN penerima |
data .message |
String | Pesan SMS |
Block Number Request
POST /api/block HTTP/1.1
Host: sub.domain.tld
Connection: close
User-agent: KSPS
Content-type: application/json
Content-length: 86
Authorization: Basic dXNlcjpwYXNzd29yZA==
{
"command":"block-msisdn",
"data":{
"msisdn": "08126666666",
}
}
Parameter | Tipe | Deskripsi |
---|---|---|
command | String | Perintah ke OTP Broker |
data | Objek | Data untuk OTP Broker |
data .msisdn |
String | Nomor MSISDN yang akan diblokir |
Unblock Number Request
POST /api/unblock HTTP/1.1
Host: sub.domain.tld
Connection: close
User-agent: KSPS
Content-type: application/json
Content-length: 86
Authorization: Basic dXNlcjpwYXNzd29yZA==
{
"command":"unblock-msisdn",
"data":{
"msisdn": "08126666666",
}
}
Parameter | Tipe | Deskripsi |
---|---|---|
command | String | Perintah ke OTP Broker |
data | Objek | Data untuk OTP Broker |
data .msisdn |
String | Nomor MSISDN yang akan dibuka blokir |
Send SMS Request
POST /api/mail HTTP/1.1
Host: sub.domain.tld
Connection: close
User-agent: KSPS
Content-type: application/json
Content-length: 142
Authorization: Basic dXNlcjpwYXNzd29yZA==
{
"command":"send-mail",
"data":{
"recipient": "admin@domain.tld",
"subject": "Reset Password",
"message": "OTP Anda adalah 1234"
}
}
Parameter | Tipe | Deskripsi |
---|---|---|
command | String | Perintah ke OTP Broker |
data | Objek | Data untuk OTP Broker |
data .recipient |
String | Alamat email penerima |
data .subject |
String | Subjek email |
data .message |
String | Pesan email |
Pada skenario ini, App Server dapat mengirimkan OTP ke RabbitMQ Server atau WSMessageBroker. WSMessageBroker menggunakan protokol WebSoket dan Basic Authentication. Baik App Server maupun OTP Broker bertindak sebagai client dari WSMessageBroker.
App Server bertindak sebagai publisher dan OTP Broker menjadi consumer dari RabbitMQ Server dan WSMessageBroker. Keduanya harus menggunakan channel yang sama agar semua OTP yang dikirimkan oleh App Server dapat diterima oleh OTP Broker.
Dari kedua skenario di atas, OTP Broker akan mengirmkan SMS menggunakan modem GSM yang terpasang secara fisik pada perangkat OTP Broker. Pengguna dapat menggunakan salah satu dari RabbitMQ Server atau WSMessageBroker dan dapat pula menggunakan keduanya dalam waktu bersamaan. Akan tetapi, apabila App Server mengirimkan sebuah OTP yang sama ke RabbitMQ Server dan WSMessageBroker, maka OTP Broker akan mengirimkan SMS tersebut dua kali ke nomor penerima.
Pada skenario ini, pengguna tidak memerlukan IP public. Pengguna hanya memerlukan:
- OTP Broker
- Koneksi internet (tidak memerlukan IP public dan port forwarding)
- Server RabbitMQ atau WSMessageBroker
1. RabbitMQ
Send SMS Request
{
"command":"send-sms",
"data":{
"id": 123456,
"msisdn": "08126666666",
"message": "OTP Anda adalah 1234"
}
}
Parameter | Tipe | Deskripsi |
---|---|---|
command | String | Perintah ke OTP Broker |
data | Objek | Data untuk OTP Broker |
data .id |
String | ID SMS |
data .msisdn |
String | Nomor MSISDN penerima |
data .message |
String | Pesan SMS |
Block Number Request
{
"command":"block-msisdn",
"data":{
"msisdn": "08126666666",
}
}
Parameter | Tipe | Deskripsi |
---|---|---|
command | String | Perintah ke OTP Broker |
data | Objek | Data untuk OTP Broker |
data .msisdn |
String | Nomor MSISDN yang akan diblokir |
Unblock Number Request
{
"command":"unblock-msisdn",
"data":{
"msisdn": "08126666666",
}
}
Parameter | Tipe | Deskripsi |
---|---|---|
command | String | Perintah ke OTP Broker |
data | Objek | Data untuk OTP Broker |
data .msisdn |
String | Nomor MSISDN yang akan dibuka blokir |
2. WSMessageBroker
Send SMS Request
{
"command":"send-message",
"channel":"sms",
"data":[{
"command":"send-sms",
"data":{
"id": 123456,
"msisdn": "08126666666",
"message": "OTP Anda adalah 1234"
}
}]
}
Parameter | Tipe | Deskripsi |
---|---|---|
command | String | Perintah kepada WSMessageBroker. Selalu isi dengan send-message untuk menirimkan pesan ke channel |
channel | String | Nama channel yang dituju |
data | Array Object | Berisi array objek yang dikirim ke channel |
data[index] .command |
String | Perintah ke OTP Broker |
data[index] .data |
Objek | Data untuk OTP Broker |
data[index].data .id |
String | ID SMS |
data[index].data .msisdn |
String | Nomor MSISDN penerima |
data[index].data .message |
String | Pesan SMS |
Block Number Request
{
"command":"send-message",
"channel":"sms",
"data":[{
"command":"block-msisdn",
"data":{
"msisdn": "08126666666",
}
}]
}
Parameter | Tipe | Deskripsi |
---|---|---|
command | String | Perintah kepada WSMessageBroker. Selalu isi dengan send-message untuk menirimkan pesan ke channel |
channel | String | Nama channel yang dituju |
data | Array Object | Berisi array objek yang dikirim ke channel |
data[index] .command |
String | Perintah ke OTP Broker |
data[index] .data |
Objek | Data untuk OTP Broker |
data[index].data .msisdn |
String | Nomor MSISDN yang akan diblokir |
Unblock Number Request
{
"command":"send-message",
"channel":"sms",
"data":[{
"command":"unblock-msisdn",
"data":{
"msisdn": "08126666666",
}
}]
}
Parameter | Tipe | Deskripsi |
---|---|---|
command | String | Perintah kepada WSMessageBroker. Selalu isi dengan send-message untuk menirimkan pesan ke channel |
channel | String | Nama channel yang dituju |
data | Array Object | Berisi array objek yang dikirim ke channel |
data[index] .command |
String | Perintah ke OTP Broker |
data[index] .data |
Objek | Data untuk OTP Broker |
data[index].data .msisdn |
String | Nomor MSISDN yang akan dibuka blokir |
Server WSMessageBroker berbasis menggunakan protokol WebSocket dan PHP. Silakan download WSMessageBroker di https://github.com/kamshory/WSMessageBrocker
Client untuk mengirimkan SMS ke WSMessageBroker dapat didownload di https://github.com/kamshory/WSClient
Home
- Service Status : OK
- Server Status : OK
USSD
- Execute USSD : OK
SMS
- Send SMS : OK
Administrator
- View : OK
- Add : OK
- Edit : OK
- Delete : OK
- Activate : OK
- Deactivate : OK
- Block : OK
- Unblock : OK
API Setting
- Update : OK
- API User
- View : OK
- Add : OK
- Edit : OK
- Delete : OK
- Activate : OK
- Deactivate : OK
- Block : OK
- Unblock : OK
Feeder Setting
- WSMessageBroker : OK
- RabbitMQ : OK
SMS Setting
- Send SMS : OK
Modem
- Add : OK
- Edit : OK
- Delete : OK
- Activate : OK
- Deactivate : OK
Email Setting
- Update
DNS Record
- Add : OK
- Edit : OK
- Delete : OK
- Activate : OK
- Deactivate : OK
- Proxied : OK
- Unproxied : OK
Network Setting
- DHCP : OK
- Wireless LAN : OK
- Ethernet : OK
Cloudflare
- Update : OK
No IP
- Update : OK