RESTFul API

User avatar
fracz
Posts: 1585
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Mon Mar 26, 2018 8:22 pm

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.
Attachments
api.jpg
api.jpg (97.82 KiB) Viewed 2322 times
User avatar
fracz
Posts: 1585
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Thu Apr 12, 2018 6:51 am

maghost
Posts: 99
Joined: Sun Mar 27, 2016 12:30 am

Mon Apr 16, 2018 9:59 am

Przemek napisał odnośnie clouda w wersji 2.2:
pzygmunt wrote:
Fri Apr 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?
User avatar
fracz
Posts: 1585
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Mon Apr 16, 2018 3:34 pm

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

Code: Select all

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
Posts: 99
Joined: Sun Mar 27, 2016 12:30 am

Mon Apr 16, 2018 3:53 pm

Super, tego mi brakowało! Dzięki fracz
User avatar
fracz
Posts: 1585
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Wed Apr 18, 2018 6:18 am

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
User avatar
fracz
Posts: 1585
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Tue May 01, 2018 9:25 am

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.
User avatar
fracz
Posts: 1585
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Wed May 02, 2018 1:41 pm

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

Code: Select all

/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
Posts: 1
Joined: Fri Jun 29, 2018 1:13 pm

Fri Aug 24, 2018 10:17 am

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 :

Code: Select all

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

Code: Select all

 {{domain}}/channels 
w odpowiedzi pożądanych parametrów znajduję.
Z góry dziękuję za odpowiedź.
User avatar
fracz
Posts: 1585
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Mon Aug 27, 2018 9:10 pm

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?
Post Reply