Ogen Dogen 2 814 Właściciel Last activity: 18 minutes ago Posted April 30, 2015 Właściciel Share Posted April 30, 2015 Posted April 30, 2015 Gotowa funkcja do obsługi API hostingu 1shot1kill przez PHP Do poprawnego działania należy w zmiennej $apikey podać klucz API z panelu. Potrzebny do identyfikacji konta. W parametrach kolejno podajemy jako stringi : Kod SMS Właściwą kwotę doładowania (nie koszt SMS!) z panelu. UWAGA! Przecinek trzeba zastąpić kropką. Komentarz do przesyłanej wiadomości do API (opcjonalnie) function is_1s1k_sms_valid($kod, $kwota, $komentarz=FALSE) { $apikey = "TUTAJ MUSIMY PODAC KLUCZ API Z PANELU"; $strona = "http://www.1shot1kill.pl/api?type=sms&key=".$apikey."&sms_code=".$kod."&comment=".$komentarz; $apiAnswer = file_get_contents($strona); $jsonAnswer = json_decode($apiAnswer,true); // odczyt przez tablice asocjacyjne switch($jsonAnswer["status"]) { case "ok": { if ($jsonAnswer["amount"] == $kwota) return 1; else { return "Kod SMS nie pasuje do podanej kwoty"; } break; } case "fail": { switch($jsonAnswer["desc"]) { case "empty sms code": { return "Pusty kod SMS"; break; } case "wrong sms code": { return "Zly kod SMS"; break; } case "sms code already used": { return "Kod juz zuzyty"; break; } case "sms code expired": { return "Kod SMS wygasl"; break; } default: return 0; } break; } case "error": { switch($jsonAnswer["desc"]) { case "internal api error": { return "Wewnetrzny blad API. Zglos to na forum"; break; } case "wrong api type": { return "Zly typ API. Zglos to na forum"; break; } case "wrong api key": { return "Zly klucz API. Zglos to na forum"; break; } case "too long comment": { return "Za dlugi komentarz API. Zglos to na forum"; break; } case "comment contains not allowed characters": { return "Komentarz API zawiera niedozwolone znaki. Zglos to na forum"; break; } default: return 0; } break; } default: return 0; } } Jak używać tej funkcji ? API tego hostingu jest dosyć rozbudowane, więc funkcja będzie zwracać wartości różnego typu (int i string). W PHP jest to dozwolone, ponieważ nie definiujemy typu zwracanej wartości. $output = is_1s1k_sms_valid("ABCDEFGH","16.25","Komentarz"); if ($output == 1) echo "Poprawnie dodany SMS"; else if (is_string($output)) echo $output; // tresc błędu API lub niepowodzenia else if ($output == 0) echo "Nie zidentyfikowany błąd."; // powodem może być brak odpowiedzi API / nie dzialające API lub błąd w kodzie funkcji, nie powinna nigdy byc zwrocona wartosc 0 (false); jednakże warto rozważyć taką sytuację Link to comment Share on other sites More sharing options...
Recommended Posts