Logo sa ALGO RESTful API

ALGO RESTful API

ALGO RESTful nga produkto sa API

Impormasyon sa Produkto: RESTful API Guide

Ang Algo RESTful API nagtugot sa mga tiggamit sa pag-access, pagmaniobra, ug pag-trigger sa mga aksyon sa Algo IP Endpoints sa ilang network pinaagi sa HTTP/HTTPS nga mga hangyo. Kini nga dokumento naghatag usa ka uniporme ug gitakda nang daan nga set sa stateless nga mga operasyon nga magamit aron makig-uban sa mga aparato sa Algo. Gisuportahan sa API ang HTTP/HTTPS GET, POST, ug PUT nga mga hangyo nga adunay JSON payloads.

Pagpamatuod

Adunay tulo ka mga matang sa mga authentication nga magamit sa Algo RESTful API:

  • Standard nga panghimatuud (gipaandar pinaagi sa default)
  • Basic authentication (opsyonal)
  • Walay authentication method (dili girekomenda; para lang sa testing purposes)

Mga Panudlo sa Paggamit sa Produkto: RESTful API

Mga kinahanglanon

Sa dili pa i-enable ang RESTful API, siguroha nga ang device adunay koneksyon sa internet aron maabot ang pre-configured NTP servers. Kung walay koneksyon sa internet, i-configure ang lokal nga NTP server ug isulod ang IP address niini.

Pagpaandar sa RESTful API
  1. Log in sa device web interface ug navigate sa Advanced Settings Admin tab.
  2. Pag-scroll paubos sa seksyon sa Suporta sa API ug i-enable ang RESTful API.
  3. Ibutang ang gusto nga password (default password: algo). Timan-i nga ang standard authentication gipalihok pinaagi sa default.
Pag-enable sa Basic Authentication (Opsyonal)
  1. Diha sa web interface, navigate sa System Maintenance tab ug i-download ang configuration file.
  2. Ablihi ang pagsalig file uban sa bisan unsang text editor ug idugang ang mosunod nga linya: api.auth.basic = 1
  3. I-save ug i-upload ang giusab nga configuration file balik sa device gamit ang Restore Configuration File feature sa System Maintenance tab.
Pag-enable sa Walay Pamaagi sa Pagpamatuod (Opsyonal)

Aron mahimo ang paagi nga walay panghimatuod, biyai nga walay sulod ang RESTful API Password field. Kini nga pamaagi wala girekomenda ug kinahanglan nga gamiton lamang alang sa mga katuyoan sa pagsulay tungod kay wala kini naghatag kasiguruhan.

Pag-enable sa Simple Control Interface (Opsyonal)
  1. Sa web interface, navigate sa System Maintenance tab ug i-download ang configuration file.
  2. Ablihi ang pagsalig file gamit ang text editor ug idugang ang duha ka linya. Usba ang sa imong gusto nga password.
  3. Admin.web.sci = 1
  4. Sci.admin.pwd =
  5. I-save ug i-upload ang giusab nga configuration file balik sa device gamit ang Restore Configuration File feature sa System Maintenance tab.

Pagpamatuod Sampang Code

Palihug email suporta@algosolutions.com kung gusto nimo ang usa ka sukaranan o sukaranan nga panghimatuud sampang code.
Para sa dugang nga suporta, tawag 604-454-3792 o email suporta@algosolutions.com

Mga Pahibalo sa Impormasyon

Nota
Ang nota nagpakita sa mapuslanong mga update, impormasyon, ug mga instruksiyon nga kinahanglang sundon

Disclaimer

Ang impormasyon nga anaa niini nga dokumento gituohan nga tukma sa tanang bahin apan dili gigarantiya ni Algo. Ang kasayuran mahimong usbon nga wala’y pahibalo ug kinahanglan dili isipon sa bisan unsang paagi ingon usa ka pasalig sa Algo o bisan unsang mga kaubanan o subsidiary niini. Ang Algo ug ang mga kaubanan ug mga subsidiary niini walay responsibilidad alang sa bisan unsang mga kasaypanan o pagkawala niini nga dokumento. Ang mga pagbag-o sa kini nga dokumento o bag-ong mga edisyon niini mahimong i-isyu aron ilakip ang ingon nga mga pagbag-o. Ang Algo walay tulubagon sa mga kadaot o mga pag-angkon nga resulta sa bisan unsang paggamit niini nga manwal o sa maong mga produkto, software, firmware, ug/o hardware. Walay bahin niini nga dokumento ang mahimong kopyahon o ipadala sa bisan unsang porma o sa bisan unsang paagi - elektroniko o mekanikal - alang sa bisan unsang katuyoan nga walay sinulat nga pagtugot gikan sa Algo.
Para sa dugang nga impormasyon o teknikal nga tabang sa North America, palihog kontaka ang Algo's support team:

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

©2022 Ang Algo usa ka rehistradong marka sa pamatigayon sa Algo Communication Products Ltd.
Tanang Katungod Gigahin. Ang tanan nga ubang mga marka sa pamatigayon gipanag-iya sa ilang tag-iya. Ang tanan nga mga spec mahimong usbon nga wala’y pahibalo.

 GENERAL

Pasiuna

Kini nga dokumento naghulagway kung giunsa ang Algo RESTful API magamit sa pag-access, pagmaniobra, ug pag-trigger sa mga aksyon sa Algo IP Endpoints sa imong network pinaagi sa HTTP/HTTPS nga mga hangyo, ingon man usab sa usa ka magtiayon nga lain-laing mga pamaagi sa pag-authentication nga adunay lain-laing lebel sa seguridad. Ang mga sistema sa paghangyo mahimong makig-uban sa mga aparato sa Algo pinaagi sa usa ka uniporme ug gitakda nang daan nga hugpong sa mga walay estado nga operasyon nga gipasabut niini nga dokumento. Ang mga hangyo gihimo sa URI sa usa ka kapanguhaan nga adunay payload sa JSON ug makakuha usa ka tubag sa JSON. Ang HTTP/HTTPS GET, POST, ug PUT nga mga hangyo gihimo sa resource URI kauban ang JSON payload (tan-awa ang commands section para sa listahan sa mga payloads).

 Pagpamatuod

Adunay tulo ka mga matang sa authentication:

  •  Standard (girekomenda)
  •  sukaranan
  •  Wala (dili girekomenda)

Ang Standard authentication naggamit sa Hash-based Message Authentication Code (HMAC) nga adunay SHA-256 nga naka-encode nga digest. Ang batakang authentication naggamit sa Base64 encoding ug kinahanglan nga gamiton lamang sa HTTPS. Walay authentication kinahanglan nga gamiton lamang sa hilabihan nga pag-amping tungod kay kini wala maghatag ug authentication. Tan-awa ang seksyon nga Mga Kinahanglanon sa Pagpamatuod alang sa dugang nga mga detalye.

SETUP UG CONFIGURATION

Mga kinahanglanon
  •  Kini nga dokumento nagtuo nga ang Algo endpoint nagpadagan sa firmware nga bersyon 3.3 o mas taas pa.
  •  Ang kalainan sa oras tali sa nangayo ug sa mga aparato sa Algo kinahanglan nga dili moubos sa 30 segundos aron magamit ang sagad nga pag-authenticate.
  • Siguruha nga ang NTP (Network Time Protocol) gigamit. Ang mga adres sa custom NTP servers mahimong ma-configure sa Advanced Settings → Time tab.

Nota
Ang mga pre-configure nga NTP server gi-host sa publiko, busa ang koneksyon sa internet gikinahanglan aron maabot kini. Kung walay koneksyon sa internet, i-configure ang lokal nga NTP server ug isulod ang IP address niini.

  • Siguruha nga ang oras sa sistema sa aparato sa Algo gipasibo sa husto nga time zone. Mahimo kini pinaagi sa pag-navigate sa Advanced Settings → Time tab.
 Pagpaandar sa RESTful API
  1. Log ngadto sa web interface ug navigate sa Advanced Settings → Admin tab.
  2. Pag-scroll paubos sa seksyon sa Suporta sa API, i-enable ang RESTful API ug itakda ang Password nga gusto (default nga password: algo)
    Nota
    Ang standard authentication gipalihok pinaagi sa default.ALGO RESTful API 01
I-enable ang Basic Authentication (Opsyonal)
  1. Diha sa web interface, navigate sa System → Maintenance tab ug i-download ang configuration file.
  2. Ablihi ang pagsalig file uban sa bisan unsang text editor ug idugang ang mosunod nga linya: api.auth.basic = 1
  3.  I-save ug i-upload ang giusab nga configuration file balik sa device gamit ang Restore Configuration File feature sa System → Maintenance tab.
Walay Pamaagi sa Pagpamatuod (Opsyonal)

Aron mahimo ang paagi nga walay panghimatuod, biyai nga walay sulod ang RESTful API Password field. Kini nga pamaagi wala girekomenda ug kinahanglan nga gamiton lamang alang sa mga katuyoan sa pagsulay tungod kay wala kini naghatag kasiguruhan.

Pag-enable sa Simple Control Interface (Opsyonal)
  1. Sa web interface, navigate sa System → Maintenance tab ug i-download ang configuration file.
  2.  Ablihi ang pagsalig file gamit ang text editor ug idugang ang duha ka linya. Usba ang sa imong gusto password. Admin.web.sci = 1
    Sci.admin.pwd =
  3.  I-save ug i-upload ang giusab nga configuration file balik sa device gamit ang Restore Configuration File feature sa System → Maintenance tab.

MGA KINAHANGLAN NGA AUTENTIKASYON

Palihug email suporta@algosolutions.com kung gusto nimo ang usa ka sukaranan o sukaranan nga panghimatuud sampang code.

Sumbanan nga Paghangyo sa Pagpamatuod nga adunay JSON Payload

Gikinahanglan nga mga ulohan sa HTTP/HTTPS hangyo
> Content-Type: "aplikasyon/json"
> Content-MD5: [content_md5] Example
Content-MD5: 74362cc86588b2b3c5a4491baf80375b

Awtorisasyon: hmac admin: [wala]: [hmac_output]
Ang mga ulohan sa pagtugot naglangkob sa:

  1. Ang string nga 'hmac admin' gisundan sa usa ka colon ':'.
  2. Wala - Usa ka random o dili nagbalikbalik nga kantidad, gisundan sa usa ka colon ':'.
  3. Hmac_output – namugna sa RESTful API Password (secret-key) nga gi-configure sa imong device ug sa HMAC input, sama sa ubos:
    [pangabay_pamaagi]:[pangabay_uri]:[sulod_md5]:[sulod_matang]:[panahonamp]: [wala]

HMAC input example: (gamit ang 'algo' isip sekreto nga yawe)
POST:/api/controls/tone/start:6e43c05d82f71e77c586e29edb93b129:application/json:1601312252:49936 Generate HMAC with password and HMAC input string as digest gamit ang SHA-256:
HMAC output example: 2e109d7aeed54a1cb04c6b72b1d854f442cf1ca15eb0af32f2512dd77ab6b330

Petsa: adlaw, petsa bulan, tuig hr:min:sec GMT
Example
Petsa: Huwebes, Septiyembre 22, 2022 02:33:07 GMT
Standard nga panghimatuud nga adunay payload example:

ALGO RESTful API 02

 Sumbanan nga Paghangyo sa Pagpamatuod nga Wala’y JSON Payload

Parehas sa 3.1 nga adunay mga ulohan nga may kalabutan sa sulud / hmac input nga wala iapil.
HMAC input: [pangabay_pamaagi]:[pangabay_uri]:[panahonamp]:[wala] HMAC input example: (gamit ang 'algo' isip sekreto nga yawe)
GET:/api/settings/audio.page.vol:1601312252:49936
Paghimo HMAC nga adunay password ug HMAC input string gamit ang SHA-256:
HMAC output example: c5b349415bce0b9e1b8122829d32fbe0a078791b311c4cf40369c7ab4eb165a8
Standard authentication nga walay payload example:

ALGO RESTful API 03

 Panguna nga Paghangyo sa Pagpamatuod

Kini nga paagi sa pag-authenticate kinahanglan gamiton nga mabinantayon tungod kay kini dili kaayo luwas kaysa sa naandan nga pamaagi.

Awtorisasyon: Basic [base64]
Example:
Awtorisasyon: Basic YWRtaW46YWxnbwo=
Panguna nga panghimatuud example:
ALGO RESTful API 04

MGA SUGO

 RESTful API Commands

Sa ubos usa ka lista sa tanan nga gisuportahan nga mga komand sa API.

Nota
Ang usa ka hangyo sa PUT nagbag-o o nagmugna og usa ka permanente nga kapanguhaan nga mabuhi sa usa ka reboot, samtang ang usa ka hangyo sa POST nagkontrol lamang sa aparato alang sa karon nga sesyon.

Deskripsyon Pamaagi URI Payload Parameter Pagbalik Example produkto FW
Kuhaa ang bili sa usa ka piho nga parameter.  GET /api/settings/[key-name] Ex./api/settings/audio.page.vol  N/A  {“audio.page.vol”: “-18dB”}  Tanan  > 3.3
Ibalik ang lebel sa kasaba sa palibot nga gisukod sa decibel. Ang Ambient Noise Compensation kinahanglang ma-enable sa Basic Settings -> Features tab. GET /api/info/audio.noise.level N/A {“audio.noise.level”: 72}  Mga Mamumulong Ipakita ang mga Mamumulong > 3.3
 Kuhaa ang kahimtang sa relay input terminal. GET /api/info/input.relay.status N/A  

{“input.relay.status”: “idle”} o {“input.relay.status”: “aktibo”}

Ang tanan nga mga produkto nga adunay relay input, gawas sa 8063. Tan-awa sa ubos. > 4.1
 Kuhaa ang kahimtang sa Input 1 o Input 2 nga mga terminal.  GET /api/info/input.relay1.status o /api/info/input.relay2.status  N/A {“input.relay1.status”: “idle”} o {“input.relay1.status”: “aktibo”}  8063  > 4.1
Kuhaa ang lista sa tono files kasamtangan nga gi-install.  GET  /api/info/tonelist  

N/A

{“tonelist”:[“bell-na.wav”,”bell uk.wav”,”buzzer.wav”,…]}  Tanan  > 5.0
Kuhaa ang impormasyon sa device nga gipakita sa Status page.  GET  /api/info/status  N/A  Bug-os nga listahan sa impormasyon gikan sa Status tab.  Tanan  > 5.4
Kuhaa ang impormasyon sa produkto nga gipakita sa About page.  GET /api/info/mahitungod  N/A  Tanang impormasyon nga anaa sa tab nga About. Tanan > 5.4
I-aktibo ang strobe nga adunay gusto nga mga parameter sa kolor ug pattern. POST /api/controls/strobe/start sumbanan: {0 – 15}
kolor1: {asul, pula, amber, berde} kolor2: {asul, pula, amber, berde} ledlvl: {1 – 255}
pagpabilin: {tinuod, bakak}
N/A  8128(G2)
8138
8190S
> 3.3
 Hunonga ang strobe.  POST  /api/controls/strobe/stop  N/A  N/A 8128(G2)
8138
8190S
> 3.3
Pagpatugtog og tono kausa o i-loop kini. POST /api/controls/tone/start dalan: {tono} ie. chime.wav
loop: {tinuod, bakak} o {0, 1}
pananglitan {“path”:”chime.wav”, “loop”:true}
N/A Mga mamumulong 8301
8373
8028(G2)
8201
8039
> 3.3
Hunonga ang tono. POST /api/controls/tone/stop N/A N/A Mga mamumulong 8301
8373
8028(G2)
8201
8039
> 3.3
Tawga ang extension sa telepono nga adunay na-prerecord nga mensahe. POST /api/controls/call/start  {“extension”:”2099″,
“tono”:”gong.wav”, “interval”:”0″, “maxdur”:”10″}
N/A Mga mamumulong 8301
8410
8420
> 3.3
Tapusa ang tawag. POST /api/controls/call/stop N/A N/A Mga mamumulong 8301
8410
8420
> 3.3
Pagsugod ug one-way page call. Ang device makadawat sa audio stream gikan sa target extension.  POST  /api/controls/call/page  {“extension”:” ”}  N/A Mga mamumulong 8410
8420
 > 5.3.4
I-reboot ang target nga endpoint. POST /api/controls/reboot N/A N/A Tanan > 3.3
Ablihi ang pultahan. Ang "lokal" nagkontrol sa lokal nga relay "netdc1" nagkontrol sa remote network door controller (8063) POST /api/controls/door/unlock doorid: {lokal, netdc1}
*Kapilian
N/A 8039
8028(G2)
8201
8063
> 3.3
I-lock ang pultahan. POST /api/controls/door/lock  doorid: {lokal, netdc1}
*Kapilian
N/A 8039
8028(G2)
8201
8063
> 3.3
I-enable ang 24v aux out relay. POST api/controls/24v/enable N/A N/A 8063 > 5.0
I-disable ang 24v aux out relay. POST api/kontrol/24v/disable N/A N/A 8063 > 5.0
I-enable ang output relay. POST /api/controls/relay/enable N/A N/A 8063 > 5.0
I-disable ang output relay. POST /api/controls/relay/disable N/A N/A 8063 > 5.0
Susiha ang firmware server sa Algo alang sa pinakabag-o nga bersyon sa firmware.  POST  /api/controls/upgrade/check  N/A {“bersyon”: “gi-update”} o
{"bersyon": " ”}
 Tanan  > 4.1
 Susiha ang firmware server sa Algo alang sa pinakabag-o nga bersyon sa firmware ug pag-upgrade sa kana nga bersyon. POST /api/controls/upgrade/start N/A {“status”: “gi-update”} o
{"status": "pag-upgrade ","url”: url>} o
{“status”: “ ”}
Tanan > 4.1
Ipakita ang usa ka imahe o pattern sa screen.  POST  /api/controls/screen/start  Tan-awa ubos  N/A 8410
8420
 > 5.3.4
Hunonga ang sumbanan sa screen ug balik sa default screen.  POST  /api/controls/screen/stop  N/A  N/A 8410
8420
 > 5.3.4
I-restart ang main application. POST /api/controls/reload N/A N/A Tanan > 5.3.4
Pagsugod sa pagpaminaw sa usa ka direkta nga audio stream. I-configure ang numero sa port diin gipadala ang sapa. POST /api/controls/rx/start {"port": } N/A Tanan   > 5.3.4
Hunonga ang pagpaminaw sa direktang audio stream. POST  /api/controls/rx/stop  N/A  N/A  Tanan  > 5.3.4
Ibutang ang multicast mode. PUT /api/state/mcast/update/ {“mode”:”sender”, “address”: , "port": , “type”:”rtp”} o {“mode”:”sender”, “address”: , "port": , “type”:”poly”, “grupo”:1}
**Pahinumdom**: Kon ang mga kontrol/tono/pagsugod gigamit sa wala pa kini nga sugo, ang tono modula gamit ang kasamtangang mga setting sa web UI.
N/A 8301 > 5.0
Pagsulud sa usa ka kantidad sa usa ka piho nga parameter gikan sa payload sa JSON. PUT /api/setting parametro: {value}
pananglitan {“audio.page.vol”: “-3dB”}
N/A 8180(G2)
8186
8190
8190S
8301
8373
> 3.3
 Simple Control Interface (SCI) Commands

Ang tanan nga mga sugo sa SCI kay GET nga mga hangyo ug adunay komon nga mga parameter nga "usi" ug "admin" alang sa pag-authenticate.
Example:
kuhaa ang http:// /sci/controls/door/unlock?usr=admin&pwd=algo&doorid=local

 Deskripsyon  URI Dugang Payload Parameter Mga produkto  FW
Ablihi ang pultahan.
Ang "lokal" nagkontrol sa lokal nga relay "netdc1" nagkontrol sa remote network door controller (8063)
/sci/controls/do or/unlock doorid: {lokal, netdc1}
*Kapilian
8039
8028(G2)
8201
8063
> 3.3
I-lock ang pultahan. /sci/controls/do or/lock doorid: {lokal, netdc1}
*Kapilian
8039
8028(G2)
8201
8063
> 3.3
Pagpatugtog og tono kausa o i-loop kini.  /sci/controls/to ne/start dalan: {tono} ie. chime.wav
loop: {tinuod, bakak} o {0, 1}
Tanan  > 3.3
Hunonga ang tono. /sci/controls/to ne/stop  N/A  Tanan  > 3.3
I-aktibo ang strobe nga adunay gusto nga mga parameter sa kolor ug pattern. /sci/controls/strobe/start sumbanan: {0 – 15} kolor1: {asul, pula, amber, berde}
kolor2: {asul, pula, amber, berde}
ledlvl: {1 – 255} pagpabilin: {tinuod, bakak}
8128(G2)
8138
8190S
> 3.3
 Hunonga ang strobe.  /sci/controls/strobe/stop  N/A 8128(G2)
8138
8190S
 > 3.3

Mga Dokumento / Mga Kapanguhaan

ALGO RESTful API [pdf] Giya sa Gumagamit
AL061-GU-GF000API-001-R0, AL061-GU-CP00TEAM-001-R0, RESTful API, RESTful, API
ALGO RESTful API [pdf] Giya sa Gumagamit
AL061-GU-CP000API-230717, RESTful API, RESTful, API

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *