PHP skript pro posílání SMS z KlikniaVolej.cz
KlikniaVolej.cz je služba pod hlavičkou MAFRA a.s. (iDNES), která umožňuje posílat SMS přes jejich webovou bránu s tím, že dostupné je i API pro aplikační napojení. API je opravdu triviální, popsané je v tomto PDF, jedná se o prostý POST na dané URL s několika položkami.
Máte následující proměnné obsahující vaše údaje k přihášení:
$username = přihlašovací jméno
$passwd = přihlašovací heslo
$sender = vaše jméno
$telefon = číslo, na které chcete poslat SMS
Poté odešlete SMS pomocí CURL následovně:
srand((double)microtime()*1000000);
$id = strval(time()).rand(0, 999); // jedinečné ID
$vars = array(
'user' => $username,
'number' => $telefon,
'sender' => $sender,
'text' => "Text SMS zpravy",
'encoding' => 'ascii',
'test' => '0',
'id' => $id,
'hash' => sha1( $username . ':' . $id . ':' . sha1($passwd) ),
'flash' => '0'
);
$data = http_build_query($vars);
$url = 'http://kavremote.mobil.cz:80/smsgateway.pl';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 180);
curl_setopt($ch, CURLOPT_HEADER , false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER , true);
curl_setopt($ch, CURLOPT_VERBOSE , false);
curl_setopt($ch, CURLOPT_POST , true);
curl_setopt($ch, CURLOPT_POSTFIELDS , $data);
$response = curl_exec($ch);
curl_close($ch);
Neměl by někdo na tohle přepsaný s kódy chyb z PDF? :) Používám to již delší dobu ve VS.NET a zatím jsem se nedokopal výjimky přepsat, takže tam mám akorát ERROR a číslo. :)
Jinak ještě komentář k této službě - je to opravdu velice pěkné a my měsíčně pošleme cca 5000 sms, takže to je i zlevnění než přes bránu T-MOBILE a nebo SMS.cz. O tom, že lze dokoupit i zobrazování jména místo čísla ani nemluvím, pro nás je to ještě víc super - píšeme tam rovnou EXEKUCE, lidi aspoň hned nevolají... :)
Aktuálně je lepší smsbrana.cz - má otevřené API (dokonce ani není potřeba POST - stačí předat v URL) a je levnější (0,90 Kč)