Jump to content
  • Search In
    • More options...
    Find results that contain...
    Find results in...

    Obsługa API 1shot1kill w PHP (odczyt JSON)


    Ogen Dogen
     Share

    Recommended Posts

    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

    Guest
    This topic is now closed to further replies.
     Share

    ×
    ×
    • Create New...