Banyak yang tanya tanya parsing INDOSAT metode SMS, mending saya posting sini aja.
Fungsinya sama dengan metode DIAL *123*5*3*1*[tujuan]*[nominal]#, yaitu transfer pulsa. Hanya saja, menurut pengalaman saya, parsing dengan metode dial ini sering kali GAGAL di server saya. Saya lebih suka metode SMS karena menurut saya lebih aman.
Kenapa saya katakan lebih aman? Jadi misal di transaksi "menunggu jawaban" sedang di "jawaban provider" masih kosong, kita boleh kirim ulang lagi. Kalo metode dial, kita gak berani mengulang..
Well, kita mulai dengan membuat modul SMS nya...
Kirim ke di isi 151, terima jawaban boleh di centang ato enggak. Kalo di centang maka harus di isi 151. Kalo nggak di centang ya biarin kosong aja
Parsing ke provider pakai
TRANSFERPULSA [tujuan] [nominal]000Setting terima Jawaban dari Provider
Di sini kita akan melakukan perintah konfirmasi saat modul menerima SMS misal
151: Anda akan transfer pulsa ke 628155639789 sebesar 5000. 5814 adalah token anda. Ketik: OK(spasi)<token>, contoh: OK 2121. Batal, kirim: No. Kirim ke 151.
letak token ini berpindah pindah, kadang ditengah kalimat, kadang di awal kalimat dsb sampai 4 posisi, contohnya :
- Anda akan transfer pulsa ke 628155639789 sebesar 5000. 5814 adalah token anda. Ketik: OK(spasi)<token>, contoh: OK 2121. Batal, kirim: No. Kirim ke 151.
- 4013 adalah token anda. Anda akan transfer pulsa ke 6285733517802 sebesar 10000. Ketik: OK(spasi)<token>, contoh: OK 2121. Batal, kirim: No. Kirim ke 151.
- Anda akan transfer pulsa ke 6285815127746 sebesar 10000. Ketik: OK(spasi)<token>, contoh: OK 2121. Batal, kirim: No. Kirim ke 151. 6780 adalah token anda.
- Anda akan transfer pulsa ke 6285708039679 sebesar 10000. Token anda 2541. Untuk melanjutkan ketik: OK(spasi)<token>, contoh: OK 2121. Batal, kirim: No. K
Kita harus bikin 4 penangkap jawaban, kalo di saya, saya bikin 5 jawaban untuk status "menunggu jawaban"- Kata kunci harus ada = token anda, status = menunggu jawaban, Ekspresi reguler = (?<token>\d+) adalah token, Perintah = OK [token]
- Kata kunci harus ada = token anda, status = menunggu jawaban, Ekspresi reguler = . (?<token>\d+) adalah, Perintah = OK [token]
- Kata kunci harus ada = token anda, status = menunggu jawaban, Ekspresi reguler = Kirim ke 151. (?<token>\.+) adalah, Perintah = OK [token]
- Kata kunci harus ada = token anda, status = menunggu jawaban, Ekspresi reguler = token anda (?<token>\d+). Ketik, Perintah = OK [token]
- Kata kunci harus ada = token anda, status = menunggu jawaban, Ekspresi reguler = Token anda (?<token>\d+). Untuk, Perintah = OK [token]
Reply dari Provider saat transaksi sukses sbb:
151: ?@o@, @Anda mentransfer pulsa ke 085755149099 sebesar Rp10000 pada 09-05-2013 jam 13:16 (Trans.ID=628585519440020130509131609626) biaya Rp600. -GRATIS Bicara 60Kunci jawaban SUKSESKata kunci harus ada =
Anda mentransfer pulsaAwalan tujuan =
keAwalan SN/ref=
Trans.ID=Status =
SuksesEkspresi reguler =
Rp(?<nominal>\d+)000Note :
Kalo pake wavecom, gunakan inital parsing untuk membasmi cacing dan alien
:
AT+CMGF=0
AT+CMGF=1
AT+CMGF=2
AT+CMGF=3
AT+CMGF=4
Tested by me..