Witajcie, przychodzę z pytaniem gdzie popełniam błąd otóż posiadam taki kod, jednakże odpowiedź serwera jest zawsze taka sama czyli "wrong api key"a api jest w 100% prawidłowe ponieważ jak podstawie je pod "https://www.1shot1kill.pl/api?type=sms&key={KLUCZ}&sms_code={KOD_SMS}&comment={KOMENTARZ}" KLUCZ to wszystko działa idealnie
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":
{
echo "Kod zostal zatwierdzony"; 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":
{
echo "Wewnetrzny blad API. Zglos to na forum</br>"; return 0;
break;
}
case "wrong api type":
{
echo "Zly typ API. Zglos to na forum</br>"; return 0;
break;
}
case "wrong api key":
{
echo "Zly klucz API. Zglos to na forum</br>"; return 0;
break;
}
case "too long comment":
{
echo "Za dlugi komentarz API. Zglos to na forum</br>"; return 0;
break;
}
case "comment contains not allowed characters":
{
echo "Komentarz API zawiera niedozwolone znaki. Zglos to na forum</br>"; 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"}
Ten post edytował adiif1 18.01.2019, 22:31:29