Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][cURL] Callback, API
Forum PHP.pl > Forum > PHP
kszere
Próbuję napisać skrypt pobierający dane z API od smsapi.pl (usługa HLR).
Potrzebuję uzyskać informacje takie jakie podane są w dokumentacji w tabeli.

Nie bardzo ogarniam w jaki sposób muszę to zrobić.
Znajomy podesłał mi link do: http://stackoverflow.com/questions/5452880...on-and-closures
Niestety również nie za bardzo wiem jak ma to wyglądać.

Czy moglibyście mi wytłumaczyć w jaki sposób to przebiega i jak otrzymać te dane?


Dokumentacja API
http://www.smsapi.pl/assets/files/api/SMSAPI_http.pdf
(strona 22, 16 rozdział)
Pyton_000
Masz kilka wyjść:
1) Nauczyć się PHP
2) Nauczyć się szukać
3) Zmienić profesję...

https://github.com/smsapi/smsapi-php-client
kszere
Niestety SMSAPI nie wzięło pod uwagę usługi HLR w bibliotece na GITHUB.
trueblue
Przecież w dokumentacji, do której podałeś link jest wyraźnie napisane, że adres callback ma prowadzić do działającego skryptu.
Wywołujesz URL podany w dokumentacji, a w odpowiedzi SMSAPI wywołuje skrypt callback zwracając dane metodą POST.
GregL
Witam,

Zgadza się najpierw trzeba przesłać GETem parametry username, password, number(sprawdzany numer) oraz idx(opcjonalnie) pod url: http://ssl.smsapi.pl/hlr.do a następnie SMSAPI po sprawdzeniu numeru odwoła się pod ustawiony na koncie (https://ssl.smsapi.pl/client_callbacks/callbacks) adres url z tablicą POST:

id - id zwrócony podczas sprawdzania numeru
number - sprawdzany numer
mcc - numer identyfikujący kraj (ang. Mobile Country Code)
mnc - numer sieci w danym kraju (ang. Mobile Network Code)
info - nazwa sieci, do której należy numer, lub opis błędu
status - OK kiedy numer jest poprawny, FAIL kiedy numer jest błędny (np. wyłączony,nieaktywny itp.)
date - Data, w formacie UNIX timestamp, kiedy numer był sprawdzany
ported - 0 jeżeli numer jest nieprzeniesiony, 1 jeżeli numer jest przeniesiony
ported_from - null kiedy numer jest nieprzeniesiony lub nazwa sieci z której numer został przeniesiony
idx - Opcjonalny parametr użytkownika wysłany z zapytaniem HLR

Także musisz umieścić skrypt na serwerze, który będzie np zapisywał odebrane parametry do bazy danych i ustawić na swoim koncie w SMSAPI adres url do niego.

W razie pytań lub wątpliwości zawsze można pisać na bok@smsapi.pl smile.gif
kszere
W chwili obecnej mój kod wygląda tak:
http://wklej.org/hash/68e328fdace/

U mnie ma to wyglądać tak:
1. Ktoś wpisuje numer/numery w formularzu do sprawdzenia na stronie WWW.
2. Dane przekazywane są do skryptu PHP.
3. Skrypt przetwarza otrzymane dane i wykonuje żądanie.
4. ?

W jaki sposób można przekazać otrzymane dane od SMSAPI do użytkownika, który oczekuje na nie na stronie?
Dane z formularza będą przesyłane w tle bez przeładowania strony.

Czy da się zrobić (a bardziej, w jaki sposób?) żeby skrypt oczekiwał na otrzymanie danych od SMSAPI? Czy to dobry pomysł?


Dane wyprowadzane z mego skryptu (API wewnętrzne strony) mają mieć postać:
  1. <numbers_hlr>
  2. <item checkID="id" number="number" status="status" country_code="mcc" network_code="mnc" network_info="info" unixtime="date" transfered="ported" transfered_from="ported_from" error_code="1405" description="bla bla bla"/>
  3. </numbers_hlr>


  1. {
  2. numbers_hlr: {
  3. 48730903309: {
  4. checkID: "id",
  5. number: "number",
  6. status=: "status",
  7. country_code: "mcc",
  8. network_code: "mnc",
  9. network_info: "info",
  10. unixtime: "date",
  11. transfered: "ported",
  12. transfered_from: "ported_from",
  13. error_code: "1405",
  14. description: "bla bla bla"
  15. }
  16. }
  17. }



2014-12-20 23:10 EDIT:
Mam na chwilę obecną zrobione w ten sposób (taki szkielet):
http://wklej.org/hash/353e8895fa4/

Dobry plan?
Jeszcze dorobić przed tym sprawdzanie czy jest w bazie z wciągu 24h ostatnich.

Ciekawi mnie jak to zrobili w wjakiejsieci.pl, bo mają to baaardzo błyskawicznie. Po żądaniu od razu mają dane.
Ktoś wie/pomoże/podpowie? biggrin.gif
Może w cURL to jakoś żąda i zarazem oczekuje?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.