ALGO RESTful API logo

ALGO RESTful API

ALGO RESTful API imveliso

Ulwazi lweMveliso: I-RESTful API Guide

I-Algo RESTful API ivumela abasebenzisi ukuba bafikelele, basebenzise, ​​kwaye baqalise izenzo kwi-Algo IP Endpoints kwinethiwekhi yabo ngokusebenzisa izicelo ze-HTTP/HTTPS. Olu xwebhu lubonelela ngendlela efanayo kunye neseti echazwe kwangaphambili yemisebenzi engenammiselo enokusetyenziswa ukusebenzisana nezixhobo ze-Algo. I-API ixhasa i-HTTP/HTTPS GET, POST, kunye ne-PUT izicelo kunye ne-JSON payloads.

Uqinisekiso

Kukho iintlobo ezintathu zoqinisekiso ezikhoyo nge-Algo RESTful API:

  • Ungqinisiso olusemgangathweni (olwenziwa ngokungagqibekanga)
  • Uqinisekiso olusisiseko (ukhetho)
  • Akukho ndlela yokuqinisekisa (ayinconywa; ngeenjongo zovavanyo kuphela)

Imiyalelo yokusetyenziswa kweMveliso: I-RESTful API

Izinto ezifunekayo kuqala

Phambi kokuba uvule i-RESTful API, qinisekisa ukuba isixhobo sinoqhagamshelo lwe-intanethi ukufikelela kwiiseva ze-NTP eziqwalaselweyo. Ukuba akukho nxibelelwano lwe-intanethi lukhoyo, misela iseva ye-NTP yobulali kwaye ufake idilesi ye-IP yayo.

Ukwenza i-RESTful API
  1. Ngena kwisixhobo web ujongano kwaye ujonge kwiSetingi eziPhezulu ithebhu yoLawulo.
  2. Skrolela ezantsi kwicandelo leNkxaso ye-API kwaye uvule i-RESTful API.
  3. Cwangcisa igama lokugqithisa elifunekayo (igama lokugqitha elimiselweyo: algo). Qaphela ukuba ungqinisiso olusemgangathweni lwenziwe ngokungagqibekanga.
Ukwenza uQinisekiso oluSisiseko (Ngokhetho)
  1. Kwi web ujongano, jonga kwiNkqubo yokuLondolozwa kweNkqubo kwaye ukhuphele uqwalaselo file.
  2. Vula ubumbeko file nangawuphi na umhleli wokubhaliweyo kwaye wongeze lo mgca ulandelayo: api.auth.basic = 1
  3. Gcina kwaye ulayishe ubumbeko olulungisiweyo file ubuyela kwisixhobo usebenzisa uBuyiselo kuqwalaselo File uphawu kwisithuba sokuGcinwa kweSixokelelwano.
Ukwenza ukuba akukho Ndlela yoQinisekiso (Ngokhetho)

Ukwenza ukuba akukho ndlela yokuqinisekisa, shiya i-RESTful API Password field ingenanto. Le ndlela ayikhuthazwa kwaye kufuneka isetyenziswe kuphela kwiinjongo zokuvavanya kuphela njengoko inika ukhuseleko.

Ukwenza Ujongano Olulula Lolawulo (Ngokhetho)
  1. Kwi web ujongano, jonga kwiNkqubo yokuLondolozwa kweNkqubo kwaye ukhuphele uqwalaselo file.
  2. Vula ubumbeko file usebenzisa umhleli wokubhaliweyo kwaye wongeze imigca emibini. Guqula igama eliyimfihlo kwigama lakho eliyimfihlo.
  3. Admin.web.sci = 1
  4. Sci.admin.pwd =
  5. Gcina kwaye ulayishe ubumbeko olulungisiweyo file ubuyela kwisixhobo usebenzisa uBuyiselo kuqwalaselo File uphawu kwisithuba sokuGcinwa kweSixokelelwano.

Uqinisekiso SampIkhowudi

Nceda uthumele i-imeyile support@algosolutions.com ukuba ungathanda umgangatho okanye uqinisekiso olusisiseko sampikhowudi.
Ukufumana inkxaso eyongezelelweyo, tsalela umnxeba 604-454-3792 okanye i-imeyile support@algosolutions.com

Izaziso zoLwazi

Phawula
Inqaku libonisa uhlaziyo oluluncedo, ulwazi, kunye nemiyalelo ekufuneka ilandelwe

Ukuzihlangula

Ulwazi oluqulethwe kolu xwebhu lukholelwa ukuba luchanekile kuzo zonke iinkalo kodwa aluqinisekiswanga nguAlgo. Ulwazi lunokutshintsha ngaphandle kwesaziso kwaye akufanele luthathwe nangayiphi na indlela njengokuzibophelela kwe-Algo okanye nayiphi na imibutho yayo okanye i-subsidiaries. I-Algo kunye namahlakani ayo kunye ne-subsidiaries ayithathi xanduva ngazo naziphi na iimpazamo okanye izinto ezishiyiweyo kolu xwebhu. Uhlaziyo lolu xwebhu okanye ukuhlelwa kwalo olutsha lunokukhutshwa ukuze lubandakanye olo tshintsho. I-Algo ayithathi tyala ngomonakalo okanye amabango avela kuko nakuphi na ukusetyenziswa kwale ncwadana okanye iimveliso ezinjalo, isoftware, i-firmware, kunye/okanye ihardware. Akukho nxalenye yolu xwebhu inokuphinda iveliswe okanye idluliselwe nangaluphi na uhlobo okanye ngayo nayiphi na indlela - yombane okanye ngomatshini - ngayo nayiphi na injongo ngaphandle kwemvume ebhaliweyo evela kwaAlgo.
Ngolwazi olongezelelweyo okanye uncedo lobugcisa eMntla Melika, nceda uqhagamshelane neqela lenkxaso le-Algo:

Inkxaso yoBugcisa beAlgo
1-604-454-3792
support@algosolutions.com

©2022 iAlgo luphawu lwentengiso olubhalisiweyo lweAlgo Communication Products Ltd.
Onke Amalungelo Agciniwe. Zonke ezinye iimpawu zorhwebo ziyipropati yabanini bazo. Zonke iinkcukacha zinokutshintshwa ngaphandle kwesaziso.

 NGOKUBANZI

Intshayelelo

Olu xwebhu luchaza indlela iAlgo RESTful API enokusetyenziswa ngayo ukufikelela, ukukhohlisa, kunye nokuqalisa iintshukumo kwi-Algo IP Endpoints kuthungelwano lwakho ngezicelo zeHTTP/HTTPS, kunye neqela leendlela zokuqinisekisa ezahlukeneyo ezinamaqondo ahlukeneyo okhuseleko. Iinkqubo ezicelayo zinokusebenzisana nezixhobo ze-Algo ngokusebenzisa iyunifomu kunye neseti echazwe kwangaphambili yemisebenzi engenammiselo echazwe kolu xwebhu. Izicelo zenziwe kwi-URI yomthombo kunye nomthwalo we-JSON kwaye zifuna impendulo ye-JSON. I-HTTP/HTTPS GET, i-POST, kunye ne-PUT izicelo zenziwa kwi-URI yomthombo kunye ne-JSON yokuhlawula umvuzo (jonga icandelo lemiyalelo yoluhlu lwe-payloads).

 Uqinisekiso

Kukho iindidi ezintathu zoqinisekiso:

  •  Esemgangathweni (iyacetyiswa)
  •  Isiseko
  •  Akukho (ayinconywa)

Ukuqinisekiswa okusemgangathweni kusebenzisa iKhowudi yoQinisekiso loMyalezo weHash (HMAC) ene-SHA-256 encoded digest. Uqinisekiso olusisiseko lusebenzisa i-Base64 encoding kwaye kufuneka isetyenziswe kuphela kwi-HTTPS. Akukho bungqina kufuneka busetyenziswe kuphela ngononophelo olugqithisileyo njengoko bunganiki bungqina. Jonga icandelo leeMfuno zoQinisekiso ngeenkcukacha ezithe vetshe.

CINGA KUNYE NOQINISEKISO

Izinto ezifunekayo kuqala
  •  Olu xwebhu luthatha i-Algo endpoint isebenzisa i-firmware version 3.3 okanye ngaphezulu.
  •  Umahluko wexesha phakathi komceli kunye nezixhobo ze-Algo kufuneka ube ngaphantsi kwemizuzwana engama-30 ukusebenzisa uqinisekiso olusemgangathweni.
  • Qinisekisa i-NTP (iProtokholi yeXesha leNethiwekhi) iyasebenza. Iidilesi zeeseva ze-NTP zesiko zinokumiselwa kwi-Izicwangciso eziPhezulu → isithuba sexesha.

Phawula
Iiseva ze-NTP eziqwalaselwe kwangaphambili zisingathwa esidlangalaleni, ngoko ke uqhagamshelo lwe-intanethi luyafuneka ukufikelela kuyo. Ukuba akukho nxibelelwano lwe-intanethi lukhoyo, misela iseva ye-NTP yobulali kwaye ufake idilesi ye-IP yayo.

  • Qinisekisa ukuba ixesha lenkqubo yesixhobo se-Algo lilungelelaniswe kwindawo efanelekileyo yexesha. Oku kunokwenziwa ngokukhangela kwi Useto oluPhezulu → Ixesha isithuba.
 Ukwenza i-RESTful API
  1. Ngena kwi web ujongano kwaye ujonge kwiSetingi eziPhezulu → Ulawulo tab.
  2. Skrolela ezantsi kwicandelo leNkxaso ye-API, yenza i-RESTful API kwaye usete Igama lokugqitha njengoko ufunwa (igama lokugqitha elimiselweyo: algo)
    Phawula
    Ungqinisiso olusemgangathweni lwenziwe ngokungagqibekanga.ALGO RESTful API 01
Vuselela uQinisekiso oluSisiseko (Ngokhetho)
  1. Kwi web ujongano, jonga kwiNkqubo → Ugcino thebhu kwaye ukhuphele uqwalaselo file.
  2. Vula ubumbeko file nangawuphi na umhleli wokubhaliweyo kwaye wongeze lo mgca ulandelayo: api.auth.basic = 1
  3.  Gcina kwaye ulayishe ubumbeko olulungisiweyo file ubuyela kwisixhobo usebenzisa uBuyiselo kuqwalaselo File uphawu kwiNkqubo → Ugcino thebhu.
Akukho Ndlela yoQinisekiso (Ngokhetho)

Ukwenza ukuba akukho ndlela yokuqinisekisa, shiya i-RESTful API Password field ingenanto. Le ndlela ayikhuthazwa kwaye kufuneka isetyenziswe kuphela kwiinjongo zokuvavanya kuphela njengoko inika ukhuseleko.

Ukwenza Ujongano Olulula Lolawulo (Ngokhetho)
  1. Kwi web ujongano, jonga kwiNkqubo → Ugcino thebhu kwaye ukhuphele uqwalaselo file.
  2.  Vula ubumbeko file usebenzisa umhleli wokubhaliweyo kwaye wongeze imigca emibini. Guqula i kwiphasiwedi yakho oyifunayo. Admin.web.sci = 1
    Sci.admin.pwd =
  3.  Gcina kwaye ulayishe ubumbeko olulungisiweyo file ubuyela kwisixhobo usebenzisa uBuyiselo kuqwalaselo File uphawu kwiNkqubo → Ugcino thebhu.

IIMFUNO ZOKUQINISEKISA

Nceda uthumele i-imeyile support@algosolutions.com ukuba ungathanda umgangatho okanye uqinisekiso olusisiseko sampikhowudi.

Isicelo sokuQinisekisa esiQhelekileyo kunye ne-JSON Payload

Iiheader ezifunekayo kwisicelo seHTTP/HTTPS
> Isiqulatho-Udidi: "isicelo/json"
> Umxholo-MD5: [umxholo_md5] Eksample
Content-MD5: 74362cc86588b2b3c5a4491baf80375b

Ugunyaziso: hmac admin:[nonce]:[hmac_output]
Izihloko zogunyaziso ziquka:

  1. Umtya 'hmac admin' ulandelwa yikholoni ':'.
  2. I-Nonce – Ixabiso elingamiselwanga okanye elingaphindi, lilandelwa yikholoni ':'.
  3. I-Hmac_output-iveliswe yi-RESTful API Password (isitshixo esiyimfihlo) esilungiselelwe kwisixhobo sakho kunye negalelo le-HMAC, njengoko kungezantsi:
    [request_method]:[request_uri]:[content_md5]:[content_type]:[ixeshaamp]:[ngoku]

Igalelo leHMAC example: (esebenzisa 'algo' njengeqhosha eliyimfihlo)
I-POST:/api/controls/tone/start:6e43c05d82f71e77c586e29edb93b129:application/json:1601312252:49936 Yenza i-HMAC nge-password kunye nomtya wokufaka we-HMAC njengokugaya usebenzisa i-SHA-256:
Imveliso ye-HMAC example: 2e109d7aeed54a1cb04c6b72b1d854f442cf1ca15eb0af32f2512dd77ab6b330

Umhla: usuku, umhla inyanga, unyaka hr:min:sec GMT
Example
Umhla: Lwesine, 22 Septemba 2022 02:33:07 GMT
Ukuqinisekiswa okusemgangathweni kunye nomthwalo wokuhlawula example:

ALGO RESTful API 02

 Isicelo sokuQinisekisa esiQhelekileyo Ngaphandle kwe-JSON Payload

Iyafana ne-3.1 eneeheda ezihambelana nomxholo/igalelo le-hmac elishiyiweyo.
Igalelo le-HMAC: [request_method]:[request_uri]:[ixeshaamp]:[nonce] HMAC igalelo example: (esebenzisa 'algo' njengeqhosha eliyimfihlo)
FUMANA:/api/settings/audio.page.vol:1601312252:49936
Yenza i-HMAC enegama lokugqitha kunye nomtya wokufaka we-HMAC usebenzisa i-SHA-256:
Imveliso ye-HMAC example: c5b349415bce0b9e1b8122829d32fbe0a078791b311c4cf40369c7ab4eb165a8
Ukuqinisekiswa okusemgangathweni ngaphandle komthwalo wokuhlawula example:

ALGO RESTful API 03

 Isicelo soQinisekiso olusisiseko

Le ndlela yokuqinisekisa kufuneka isetyenziswe ngononophelo njengoko ingakhuselekanga kancinci kunendlela eqhelekileyo.

Ugunyaziso: Esisiseko [base64]
Example:
Ugunyaziso: YWRtaW46YWxnbwo esisiseko=
Uqinisekiso olusisiseko example:
ALGO RESTful API 04

IMIYALELO

 I-RESTful API Imiyalelo

Apha ngezantsi kukho uluhlu lwayo yonke imiyalelo ye-API exhaswayo.

Phawula
Isicelo se-PUT sitshintsha okanye senze isibonelelo esisisigxina esisinda ekuqaliseni kwakhona, ngelixa isicelo se-POST silawula kuphela isixhobo kwiseshoni yangoku.

Inkcazo Indlela URI Ukuhlawula Iiparamitha Buyela Example Imveliso FW
Fumana ixabiso lepharamitha ethile.  FUMANA /api/settings/[igama-iqhosha] Ex./api/settings/audio.page.vol  N / A  {“audio.page.vol”: “-18dB”}  Konke  > 3.3
Buyisela inqanaba lengxolo kwindawo elinganiswe ngeedecibels. Imbuyekezo yeNgxolo ekwiNdawo kufuneka yenziwe kwiSetingi eziSisiseko -> Iimpawu zethebhu. FUMANA /api/info/audio.noise.level N / A {"audio.noise.level": 72}  Izithethi zibonisa izithethi > 3.3
 Khipha ubume be-terminal yokufaka i-relay. FUMANA /api/info/input.relay.status N / A  

{“input.relay.status”: “ingasebenzi”} okanye {“input.relay.status”: “active”}

Zonke iimveliso ezine-relay input, ngaphandle kwe-8063. Jonga ngezantsi. > 4.1
 Khupha ubume beNgeniso 1 okanye Igalelo 2 iitheminali.  FUMANA /api/info/input.relay1.status okanye /api/info/input.relay2.status  N / A {“input.relay1.status”: “ingasebenzi”} okanye {“input.relay1.status”: “active”}  8063  > 4.1
Fumana uluhlu lwethoni fileifakiwe ngoku.  FUMANA  /api/info/tonelist  

N / A

{“tonelist”:[“bell-na.wav”,”bell uk.wav”,”buzzer.wav”,…]}  Konke  > 5.0
Fumana ulwazi lwesixhobo oluboniswe kwiphepha leNdawo.  FUMANA  /api/info/status  N / A  Uluhlu olupheleleyo lolwazi olukwiNdawo yesithuba.  Konke  > 5.4
Fumana ulwazi lwemveliso oluboniswe malunga nephepha malunga.  FUMANA /api/info/malunga  N / A  Lonke ulwazi olukhoyo kwi Malunga nesithuba. Konke > 5.4
Yenza i-strobe isebenze ngombala ofunekayo kunye neepatheni zeepatheni. THUMELA /api/controls/strobe/start ipateni: {0 - 15}
umbala1: {bhlowu, obomvu, i-amber, luhlaza} umbala2: {bhlowu, obomvu, o-amber, oluhlaza} ledlvl: {1 - 255}
ukubamba: {yinyani, bubuxoki}
N / A  8128(G2)
8138
8190S
> 3.3
 Misa i-strobe.  THUMELA  /api/controls/strobe/stop  N / A  N / A 8128(G2)
8138
8190S
> 3.3
Dlala ithowuni kube kanye okanye uyijikelezise. THUMELA /api/controls/tone/start indlela: {ithoni} ie. chime.wav
iluphu: {yinyani, bubuxoki} okanye {0, 1}
umz. {“indlela”:”chime.wav”, “loop”:true}
N / A Izithethi 8301
8373
8028(G2)
8201
8039
> 3.3
Misa ithoni. THUMELA /api/controls/tone/stop N / A N / A Izithethi 8301
8373
8028(G2)
8201
8039
> 3.3
Fowunela ulwandiso lwefowuni ngomyalezo orekhodiweyo. THUMELA /api/controls/call/start  {"ulwandiso":"2099",
"ithoni":"gong.wav", "ikhefu":"0", "maxdur":"10″}
N / A Izithethi 8301
8410
8420
> 3.3
Vala umnxeba. THUMELA /api/controls/call/stop N / A N / A Izithethi 8301
8410
8420
> 3.3
Qalisa umnxeba osecaleni. Isixhobo siya kufumana umjelo womsindo ovela ekwandisweni okujoliswe kuko.  THUMELA  /api/controls/call/page  {"ulwandiso":" ”}  N / A Izithethi 8410
8420
 > 5.3.4
Qalisa kwakhona isiphelo senjongo. THUMELA /api/controls/reboot N / A N / A Konke > 3.3
Vula umnyango. "indawo" ilawula ukuhanjiswa kwendawo "netdc1" ilawula isilawuli socango lwenethiwekhi ekude (8063) THUMELA /api/controls/door/unlock umnyango: {yasekhaya, netdc1}
* Ukhetho
N / A 8039
8028(G2)
8201
8063
> 3.3
Tshixa ucango. THUMELA /api/controls/door/lock  umnyango: {yasekhaya, netdc1}
* Ukhetho
N / A 8039
8028(G2)
8201
8063
> 3.3
Nika amandla i-24v aux out relay. THUMELA api/controls/24v/enable N / A N / A 8063 > 5.0
Khubaza i-24v aux out relay. THUMELA api/controls/24v/disable N / A N / A 8063 > 5.0
Yenza i-relay yemveliso THUMELA /api/controls/relay/enable N / A N / A 8063 > 5.0
Khubaza unikezelo lwemveliso. THUMELA /api/controls/relay/disable N / A N / A 8063 > 5.0
Jonga iseva ye-firmware ye-Algo yenguqulelo ye-firmware yamva nje.  THUMELA  /api/controls/upgrade/check  N / A {“uguqulelo”: “uhlaziyo”} okanye
{"uguqulelo":" ”}
 Konke  > 4.1
 Jonga iseva ye-firmware ye-Algo yoguqulelo lwe-firmware yamva nje kwaye uphucule olo guqulelo. THUMELA /api/controls/upgrade/start N / A {“isimo”: “ihlaziyiwe”} okanye
{“isimo”: “uphuculo ","url”: url>} okanye
{"isimo":" ”}
Konke > 4.1
Bonisa umfanekiso okanye ipateni kwisikrini.  THUMELA  /api/controls/screen/start  'Yabona ngezantsi  N / A 8410
8420
 > 5.3.4
Misa ipateni yesikrini kwaye ubuyele kwiscreen esingagqibekanga.  THUMELA  /api/controls/screen/stop  N / A  N / A 8410
8420
 > 5.3.4
Qala ngokutsha usetyenziso oluphambili. THUMELA /api/controls/reload N / A N / A Konke > 5.3.4
Qala ukumamela kusinga oluvakalayo oluthe ngqo. Qwalasela inombolo yezibuko apho umsinga uthunyelwa khona. THUMELA /api/controls/rx/start {“isibuko”: } N / A Konke   > 5.3.4
Yeka ukumamela kusinga oluvakalayo oluthe ngqo. THUMELA  /api/controls/rx/stop  N / A  N / A  Konke  > 5.3.4
Seta imowudi yosasazo oluninzi. BEKA /api/state/mcast/update/ {"imowudi":"umthumeli", "idilesi": , "izibuko": , "uhlobo":"rtp"} okanye {"imowudi":"umthumeli", "idilesi": , "izibuko": , "uhlobo":"poly", "iqela":1}
**Qaphela**: Ukuba ulawulo/ithoni/ukuqala kusetyenziswa phambi kwalo myalelo, ithowuni iya kudlala isebenzisa izicwangciso zangoku kwi web UI.
N / A 8301 > 5.0
Faka ixabiso kwiparameter ethile ukusuka kwi-JSON payload. BEKA /api/settings ipharamitha: {ixabiso}
umz. {“audio.page.vol”: “-3dB”}
N / A 8180(G2)
8186
8190
8190S
8301
8373
> 3.3
 Ujongano Olulula Lolawulo (SCI) Imiyalelo

Yonke imiyalelo ye-SCI zizicelo ze-GET kwaye zineeparamitha eziqhelekileyo "usi" kunye "ne-admin" yokuqinisekisa.
Example:
FUMANA http:// /sci/controls/door/unlock?usr=admin&pwd=algo&doorid=local

 Inkcazo  URI Ezongezelelweyo Ukuhlawula Iiparamitha Iimveliso  FW
Vula umnyango.
"indawo" ilawula ukuhanjiswa kwendawo "netdc1" ilawula isilawuli socango lwenethiwekhi ekude (8063)
/sci/controls/yenza okanye/vula umnyango: {yasekhaya, netdc1}
* Ukhetho
8039
8028(G2)
8201
8063
> 3.3
Tshixa ucango. /sci/controls/do or/lock umnyango: {yasekhaya, netdc1}
* Ukhetho
8039
8028(G2)
8201
8063
> 3.3
Dlala ithowuni kube kanye okanye uyijikelezise.  /sci/controls/to ne/start indlela: {ithoni} ie. chime.wav
iluphu: {yinyani, bubuxoki} okanye {0, 1}
Konke  > 3.3
Misa ithoni. /sci/controls/to ne/stop  N / A  Konke  > 3.3
Yenza i-strobe isebenze ngombala ofunekayo kunye neepatheni zeepatheni. /sci/controls/strobe/start ipateni: {0 – 15} umbala1: {bhlowu, obomvu, amber, luhlaza}
umbala2: {blue, red, amber, green}
ledlvl: {1 – 255} ukubamba: {yinyani, bubuxoki}
8128(G2)
8138
8190S
> 3.3
 Misa i-strobe.  /sci/controls/strobe/stop  N / A 8128(G2)
8138
8190S
 > 3.3

Amaxwebhu / Izibonelelo

ALGO RESTful API [pdf] Isikhokelo somsebenzisi
AL061-GU-GF000API-001-R0, AL061-GU-CP00TEAM-001-R0, RESTful API, RESTful, API
ALGO RESTful API [pdf] Isikhokelo somsebenzisi
AL061-GU-CP000API-230717, RESTful API, RESTful, API

Iimbekiselo

Shiya uluvo

Idilesi yakho ye-imeyile ayizupapashwa. Iindawo ezifunekayo ziphawulwe *