A Clickatell jó. Ha jól emlékszem regisztrációkor kapsz 10 kreditet ingyen, amivel tesztelheted a programot.
Az egész nagyon egyszerű, mármint programozás szempontjából. De azért megmutatom Ruby on Railsben hogy kell (PHP-ben sok megoldás van, ami megpróbálja emulálni a Net:HTTP-t de azért én mindenkinek a Ruby verziót ajánlom, mert egyszerűbb, szebb és mert Ruby fanatikus vagyok, de az elv ugyan az PHP-ban is):
Egyrészt kell egy session tőle:
Kód:
def session_a_clickatelltol
res = Net::HTTP.post_form(URI.parse('http://api.clickatell.com/http/auth'),
{'api_id' => 'azajdid', 'user'=> 'te', 'password' => 'a_jelszavad'})
case res
when Net::HTTPSuccess, Net::HTTPRedirection
return res.body.split(': ')[1]
else
# akkor szívás van, és a hibát le kell kezelni
end
end
Másrészt valami, ami küldje az üzenetet, pl:
Kód:
def sms_kuldo(template, mobilszam)
begin
res = Net::HTTP.post_form(URI.parse(
'http://api.clickatell.com/http/sendmsg'),
{'session_id' => #ez jön az előbbi kódrészletből
, 'cliMsgId' => template.id,'to'=> mobilszam,
'from' => 'Macska',
'text' => template.message_body(:sms, mobilszam),
'callback' => '2',
'deliv_ack' => '1'})
case res
when Net::HTTPSuccess, Net::HTTPRedirection
#akkor aztán sikerült
return true
else
#na akkor meg nem sikerült
return false
end
rescue
#valószínűleg a szám nem jó
end
end
Megjegyzés a callback értéke 0..3-között lehet. Ezek statusreportok. A kettő azt jelenti, hogy csak a végső status-t reportolja. A három, hogy a közbelsőt és a végsőt is. Az egy, hogy csak a közbelsőt, és a 0, az semmit.
deliv_ack ha nullára teszed, nem 1-re mint én, akkor csak az SMS gateway statusát jelenti, nem a telefonét. Ha 1-re akkor a telefonét. Tehát az előzőhöz kapcsolódik.
Van még a req_feat, amivel featureöket kérhetsz (requested features), mint Numeric source address, vagy Delivery acknowledgments. Ha nem tudod, mi az, ne bántsd.
Ja és az egészre jó, ha csinálsz egy
Könyvjelzők