Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][PHP]Json a API
adiif1
post 18.01.2019, 22:30:13
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 6.08.2013

Ostrzeżenie: (0%)
-----


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


  1. Wywołanie API (sprawdzenie poprawności kodu SMS i jego wartości) odbywa się przez otwarcie strony (zapytanie HTTP GET):
  2.  
  3. https: // www.1shot1kill.pl/api?type=sms&key={KLUCZ}&sms_code={KOD_SMS}&comment={KOMENTARZ}
  4.  
  5. Maksymalna długość komentarza to 40 znaków.


  1. <?php
  2. function is_1s1k_sms_valid($kod,$apikey,$komentarz)
  3. {
  4. $strona = "http://www.1shot1kill.pl/api?type=sms&key=".$apikey."&sms_code=".$kod."&comment=".$komentarz;
  5. $apiAnswer = file_get_contents($strona);
  6. $jsonAnswer = json_decode($apiAnswer,true); // odczyt przez tablice asocjacyjne
  7.  
  8. switch($jsonAnswer["status"])
  9. {
  10. case "ok":
  11. {
  12. echo "Kod zostal zatwierdzony";
  13. if($jsonAnswer["amount"] == "0.65")
  14. {
  15. return 1;
  16. }
  17. else if($jsonAnswer["amount"] == "1.30")
  18. {
  19. return 2;
  20. }
  21. else if($jsonAnswer["amount"] == "1.95")
  22. {
  23. return 3;
  24. }
  25. else if($jsonAnswer["amount"] == "2.60")
  26. {
  27. return 4;
  28. }
  29. else if($jsonAnswer["amount"] == "3.25")
  30. {
  31. return 5;
  32. }
  33. else if($jsonAnswer["amount"] == "3.90")
  34. {
  35. return 6;
  36. }
  37. else if($jsonAnswer["amount"] == "4.55")
  38. {
  39. return 7;
  40. }
  41. else if($jsonAnswer["amount"] == "5.20")
  42. {
  43. return 8;
  44. }
  45. else if($jsonAnswer["amount"] == "5.85")
  46. {
  47. return 9;
  48. }
  49. else if($jsonAnswer["amount"] == "6.50")
  50. {
  51. return 10;
  52. }
  53. else if($jsonAnswer["amount"] == "7.15")
  54. {
  55. return 11;
  56. }
  57. else if($jsonAnswer["amount"] == "9.10")
  58. {
  59. return 14;
  60. }
  61. else if($jsonAnswer["amount"] == "10.40")
  62. {
  63. return 16;
  64. }
  65. else if($jsonAnswer["amount"] == "12.25")
  66. {
  67. return 19;
  68. }
  69. else if($jsonAnswer["amount"] == "13.00")
  70. {
  71. return 20;
  72. }
  73. else if($jsonAnswer["amount"] == "16.25")
  74. {
  75. return 25;
  76. }
  77. return 0;
  78. break;
  79. }
  80. case "fail":
  81. {
  82. switch($jsonAnswer["desc"])
  83. {
  84. case "empty sms code":
  85. {
  86. echo "Pusty kod SMS";
  87. return 0;
  88. break;
  89. }
  90. case "wrong sms code":
  91. {
  92. echo "Zly kod SMS";
  93. return 0;
  94. break;
  95. }
  96. case "sms code already used":
  97. {
  98. echo "Kod juz zuzyty";
  99. return 0;
  100. break;
  101. }
  102. case "sms code expired":
  103. {
  104. echo "Kod SMS wygasl";
  105. return 0;
  106. break;
  107. }
  108. return 0;
  109. break;
  110. }
  111. break;
  112. }
  113. case "error":
  114. {
  115. switch($jsonAnswer["desc"])
  116. {
  117. case "internal api error":
  118. {
  119. echo "Wewnetrzny blad API. Zglos to na forum</br>";
  120. return 0;
  121. break;
  122. }
  123. case "wrong api type":
  124. {
  125. echo "Zly typ API. Zglos to na forum</br>";
  126. return 0;
  127. break;
  128. }
  129. case "wrong api key":
  130. {
  131. echo "Zly klucz API. Zglos to na forum</br>";
  132. return 0;
  133. break;
  134. }
  135. case "too long comment":
  136. {
  137. echo "Za dlugi komentarz API. Zglos to na forum</br>";
  138. return 0;
  139. break;
  140. }
  141. case "comment contains not allowed characters":
  142. {
  143. echo "Komentarz API zawiera niedozwolone znaki. Zglos to na forum</br>";
  144. return 0;
  145. break;
  146. }
  147. default: return 0;
  148. }
  149. break;
  150. }
  151. default: return 0;
  152. }
  153. }
  154. ?>


  1. Komunikaty zwrotne
  2. Komunikaty zwrotne mają format JSON.
  3.  
  4. Komunikat przy poprawnym doładowaniu portfela:
  5. {"status":"ok","amount":"16.25"}
  6. gdzie "16.25" to właściwa kwota doładowania.
  7.  
  8. Komunikaty przy niepoprawnym kodzie SMS:
  9. {"status":"fail","desc":"empty sms code"}
  10. {"status":"fail","desc":"wrong sms code"}
  11. {"status":"fail","desc":"sms code already used"}
  12. {"status":"fail","desc":"sms code expired"}
  13. Komunikaty błędów:
  14. {"status":"error","desc":"internal api error"}
  15. {"status":"error","desc":"wrong api type"}
  16. {"status":"error","desc":"wrong api key"}
  17. {"status":"error","desc":"ip address X.X.X.X registered with another api key"}
  18. {"status":"error","desc":"too long comment"}
  19. {"status":"error","desc":"comment contains not allowed characters"}


Ten post edytował adiif1 18.01.2019, 22:31:29
Go to the top of the page
+Quote Post
viking
post 19.01.2019, 11:26:06
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


A jak wywołujesz funkcję?


--------------------
Go to the top of the page
+Quote Post
adiif1
post 19.01.2019, 14:26:21
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 6.08.2013

Ostrzeżenie: (0%)
-----


Cytat(viking @ 19.01.2019, 11:26:06 ) *
A jak wywołujesz funkcję?

Np przez przeglądarkę czy tez silnik hlds ale to chyba znaczenia nie ma
Kiedys działało to bezbłędnie
Inny kod api również działa dobrze tylko z tym jednym jest problem
Go to the top of the page
+Quote Post
viking
post 19.01.2019, 15:00:35
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Przedstawiłeś tu definicję funkcji ale nie pokazałeś jak ja wywołujesz. Może odwrotnie parametry, debuguj po kroku.


--------------------
Go to the top of the page
+Quote Post
adiif1
post 19.01.2019, 17:29:20
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 6.08.2013

Ostrzeżenie: (0%)
-----


Cytat(viking @ 19.01.2019, 15:00:35 ) *
Przedstawiłeś tu definicję funkcji ale nie pokazałeś jak ja wywołujesz. Może odwrotnie parametry, debuguj po kroku.


Parametry są tak jak we wzorze ze strony 1s1k w 1 poście
Za każdym razem ze kod api jest nieprawidlowy
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 23:56