Nembo ya API ya ALGO RESTful

ALGO RESTful API

Algo RESTful API bidhaa

Taarifa ya Bidhaa: Mwongozo wa API wa RESTful

API ya Algo RESTful huruhusu watumiaji kufikia, kudhibiti na kuanzisha vitendo kwenye Algo IP Endpoints kwenye mtandao wao kupitia maombi ya HTTP/HTTPS. Hati hii hutoa seti sare na iliyofafanuliwa awali ya shughuli zisizo na uraia ambazo zinaweza kutumika kuingiliana na vifaa vya Algo. API inaauni maombi ya HTTP/HTTPS GET, POST, na PUT yenye upakiaji wa JSON.

Uthibitishaji

Kuna aina tatu za uthibitishaji unaopatikana na API ya Algo RESTful:

  • Uthibitishaji wa kawaida (umewezeshwa na chaguo-msingi)
  • Uthibitishaji wa kimsingi (si lazima)
  • Hakuna njia ya uthibitishaji (haipendekezwi; kwa madhumuni ya majaribio tu)

Maagizo ya Matumizi ya Bidhaa: API RESTful

Masharti

Kabla ya kuwezesha API ya RESTful, hakikisha kuwa kifaa kina muunganisho wa intaneti ili kufikia seva za NTP zilizosanidiwa awali. Ikiwa hakuna muunganisho wa intaneti unaopatikana, sanidi seva ya ndani ya NTP na uweke anwani yake ya IP.

Inawasha API ya RESTful
  1. Ingia kwenye kifaa web interface na uende kwenye kichupo cha Msimamizi wa Mipangilio ya Juu.
  2. Sogeza chini hadi sehemu ya Usaidizi wa API na uwashe API ya RESTful.
  3. Weka nenosiri unalotaka (nenosiri chaguo-msingi: algo). Kumbuka kuwa uthibitishaji wa kawaida umewezeshwa na chaguo-msingi.
Kuwasha Uthibitishaji Msingi (Si lazima)
  1. Katika web interface, nenda kwenye kichupo cha Matengenezo ya Mfumo na upakue usanidi file.
  2. Fungua usanidi file na kihariri chochote cha maandishi na ongeza safu ifuatayo: api.auth.basic = 1
  3. Hifadhi na upakie usanidi uliobadilishwa file kurudi kwenye kifaa kwa kutumia Usanidi wa Kurejesha File kipengele kwenye kichupo cha Matengenezo ya Mfumo.
Kuwasha Hakuna Mbinu ya Uthibitishaji (Si lazima)

Ili kuwezesha mbinu ya hakuna uthibitishaji, acha uga wa Nenosiri la API RESTful tupu. Njia hii haipendekezwi na inapaswa kutumika kwa madhumuni ya majaribio pekee kwani haitoi usalama.

Kuwasha Kiolesura Rahisi cha Kudhibiti (Si lazima)
  1. Juu ya web interface, nenda kwenye kichupo cha Matengenezo ya Mfumo na upakue usanidi file.
  2. Fungua usanidi file kwa kutumia mhariri wa maandishi na kuongeza mistari miwili. Badilisha kwa nywila unayotaka.
  3. Msimamizi.web.sci = 1
  4. Sci.admin.pwd =
  5. Hifadhi na upakie usanidi uliobadilishwa file kurudi kwenye kifaa kwa kutumia Usanidi wa Kurejesha File kipengele kwenye kichupo cha Matengenezo ya Mfumo.

Uthibitishaji SampKanuni

Tafadhali tuma barua pepe msaada@algosolutions.com ikiwa ungependa uthibitishaji wa kawaida au msingi sampnambari.
Kwa usaidizi wa ziada, piga simu 604-454-3792 au barua pepe msaada@algosolutions.com

Taarifa za Taarifa

Kumbuka
Kidokezo kinaonyesha masasisho muhimu, habari, na maagizo ambayo yanapaswa kufuatwa

Kanusho

Habari iliyomo katika waraka huu inaaminika kuwa sahihi katika mambo yote lakini haijathibitishwa na Algo. Taarifa inaweza kubadilika bila notisi na haipaswi kufasiriwa kwa njia yoyote kama ahadi ya Algo au washirika wake au kampuni tanzu. Algo na washirika wake na matawi yake hawawajibiki kwa hitilafu yoyote au kuachwa katika hati hii. Marekebisho ya hati hii au matoleo yake mapya yanaweza kutolewa ili kujumuisha mabadiliko hayo. Algo haichukui dhima ya uharibifu au madai yanayotokana na matumizi yoyote ya mwongozo huu au bidhaa kama hizo, programu, programu dhibiti, na/au maunzi. Hakuna sehemu ya hati hii inayoweza kunakilishwa au kutumwa kwa njia yoyote au kwa njia yoyote - kielektroniki au kiufundi - kwa madhumuni yoyote bila idhini ya maandishi kutoka kwa Algo.
Kwa maelezo zaidi au usaidizi wa kiufundi katika Amerika Kaskazini, tafadhali wasiliana na timu ya usaidizi ya Algo:

Msaada wa Kiufundi wa Algo
1-604-454-3792
msaada@algosolutions.com

©2022 Algo ni chapa ya biashara iliyosajiliwa ya Algo Communication Products Ltd.
Haki zote zimehifadhiwa. Alama nyingine zote za biashara ni mali ya wamiliki husika. Vipimo vyote vinaweza kubadilika bila taarifa.

 JUMLA

Utangulizi

Hati hii inaeleza jinsi API ya Algo RESTful inaweza kutumika kufikia, kuendesha, na kuanzisha vitendo kwenye Mihimili ya Algo IP kwenye mtandao wako kupitia maombi ya HTTP/HTTPS, pamoja na mbinu kadhaa tofauti za uthibitishaji zenye viwango tofauti vya usalama. Mifumo inayoomba inaweza kuingiliana na vifaa vya Algo kupitia seti sare na iliyofafanuliwa awali ya utendakazi usio na uraia iliyofafanuliwa katika hati hii. Maombi yanatumwa kwa URI ya rasilimali na upakiaji wa JSON na kupata jibu la JSON. Maombi ya HTTP/HTTPS GET, POST, na PUT hufanywa kwa rasilimali ya URI pamoja na upakiaji wa JSON (angalia sehemu ya amri kwa orodha ya mizigo).

 Uthibitishaji

Kuna aina tatu za uthibitishaji:

  •  Kawaida (inapendekezwa)
  •  Msingi
  •  Hakuna (haipendekezwi)

Uthibitishaji wa Kawaida hutumia Msimbo wa Uthibitishaji wa Ujumbe wa Hash (HMAC) wenye muhtasari uliosimbwa wa SHA-256. Uthibitishaji wa kimsingi hutumia usimbaji wa Base64 na unapaswa kutumiwa kupitia HTTPS pekee. Hakuna uthibitishaji unapaswa kutumiwa kwa uangalifu mkubwa tu kwani hautoi uthibitishaji. Tazama sehemu ya Mahitaji ya Uthibitishaji kwa maelezo zaidi.

WENGI NA UWEKEZAJI

Masharti
  •  Hati hii inachukulia kwamba sehemu ya mwisho ya Algo inaendesha toleo la programu 3.3 au la juu zaidi.
  •  Tofauti ya muda kati ya mwombaji na vifaa vya Algo inapaswa kuwa chini ya sekunde 30 ili kutumia uthibitishaji wa kawaida.
  • Hakikisha NTP (Itifaki ya Muda wa Mtandao) inatumika. Anwani za seva maalum za NTP zinaweza kusanidiwa katika Mipangilio ya Kina → kichupo cha Wakati.

Kumbuka
Seva za NTP zilizosanidiwa awali zimepangishwa hadharani, kwa hivyo muunganisho wa intaneti unahitajika ili kuifikia. Ikiwa hakuna muunganisho wa intaneti unaopatikana, sanidi seva ya ndani ya NTP na uweke anwani yake ya IP.

  • Hakikisha kuwa saa ya mfumo wa kifaa cha Algo imerekebishwa hadi eneo sahihi la saa. Hii inaweza kufanywa kwa kwenda kwenye kichupo cha Mipangilio ya Juu → Saa.
 Inawasha API ya RESTful
  1. Ingia kwenye web interface na uende kwa Mipangilio ya Juu → kichupo cha Msimamizi.
  2. Sogeza chini hadi sehemu ya Usaidizi wa API, washa API ya RESTful na uweke Nenosiri unavyotaka (nenosiri msingi: algo)
    Kumbuka
    Uthibitishaji wa kawaida umewezeshwa kwa chaguo-msingi.ALGO RESTful API 01
Washa Uthibitishaji Msingi (Si lazima)
  1. Katika web interface, nenda kwenye kichupo cha Mfumo → Matengenezo na upakue usanidi file.
  2. Fungua usanidi file na kihariri chochote cha maandishi na ongeza safu ifuatayo: api.auth.basic = 1
  3.  Hifadhi na upakie usanidi uliobadilishwa file kurudi kwenye kifaa kwa kutumia Usanidi wa Kurejesha File kipengele kwenye kichupo cha Mfumo → Matengenezo.
Hakuna Mbinu ya Uthibitishaji (Si lazima)

Ili kuwezesha mbinu ya hakuna uthibitishaji, acha uga wa Nenosiri la API RESTful tupu. Njia hii haipendekezwi na inapaswa kutumika kwa madhumuni ya majaribio pekee kwani haitoi usalama.

Kuwasha Kiolesura Rahisi cha Kudhibiti (Si lazima)
  1. Juu ya web interface, nenda kwenye kichupo cha Mfumo → Matengenezo na upakue usanidi file.
  2.  Fungua usanidi file kwa kutumia mhariri wa maandishi na kuongeza mistari miwili. Badilisha kwa nywila unayotaka. Msimamizi.web.sci = 1
    Sci.admin.pwd =
  3.  Hifadhi na upakie usanidi uliobadilishwa file kurudi kwenye kifaa kwa kutumia Usanidi wa Kurejesha File kipengele kwenye kichupo cha Mfumo → Matengenezo.

MAHITAJI YA UTHIBITISHO

Tafadhali tuma barua pepe msaada@algosolutions.com ikiwa ungependa uthibitishaji wa kawaida au msingi sampnambari.

Ombi la Uthibitishaji wa Kawaida na Upakiaji wa JSON

Vijajuu vinavyohitajika katika ombi la HTTP/HTTPS
> Aina ya Yaliyomo: "programu/json"
> Content-MD5: [content_md5] Example
Content-MD5: 74362cc86588b2b3c5a4491baf80375b

Uidhinishaji: msimamizi wa hmac:[nonce]:[hmac_output]
Vichwa vya uidhinishaji vinajumuisha:

  1. Mfuatano wa 'hmac admin' ikifuatiwa na koloni ':'.
  2. Nonce – Thamani nasibu au isiyojirudia, ikifuatiwa na koloni ':'.
  3. Hmac_output - imetolewa na Nenosiri la RESTful API (ufunguo wa siri) uliosanidiwa kwenye kifaa chako na ingizo la HMAC, kama ilivyo hapa chini:
    [request_method]:[request_uri]:[content_md5]:[content_type]:[timestamp]:[nonce]

Ingizo la HMAC example: (kwa kutumia 'algo' kama ufunguo wa siri)
POST:/api/controls/tone/start:6e43c05d82f71e77c586e29edb93b129:application/json:1601312252:49936 Tengeneza HMAC na nenosiri na kamba ya kuingiza ya HMAC kama muhtasari kwa kutumia SHA-256:
HMAC pato example: 2e109d7aeed54a1cb04c6b72b1d854f442cf1ca15eb0af32f2512dd77ab6b330

Tarehe: siku, tarehe mwezi, mwaka hr:min:sec GMT
Example
Tarehe: Alhamisi, 22 Septemba, 2022 02:33:07 GMT
Uthibitishaji wa kawaida na mzigo wa malipo wa zamaniample:

ALGO RESTful API 02

 Ombi la Kawaida la Uthibitishaji Bila Upakiaji wa JSON

Sawa na 3.1 na vichwa vinavyohusiana na maudhui/ingizo lahmac limeachwa.
Ingizo la HMAC: [request_method]:[request_uri]:[timestamp]:[nonce] HMAC ingizo example: (kwa kutumia 'algo' kama ufunguo wa siri)
PATA:/api/settings/audio.page.vol:1601312252:49936
Tengeneza HMAC na nenosiri na kamba ya kuingiza ya HMAC kwa kutumia SHA-256:
HMAC pato example: c5b349415bce0b9e1b8122829d32fbe0a078791b311c4cf40369c7ab4eb165a8
Uthibitishaji wa kawaida bila mzigo wa malipo example:

ALGO RESTful API 03

 Ombi la Msingi la Uthibitishaji

Njia hii ya uthibitishaji inapaswa kutumika kwa uangalifu kwani ni salama kidogo kuliko njia ya kawaida.

Uidhinishaji: Msingi [base64]
Example:
Uidhinishaji: Msingi YWRtaW46YWxnbwo=
Uthibitishaji wa msingi example:
ALGO RESTful API 04

AMRI

 Amri za API zenye RESTful

Ifuatayo ni orodha ya amri zote za API zinazotumika.

Kumbuka
Ombi la PUT hubadilika au kuunda rasilimali ya kudumu ambayo itasalia kuwashwa tena, huku ombi la POST linadhibiti kifaa kwa kipindi cha sasa pekee.

Maelezo Mbinu URI Upakiaji Vigezo Rudi Example Bidhaa FW
Rejesha thamani ya kigezo maalum.  PATA /api/settings/[jina-msingi] Ex./api/settings/audio.page.vol  N/A  {“audio.page.vol”: “-18dB”}  Wote  > 3.3
Rudisha kiwango cha kelele iliyoko kilichopimwa kwa desibeli. Fidia ya Kelele Iliyotulia lazima iwashwe katika Mipangilio Msingi -> kichupo cha Vipengele. PATA /api/info/audio.noise.level N/A {“audio.noise.level”: 72}  Spika Zinaonyesha Spika > 3.3
 Toa hali ya terminal ya uingizaji wa relay. PATA /api/info/input.relay.status N/A  

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

Bidhaa zote zilizo na pembejeo ya relay, isipokuwa 8063. Tazama hapa chini. > 4.1
 Chambua hali ya Ingizo 1 au vituo 2 vya Ingizo.  PATA /api/info/input.relay1.status au /api/info/input.relay2.status  N/A {“input.relay1.status”: “idle”} au {“input.relay1.status”: “active”}  8063  > 4.1
Rejesha orodha ya sauti fileimesakinishwa kwa sasa.  PATA  /api/info/tonelist  

N/A

{“tonelist”:[“bell-na.wav”,”kengele uk.wav”,”buzzer.wav”,…]}  Wote  > 5.0
Rejesha maelezo ya kifaa ambayo yanaonyeshwa kwenye ukurasa wa Hali.  PATA  /api/info/status  N/A  Orodha kamili ya habari kutoka kwa kichupo cha Hali.  Wote  > 5.4
Rejesha maelezo ya bidhaa ambayo yanaonyeshwa kwenye ukurasa wa Kuhusu.  PATA /api/info/kuhusu  N/A  Taarifa zote zilizopo kwenye kichupo cha Kuhusu. Wote > 5.4
Amilisha strobe na rangi inayotaka na vigezo vya muundo. POST /api/controls/strobe/start muundo: {0 - 15}
color1: {bluu, nyekundu, kahawia, kijani} rangi2: {bluu, nyekundu, kaharabu, kijani kibichi} ledlvl: {1 – 255}
kushikilia: {kweli, uongo}
N/A  8128(G2)
8138
8190S
> 3.3
 Acha strobe.  POST  /api/controls/strobe/stop  N/A  N/A 8128(G2)
8138
8190S
> 3.3
Cheza sauti mara moja au izungushe. POST /api/controls/tone/start njia: {tone} yaani. kengele.wav
kitanzi: {kweli, uongo} au {0, 1}
kwa mfano {“njia”:”chime.wav”, “kitanzi”:true}
N/A Wazungumzaji 8301
8373
8028(G2)
8201
8039
> 3.3
Acha sauti. POST /api/controls/tone/stop N/A N/A Wazungumzaji 8301
8373
8028(G2)
8201
8039
> 3.3
Piga simu kwa kiendelezi cha simu na ujumbe uliorekodiwa mapema. POST /api/controls/call/start  {“kiendelezi”:”2099″,
“tone”:”gong.wav”, “muda”:”0″, “maxdur”:”10″}
N/A Wazungumzaji 8301
8410
8420
> 3.3
Maliza simu. POST /api/controls/call/stop N/A N/A Wazungumzaji 8301
8410
8420
> 3.3
Anzisha simu ya ukurasa mmoja. Kifaa kitapokea mtiririko wa sauti kutoka kwa kiendelezi kinacholengwa.  POST  /api/controls/call/page  {"kiendelezi":" ”}  N/A Wazungumzaji 8410
8420
 > 5.3.4
Washa upya ncha inayolengwa. POST /api/controls/reboot N/A N/A Wote > 3.3
Fungua mlango. "local" hudhibiti relay ya ndani "netdc1" hudhibiti kidhibiti cha mlango wa mtandao wa mbali (8063) POST /api/controls/door/unlock mlango: {local, netdc1}
* Hiari
N/A 8039
8028(G2)
8201
8063
> 3.3
Funga mlango. POST /api/controls/door/lock  mlango: {local, netdc1}
* Hiari
N/A 8039
8028(G2)
8201
8063
> 3.3
Washa relay ya 24v aux out. POST api/controls/24v/wezesha N/A N/A 8063 > 5.0
Zima relay ya 24v aux out. POST api/controls/24v/lemaza N/A N/A 8063 > 5.0
Washa upeanaji wa pato. POST /api/controls/relay/wezesha N/A N/A 8063 > 5.0
Lemaza upeanaji wa pato. POST /api/controls/relay/lemaza N/A N/A 8063 > 5.0
Angalia seva ya programu dhibiti ya Algo kwa toleo la hivi punde la programu dhibiti.  POST  /api/controls/upgrade/check  N/A {“version”: “updated”} au
{"toleo": " ”}
 Wote  > 4.1
 Angalia seva ya programu dhibiti ya Algo kwa toleo jipya zaidi la programu dhibiti na upate toleo hilo. POST /api/controls/upgrade/start N/A {“status”: “updated”} au
{"status": "kuboresha ","url”: url>} au
{"hali": " ”}
Wote > 4.1
Onyesha picha au mchoro kwenye skrini.  POST  /api/controls/screen/start  Tazama chini  N/A 8410
8420
 > 5.3.4
Acha mchoro wa skrini na urudi kwenye skrini chaguo-msingi.  POST  /api/controls/screen/stop  N/A  N/A 8410
8420
 > 5.3.4
Anzisha tena programu kuu. POST /api/controls/reload N/A N/A Wote > 5.3.4
Anza kusikiliza mtiririko wa sauti wa moja kwa moja. Sanidi nambari ya mlango ambako mtiririko unatumwa. POST /api/controls/rx/start {"bandari": } N/A Wote   > 5.3.4
Acha kusikiliza mtiririko wa sauti wa moja kwa moja. POST  /api/controls/rx/stop  N/A  N/A  Wote  > 5.3.4
Weka hali ya utangazaji anuwai. WEKA /api/state/mcast/sasisha/ {"mode":"mtumaji", "anwani": , "bandari": , "type":"rtp"} au {"mode":"mtumaji", "anwani": , "bandari": , "aina":"poly", "kikundi":1}
**Kumbuka**: Ikiwa vidhibiti/tone/anza vinatumika kabla ya amri hii, toni itacheza kwa kutumia mipangilio ya sasa kwenye web UI.
N/A 8301 > 5.0
Weka thamani kwenye kigezo mahususi kutoka kwa upakiaji wa JSON. WEKA /api/mipangilio kigezo: {value}
kwa mfano {“audio.page.vol”: “-3dB”}
N/A 8180(G2)
8186
8190
8190S
8301
8373
> 3.3
 Amri za Kiolesura Rahisi cha Kudhibiti (SCI).

Amri zote za SCI ni maombi ya GET na zina vigezo vya kawaida "usi" na "admin" kwa uthibitishaji.
Example:
PATA http:// /sci/controls/door/unlock?usr=admin&pwd=algo&doorid=local

 Maelezo  URI Ziada Upakiaji Vigezo Bidhaa  FW
Fungua mlango.
"local" hudhibiti relay ya ndani "netdc1" hudhibiti kidhibiti cha mlango wa mtandao wa mbali (8063)
/sci/controls/fanya au/fungua mlango: {local, netdc1}
* Hiari
8039
8028(G2)
8201
8063
> 3.3
Funga mlango. /sci/controls/do or/lock mlango: {local, netdc1}
* Hiari
8039
8028(G2)
8201
8063
> 3.3
Cheza sauti mara moja au izungushe.  /sci/controls/to ne/start njia: {tone} yaani. kengele.wav
kitanzi: {kweli, uongo} au {0, 1}
Wote  > 3.3
Acha sauti. /sci/controls/to ne/stop  N/A  Wote  > 3.3
Amilisha strobe na rangi inayotaka na vigezo vya muundo. /sci/controls/strobe/start muundo: {0 – 15} rangi1: {bluu, nyekundu, kaharabu, kijani kibichi}
rangi2: {bluu, nyekundu, kaharabu, kijani kibichi}
ledlvl: {1 - 255} kushikilia: {kweli, uongo}
8128(G2)
8138
8190S
> 3.3
 Acha strobe.  /sci/controls/strobe/stop  N/A 8128(G2)
8138
8190S
 > 3.3

Nyaraka / Rasilimali

ALGO RESTful API [pdf] Mwongozo wa Mtumiaji
AL061-GU-GF000API-001-R0, AL061-GU-CP00TEAM-001-R0, RESTful API, RESTful, API
ALGO RESTful API [pdf] Mwongozo wa Mtumiaji
AL061-GU-CP000API-230717, RESTful API, RESTful, API

Marejeleo

Acha maoni

Barua pepe yako haitachapishwa. Sehemu zinazohitajika zimetiwa alama *