ALGO RESTful API logo

ALGO RESTful API

ALGO RESTful API khoom

Khoom Qhia: RESTful API Guide

Lub Algo RESTful API tso cai rau cov neeg siv nkag mus, tswj hwm, thiab ua rau ua haujlwm ntawm Algo IP Endpoints ntawm lawv lub network los ntawm HTTP / HTTPS thov. Cov ntaub ntawv no muab cov txheej txheem sib xws thiab tau teev ua ntej ntawm kev ua haujlwm tsis muaj lub xeev uas tuaj yeem siv los cuam tshuam nrog Algo li. API txhawb HTTP / HTTPS GET, POST, thiab PUT thov nrog JSON payloads.

Kev lees paub tseeb

Muaj peb hom kev lees paub muaj nyob nrog Algo RESTful API:

  • Standard authentication (enabled los ntawm lub neej ntawd)
  • Basic authentication (yeem)
  • Tsis muaj authentication txoj kev (tsis pom zoo; tsuas yog rau kev xeem lub hom phiaj)

Cov lus qhia siv khoom: RESTful API

Yam yuavtsum tau kawm uantej

Ua ntej tso cai rau RESTful API, xyuas kom meej tias lub cuab yeej muaj kev sib txuas hauv internet kom ncav cuag NTP servers ua ntej. Yog tias tsis muaj kev sib txuas hauv Is Taws Nem, teeb tsa NTP server hauv zos thiab nkag mus rau nws qhov chaw nyob IP.

Ua kom RESTful API
  1. Nkag mus rau hauv lub cuab yeej web interface thiab mus rau Advanced Settings Admin tab.
  2. Scroll down mus rau ntu API Txhawb thiab pab kom RESTful API.
  3. Teem tus password xav tau (default password: algo). Nco ntsoov tias tus qauv authentication yog qhib los ntawm lub neej ntawd.
Enabling Basic Authentication (Optional)
  1. Hauv web interface, mus rau qhov System Maintenance tab thiab rub tawm qhov teeb tsa file.
  2. Qhib cov kev teeb tsa file nrog cov ntawv nyeem thiab ntxiv cov kab hauv qab no: api.auth.basic = 1
  3. Txuag thiab upload cov kev hloov kho file rov qab mus rau lub cuab yeej siv lub Restore Configuration File feature hauv System Maintenance tab.
Enabling No Authentication Method (Optional)

Txhawm rau kom tsis txhob muaj qhov kev lees paub tseeb, tawm hauv RESTful API Password chaw khoob. Txoj kev no tsis pom zoo thiab yuav tsum tsuas yog siv rau kev sim lub hom phiaj nkaus xwb vim nws tsis muaj kev ruaj ntseg.

Ua kom yooj yim tswj interface (yeem)
  1. Nyob ntawm web interface, mus rau qhov System Maintenance tab thiab rub tawm qhov teeb tsa file.
  2. Qhib cov kev teeb tsa file siv cov ntawv nyeem thiab ntxiv ob kab. Hloov tus password rau koj xav tau.
  3. Admin.web.sci = 1
  4. Sci.admin.pwd =
  5. Txuag thiab upload cov kev hloov kho file rov qab mus rau lub cuab yeej siv lub Restore Configuration File feature hauv System Maintenance tab.

Authentication Sampua Code

Thov email support@algosolutions.com yog tias koj xav tau tus qauv lossis kev lees paub qhov tseeb samplwm kod.
Yog xav paub ntxiv, hu rau 604-454-3792 Ib los yog email support@algosolutions.com

Cov Lus Qhia

Nco tseg
Nco ntsoov qhia txog cov kev hloov tshiab, cov ntaub ntawv, thiab cov lus qhia uas yuav tsum tau ua raws

Tsis lees paub

Cov ntaub ntawv muaj nyob rau hauv daim ntawv no ntseeg tau tias muaj tseeb nyob rau hauv tag nrho cov respects, tiam sis tsis tau lav los ntawm Algo. Cov ntaub ntawv yuav raug hloov pauv yam tsis tau ceeb toom thiab yuav tsum tsis txhob muab txhais ua ib qho kev cog lus los ntawm Algo lossis ib qho ntawm nws cov koom tes lossis cov koom haum. Algo thiab nws cov koom tes thiab cov koom haum yuav tsis muaj lub luag haujlwm rau kev ua yuam kev lossis kev tso tseg hauv daim ntawv no. Kev kho dua ntawm cov ntaub ntawv no lossis cov ntawv tshiab ntawm nws yuav raug muab tso tawm kom suav nrog cov kev hloov pauv no. Algo xav tias tsis muaj kev lav phib xaub rau kev puas tsuaj lossis kev foob uas tshwm sim los ntawm kev siv phau ntawv no lossis cov khoom lag luam, software, firmware, thiab / lossis kho vajtse. Tsis muaj ib feem ntawm cov ntaub ntawv no tuaj yeem muab luam tawm lossis xa tawm hauv ib daim ntawv lossis los ntawm ib qho twg - hluav taws xob lossis tshuab - rau txhua lub hom phiaj yam tsis muaj ntawv tso cai los ntawm Algo.
Yog xav paub ntxiv lossis kev pabcuam hauv North America, thov hu rau Algo pab pawg txhawb nqa:

Algo Technical Support
1-604-454-3792 Ib
support@algosolutions.com

© 2022 Algo yog lub npe lag luam ntawm Algo Communication Products Ltd.
All Rights Reserved. Tag nrho lwm cov cim lag luam yog cov cuab yeej ntawm lawv cov tswv. Tag nrho cov specs raug hloov pauv yam tsis tau ceeb toom.

 GENERAL

Taw qhia

Cov ntaub ntawv no piav qhia txog yuav ua li cas Algo RESTful API tuaj yeem siv los nkag mus, tswj hwm, thiab ua rau ua haujlwm ntawm Algo IP Endpoints ntawm koj lub network los ntawm HTTP / HTTPS thov, nrog rau ob peb txoj hauv kev sib txawv nrog kev ruaj ntseg sib txawv. Kev thov cov tshuab tuaj yeem cuam tshuam nrog Algo pab kiag li lawm los ntawm ib qho kev sib xws thiab cov txheej txheem ua ntej ntawm kev ua haujlwm tsis muaj neeg nyob hauv daim ntawv no. Kev thov yog ua rau cov peev txheej URI nrog JSON them nyiaj thiab rub tawm JSON cov lus teb. HTTP / HTTPS GET, POST, thiab PUT thov rau cov peev txheej URI nrog rau JSON payload (saib cov lus txib rau cov npe ntawm cov nyiaj them poob haujlwm).

 Kev lees paub tseeb

Muaj peb hom authentications:

  •  Standard (pom zoo)
  •  Basic
  •  Tsis muaj (tsis pom zoo)

Tus Qauv authentication siv Hash-based Message Authentication Code (HMAC) nrog rau SHA-256 encoded digest. Basic authentication siv Base64 encoding thiab yuav tsum tsuas yog siv dhau HTTPS. Tsis muaj authentication yuav tsum tsuas yog siv nrog kev saib xyuas hnyav vim nws tsis muaj kev lees paub. Mus saib tshooj Cov Lus Qhia Txog Kev Ua Haujlwm kom paub meej ntxiv.

SETUP THIAB CONFIGURATION

Yam yuavtsum tau kawm uantej
  •  Cov ntaub ntawv no xav tias Algo kawg yog khiav firmware version 3.3 lossis siab dua.
  •  Lub sij hawm sib txawv ntawm tus neeg thov thiab Algo cov cuab yeej yuav tsum tsawg dua 30 vib nas this los siv cov qauv kev lees paub.
  • Xyuas kom NTP (Network Time Protocol) siv. Cov chaw nyob ntawm kev cai NTP servers yuav raug teeb tsa hauv Advanced Settings → Time tab.

Nco tseg
Cov txheej txheem ua ntej NTP servers tau tshaj tawm rau pej xeem, yog li kev sib txuas hauv internet yuav tsum ncav cuag nws. Yog tias tsis muaj kev sib txuas hauv Is Taws Nem, teeb tsa NTP server hauv zos thiab nkag mus rau nws qhov chaw nyob IP.

  • Xyuas kom lub Algo ntaus system lub sij hawm raug hloov mus rau lub sij hawm raug. Qhov no tuaj yeem ua tiav los ntawm kev mus rau Advanced Settings → Time tab.
 Ua kom RESTful API
  1. Nkag mus rau hauv web interface thiab mus rau Advanced Settings → Admin tab.
  2. Scroll mus rau ntu API Txhawb nqa, pab kom RESTful API thiab teeb tus password raws li qhov xav tau (tus password tsis raug: algo)
    Nco tseg
    Standard authentication yog enabled los ntawm lub neej ntawd.ALGO RESTful API 01
Qhib Basic Authentication (Optional)
  1. Hauv web interface, mus rau qhov System → Maintenance tab thiab rub tawm qhov kev teeb tsa file.
  2. Qhib cov kev teeb tsa file nrog cov ntawv nyeem thiab ntxiv cov kab hauv qab no: api.auth.basic = 1
  3.  Txuag thiab upload cov kev hloov kho file rov qab mus rau lub cuab yeej siv lub Restore Configuration File feature hauv System → Maintenance tab.
Tsis muaj txoj hauv kev lees paub (xaiv tau)

Txhawm rau kom tsis txhob muaj qhov kev lees paub tseeb, tawm hauv RESTful API Password chaw khoob. Txoj kev no tsis pom zoo thiab yuav tsum tsuas yog siv rau kev sim lub hom phiaj nkaus xwb vim nws tsis muaj kev ruaj ntseg.

Ua kom yooj yim tswj interface (yeem)
  1. Nyob ntawm web interface, mus rau qhov System → Maintenance tab thiab rub tawm qhov kev teeb tsa file.
  2.  Qhib cov kev teeb tsa file siv cov ntawv nyeem thiab ntxiv ob kab. Hloov cov rau koj tus password xav tau. Admin.web.sci = 1
    Sci.admin.pwd =
  3.  Txuag thiab upload cov kev hloov kho file rov qab mus rau lub cuab yeej siv lub Restore Configuration File feature hauv System → Maintenance tab.

YUAV TSUM TAU TXAIS

Thov email support@algosolutions.com yog tias koj xav tau tus qauv lossis kev lees paub qhov tseeb samplwm kod.

Standard Authentication Thov nrog JSON Payload

Yuav tsum tau headers hauv HTTP / HTTPS thov
> Cov ntsiab lus-Hom: "application/json"
> Content-MD5: [content_md5] Example
Content-MD5: 74362cc86588b2b3c5a4491baf80375b

Tso cai: hmac admin: [nonce]: [hmac_output]
Cov ntawv tso cai headers muaj xws li:

  1. Cov hlua 'hmac admin' ua raws li cov nyuv ':'.
  2. Nonce – Tus nqi random lossis tsis rov ua dua, ua raws li txoj hnyuv ':'.
  3. Hmac_output - tsim los ntawm RESTful API Password (secret-key) teeb tsa ntawm koj lub cuab yeej thiab HMAC cov tswv yim, raws li hauv qab no:
    [request_method]:[request_uri]:[content_md5]:[cov ntsiab lus_type]:[timestamp]:[nonce]

HMAC input example: (siv 'algo' ua tus yuam sij zais cia)
POST:/api/controls/tone/start:6e43c05d82f71e77c586e29edb93b129:application/json:1601312252:49936 Tsim HMAC nrog lo lus zais thiab HMAC input hlua raws li digest siv SHA-256:
HMAC output example: 2e109d7aeed54a1cb04c6b72b1d854f442cf1ca15eb0af32f2512dd77ab6b330

Hnub tim: hnub, hnub hli, xyoo hr: min: sec GMT
Example
Hnub: Thu, 22 Sep 2022 02:33:07 GMT
Standard authentication nrog payload example:

ALGO RESTful API 02

 Standard Authentication Thov tsis muaj JSON Payload

Zoo tib yam rau 3.1 nrog cov ntsiab lus ntsig txog headers/hmac cov tswv yim tshem tawm.
HMAC tswv yim: [request_method]:[request_uri]:[timestamp]:[nonce] HMAC input example: (siv 'algo' ua tus yuam sij zais cia)
GET:/api/settings/audio.page.vol:1601312252:49936
Tsim HMAC nrog lo lus zais thiab HMAC input hlua siv SHA-256:
HMAC output example: c5b349415bce0b9e1b8122829d32fbe0a078791b311c4cf40369c7ab4eb165a8
Standard authentication tsis payload example:

ALGO RESTful API 03

 Basic Authentication Thov

Txoj kev lees paub qhov tseeb no yuav tsum tau siv nrog kev saib xyuas vim tias nws tsis muaj kev nyab xeeb dua li tus qauv txheej txheem.

Kev tso cai: Basic [base64]
Example:
Kev tso cai: Basic YWRtaW46YWxnbwo =
Basic authentication example:
ALGO RESTful API 04

COMMANDS

 RESTful API Commands

Hauv qab no yog cov npe ntawm txhua qhov kev txhawb nqa API cov lus txib.

Nco tseg
Ib qho kev thov PUT hloov lossis tsim cov peev txheej tas mus li uas muaj sia nyob rov pib dua, thaum POST thov tsuas yog tswj cov cuab yeej rau kev sib kho tam sim no.

Kev piav qhia Txoj kev URI Them nyiaj Tsis muaj Rov qab los Example Khoom FW
Retrieve tus nqi ntawm ib tug tshwj xeeb parameter.  Tau /api/settings/[key-name] Ex./api/settings/audio.page.vol  N/A  {“audio.page.vol”: “-18dB”}  Tag nrho  > 3.3
Rov qab cov suab nrov ambient ntsuas hauv decibels. Ambient Noise Compensation yuav tsum tau qhib rau hauv Basic Settings -> Features tab. Tau /api/info/audio.noise.level N/A {“audio.noise.level”: 72}  Cov Hais Lus Qhia Cov Hais Lus > 3.3
 Extract cov xwm txheej ntawm relay input davhlau ya nyob twg. Tau /api/info/input.relay.status N/A  

{“input.relay.status”: “idle”} lossis {“input.relay.status”: “active”}

Tag nrho cov khoom uas muaj lub relay input, tsuas yog 8063. Saib hauv qab no. > 4.1
 Extract cov xwm txheej ntawm Input 1 lossis Input 2 terminals.  Tau /api/info/input.relay1.status lossis /api/info/input.relay2.status  N/A {“input.relay1.status”: “idle”} lossis {“input.relay1.status”: “active”}  8063  > 4.1
Rov qab cov npe ntawm cov suab nrov files tam sim no ntsia.  Tau  /api/info/tonelist  

N/A

{"tonelist":["bell-na.wav","bell uk.wav","buzzer.wav",...]}  Tag nrho  > 5.0
Rov qab tau cov ntaub ntawv ntaus ntawv uas tshwm rau ntawm nplooj ntawv xwm txheej.  Tau  /api/info/status  N/A  Daim ntawv teev tag nrho cov ntaub ntawv los ntawm Status tab.  Tag nrho  > 5.4
Rov qab tau cov ntaub ntawv cov khoom lag luam uas tshwm rau ntawm nplooj ntawv Hais txog.  Tau /api/info/about  N/A  Txhua cov ntaub ntawv muaj nyob rau ntawm Tab. Tag nrho > 5.4
Ua kom lub strobe nrog qhov xav tau xim thiab cov qauv tsis. POST /api/controls/strobe/start qauv: {0 - 15}
color1: {xiav, liab, amber, ntsuab} color2: {xiav, liab, amber, ntsuab} ledlvl: {1 - 255}
tuav: {tseeb, cuav}
N/A  8128 (G2)
8138
8190 XNUMXs
> 3.3
 Nres lub strobe.  POST  /api/controls/strobe/stop  N/A  N/A 8128 (G2)
8138
8190 XNUMXs
> 3.3
Ua ib lub suab ib zaug lossis voj nws. POST /api/controls/tone/start path: {tone} ie. chim.wav
Loop: {true, false} los yog {0, 1}
eg {“path”:”chime.wav”, “loop”:true}
N/A Cov neeg hais lus 8301
8373
8028 (G2)
8201
8039
> 3.3
Nres lub suab nrov. POST /api/controls/tone/stop N/A N/A Cov neeg hais lus 8301
8373
8028 (G2)
8201
8039
> 3.3
Hu rau lub xov tooj txuas ntxiv nrog cov lus kaw ua ntej. POST /api/controls/call/start  {"extension":"2099",
"tone":"gong.wav", "interval":"0", "maxdur":"10"}
N/A Cov neeg hais lus 8301
8410
8420
> 3.3
Xaus hu. POST /api/controls/call/stop N/A N/A Cov neeg hais lus 8301
8410
8420
> 3.3
Pib hu ib nplooj ntawv ib-txoj kev. Cov cuab yeej yuav tau txais lub suab kwj ntawm lub hom phiaj txuas ntxiv.  POST  /api/controls/call/page  {“extension”:” ”}  N/A Cov neeg hais lus 8410
8420
 > 5.3.4
Reboot lub hom phiaj kawg. POST /api/controls/reboot N/A N/A Tag nrho > 3.3
Xauv lub qhov rooj. "hauv zos" tswj lub zos relay "netdc1" tswj cov chaw taws teeb network qhov rooj tswj (8063) POST /api/controls/door/lock doorid: {local, netdc1}
* Xaiv tau
N/A 8039
8028 (G2)
8201
8063
> 3.3
Xauv lub qhov rooj. POST /api/controls/door/lock  doorid: {local, netdc1}
* Xaiv tau
N/A 8039
8028 (G2)
8201
8063
> 3.3
Pab kom 24v aux out relay. POST api/controls/24v/enable N/A N/A 8063 > 5.0
Disable 24v aux out relay. POST api/controls/24v/disable N/A N/A 8063 > 5.0
Qhib cov zis relay. POST /api/controls/relay/enable N/A N/A 8063 > 5.0
Disable qhov tso zis relay. POST /api/controls/relay/disable N/A N/A 8063 > 5.0
Xyuas Algo's firmware server rau qhov tseeb firmware version.  POST  /api/controls/upgrade/check  N/A {"version": "updated"} los yog
{"version": " ”}
 Tag nrho  > 4.1
 Tshawb xyuas Algo's firmware server rau qhov tseeb firmware version thiab hloov kho mus rau qhov ntawd. POST /api/controls/upgrade/start N/A {"status": "updated"} los yog
{"status": "upgrading ”, “url”: url>} lub
{“ xwm txheej”: “ ”}
Tag nrho > 4.1
Tso cov duab lossis qauv ntawm qhov screen.  POST  /api/controls/screen/start  Saib hauv qab no  N/A 8410
8420
 > 5.3.4
Nres qhov kev tshuaj ntsuam qauv thiab rov qab mus rau qhov screen default.  POST  /api/controls/screen/stop  N/A  N/A 8410
8420
 > 5.3.4
Restart lub ntsiab daim ntawv thov. POST /api/controls/reload N/A N/A Tag nrho > 5.3.4
Pib mloog lub suab ncaj qha. Configure tus naj npawb chaw nres nkoj uas cov kwj tau raug xa mus. POST /api/controls/rx/start {"port": } N/A Tag nrho   > 5.3.4
Tsis txhob mloog lub suab ncaj qha. POST  /api/controls/rx/stop  N/A  N/A  Tag nrho  > 5.3.4
Teem lub multicast hom. PUT /api/state/mcast/update/ {"mode":"sender", "chaw nyob": , "port": , "type":"rtp"} lossis {"mode":"sender", "chaw nyob": , "port": , "type":"poly", "group":1}
** Ceeb Toom **: Yog tias tswj / suab / pib siv ua ntej cov lus txib no, lub suab yuav ua si siv qhov chaw tam sim no ntawm web UI.
N/A 8301 > 5.0
Ntxig tus nqi rau ib qho kev txwv tshwj xeeb los ntawm JSON payload. PUT /api/settings parameter: {tus nqi}
xws li {“audio.page.vol”: “-3dB”}
N/A 8180 (G2)
8186
8190
8190 XNUMXs
8301
8373
> 3.3
 Yooj Yim Tswj Interface (SCI) Commands

Txhua SCI cov lus txib yog GET thov thiab muaj qhov tsis sib xws "usi" thiab "admin" rau kev lees paub.
Example:
Tau txais http:// /sci/controls/door/unlock?usr=admin&pwd=algo&doorid=local

 Kev piav qhia  URI Ntxiv Them nyiaj Tsis muaj Cov khoom  FW
Xauv lub qhov rooj.
"hauv zos" tswj lub zos relay "netdc1" tswj cov chaw taws teeb network qhov rooj tswj (8063)
/sci/controls/do or/lock doorid: {local, netdc1}
* Xaiv tau
8039
8028 (G2)
8201
8063
> 3.3
Xauv lub qhov rooj. /sci/controls/do or/lock doorid: {local, netdc1}
* Xaiv tau
8039
8028 (G2)
8201
8063
> 3.3
Ua ib lub suab ib zaug lossis voj nws.  /sci/controls/to ne/start path: {tone} ie. chim.wav
Loop: {true, false} los yog {0, 1}
Tag nrho  > 3.3
Nres lub suab nrov. /sci/controls/to ne/stop  N/A  Tag nrho  > 3.3
Ua kom lub strobe nrog qhov xav tau xim thiab cov qauv tsis. /sci/controls/strobe/start qauv: {0 - 15} color1: {xiav, liab, amber, ntsuab}
color2: {xiav, liab, amber, ntsuab}
ledlvl: {1 - 255} tuav: {tseeb, cuav}
8128 (G2)
8138
8190 XNUMXs
> 3.3
 Nres lub strobe.  /sci/controls/strobe/stop  N/A 8128 (G2)
8138
8190 XNUMXs
 > 3.3

Cov ntaub ntawv / Cov ntaub ntawv

ALGO RESTful API [ua pdf] Cov neeg siv phau ntawv qhia
AL061-GU-GF000API-001-R0, AL061-GU-CP00TEAM-001-R0, RESTful API, RESTful, API
ALGO RESTful API [ua pdf] Cov neeg siv phau ntawv qhia
AL061-GU-CP000API-230717, RESTful API, RESTful, API

Cov ntaub ntawv

Cia ib saib

Koj email chaw nyob yuav tsis raug luam tawm. Cov teb uas yuav tsum tau muaj yog cim *