RESTFul API

Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Jest w trakcie opracowywania. Generalnie jakby ktoś był chętny do opisania endpointów to by taka pomoc się przydała. Wdrożyliśmy już http://apidocjs.com/ i API się mocno stabilizuje w najbliższym wydaniu.
Załączniki
api.jpg
api.jpg (97.82 KiB) Przejrzano 4671 razy
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

maghost
Posty: 99
Rejestracja: ndz mar 27, 2016 12:30 am

Przemek napisał odnośnie clouda w wersji 2.2:
pzygmunt pisze: pt kwie 13, 2018 6:03 pm - Ujednolicenie API
Więc jak to jest? API będzie wersjonowane? W podanym samplu doca zwraca trochę obszerniejszą listę niż normalnie o jaką się pytam przez /api ;)

W jaki sposób mogę przetestować wersję z podanego przykładu i czy ona obecnie istnieje?
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Zdawkowo napisałem tu że wersję API z którego korzystasz należy wyspecyfikować headerem, np:

Kod: Zaznacz cały

X-Accept-Version: 2.2.0
Ze względów kompatybilności, w wydaniu 2.2.0 jeśli nie podano nagłówka, domyślnie aktywowana jest "stara" wersja API, czyli 2.0.0. Takie zachowanie prawdopodobnie zostanie nadal w wersji 2.3.0 a w wersji następnej (2.4.0 lub nawet 3.0.0 ze względu na naruszanie kompatybilności) jeśli nagłówka z wersją się nie poda, wlączane będzie API najnowsze.

Póki co nieoficjalnie ustaliliśmy, że każdy Cloud wspiera 3 wersje API do tyłu, czyli Cloud 2.2.0 ma API 2.0, 2.1 i 2.2, Cloud 2.3.0 ma API 2.1, 2.2, 2.3 itd. Natomiast pewnie przy wydaniu opublikujemy jakieś oficjalniejsze niż ten post info w tej sprawie.
maghost
Posty: 99
Rejestracja: ndz mar 27, 2016 12:30 am

Super, tego mi brakowało! Dzięki fracz
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Na wiki wrzucam opis struktur które są zbyt obszerne żeby je wygodnie opisać w kodzie. Będzie to podlinkowane w dokumentacji API:

Opis parametrów kanałów
co gdzie jest przechowywane
i w jakim formacie: https://github.com/SUPLA/supla-cloud/wi ... parameters

Format stanu kanału: https://github.com/SUPLA/supla-cloud/wi ... ons-states
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Pełna dokumentacja API dostępna jest pod adresem https://app.swaggerhub.com/apis/supla/s ... -api/2.2.0

Będzie też dostępna w tej formie w każdej instancji clouda, z możliwością testowania poszczególnych endpointów na swoim koncie.

Z tej strony można pobrać gotowych klientów API do większości języków programowania, aczkolwiek jeszcze tego nie oswoiłem.
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Api można też wersjonować dodając wersję w URLu, np:

Kod: Zaznacz cały

/api/v2.2.0/channels
Nowy klient do PHP nie będzie kompatybilny wstecz. Jego dokumentację można podglądnąć tu: https://github.com/SUPLA/api-client-php/tree/swagger
matifly
Posty: 1
Rejestracja: pt cze 29, 2018 1:13 pm

Witam,
Czy w wersji 2.1 api jest możliwy odczyt stanów (parametr 'on' ) wszystkich kanałów (łączników) za pomocą jednego zapytania ?
W chwili obecnej jedyną możliwością odczytu stanu jaką znalazłem jest użycie oddzielnych zapytań dla każdego kanału :

Kod: Zaznacz cały

 {{domain}}/channels/{{id}} 
Wysyłając zapytanie pod :

Kod: Zaznacz cały

 {{domain}}/channels 
w odpowiedzi pożądanych parametrów znajduję.
Z góry dziękuję za odpowiedź.
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Nie jest możliwe pobranie stanów wielu kanałów jednym zapytaniem. W dokumentacji v2.2 https://cloud.supla.org/api/docs.html już jasno to określono, nie pozwalając na include=state dla endpointa z listą.

Pytanie czy tak musi być? @pzygmunt czy odpytanie o stan dla listy kanałów jest na tyle kosztowne by wymagać osobnych requestow do API?
ODPOWIEDZ

Wróć do „CLOUD”