ALGO RESTful API
Informacije o proizvodu: RESTful API vodič
Algo RESTful API omogućava korisnicima da pristupe, manipulišu i pokreću radnje na Algo IP krajnjim tačkama na njihovoj mreži putem HTTP/HTTPS zahteva. Ovaj dokument pruža jedinstven i unaprijed definiran skup operacija bez stanja koje se mogu koristiti za interakciju s Algo uređajima. API podržava HTTP/HTTPS GET, POST i PUT zahtjeve sa JSON korisnim opterećenjem.
Autentifikacija
Postoje tri vrste provjere autentičnosti koje su dostupne s Algo RESTful API-jem:
- Standardna autentifikacija (omogućeno prema zadanim postavkama)
- Osnovna autentifikacija (opciono)
- Bez metode provjere autentičnosti (ne preporučuje se; samo u svrhu testiranja)
Upute za upotrebu proizvoda: RESTful API
Preduvjeti
Prije nego što omogućite RESTful API, uvjerite se da uređaj ima internetsku vezu za pristup unaprijed konfigurisanim NTP serverima. Ako internetska veza nije dostupna, konfigurirajte lokalni NTP server i unesite njegovu IP adresu.
Omogućavanje RESTful API-ja
- Prijavite se na uređaj web interfejs i idite na karticu Admin Advanced Settings.
- Pomaknite se prema dolje do odjeljka podrške za API i omogućite RESTful API.
- Postavite željenu lozinku (podrazumevana lozinka: algo). Imajte na umu da je standardna autentifikacija omogućena prema zadanim postavkama.
Omogućavanje osnovne autentifikacije (opcionalno)
- U web interfejs, idite na karticu Održavanje sistema i preuzmite konfiguraciju file.
- Otvorite konfiguraciju file bilo kojim uređivačem teksta i dodajte sljedeći red: api.auth.basic = 1
- Sačuvajte i otpremite izmijenjenu konfiguraciju file nazad na uređaj pomoću Restore Configuration File funkciju na kartici Održavanje sistema.
Omogućavanje bez metode provjere autentičnosti (opcionalno)
Da biste omogućili metodu bez provjere autentičnosti, ostavite polje RESTful API Lozinka prazno. Ova metoda se ne preporučuje i treba je koristiti samo u svrhe testiranja jer ne pruža nikakvu sigurnost.
Omogućavanje jednostavnog kontrolnog interfejsa (opciono)
- Na web interfejs, idite na karticu Održavanje sistema i preuzmite konfiguraciju file.
- Otvorite konfiguraciju file koristeći uređivač teksta i dodajte dva reda. Promijenite lozinku po želji.
- Admin.web.sci = 1
- Sci.admin.pwd =
- Sačuvajte i otpremite izmijenjenu konfiguraciju file nazad na uređaj pomoću Restore Configuration File funkciju na kartici Održavanje sistema.
Autentifikacija Sampkod
Molimo email support@algosolutions.com ako želite standardnu ili osnovnu autentifikaciju sampkod.
Za dodatnu podršku pozovite 604-454-3792 ili emailom support@algosolutions.com
Informativne obavijesti
Napomena
Bilješka označava korisna ažuriranja, informacije i upute koje treba slijediti
Odricanje od odgovornosti
Vjeruje se da su informacije sadržane u ovom dokumentu tačne u svakom pogledu, ali Algo ih ne jamči. Informacije su podložne promjeni bez prethodne najave i ne treba ih ni na koji način tumačiti kao obavezu Alga ili bilo koje od njegovih filijala ili podružnica. Algo i njegove filijale i podružnice ne preuzimaju odgovornost za bilo kakve greške ili propuste u ovom dokumentu. Revizije ovog dokumenta ili njegova nova izdanja mogu se izdati da bi uključile takve promjene. Algo ne preuzima nikakvu odgovornost za štetu ili potraživanja koja proizlaze iz bilo kakvog korištenja ovog priručnika ili takvih proizvoda, softvera, firmvera i/ili hardvera. Nijedan dio ovog dokumenta ne može se reproducirati ili prenositi u bilo kojem obliku ili na bilo koji način – elektronski ili mehanički – u bilo koju svrhu bez pismene dozvole Alga.
Za dodatne informacije ili tehničku pomoć u Sjevernoj Americi, molimo kontaktirajte Algov tim za podršku:
Algo tehnička podrška
1-604-454-3792
support@algosolutions.com
©2022 Algo je registrovani zaštitni znak Algo Communication Products Ltd.
Sva prava zadržana. Svi ostali zaštitni znakovi su vlasništvo njihovih vlasnika. Sve specifikacije su podložne promjenama bez prethodne najave.
GENERAL
Uvod
Ovaj dokument opisuje kako se Algo RESTful API može koristiti za pristup, manipulaciju i pokretanje akcija na Algo IP krajnjim tačkama na vašoj mreži putem HTTP/HTTPS zahtjeva, kao i nekoliko različitih metoda provjere autentičnosti s različitim nivoima sigurnosti. Sistemi koji zahtijevaju mogu stupiti u interakciju s Algo uređajima kroz uniforman i unaprijed definiran skup operacija bez stanja definiranih u ovom dokumentu. Zahtjevi se upućuju na URI resursa s JSON korisnim opterećenjem i izazivaju JSON odgovor. HTTP/HTTPS GET, POST i PUT zahtjevi se upućuju na URI resursa zajedno sa JSON korisnim opterećenjem (pogledajte odjeljak naredbi za listu korisnih opterećenja).
Autentifikacija
Postoje tri vrste autentifikacije:
- Standardno (preporučeno)
- Basic
- Ništa (ne preporučuje se)
Standardna autentifikacija koristi kod za provjeru autentičnosti poruke zasnovan na hashu (HMAC) sa sažetkom kodiranim SHA-256. Osnovna autentifikacija koristi Base64 kodiranje i treba je koristiti samo preko HTTPS-a. Nikakvu autentifikaciju ne treba koristiti samo s krajnjom pažnjom jer ne pruža autentifikaciju. Pogledajte odjeljak Zahtjevi za provjeru autentičnosti za više detalja.
POSTAVKA I KONFIGURACIJA
Preduvjeti
- Ovaj dokument pretpostavlja da Algo krajnja tačka koristi verziju firmvera 3.3 ili noviju.
- Vremenska razlika između podnosioca zahtjeva i Algo uređaja trebala bi biti manja od 30 sekundi da bi se koristila standardna autentikacija.
- Uvjerite se da je NTP (Network Time Protocol) u upotrebi. Adrese prilagođenih NTP servera mogu se konfigurirati u kartici Napredne postavke → Vrijeme.
Napomena
Unaprijed konfigurisani NTP serveri su javno hostovani, stoga je potrebna internetska veza da bi se došlo do njih. Ako internetska veza nije dostupna, konfigurirajte lokalni NTP server i unesite njegovu IP adresu.
- Uvjerite se da je sistemsko vrijeme Algo uređaja prilagođeno ispravnoj vremenskoj zoni. To se može učiniti tako što ćete otići na karticu Napredne postavke → Vrijeme.
Omogućavanje RESTful API-ja
- Prijavite se na web interfejs i idite na karticu Napredne postavke → Admin.
- Pomaknite se prema dolje do odjeljka API podrška, omogućite RESTful API i postavite lozinku po želji (zadana lozinka: algo)
Napomena
Standardna autentifikacija je omogućena prema zadanim postavkama.
Omogući osnovnu autentifikaciju (opcionalno)
- U web interfejs, idite na karticu Sistem → Održavanje i preuzmite konfiguraciju file.
- Otvorite konfiguraciju file bilo kojim uređivačem teksta i dodajte sljedeći red: api.auth.basic = 1
- Sačuvajte i otpremite izmijenjenu konfiguraciju file nazad na uređaj pomoću Restore Configuration File na kartici Sistem → Održavanje.
Bez metode provjere autentičnosti (opcionalno)
Da biste omogućili metodu bez provjere autentičnosti, ostavite polje RESTful API Lozinka prazno. Ova metoda se ne preporučuje i treba je koristiti samo u svrhe testiranja jer ne pruža nikakvu sigurnost.
Omogućavanje jednostavnog kontrolnog interfejsa (opciono)
- Na web interfejs, idite na karticu Sistem → Održavanje i preuzmite konfiguraciju file.
- Otvorite konfiguraciju file koristeći uređivač teksta i dodajte dva reda. Promijenite na vašu lozinku. Admin.web.sci = 1
Sci.admin.pwd = - Sačuvajte i otpremite izmijenjenu konfiguraciju file nazad na uređaj pomoću Restore Configuration File na kartici Sistem → Održavanje.
ZAHTJEVI ZA AVENTIKACIJU
Molimo email support@algosolutions.com ako želite standardnu ili osnovnu autentifikaciju sampkod.
Standardni zahtjev za autentifikaciju sa JSON korisnim učitavanjem
Obavezna zaglavlja u HTTP/HTTPS zahtjevu
> Vrsta sadržaja: “application/json”
> Content-MD5: [content_md5] Example
Content-MD5: 74362cc86588b2b3c5a4491baf80375b
Autorizacija: hmac admin:[nonce]:[hmac_output]
Zaglavlja autorizacije se sastoje od:
- Niz 'hmac admin' praćen dvotočkom ':'.
- Nonce – nasumična ili neponavljajuća vrijednost, praćena dvotočkom ':'.
- Hmac_output – generiran pomoću RESTful API lozinke (tajni ključ) konfigurisane na vašem uređaju i HMAC ulaza, kao što je dolje:
[request_method]:[request_uri]:[content_md5]:[content_type]:[timestamp]:[jednokratno]
HMAC ulaz nprample: (koristeći 'algo' kao tajni ključ)
POST:/api/controls/tone/start:6e43c05d82f71e77c586e29edb93b129:application/json:1601312252:49936 Generiraj HMAC sa lozinkom i HMAC ulaznim nizom kao sažetak koristeći SHA-256
HMAC izlaz prample: 2e109d7aeed54a1cb04c6b72b1d854f442cf1ca15eb0af32f2512dd77ab6b330
Datum: dan, datum mjesec, godina sat:min:sec GMT
Example
Datum: Čet, 22 Sep, 2022 02:33:07 GMT
Standardna autentifikacija s korisnim opterećenjem nprample:
Standardni zahtjev za autentifikaciju bez JSON korisnog opterećenja
Identično 3.1 sa izostavljenim zaglavljima vezanim za sadržaj/hmac unosom.
HMAC ulaz: [request_method]:[request_uri]:[timestamp]:[nonce] HMAC ulaz prample: (koristeći 'algo' kao tajni ključ)
GET:/api/settings/audio.page.vol:1601312252:49936
Generirajte HMAC sa lozinkom i HMAC ulaznim nizom koristeći SHA-256:
HMAC izlaz prample: c5b349415bce0b9e1b8122829d32fbe0a078791b311c4cf40369c7ab4eb165a8
Standardna autentifikacija bez korisnog opterećenja nprample:
Osnovni zahtjev za autentifikaciju
Ovu metodu provjere autentičnosti treba koristiti oprezno jer je manje sigurna od standardne metode.
Autorizacija: Basic [base64]
Example:
Autorizacija: Osnovni YWRtaW46YWxnbwo=
Osnovna autentifikacija nprample:
KOMANDE
RESTful API komande
Ispod je lista svih podržanih API komandi.
Napomena
PUT zahtjev mijenja ili stvara trajni resurs koji preživljava ponovno pokretanje, dok POST zahtjev kontrolira samo uređaj za trenutnu sesiju.
Opis | Metoda | URI | Nosivost Parameters | Povratak Example | Proizvod | FW |
Dohvati vrijednost određenog parametra. | GET | /api/settings/[key-name] Ex./api/settings/audio.page.vol | N/A | {“audio.page.vol”: “-18dB”} | Sve | > 3.3 |
Vratite nivo ambijentalne buke izmjeren u decibelima. Kompenzacija ambijentalne buke mora biti omogućena u Osnovnim postavkama -> Kartica Funkcije. | GET | /api/info/audio.noise.level | N/A | {“audio.noise.level”: 72} | Zvučnici Prikaz Zvučnici | > 3.3 |
Izdvojite status ulaznog terminala releja. | GET | /api/info/input.relay.status | N/A |
{“input.relay.status”: “idle”} ili {“input.relay.status”: “active”} |
Svi proizvodi sa relejnim ulazom, osim 8063. Vidi ispod. | > 4.1 |
Izdvojite status terminala Input 1 ili Input 2. | GET | /api/info/input.relay1.status ili /api/info/input.relay2.status | N/A | {“input.relay1.status”: “idle”} ili {“input.relay1.status”: “active”} | 8063 | > 4.1 |
Preuzmite listu tonova fileje trenutno instaliran. | GET | /api/info/tonelist |
N/A |
{“tonelist”:[“bell-na.wav”,”bell uk.wav”,”buzzer.wav”,…]} | Sve | > 5.0 |
Preuzmite informacije o uređaju koje se prikazuju na stranici Status. | GET | /api/info/status | N/A | Potpuna lista informacija sa kartice Status. | Sve | > 5.4 |
Preuzmite informacije o proizvodu koje su prikazane na stranici About. | GET | /api/info/about | N/A | Sve informacije su prisutne na kartici About. | Sve | > 5.4 |
Aktivirajte strob sa željenom bojom i parametrima uzorka. | POST | /api/controls/strobe/start | uzorak: {0 – 15} boja1: {plava, crvena, amber, zelena} boja2: {plava, crvena, ćilibarna, zelena} ledlvl: {1 – 255} zadržavanje: {tačno, netačno} |
N/A | 8128(G2) 8138 8190S |
> 3.3 |
Zaustavi stroboskopu. | POST | /api/controls/strobe/stop | N/A | N/A | 8128(G2) 8138 8190S |
> 3.3 |
Pustite ton jednom ili ga upetljajte. | POST | /api/controls/tone/start | put: {ton} tj. chime.wav petlja: {true, false} ili {0, 1} npr. {“path”:”chime.wav”, “loop”:true} |
N/A | Zvučnici 8301 8373 8028(G2) 8201 8039 |
> 3.3 |
Zaustavi ton. | POST | /api/controls/tone/stop | N/A | N/A | Zvučnici 8301 8373 8028(G2) 8201 8039 |
> 3.3 |
Pozovite lokal sa unaprijed snimljenom porukom. | POST | /api/controls/call/start | {“extension”:”2099″, “ton”:”gong.wav”, “interval”:”0″, “maxdur”:”10″} |
N/A | Zvučnici 8301 8410 8420 |
> 3.3 |
Završi poziv. | POST | /api/controls/call/stop | N/A | N/A | Zvučnici 8301 8410 8420 |
> 3.3 |
Pokrenite jednosmjerni poziv stranice. Uređaj će primiti audio stream sa ciljnog lokala. | POST | /api/controls/call/page | {“extension”:” ”} | N/A | Zvučnici 8410 8420 |
> 5.3.4 |
Ponovo pokrenite ciljnu krajnju tačku. | POST | /api/controls/reboot | N/A | N/A | Sve | > 3.3 |
Otključaj vrata. “local” kontrolira lokalni relej “netdc1” kontrolira daljinski mrežni kontroler vrata (8063) | POST | /api/controls/door/unlock | doorid: {local, netdc1} * Neobvezno |
N/A | 8039 8028(G2) 8201 8063 |
> 3.3 |
Zaključaj vrata. | POST | /api/controls/door/lock | doorid: {local, netdc1} * Neobvezno |
N/A | 8039 8028(G2) 8201 8063 |
> 3.3 |
Omogućite 24v aux out relej. | POST | api/controls/24v/enable | N/A | N/A | 8063 | > 5.0 |
Onemogućite 24v aux out relej. | POST | api/controls/24v/disable | N/A | N/A | 8063 | > 5.0 |
Omogućite izlazni relej. | POST | /api/controls/relay/enable | N/A | N/A | 8063 | > 5.0 |
Onemogućite izlazni relej. | POST | /api/controls/relay/disable | N/A | N/A | 8063 | > 5.0 |
Provjerite Algov server firmvera za najnoviju verziju firmvera. | POST | /api/controls/upgrade/check | N/A | {“verzija”: “ažurirano”} ili {“verzija”: “ ”} |
Sve | > 4.1 |
Provjerite Algov server firmvera za najnoviju verziju firmvera i nadogradite na tu verziju. | POST | /api/controls/upgrade/start | N/A | {“status”: “ažurirano”} ili {“status”: “nadogradnja ”, “url”: url>} ili {“status”: “ ”} |
Sve | > 4.1 |
Prikažite sliku ili uzorak na ekranu. | POST | /api/controls/screen/start | Vidi ispod | N/A | 8410 8420 |
> 5.3.4 |
Zaustavite šablon ekrana i vratite se na podrazumevani ekran. | POST | /api/controls/screen/stop | N/A | N/A | 8410 8420 |
> 5.3.4 |
Ponovo pokrenite glavnu aplikaciju. | POST | /api/controls/reload | N/A | N/A | Sve | > 5.3.4 |
Počnite slušati direktni audio stream. Konfigurirajte broj porta na koji se stream šalje. | POST | /api/controls/rx/start | {“port”: } | N/A | Sve | > 5.3.4 |
Prestanite slušati direktan audio stream. | POST | /api/controls/rx/stop | N/A | N/A | Sve | > 5.3.4 |
Postavite multicast mod. | PUT | /api/state/mcast/update/ | {“mode”:”pošiljalac”, “adresa”: , “luka”: , “type”:”rtp”} ili {”mode”:”sender”, “address”: , “luka”: , “type”:”poly”, “group”:1} **Napomena**: Ako se prije ove naredbe koriste kontrole/ton/start, ton će se reproducirati koristeći trenutna podešavanja na web UI. |
N/A | 8301 | > 5.0 |
Umetnite vrijednost u određeni parametar iz JSON korisnog opterećenja. | PUT | /api/settings | parametar: {value} npr. {“audio.page.vol”: “-3dB”} |
N/A | 8180(G2) 8186 8190 8190S 8301 8373 |
> 3.3 |
Komande jednostavnog kontrolnog interfejsa (SCI).
Sve SCI naredbe su GET zahtjevi i imaju zajedničke parametre “usi” i “admin” za autentifikaciju.
Example:
UZMI http:// /sci/controls/door/unlock?usr=admin&pwd=algo&doorid=local
Opis | URI | Dodatni Nosivost Parameters | Proizvodi | FW |
Otključaj vrata. “local” kontrolira lokalni relej “netdc1” kontrolira daljinski mrežni kontroler vrata (8063) |
/sci/controls/do ili/otključ | doorid: {local, netdc1} * Neobvezno |
8039 8028(G2) 8201 8063 |
> 3.3 |
Zaključaj vrata. | /sci/controls/do ili/lock | doorid: {local, netdc1} * Neobvezno |
8039 8028(G2) 8201 8063 |
> 3.3 |
Pustite ton jednom ili ga upetljajte. | /sci/controls/to ne/start | put: {ton} tj. chime.wav petlja: {true, false} ili {0, 1} |
Sve | > 3.3 |
Zaustavi ton. | /sci/controls/to ne/stop | N/A | Sve | > 3.3 |
Aktivirajte strob sa željenom bojom i parametrima uzorka. | /sci/controls/strobe/start | uzorak: {0 – 15} boja1: {plava, crvena, amber, zelena} boja 2: {plava, crvena, amber, zelena} ledlvl: {1 – 255} zadržavanje: {tačno, netačno} |
8128(G2) 8138 8190S |
> 3.3 |
Zaustavi stroboskopu. | /sci/controls/strobe/stop | N/A | 8128(G2) 8138 8190S |
> 3.3 |
Dokumenti / Resursi
![]() |
ALGO RESTful API [pdf] Korisnički priručnik AL061-GU-GF000API-001-R0, AL061-GU-CP00TEAM-001-R0, RESTful API, RESTful, API |
![]() |
ALGO RESTful API [pdf] Korisnički priručnik AL061-GU-CP000API-230717, RESTful API, RESTful, API |