ALGO RESTful API logo

ALGO RESTful API

ALGO RESTful API ọja

Alaye ọja: RESTful API Itọsọna

Algo RESTful API ngbanilaaye awọn olumulo lati wọle si, ṣe afọwọyi, ati awọn iṣe okunfa lori Algo IP Endpoints lori nẹtiwọọki wọn nipasẹ awọn ibeere HTTP/HTTPS. Iwe yii n pese aṣọ-aṣọ kan ati eto ti a ti yan tẹlẹ ti awọn iṣẹ aisi ipinlẹ ti o le ṣee lo lati ṣe ajọṣepọ pẹlu awọn ẹrọ Algo. API ṣe atilẹyin HTTP/HTTPS GET, POST, ati awọn ibeere PUT pẹlu awọn ẹru isanwo JSON.

Ijeri

Awọn iru awọn ijẹrisi mẹta wa pẹlu Algo RESTful API:

  • Ijeri boṣewa (ṣiṣẹ nipasẹ aiyipada)
  • Ijeri ipilẹ (aṣayan)
  • Ko si ọna ijẹrisi (kii ṣe iṣeduro; fun awọn idi idanwo nikan)

Awọn Ilana Lilo Ọja: RESTful API

Awọn ibeere pataki

Ṣaaju ki o to mu API RESTful ṣiṣẹ, rii daju pe ẹrọ naa ni asopọ intanẹẹti lati de awọn olupin NTP ti a ti ṣeto tẹlẹ. Ti ko ba si asopọ intanẹẹti wa, tunto olupin NTP agbegbe kan ki o tẹ adiresi IP rẹ sii.

Nmu API RESTful ṣiṣẹ
  1. Wọle si ẹrọ naa web ni wiwo ati lilö kiri si To ti ni ilọsiwaju taabu Admin Eto.
  2. Yi lọ si isalẹ si apakan Atilẹyin API ati mu API RESTful ṣiṣẹ.
  3. Ṣeto ọrọ igbaniwọle ti o fẹ (ọrọ igbaniwọle aiyipada: algo). Ṣe akiyesi pe ijẹrisi boṣewa ṣiṣẹ nipasẹ aiyipada.
Muu Ijeri Ipilẹ ṣiṣẹ (Aṣayan)
  1. Ninu awọn web ni wiwo, lilö kiri si System Itọju taabu ki o si gba awọn iṣeto ni file.
  2. Ṣii iṣeto ni file pẹlu olootu ọrọ eyikeyi ki o ṣafikun laini atẹle: api.auth.base = 1
  3. Fipamọ ati po si atunto ti a tunṣe file pada si awọn ẹrọ lilo awọn pada iṣeto ni File ẹya-ara ni System Itọju taabu.
Muu ṣiṣẹ Ko si Ọna Ijeri (Aṣayan)

Lati jeki ọna ti ko si ìfàṣẹsí, fi RESTful API Ọrọigbaniwọle aaye ofo. Ọna yii ko ṣe iṣeduro ati pe o yẹ ki o lo fun awọn idi idanwo nikan nitori ko pese aabo.

Ṣiṣẹpọ Atẹlu Iṣakoso Rọrun (Aṣayan)
  1. Lori awọn web ni wiwo, lilö kiri si System Itọju taabu ki o si gba awọn iṣeto ni file.
  2. Ṣii iṣeto ni file lilo a ọrọ olootu ki o si fi meji ila. Yipada si ọrọ igbaniwọle ifẹ rẹ.
  3. Abojuto.web.sci = 1
  4. Sci.admin.pwd =
  5. Fipamọ ati po si atunto ti a tunṣe file pada si awọn ẹrọ lilo awọn pada iṣeto ni File ẹya-ara ni System Itọju taabu.

Ijẹrisi Sampkoodu

Jọwọ imeeli support@algosolutions.com ti o ba fẹ apewọn tabi ipilẹ ìfàṣẹsí sample koodu.
Fun atilẹyin afikun, pe 604-454-3792 tabi imeeli support@algosolutions.com

Awọn akiyesi Alaye

Akiyesi
Akiyesi tọkasi awọn imudojuiwọn to wulo, alaye, ati awọn ilana ti o yẹ ki o tẹle

AlAIgBA

Alaye ti o wa ninu iwe yii ni a gbagbọ pe o peye ni gbogbo awọn ọna ṣugbọn ko ṣe atilẹyin nipasẹ Algo. Alaye naa jẹ koko ọrọ si iyipada laisi akiyesi ati pe ko yẹ ki o tumọ ni eyikeyi ọna bi ifaramo nipasẹ Algo tabi eyikeyi ti awọn alafaramo tabi awọn oniranlọwọ. Algo ati awọn alafaramo rẹ ati awọn oniranlọwọ ko ṣe iduro fun eyikeyi awọn aṣiṣe tabi awọn aiṣedeede ninu iwe yii. Awọn atunyẹwo iwe-ipamọ yii tabi awọn ẹda tuntun rẹ le jẹ idasilẹ lati ṣafikun iru awọn ayipada. Algo ko gba layabiliti fun awọn bibajẹ tabi awọn ẹtọ ti o waye lati eyikeyi lilo afọwọṣe yii tabi iru awọn ọja, sọfitiwia, famuwia, ati/tabi hardware. Ko si apakan ti iwe yii ti o le tun ṣe tabi tan kaakiri ni eyikeyi fọọmu tabi nipasẹ ọna eyikeyi - itanna tabi ẹrọ - fun idi eyikeyi laisi igbanilaaye kikọ lati ọdọ Algo.
Fun afikun alaye tabi iranlọwọ imọ-ẹrọ ni Ariwa America, jọwọ kan si ẹgbẹ atilẹyin Algo:

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

©2022 Algo jẹ aami-išowo ti a forukọsilẹ ti Algo Communication Products Ltd.
Gbogbo awọn ẹtọ wa ni ipamọ. Gbogbo awọn aami-išowo miiran jẹ ohun-ini ti awọn oniwun wọn. Gbogbo awọn alaye lẹkunrẹrẹ wa labẹ iyipada laisi akiyesi.

 GBOGBO

Ọrọ Iṣaaju

Iwe yii ṣe apejuwe bawo ni a ṣe le lo Algo RESTful API lati wọle si, ṣe ifọwọyi, ati awọn iṣe okunfa lori Awọn aaye ipari IP Algo lori nẹtiwọọki rẹ nipasẹ awọn ibeere HTTP/HTTPS, bakanna bi tọkọtaya ti awọn ọna ijẹrisi oriṣiriṣi pẹlu awọn ipele aabo oriṣiriṣi. Awọn ọna ṣiṣe ti n beere le ṣe ajọṣepọ pẹlu awọn ẹrọ Algo nipasẹ aṣọ-aṣọ kan ati eto ti a ti yan tẹlẹ ti awọn iṣẹ ṣiṣe ti ko ni ipinlẹ ti asọye ninu iwe yii. Awọn ibeere ni a ṣe si URI oluşewadi pẹlu ẹru isanwo JSON ati jijade idahun JSON kan. HTTP/HTTPS GET, POST, ati awọn ibeere PUT ni a ṣe si orisun URI pẹlu ẹru isanwo JSON (wo apakan awọn aṣẹ fun atokọ ti awọn ẹru isanwo).

 Ijeri

Awọn oriṣi mẹta ti awọn ijẹrisi:

  •  Standard (a ṣe iṣeduro)
  •  Ipilẹṣẹ
  •  Ko si (ko ṣe iṣeduro)

Ijeri Standard naa nlo koodu Ijeri Ifiranṣẹ ti o da lori Hash (HMAC) pẹlu SHA-256 ti a fi koodu si. Ijeri ipilẹ nlo fifi koodu Base64 ati pe o yẹ ki o lo lori HTTPS nikan. Ko si ìfàṣẹsí yẹ ki o ṣee lo nikan pẹlu awọn iwọn itoju bi o ti pese ko si ìfàṣẹsí. Wo apakan Awọn ibeere Ijeri fun alaye diẹ sii.

Oṣo ATI atunto

Awọn ibeere pataki
  •  Iwe yii dawọle pe Algo endpoint nṣiṣẹ ẹya famuwia 3.3 tabi ga julọ.
  •  Iyatọ akoko laarin olubẹwẹ ati awọn ẹrọ Algo yẹ ki o kere ju awọn aaya 30 lati lo ijẹrisi boṣewa.
  • Rii daju pe NTP (Ilana Akoko Nẹtiwọki) wa ni lilo. Awọn adirẹsi ti awọn olupin NTP aṣa le tunto ni Eto To ti ni ilọsiwaju → Aago taabu.

Akiyesi
Awọn olupin NTP ti a ti ṣeto tẹlẹ ti gbalejo ni gbangba, nitorinaa asopọ intanẹẹti nilo lati de ọdọ rẹ. Ti ko ba si asopọ intanẹẹti wa, tunto olupin NTP agbegbe kan ki o tẹ adiresi IP rẹ sii.

  • Rii daju pe akoko eto ẹrọ Algo ti ṣatunṣe si agbegbe aago to pe. Eyi le ṣee ṣe nipa lilọ kiri si Eto To ti ni ilọsiwaju → Aago taabu.
 Nmu API RESTful ṣiṣẹ
  1. Wọle sinu web ni wiwo ati lilö kiri si Eto To ti ni ilọsiwaju → Abojuto taabu.
  2. Yi lọ si isalẹ si apakan Atilẹyin API, mu API RESTful ṣiṣẹ ki o ṣeto Ọrọigbaniwọle bi o ṣe fẹ (ọrọ igbaniwọle aiyipada: algo)
    Akiyesi
    Ijeri boṣewa ṣiṣẹ nipasẹ aiyipada.ALGO RESTful API 01
Mu Ijeri Ipilẹ ṣiṣẹ (Aṣayan)
  1. Ninu awọn web ni wiwo, lilö kiri si System → Itọju taabu ati ṣe igbasilẹ iṣeto naa file.
  2. Ṣii iṣeto ni file pẹlu olootu ọrọ eyikeyi ki o ṣafikun laini atẹle: api.auth.base = 1
  3.  Fipamọ ati po si atunto ti a tunṣe file pada si awọn ẹrọ lilo awọn pada iṣeto ni File ẹya-ara ni Eto → Itoju taabu.
Ko si Ọna Ijeri (Aṣayan)

Lati jeki ọna ti ko si ìfàṣẹsí, fi RESTful API Ọrọigbaniwọle aaye ofo. Ọna yii ko ṣe iṣeduro ati pe o yẹ ki o lo fun awọn idi idanwo nikan nitori ko pese aabo.

Ṣiṣẹpọ Atẹlu Iṣakoso Rọrun (Aṣayan)
  1. Lori awọn web ni wiwo, lilö kiri si System → Itọju taabu ati ṣe igbasilẹ iṣeto naa file.
  2.  Ṣii iṣeto ni file lilo a ọrọ olootu ki o si fi meji ila. Yipada awọn si ọrọ igbaniwọle ifẹ rẹ. Abojuto.web.sci = 1
    Sci.admin.pwd =
  3.  Fipamọ ati po si atunto ti a tunṣe file pada si awọn ẹrọ lilo awọn pada iṣeto ni File ẹya-ara ni Eto → Itoju taabu.

Awọn ibeere Ijeri

Jọwọ imeeli support@algosolutions.com ti o ba fẹ apewọn tabi ipilẹ ìfàṣẹsí sample koodu.

Ibeere Ijeri Boṣewa pẹlu Isanwo JSON kan

Awọn akọle ti a beere ni ibeere HTTP/HTTPS
> Akoonu-Iru: "ohun elo/json"
> Akoonu-MD5: [content_md5] Example
Content-MD5: 74362cc86588b2b3c5a4491baf80375b

Aṣẹ: hmac admin: [nonce]:[hmac_output]
Awọn akọle aṣẹ ni:

  1. Okun naa 'hmac admin' ti o tẹle nipasẹ oluṣafihan':'.
  2. Nonce – A ID tabi ti kii-tun iye, atẹle nipa a oluṣafihan ':'.
  3. Hmac_output – ti ipilẹṣẹ nipasẹ Ọrọigbaniwọle API RESTful (bọtini-aṣiri) ti a tunto sori ẹrọ rẹ ati titẹ sii HMAC, gẹgẹbi ni isalẹ:
    [ọna_ibeere]:[request_uri]:[content_md5]:[content_type]:[akokoamp]:[ko si]

HMAC igbewọle example: (lilo 'algo' bi bọtini ikoko)
POST:/api/controls/tone/start:6e43c05d82f71e77c586e29edb93b129:application/json:1601312252:49936 Ṣe ipilẹṣẹ HMAC pẹlu ọrọ igbaniwọle ati okun igbewọle HMAC bi dije nipa lilo SHA-256:
HMA ti jade example: 2e109d7aeed54a1cb04c6b72b1d854f442cf1ca15eb0af32f2512dd77ab6b330

Ọjọ: ọjọ, oṣu ọjọ, ọdun wakati: min: iṣẹju-aaya GMT
Example
Ọjọ: Ọjọbọ, Oṣu Kẹsan Ọjọ 22, Ọdun 2022 02:33:07 GMT
Standard ìfàṣẹsí pẹlu payload example:

ALGO RESTful API 02

 Ibeere Ijeri Boṣewa Laisi Isanwo JSON kan

Aami si 3.1 pẹlu akoonu ti o ni ibatan awọn akọle/titẹwọle hmac ti yọkuro.
HMAC igbewọle: [request_method]: [request_uri]: [akokoamp]: [ko si] HMAC igbewọle example: (lilo 'algo' bi bọtini ikoko)
Gba:/api/settings/audio.page.vol:1601312252:49936
Ṣe ina HMAC pẹlu ọrọ igbaniwọle ati okun igbewọle HMAC nipa lilo SHA-256:
HMA ti jade example: c5b349415bce0b9e1b8122829d32fbe0a078791b311c4cf40369c7ab4eb165a8
Standard ìfàṣẹsí lai payload example:

ALGO RESTful API 03

 Ibere ​​Ijeri Ipilẹ

Ọna ìfàṣẹsí yii yẹ ki o lo pẹlu itọju nitori pe ko ni aabo ju ọna boṣewa lọ.

Aṣẹ: Ipilẹ [base64]
Example:
Aṣẹ: Ipilẹ YWRtaW46YWxnbwo=
Ijẹrisi ipilẹ example:
ALGO RESTful API 04

Àṣẹ

 Awọn pipaṣẹ API RESTful

Ni isalẹ ni atokọ ti gbogbo awọn aṣẹ API ti o ni atilẹyin.

Akiyesi
Ibeere PUT kan yipada tabi ṣẹda orisun ayeraye ti o yege atunbere, lakoko ti ibeere POST kan n ṣakoso ẹrọ nikan fun igba lọwọlọwọ.

Apejuwe Ọna URI Isanwo Awọn paramita Pada Example Ọja FW
Gba iye ti paramita kan pato.  GBA /api/settings/[orukọ-bọtini] Ex./api/settings/audio.page.vol  N/A  {"audio.page.vol": "-18dB"}  Gbogbo  > 3.3
Pada ipele ariwo ibaramu ti a wọn ni decibels. Biinu Ariwo Ibaramu gbọdọ wa ni sise ni Eto Ipilẹ -> Awọn ẹya ara ẹrọ taabu. GBA /api/info/audio.noise.level N/A {"audio.noise.level": 72}  Agbọrọsọ Ifihan Agbọrọsọ > 3.3
 Jade ipo ti ebute igbewọle yii. GBA /api/info/input.relay.status N/A  

{"input.relay.status": "aiṣiṣẹ"} tabi {"input.relay.status": "lọwọ"}

Gbogbo awọn ọja pẹlu kan yii input, ayafi 8063. Wo isalẹ. > 4.1
 Jade ipo ti Input 1 tabi Input 2 ebute.  GBA /api/info/input.relay1.status tabi /api/info/input.relay2.status  N/A {"input.relay1.status": "aisi ṣiṣẹ"} tabi {"input.relay1.status": "lọwọ"}  8063  > 4.1
Gba atokọ ti ohun orin pada files Lọwọlọwọ fi sori ẹrọ.  GBA  /api/info/tonelist  

N/A

{“ohun orin ipe”:[“bell-na.wav”,”bell uk.wav”,”buzzer.wav”,…]}  Gbogbo  > 5.0
Gba alaye ẹrọ pada ti o han loju iwe Ipo.  GBA  /api/info/status  N/A  Akojọ kikun ti alaye lati Ipo taabu.  Gbogbo  > 5.4
Gba alaye ọja pada ti o han loju iwe Nipa.  GBA /api/info/nipa  N/A  Gbogbo alaye wa lori About taabu. Gbogbo > 5.4
Mu strobe ṣiṣẹ pẹlu awọ ti o fẹ ati awọn aye apẹrẹ. POST /api/controls/strobe/bẹrẹ Àpẹẹrẹ: {0-15}
color1: {bulu, pupa, amber, alawọ ewe} color2: {buluu, pupa, amber, alawọ ewe} ledlvl: {1 – 255}
idaduro: {otitọ, iro}
N/A  8128(G2)
8138
8190S
> 3.3
 Duro strobe.  POST  /api/controls/strobe/stop  N/A  N/A 8128(G2)
8138
8190S
> 3.3
Mu ohun orin ṣiṣẹ lẹẹkan tabi yipo rẹ. POST /api/controls/ohun orin/bẹrẹ ona: {ohun orin} ie. chime.wav
loop: {otitọ, iro} tabi {0, 1}
Fun apẹẹrẹ {“ọna”:”chime.wav”, “loop”:otitọ}
N/A Awọn agbọrọsọ 8301
8373
8028(G2)
8201
8039
> 3.3
Duro ohun orin. POST /api/controls/tone/stop N/A N/A Awọn agbọrọsọ 8301
8373
8028(G2)
8201
8039
> 3.3
Pe itẹsiwaju foonu pẹlu ifiranṣẹ ti o ti gbasilẹ tẹlẹ. POST /api/controls/ipe/bẹrẹ  {"atẹsiwaju":"2099",
“ohun orin”:”gong.wav”, “aarin”:”0″, “maxdur”:”10″}
N/A Awọn agbọrọsọ 8301
8410
8420
> 3.3
Pari ipe naa. POST /api/controls/ call/stop N/A N/A Awọn agbọrọsọ 8301
8410
8420
> 3.3
Bẹrẹ ipe oju-iwe ọna kan kan. Ẹrọ naa yoo gba ṣiṣan ohun lati itẹsiwaju ibi-afẹde.  POST  /api/controls/pe/page  {"atẹsiwaju":" ”}  N/A Awọn agbọrọsọ 8410
8420
 > 5.3.4
Atunbere ibi ipari ibi-afẹde. POST /api/controls/atunbere N/A N/A Gbogbo > 3.3
Ṣii ilẹkun. “agbegbe” n ṣakoso isọdọtun agbegbe “netdc1” n ṣakoso oluṣakoso ilẹkun nẹtiwọọki latọna jijin (8063) POST /api/controls/enu/unlock ẹnu: {agbegbe, netdc1}
* Iyan
N/A 8039
8028(G2)
8201
8063
> 3.3
Tii ilẹkun. POST /api/controls/enu/titiipa  ẹnu: {agbegbe, netdc1}
* Iyan
N/A 8039
8028(G2)
8201
8063
> 3.3
Mu 24v aux out relay ṣiṣẹ. POST api / idari / 24v / jeki N/A N/A 8063 > 5.0
Pa 24v aux out relay kuro. POST api / idari / 24v / mu N/A N/A 8063 > 5.0
Mu isọdọtun iṣẹjade ṣiṣẹ. POST /api/controls/relay/enable N/A N/A 8063 > 5.0
Pa isọdọtun iṣẹjade kuro. POST /api/controls/relay/disable N/A N/A 8063 > 5.0
Ṣayẹwo olupin famuwia Algo fun ẹya famuwia tuntun.  POST  /api/controls/upgrade/ṣayẹwo  N/A {"ẹya": "imudojuiwọn"} tabi
{"Ẹya": " ”}
 Gbogbo  > 4.1
 Ṣayẹwo olupin famuwia Algo fun ẹya famuwia tuntun ati igbesoke si ẹya yẹn. POST /api/awọn idari/igbesoke/bẹrẹ N/A {"ipo": "imudojuiwọn"} tabi
{"ipo": "igbegasoke ","url": url>} tabi
{"ipo": " ”}
Gbogbo > 4.1
Ṣe afihan aworan tabi apẹrẹ loju iboju.  POST  /api/controls/iboju/bẹrẹ  Wo ni isalẹ  N/A 8410
8420
 > 5.3.4
Duro awoṣe iboju ki o pada si iboju aiyipada.  POST  /api/controls/screen/stop  N/A  N/A 8410
8420
 > 5.3.4
Tun ohun elo akọkọ bẹrẹ. POST /api/controls/tun gbee N/A N/A Gbogbo > 5.3.4
Bẹrẹ gbigbọ ṣiṣan ohun taara kan. Tunto nọmba ibudo si eyiti o ti n firanṣẹ ṣiṣan naa. POST /api/controls/rx/bẹrẹ {"ibudo": } N/A Gbogbo   > 5.3.4
Duro gbigbọ ṣiṣan ohun taara kan. POST  /api/controls/rx/stop  N/A  N/A  Gbogbo  > 5.3.4
Ṣeto ipo multicast. PUT /api/ipinle/mcast/imudojuiwọn/ {"modus":"olufiranṣẹ", "adirẹsi": , “ibudo”: , "Iru":"rtp"} tabi {"mode":"olufiranṣẹ", "adirẹsi": , “ibudo”: , "iru":"poly", "ẹgbẹ":1}
** Akiyesi ***: Ti o ba ti lo awọn iṣakoso/ohun orin/bẹrẹ ṣaaju aṣẹ yii, ohun orin yoo dun nipa lilo awọn eto lọwọlọwọ lori web UI.
N/A 8301 > 5.0
Fi iye kan sii si paramita kan pato lati isanwo JSON. PUT /api/awọn eto paramita: {iye}
fun apẹẹrẹ {"audio.page.vol": "-3dB"}
N/A 8180(G2)
8186
8190
8190S
8301
8373
> 3.3
 Simple Iṣakoso Interface (SCI) Òfin

Gbogbo awọn aṣẹ SCI jẹ awọn ibeere GET ati pe o ni awọn paramita ti o wọpọ “usi” ati “abojuto” fun ijẹrisi.
Example:
Gba http:// /sci/controls/enu/unlock?usr=abojuto&pwd=algo&doorid=agbegbe

 Apejuwe  URI Ni afikun Isanwo Awọn paramita Awọn ọja  FW
Ṣii ilẹkun.
“agbegbe” n ṣakoso isọdọtun agbegbe “netdc1” n ṣakoso oluṣakoso ilẹkun nẹtiwọọki latọna jijin (8063)
/sci/controls/ṣe tabi/ṣii ẹnu: {agbegbe, netdc1}
* Iyan
8039
8028(G2)
8201
8063
> 3.3
Tii ilẹkun. /sci/controls/ṣe tabi/titiipa ẹnu: {agbegbe, netdc1}
* Iyan
8039
8028(G2)
8201
8063
> 3.3
Mu ohun orin ṣiṣẹ lẹẹkan tabi yipo rẹ.  /sci/controls/to ne/bẹrẹ ona: {ohun orin} ie. chime.wav
loop: {otitọ, iro} tabi {0, 1}
Gbogbo  > 3.3
Duro ohun orin. /sci/controls/to ne/stop  N/A  Gbogbo  > 3.3
Mu strobe ṣiṣẹ pẹlu awọ ti o fẹ ati awọn aye apẹrẹ. /sci/controls/strobe/bẹrẹ apẹrẹ: {0 – 15} awọ1: {buluu, pupa, amber, alawọ ewe}
color2: {bulu, pupa, amber, alawọ ewe}
ledlvl: {1 – 255} idaduro: {otitọ, iro}
8128(G2)
8138
8190S
> 3.3
 Duro strobe.  /sci/controls/strobe/stop  N/A 8128(G2)
8138
8190S
 > 3.3

Awọn iwe aṣẹ / Awọn orisun

ALGO RESTful API [pdf] Itọsọna olumulo
AL061-GU-GF000API-001-R0, AL061-GU-CP00TEAM-001-R0, API RESTful, RESTful, API
ALGO RESTful API [pdf] Itọsọna olumulo
AL061-GU-CP000API-230717, RESTful API, RESTful, API

Awọn itọkasi

Fi ọrọìwòye

Adirẹsi imeeli rẹ kii yoo ṣe atẹjade. Awọn aaye ti a beere ti wa ni samisi *