RESTFul API
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 (97.82 KiB) Przejrzano 4671 razy
Zalążek dokumentacji: https://devel-cloud.supla.org/api-docs/
Przemek napisał odnośnie clouda w wersji 2.2:
W jaki sposób mogę przetestować wersję z podanego przykładu i czy ona obecnie istnieje?
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?
Zdawkowo napisałem tu że wersję API z którego korzystasz należy wyspecyfikować headerem, np:
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.
Kod: Zaznacz cały
X-Accept-Version: 2.2.0
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.
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
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
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.
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.
Api można też wersjonować dodając wersję w URLu, np:
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
Kod: Zaznacz cały
/api/v2.2.0/channels
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 :
Wysyłając zapytanie pod :
w odpowiedzi pożądanych parametrów znajduję.
Z góry dziękuję za odpowiedź.
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}}
Kod: Zaznacz cały
{{domain}}/channels
Z góry dziękuję za odpowiedź.
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?
Pytanie czy tak musi być? @pzygmunt czy odpytanie o stan dla listy kanałów jest na tyle kosztowne by wymagać osobnych requestow do API?