ALGO RESTful API
Impormasyon ng Produkto: RESTful API Guide
Ang Algo RESTful API ay nagbibigay-daan sa mga user na i-access, manipulahin, at i-trigger ang mga aksyon sa Algo IP Endpoints sa kanilang network sa pamamagitan ng mga kahilingan sa HTTP/HTTPS. Ang dokumentong ito ay nagbibigay ng pare-pareho at paunang natukoy na hanay ng mga stateless na operasyon na maaaring magamit upang makipag-ugnayan sa mga Algo device. Sinusuportahan ng API ang mga kahilingan sa HTTP/HTTPS GET, POST, at PUT na may mga JSON payload.
Authentication
Mayroong tatlong uri ng mga pagpapatotoo na magagamit sa Algo RESTful API:
- Karaniwang pagpapatunay (pinagana bilang default)
- Pangunahing pagpapatunay (opsyonal)
- Walang paraan ng pagpapatunay (hindi inirerekomenda; para lamang sa mga layunin ng pagsubok)
Mga Tagubilin sa Paggamit ng Produkto: RESTful API
Mga kinakailangan
Bago i-enable ang RESTful API, tiyaking may koneksyon sa internet ang device para maabot ang mga paunang na-configure na NTP server. Kung walang available na koneksyon sa internet, i-configure ang isang lokal na NTP server at ilagay ang IP address nito.
Paganahin ang RESTful API
- Mag-log in sa device web interface at mag-navigate sa tab na Admin ng Mga Advanced na Setting.
- Mag-scroll pababa sa seksyong Suporta ng API at paganahin ang RESTful API.
- Itakda ang gustong password (default na password: algo). Tandaan na ang karaniwang pagpapatotoo ay pinagana bilang default.
Paganahin ang Basic Authentication (Opsyonal)
- Sa web interface, mag-navigate sa tab na Pagpapanatili ng System at i-download ang configuration file.
- Buksan ang pagsasaayos file gamit ang anumang text editor at idagdag ang sumusunod na linya: api.auth.basic = 1
- I-save at i-upload ang binagong configuration file bumalik sa device gamit ang Restore Configuration File tampok sa tab na Pagpapanatili ng System.
Paganahin ang Walang Paraan ng Pagpapatunay (Opsyonal)
Upang paganahin ang walang paraan ng pagpapatotoo, iwanang walang laman ang field ng RESTful API Password. Ang pamamaraang ito ay hindi inirerekomenda at dapat lamang gamitin para sa mga layunin ng pagsubok dahil hindi ito nagbibigay ng seguridad.
Paganahin ang Simple Control Interface (Opsyonal)
- sa web interface, mag-navigate sa tab na Pagpapanatili ng System at i-download ang configuration file.
- Buksan ang pagsasaayos file gamit ang isang text editor at magdagdag ng dalawang linya. Baguhin ang sa iyong nais na password.
- Admin.web.sci = 1
- Sci.admin.pwd =
- I-save at i-upload ang binagong configuration file bumalik sa device gamit ang Restore Configuration File tampok sa tab na Pagpapanatili ng System.
Pagpapatunay Sampang Code
Mangyaring mag-email support@algosolutions.com kung gusto mo ng standard o basic authentication sampang code.
Para sa karagdagang suporta, tumawag 604-454-3792 o email support@algosolutions.com
Mga Paunawa sa Impormasyon
Tandaan
Ang tala ay nagpapahiwatig ng mga kapaki-pakinabang na update, impormasyon, at mga tagubilin na dapat sundin
Disclaimer
Ang impormasyong nakapaloob sa dokumentong ito ay pinaniniwalaang tumpak sa lahat ng aspeto ngunit hindi ginagarantiyahan ng Algo. Ang impormasyon ay maaaring magbago nang walang abiso at hindi dapat ituring sa anumang paraan bilang isang pangako ng Algo o alinman sa mga kaakibat o subsidiary nito. Ang Algo at ang mga kaakibat at subsidiary nito ay walang pananagutan para sa anumang mga pagkakamali o pagkukulang sa dokumentong ito. Ang mga pagbabago sa dokumentong ito o mga bagong edisyon nito ay maaaring mailabas upang isama ang mga naturang pagbabago. Walang pananagutan ang Algo para sa mga pinsala o paghahabol na nagreresulta mula sa anumang paggamit ng manwal na ito o mga naturang produkto, software, firmware, at/o hardware. Walang bahagi ng dokumentong ito ang maaaring kopyahin o ipadala sa anumang anyo o sa anumang paraan - elektroniko o mekanikal - para sa anumang layunin nang walang nakasulat na pahintulot mula sa Algo.
Para sa karagdagang impormasyon o teknikal na tulong sa North America, mangyaring makipag-ugnayan sa team ng suporta ng Algo:
Algo Technical Support
1-604-454-3792
support@algosolutions.com
©2022 Ang Algo ay isang rehistradong trademark ng Algo Communication Products Ltd.
Lahat ng Karapatan ay Nakalaan. Ang lahat ng iba pang trademark ay pag-aari ng kani-kanilang mga may-ari. Ang lahat ng mga detalye ay maaaring magbago nang walang abiso.
PANGKALAHATANG
Panimula
Inilalarawan ng dokumentong ito kung paano magagamit ang Algo RESTful API upang i-access, manipulahin, at i-trigger ang mga aksyon sa Algo IP Endpoints sa iyong network sa pamamagitan ng mga kahilingan sa HTTP/HTTPS, pati na rin ang ilang iba't ibang paraan ng pag-authenticate na may iba't ibang antas ng seguridad. Ang mga sistema ng paghiling ay maaaring makipag-ugnayan sa mga Algo device sa pamamagitan ng isang pare-pareho at paunang natukoy na hanay ng mga stateless na operasyon na tinukoy sa dokumentong ito. Ang mga kahilingan ay ginawa sa URI ng isang mapagkukunan na may JSON payload at nakakakuha ng tugon ng JSON. Ang HTTP/HTTPS GET, POST, at PUT na mga kahilingan ay ginawa sa resource URI kasama ang JSON payload (tingnan ang seksyon ng mga command para sa isang listahan ng mga payload).
Authentication
May tatlong uri ng pagpapatunay:
- Standard (inirerekomenda)
- Basic
- Wala (hindi inirerekomenda)
Gumagamit ang Standard authentication ng Hash-based Message Authentication Code (HMAC) na may SHA-256 na naka-encode na digest. Ang pangunahing pagpapatunay ay gumagamit ng Base64 encoding at dapat lamang gamitin sa HTTPS. Ang walang pagpapatotoo ay dapat lamang gamitin nang may matinding pag-iingat dahil hindi ito nagbibigay ng pagpapatunay. Tingnan ang seksyong Mga Kinakailangan sa Pagpapatotoo para sa higit pang mga detalye.
SETUP AT CONFIGURATION
Mga kinakailangan
- Ipinapalagay ng dokumentong ito na ang Algo endpoint ay nagpapatakbo ng firmware na bersyon 3.3 o mas mataas.
- Ang pagkakaiba ng oras sa pagitan ng humiling at ng mga Algo device ay dapat na mas mababa sa 30 segundo upang magamit ang karaniwang pagpapatotoo.
- Tiyaking ginagamit ang NTP (Network Time Protocol). Ang mga address ng mga custom na NTP server ay maaaring i-configure sa Advanced na Mga Setting → tab na Oras.
Tandaan
Ang mga paunang na-configure na NTP server ay pampublikong naka-host, samakatuwid ang koneksyon sa internet ay kinakailangan upang maabot ito. Kung walang available na koneksyon sa internet, i-configure ang isang lokal na NTP server at ilagay ang IP address nito.
- Tiyaking ang oras ng system ng Algo device ay nakaayos sa tamang time zone. Magagawa ito sa pamamagitan ng pag-navigate sa Advanced na Mga Setting → tab na Oras.
Paganahin ang RESTful API
- Mag-log in sa web interface at mag-navigate sa Advanced na Mga Setting → tab na Admin.
- Mag-scroll pababa sa seksyong Suporta ng API, paganahin ang RESTful API at itakda ang Password ayon sa gusto (default na password: algo)
Tandaan
Ang karaniwang pagpapatotoo ay pinagana bilang default.
Paganahin ang Basic Authentication (Opsyonal)
- Sa web interface, mag-navigate sa tab na System → Maintenance at i-download ang configuration file.
- Buksan ang pagsasaayos file gamit ang anumang text editor at idagdag ang sumusunod na linya: api.auth.basic = 1
- I-save at i-upload ang binagong configuration file bumalik sa device gamit ang Restore Configuration File feature sa System → Maintenance tab.
Walang Paraan ng Pagpapatunay (Opsyonal)
Upang paganahin ang walang paraan ng pagpapatotoo, iwanang walang laman ang field ng RESTful API Password. Ang pamamaraang ito ay hindi inirerekomenda at dapat lamang gamitin para sa mga layunin ng pagsubok dahil hindi ito nagbibigay ng seguridad.
Paganahin ang Simple Control Interface (Opsyonal)
- sa web interface, mag-navigate sa tab na System → Maintenance at i-download ang configuration file.
- Buksan ang pagsasaayos file gamit ang isang text editor at magdagdag ng dalawang linya. Baguhin ang sa iyong nais na password. Admin.web.sci = 1
Sci.admin.pwd = - I-save at i-upload ang binagong configuration file bumalik sa device gamit ang Restore Configuration File feature sa System → Maintenance tab.
MGA KINAKAILANGAN SA PAGPAPATOTOO
Mangyaring mag-email support@algosolutions.com kung gusto mo ng standard o basic authentication sampang code.
Standard Authentication Request na may JSON Payload
Mga kinakailangang header sa kahilingan ng HTTP/HTTPS
> Uri ng Nilalaman: "application/json"
> Nilalaman-MD5: [content_md5] Halample
Content-MD5: 74362cc86588b2b3c5a4491baf80375b
Awtorisasyon: hmac admin:[nonce]:[hmac_output]
Ang mga header ng pahintulot ay binubuo ng:
- Ang string na 'hmac admin' na sinusundan ng colon ':'.
- Nonce – Isang random o hindi umuulit na value, na sinusundan ng colon ':'.
- Hmac_output – nabuo ng RESTful API Password (secret-key) na na-configure sa iyong device at ang HMAC input, ayon sa ibaba:
[request_method]:[request_uri]:[content_md5]:[content_type]:[timestamp]:[wala]
HMAC input halample: (gamit ang 'algo' bilang sikretong susi)
POST:/api/controls/tone/start:6e43c05d82f71e77c586e29edb93b129:application/json:1601312252:49936 Bumuo ng HMAC gamit ang password at HMAC input string bilang digest gamit ang SHA-256:
Output ng HMAC halample: 2e109d7aeed54a1cb04c6b72b1d854f442cf1ca15eb0af32f2512dd77ab6b330
Petsa: araw, petsa ng buwan, taon hr:min:sec GMT
Example
Petsa: Huwebes, 22 Set, 2022 02:33:07 GMT
Karaniwang pagpapatunay na may payload halample:
Karaniwang Kahilingan sa Pagpapatunay na Walang JSON Payload
Kapareho ng 3.1 na may inalis na mga header na nauugnay sa content/hmac input.
HMAC input: [request_method]:[request_uri]:[timestamp]:[nonce] HMAC input halample: (gamit ang 'algo' bilang sikretong susi)
GET:/api/settings/audio.page.vol:1601312252:49936
Bumuo ng HMAC gamit ang password at HMAC input string gamit ang SHA-256:
Output ng HMAC halample: c5b349415bce0b9e1b8122829d32fbe0a078791b311c4cf40369c7ab4eb165a8
Karaniwang pagpapatunay na walang payload halample:
Pangunahing Kahilingan sa Pagpapatunay
Ang pamamaraang ito ng pagpapatunay ay dapat gamitin nang may pag-iingat dahil ito ay hindi gaanong ligtas kaysa sa karaniwang paraan.
Awtorisasyon: Basic [base64]
Example:
Awtorisasyon: Basic YWRtaW46YWxnbwo=
Pangunahing pagpapatunay halample:
MGA UTOS
Mga RESTful na API Command
Nasa ibaba ang isang listahan ng lahat ng sinusuportahang API command.
Tandaan
Ang isang kahilingan sa PUT ay nagbabago o gumagawa ng isang permanenteng mapagkukunan na nananatili sa pag-reboot, habang ang isang kahilingan sa POST ay kumokontrol lamang sa device para sa kasalukuyang session.
Paglalarawan | Pamamaraan | URI | Payload Mga Parameter | Bumalik Example | produkto | FW |
Kunin ang halaga ng isang partikular na parameter. | GET | /api/settings/[key-name] Hal./api/settings/audio.page.vol | N/A | {“audio.page.vol”: “-18dB”} | Lahat | > 3.3 |
Ibalik ang antas ng ingay sa paligid na sinusukat sa decibel. Dapat na pinagana ang Ambient Noise Compensation sa Mga Pangunahing Setting -> tab na Mga Tampok. | GET | /api/info/audio.noise.level | N/A | {“audio.noise.level”: 72} | Mga Speaker Display Mga Speaker | > 3.3 |
I-extract ang status ng relay input terminal. | GET | /api/info/input.relay.status | N/A |
{“input.relay.status”: “idle”} o {“input.relay.status”: “active”} |
Lahat ng produkto na may relay input, maliban sa 8063. Tingnan sa ibaba. | > 4.1 |
I-extract ang status ng Input 1 o Input 2 na mga terminal. | GET | /api/info/input.relay1.status o /api/info/input.relay2.status | N/A | {“input.relay1.status”: “idle”} o {“input.relay1.status”: “active”} | 8063 | > 4.1 |
Kunin ang listahan ng tono files kasalukuyang naka-install. | GET | /api/info/tonelist |
N/A |
{“tonelist”:[“bell-na.wav”,”bell uk.wav”,”buzzer.wav”,…]} | Lahat | > 5.0 |
Kunin ang impormasyon ng device na ipinapakita sa page ng Status. | GET | /api/info/status | N/A | Buong listahan ng impormasyon mula sa tab na Katayuan. | Lahat | > 5.4 |
Kunin ang impormasyon ng produkto na ipinapakita sa Tungkol sa pahina. | GET | /api/info/about | N/A | Lahat ng impormasyon na nasa tab na Tungkol. | Lahat | > 5.4 |
I-activate ang strobe na may ninanais na mga parameter ng kulay at pattern. | POST | /api/controls/strobe/start | pattern: {0 – 15} color1: {blue, red, amber, green} color2: {blue, red, amber, green} ledlvl: {1 – 255} holdover: {true, false} |
N/A | 8128(G2) 8138 8190S |
> 3.3 |
Itigil ang strobe. | POST | /api/controls/strobe/stop | N/A | N/A | 8128(G2) 8138 8190S |
> 3.3 |
Magpatugtog ng tono nang isang beses o i-loop ito. | POST | /api/controls/tone/start | landas: {tono} ibig sabihin. chime.wav loop: {true, false} o {0, 1} hal {“path”:”chime.wav”, “loop”:true} |
N/A | Mga tagapagsalita 8301 8373 8028(G2) 8201 8039 |
> 3.3 |
Itigil ang tono. | POST | /api/controls/tone/stop | N/A | N/A | Mga tagapagsalita 8301 8373 8028(G2) 8201 8039 |
> 3.3 |
Tumawag sa isang extension ng telepono na may paunang na-record na mensahe. | POST | /api/controls/call/start | {“extension”:”2099″, “tone”:”gong.wav”, “interval”:”0″, “maxdur”:”10″} |
N/A | Mga tagapagsalita 8301 8410 8420 |
> 3.3 |
Tapusin ang tawag. | POST | /api/controls/call/stop | N/A | N/A | Mga tagapagsalita 8301 8410 8420 |
> 3.3 |
Magsimula ng one-way na page call. Matatanggap ng device ang audio stream mula sa target na extension. | POST | /api/controls/call/page | {“extension”:” ”} | N/A | Mga tagapagsalita 8410 8420 |
> 5.3.4 |
I-reboot ang target na endpoint. | POST | /api/controls/reboot | N/A | N/A | Lahat | > 3.3 |
I-unlock ang pinto. Kinokontrol ng “local” ang lokal na relay “netdc1” na kinokontrol ang remote network door controller (8063) | POST | /api/controls/door/unlock | doorid: {local, netdc1} *Opsyonal |
N/A | 8039 8028(G2) 8201 8063 |
> 3.3 |
I-lock ang pinto. | POST | /api/controls/door/lock | doorid: {local, netdc1} *Opsyonal |
N/A | 8039 8028(G2) 8201 8063 |
> 3.3 |
Paganahin ang 24v aux out relay. | POST | api/controls/24v/enable | N/A | N/A | 8063 | > 5.0 |
Huwag paganahin ang 24v aux out relay. | POST | api/controls/24v/disable | N/A | N/A | 8063 | > 5.0 |
Paganahin ang output relay. | POST | /api/controls/relay/enable | N/A | N/A | 8063 | > 5.0 |
Huwag paganahin ang output relay. | POST | /api/controls/relay/disable | N/A | N/A | 8063 | > 5.0 |
Tingnan ang firmware server ng Algo para sa pinakabagong bersyon ng firmware. | POST | /api/controls/upgrade/check | N/A | {“bersyon”: “na-update”} o {“bersyon”: “ ”} |
Lahat | > 4.1 |
Tingnan ang firmware server ng Algo para sa pinakabagong bersyon ng firmware at mag-upgrade sa bersyong iyon. | POST | /api/controls/upgrade/start | N/A | {“status”: “na-update”} o {“status”: “pag-upgrade ”, “url”: url>} o {“status”: “ ”} |
Lahat | > 4.1 |
Magpakita ng larawan o pattern sa screen. | POST | /api/controls/screen/start | Tingnan mo sa ibaba | N/A | 8410 8420 |
> 5.3.4 |
Itigil ang pattern ng screen at bumalik sa default na screen. | POST | /api/controls/screen/stop | N/A | N/A | 8410 8420 |
> 5.3.4 |
I-restart ang pangunahing application. | POST | /api/controls/reload | N/A | N/A | Lahat | > 5.3.4 |
Magsimulang makinig sa isang direktang audio stream. I-configure ang port number kung saan ipinapadala ang stream. | POST | /api/controls/rx/start | {“port”: } | N/A | Lahat | > 5.3.4 |
Itigil ang pakikinig sa isang direktang audio stream. | POST | /api/controls/rx/stop | N/A | N/A | Lahat | > 5.3.4 |
Itakda ang multicast mode. | ILAGAY | /api/state/mcast/update/ | {“mode”:”sender”, “address”: , "port": , “type”:”rtp”} o {“mode”:”sender”, “address”: , "port": , “type”:”poly”, “group”:1} **Tandaan**: Kung ginagamit ang mga kontrol/tono/pagsisimula bago ang command na ito, magpe-play ang tono gamit ang mga kasalukuyang setting sa web UI. |
N/A | 8301 | > 5.0 |
Maglagay ng value sa isang partikular na parameter mula sa JSON payload. | ILAGAY | /api/settings | parameter: {value} hal {“audio.page.vol”: “-3dB”} |
N/A | 8180(G2) 8186 8190 8190S 8301 8373 |
> 3.3 |
Simple Control Interface (SCI) Commands
Ang lahat ng mga utos ng SCI ay mga kahilingan sa GET at may mga karaniwang parameter na "usi" at "admin" para sa pagpapatunay.
Example:
KUMUHA ng http:// /sci/controls/door/unlock?usr=admin&pwd=algo&doorid=local
Paglalarawan | URI | Dagdag Payload Mga Parameter | Mga produkto | FW |
I-unlock ang pinto. Kinokontrol ng “local” ang lokal na relay “netdc1” na kinokontrol ang remote network door controller (8063) |
/sci/controls/do or/unlock | doorid: {local, netdc1} *Opsyonal |
8039 8028(G2) 8201 8063 |
> 3.3 |
I-lock ang pinto. | /sci/controls/do or/lock | doorid: {local, netdc1} *Opsyonal |
8039 8028(G2) 8201 8063 |
> 3.3 |
Magpatugtog ng tono nang isang beses o i-loop ito. | /sci/controls/to ne/start | landas: {tono} ibig sabihin. chime.wav loop: {true, false} o {0, 1} |
Lahat | > 3.3 |
Itigil ang tono. | /sci/controls/to ne/stop | N/A | Lahat | > 3.3 |
I-activate ang strobe na may ninanais na mga parameter ng kulay at pattern. | /sci/controls/strobe/start | pattern: {0 – 15} color1: {blue, red, amber, green} color2: {asul, pula, amber, berde} ledlvl: {1 – 255} holdover: {true, false} |
8128(G2) 8138 8190S |
> 3.3 |
Itigil ang strobe. | /sci/controls/strobe/stop | N/A | 8128(G2) 8138 8190S |
> 3.3 |
Mga Dokumento / Mga Mapagkukunan
![]() |
ALGO RESTful API [pdf] Gabay sa Gumagamit AL061-GU-GF000API-001-R0, AL061-GU-CP00TEAM-001-R0, RESTful API, RESTful, API |
![]() |
ALGO RESTful API [pdf] Gabay sa Gumagamit AL061-GU-CP000API-230717, RESTful API, RESTful, API |