Perduodant informaciją apie siunčiamą žinutę nurodoma
- Jūsų (sms.gw.lt) vartotojo prisijungimo vardas
- Vartotojo identifikacinis numeris sms.gw.lt sistemoje
- Užkoduotas prisijungimo slaptažodis (md5)
- Žinučių masyvas kur kiekviename elemente nurodoma:
- Gavėjo numeris
- Žinutės tekstas
- Ar pažymėti kad sujungti žinutes (tuomet kai viršija 160 simbolių*)
* - žinutės maksimalus ilgis 160 simbolių kuomet naudojama 7bit kodavimas
Siunčiama POST užklausa į smsgw serverį
URL:
http://sms.gw.lt/dispatcher
Su parametrais:
Array
(
[UID1] => x
[UID2] => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[MSGS] => Array
(
[0] => Array
(
[TO] => 37060089089
[TEXT] => Testinis tekstas
)
[1] => Array
(
[TO] => 01010101
[TEXT] => Antra žinutė
)
)
)
Šio pavyzdžio užklausa atrodo taip:
POST /dispatcher HTTP/1.0
Host: sms.gw.lt
Content-Length: 189
Content-Type: application/x-www-form-urlencoded
UID1=x&UID2=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
&MSGS%5B0%5D%5BTO%5D=37060089089&MSGS%5B0%5D%5BTEXT%5D=Testinis+tekstas
&MSGS%5B1%5D%5BTO%5D=01010101&MSGS%5B1%5D%5BTEXT%5D=Antra+%C5%BEinut%C4%97
Pavyzdyje siunčiama antra žinutė su klaida, nurodome neteisingą gavėjo numerį
Į užklausą atsakoma masyvu kurį iškodavę php funkcija
unserialize gautume tokį masyvą:
Array
(
[MSGS] => Array
(
[0] => Array
(
[ERR] => 77
[SMSID] => 44754
)
[1] => Array
(
[ERR] => 67
[SMSID] => 0
)
)
)
Arba jei kyla problemų taip:
Array
(
[MSGS] => Array
(
)
[ERR] => 68
)
ERR - nurodo klaidos kodą
68 - Vartotojas neatpažintas
66 - Pasiektas kredito limitas
67 - Blogas gavėjo nr
69 - Pasiektas dienos limitas
77 - (Ne klaida) Žinutė patalpinta į eilę
SMSID - Žinutei suteikiamas identifikacinis numeris būklės stebėjimui
smsgw sistema kreipsis į jūsų serverį, kad praneštu apie:
- Gautą sms žinutę
- Siunčiamos žinutės būklės pakitimą
- Užregistruotą skambutį
Šie tarpiniai pranešimai saugomi smsgw duomenų bazėje, jei įvyktų klaida arba ryšio sutrikimas pranešimai nebūtų prarandami,
nes jūsų skriptas turi patvirtinti duomenų priėmimą, nepatvirtinus žinutės neištrinamos
Pranešimai perduodami jūsų skriptui HTTP POST metodu.
Įsisitikinę, kad turite leidimus rašymui į failą
<?php
file_put_contents('testams.txt', print_r($_POST,true), FILE_APPEND);
?>
galite pažiūreti kaip atrodo perduodami parametrai:
//testams.txt:
Array
(
[msgs] => Array
(
[0] => Array
(
[id] => 110331
[time] => 2008-04-20 04:25:07
[type] => INSMS
[msg] => Array
(
[SMSID] => 87944
[TIME] => 2008-04-20 04:25:06
[TEXT] => test
[SENDER] => 37062466736
)
)
[1] => Array
(
[id] => 111341
[time] => 2008-04-20 05:53:19
[type] => INSMS
[msg] => Array
(
[SMSID] => 87975
[TIME] => 2008-04-04 05:53:17
[TEXT] => test
[SENDER] => 37062466736
)
)
[2] => Array
(
[id] => 111654
[time] => 2008-04-20 07:19:17
[type] => STATUS
[msg] => Array
(
[SMSID] => 56465
[STATUS] => 7
)
)
[3] => Array
(
[id] => 111856
[time] => 2008-04-20 07:24:55
[type] => INCALL
[msg] => Array
(
[TELNR] => 37060055222
[TIME] => 2008-04-20 07:24:54
)
)
)
1(0),2(1) pranešimas atėjusios žinutės pavyzdys
3(2) - žinutės būklės pranešimas (7 - žinutė išsiųsta, 6 - atmesta)
4(3) - apie užregistruota įeinantį skambutį