na powyższej stronie mam coś takiego
Wywołanie API (sprawdzenie poprawności kodu SMS i jego wartości) odbywa się przez otwarcie strony (zapytanie HTTP GET): https: // www.1shot1kill.pl/api?type=sms&key={KLUCZ}&sms_code={KOD_SMS}&comment={KOMENTARZ} Maksymalna długość komentarza to 40 znaków.
<?php function is_1s1k_sms_valid($kod,$apikey,$komentarz) { $strona = "http://www.1shot1kill.pl/api?type=sms&key=".$apikey."&sms_code=".$kod."&comment=".$komentarz; $jsonAnswer = json_decode($apiAnswer,true); // odczyt przez tablice asocjacyjne switch($jsonAnswer["status"]) { case "ok": { if($jsonAnswer["amount"] == "0.65") { return 1; } else if($jsonAnswer["amount"] == "1.30") { return 2; } else if($jsonAnswer["amount"] == "1.95") { return 3; } else if($jsonAnswer["amount"] == "2.60") { return 4; } else if($jsonAnswer["amount"] == "3.25") { return 5; } else if($jsonAnswer["amount"] == "3.90") { return 6; } else if($jsonAnswer["amount"] == "4.55") { return 7; } else if($jsonAnswer["amount"] == "5.20") { return 8; } else if($jsonAnswer["amount"] == "5.85") { return 9; } else if($jsonAnswer["amount"] == "6.50") { return 10; } else if($jsonAnswer["amount"] == "7.15") { return 11; } else if($jsonAnswer["amount"] == "9.10") { return 14; } else if($jsonAnswer["amount"] == "10.40") { return 16; } else if($jsonAnswer["amount"] == "12.25") { return 19; } else if($jsonAnswer["amount"] == "13.00") { return 20; } else if($jsonAnswer["amount"] == "16.25") { return 25; } return 0; break; } case "fail": { switch($jsonAnswer["desc"]) { case "empty sms code": { return 0; break; } case "wrong sms code": { return 0; break; } case "sms code already used": { return 0; break; } case "sms code expired": { return 0; break; } return 0; break; } break; } case "error": { switch($jsonAnswer["desc"]) { case "internal api error": { return 0; break; } case "wrong api type": { return 0; break; } case "wrong api key": { return 0; break; } case "too long comment": { return 0; break; } case "comment contains not allowed characters": { return 0; break; } default: return 0; } break; } default: return 0; } } ?>
Komunikaty zwrotne Komunikaty zwrotne mają format JSON. Komunikat przy poprawnym doładowaniu portfela: {"status":"ok","amount":"16.25"} gdzie "16.25" to właściwa kwota doładowania. Komunikaty przy niepoprawnym kodzie SMS: {"status":"fail","desc":"empty sms code"} {"status":"fail","desc":"wrong sms code"} {"status":"fail","desc":"sms code already used"} {"status":"fail","desc":"sms code expired"} Komunikaty błędów: {"status":"error","desc":"internal api error"} {"status":"error","desc":"wrong api type"} {"status":"error","desc":"wrong api key"} {"status":"error","desc":"ip address X.X.X.X registered with another api key"} {"status":"error","desc":"too long comment"} {"status":"error","desc":"comment contains not allowed characters"}