ALGO RESTful API logo

ALGO RESTful API

ALGO RESTful API mankhwala

Zambiri Zamalonda: RESTful API Guide

Algo RESTful API imalola ogwiritsa ntchito kupeza, kuwongolera, ndi kuyambitsa zochita pa Algo IP Endpoints pamanetiweki awo kudzera pa zopempha za HTTP/HTTPS. Chikalatachi chimapereka mawonekedwe ofananirako komanso okonzedweratu a ntchito zopanda malire zomwe zingagwiritsidwe ntchito polumikizana ndi zida za Algo. API imathandizira HTTP/HTTPS GET, POST, ndi PUT zopempha ndi JSON payloads.

Kutsimikizira

Pali mitundu itatu yotsimikizika yomwe ilipo ndi Algo RESTful API:

  • Kutsimikizika kokhazikika (kothandizidwa ndi kusakhazikika)
  • Kutsimikizira koyambira (posankha)
  • Palibe njira yotsimikizira (yosavomerezeka; pofuna kuyesa kokha)

Malangizo Kagwiritsidwe Ntchito: RESTful API

Zofunikira

Musanatsegule RESTful API, onetsetsani kuti chipangizocho chili ndi intaneti kuti chifikire ma seva a NTP omwe adakonzedweratu. Ngati palibe intaneti yomwe ikupezeka, konzani seva ya NTP yapafupi ndikulowetsa adilesi yake ya IP.

Kuyatsa RESTful API
  1. Lowani mu chipangizo cha web mawonekedwe ndikuyenda kupita ku tabu ya Advanced Settings Admin.
  2. Pitani ku gawo la API Support ndikuyambitsa RESTful API.
  3. Khazikitsani mawu achinsinsi omwe mukufuna (chinsinsi chokhazikika: algo). Dziwani kuti kutsimikizika kokhazikika kumayatsidwa mwachisawawa.
Kuyang'anira Kutsimikizika Kwambiri (Mwasankha)
  1. Mu web mawonekedwe, pita ku System Maintenance tabu ndikutsitsa kasinthidwe file.
  2. Tsegulani kasinthidwe file ndi cholembera chilichonse ndikuwonjezera mzere wotsatira: api.auth.basic = 1
  3. Sungani ndi kukweza kasinthidwe kosinthidwa file kubwerera ku chipangizo ntchito Bwezerani kasinthidwe File kuwonekera pa System Maintenance tabu.
Kuyambitsa Palibe Njira Yotsimikizira (Mwasankha)

Kuti mutsegule njira yotsimikizira, siyani mawu achinsinsi a RESTful API opanda kanthu. Njirayi ndiyosavomerezeka ndipo iyenera kugwiritsidwa ntchito pazoyeserera pokhapokha ngati ilibe chitetezo.

Kuyang'anira Chiyankhulo Chosavuta Choyang'anira (Mwasankha)
  1. Pa web mawonekedwe, pita ku System Maintenance tabu ndikutsitsa kasinthidwe file.
  2. Tsegulani kasinthidwe file pogwiritsa ntchito text editor ndikuwonjezera mizere iwiri. Sinthani ku password yomwe mukufuna.
  3. Admin.web.sci = 1
  4. Sci.admin.pwd =
  5. Sungani ndi kukweza kasinthidwe kosinthidwa file kubwerera ku chipangizo ntchito Bwezerani kasinthidwe File kuwonekera pa System Maintenance tabu.

Kutsimikizika kwa Sample kodi

Chonde imelo support@algosolutions.com ngati mungafune kutsimikizika kokhazikika kapena koyambira sample kodi.
Kuti mudziwe zambiri, imbani 604-454-3792 kapena imelo support@algosolutions.com

Zidziwitso Zachidziwitso

Zindikirani
Chidziwitso chikuwonetsa zosintha zothandiza, zambiri, ndi malangizo omwe akuyenera kutsatiridwa

Chodzikanira

Zomwe zili m'chikalatachi zimakhulupirira kuti ndizolondola m'mbali zonse koma sizovomerezeka ndi Algo. Chidziwitsochi chikhoza kusintha popanda chidziwitso ndipo sichiyenera kutanthauzidwa mwanjira iliyonse ngati kudzipereka kwa Algo kapena mabungwe ake kapena othandizira. Algo ndi othandizana nawo ndi othandizira sakhala ndi udindo pazolakwa zilizonse kapena zomwe zasiyidwa mu chikalatachi. Kuwunikiridwa kwa chikalatachi kapena zatsopano zake zitha kuperekedwa kuti aphatikizepo zosintha zotere. Algo sakhala ndi mlandu wowononga kapena zodandaula chifukwa chogwiritsa ntchito bukuli kapena zinthu zotere, mapulogalamu, firmware, ndi/kapena hardware. Palibe gawo lachikalatachi lomwe lingathe kupangidwanso kapena kufalitsidwa mwanjira iliyonse kapena mwanjira iliyonse - zamagetsi kapena zamakina - pazifukwa zilizonse popanda chilolezo cholembedwa kuchokera ku Algo.
Kuti mumve zambiri kapena thandizo laukadaulo ku North America, lemberani gulu lothandizira la Algo:

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

©2022 Algo ndi chizindikiro cholembetsedwa cha Algo Communication Products Ltd.
Maumwini onse ndi otetezedwa. Zizindikiro zina zonse ndi katundu wa eni ake. Zolemba zonse zimatha kusintha popanda chidziwitso.

 ZAMBIRI

Mawu Oyamba

Chikalatachi chikufotokoza momwe Algo RESTful API ingagwiritsire ntchito kupeza, kuwongolera, ndi kuyambitsa zochita pa Algo IP Endpoints pamanetiweki yanu kudzera muzopempha za HTTP/HTTPS, komanso njira zingapo zotsimikizira zokhala ndi magawo osiyanasiyana achitetezo. Kufunsira machitidwe amatha kulumikizana ndi zida za Algo kudzera munjira yofananira komanso yofotokozedweratu yazinthu zopanda malire zomwe zafotokozedwa m'chikalatachi. Zopempha zimaperekedwa ku URI yazinthu zomwe zili ndi malipiro a JSON ndikupempha kuyankha kwa JSON. Zopempha za HTTP/HTTPS GET, POST, ndi PUT zimapangidwa kuti zithandize URI pamodzi ndi malipiro a JSON (onani gawo la malamulo pa mndandanda wa malipiro).

 Kutsimikizira

Pali mitundu itatu yotsimikizira:

  •  Zokhazikika (zovomerezeka)
  •  Basic
  •  Palibe (osavomerezeka)

Kutsimikizika kokhazikika kumagwiritsa ntchito Khodi Yotsimikizira Mauthenga a Hash (HMAC) yokhala ndi SHA-256 encoded digest. Kutsimikizika koyambira kumagwiritsa ntchito encoding ya Base64 ndipo kuyenera kugwiritsidwa ntchito pa HTTPS. Palibe kutsimikizika kuyenera kugwiritsidwa ntchito mosamala kwambiri chifukwa sikumapereka chitsimikizo. Onani gawo la Zofunikira Zotsimikizira kuti mumve zambiri.

KUKHALA NDI KUSINTHA

Zofunikira
  •  Chikalatachi chikuganiza kuti Algo endpoint ikugwiritsa ntchito firmware version 3.3 kapena apamwamba.
  •  Kusiyana kwa nthawi pakati pa wopemphayo ndi zida za Algo kuyenera kuchepera masekondi 30 kuti mugwiritse ntchito kutsimikizika kokhazikika.
  • Onetsetsani kuti NTP (Network Time Protocol) ikugwiritsidwa ntchito. Maadiresi a maseva a NTP achizolowezi akhoza kusinthidwa mu Zikhazikiko Zapamwamba → Nthawi tabu.

Zindikirani
Ma seva a NTP omwe adakonzedweratu amakhala ndi anthu, chifukwa chake intaneti imafunikira kuti ifike. Ngati palibe intaneti yomwe ikupezeka, konzani seva ya NTP yapafupi ndikulowetsa adilesi yake ya IP.

  • Onetsetsani kuti nthawi ya chipangizo cha Algo yasinthidwa kukhala nthawi yoyenera. Izi zitha kuchitika popita ku Zikhazikiko Zapamwamba → Nthawi tabu.
 Kuyatsa RESTful API
  1. Lowani mu web mawonekedwe ndikuyenda kupita ku Zikhazikiko Zapamwamba → Admin tabu.
  2. Pitani ku gawo la API Support, yambitsani RESTful API ndikukhazikitsa Mawu Achinsinsi momwe mungafunire (chinsinsi chosasinthika: algo)
    Zindikirani
    Kutsimikizika kokhazikika kumayatsidwa ndi kusakhazikika.ALGO RESTful API 01
Yambitsani Chitsimikizo Chachikulu (Mwasankha)
  1. Mu web mawonekedwe, yendani ku System → Maintenance tabu ndikutsitsa kasinthidwe file.
  2. Tsegulani kasinthidwe file ndi cholembera chilichonse ndikuwonjezera mzere wotsatira: api.auth.basic = 1
  3.  Sungani ndi kukweza kasinthidwe kosinthidwa file kubwerera ku chipangizo ntchito Bwezerani kasinthidwe File mawonekedwe pa System → Maintenance tabu.
Palibe Njira Yotsimikizira (Mwasankha)

Kuti mutsegule njira yotsimikizira, siyani mawu achinsinsi a RESTful API opanda kanthu. Njirayi ndiyosavomerezeka ndipo iyenera kugwiritsidwa ntchito pazoyeserera pokhapokha ngati ilibe chitetezo.

Kuyang'anira Chiyankhulo Chosavuta Choyang'anira (Mwasankha)
  1. Pa web mawonekedwe, yendani ku System → Maintenance tabu ndikutsitsa kasinthidwe file.
  2.  Tsegulani kasinthidwe file pogwiritsa ntchito text editor ndikuwonjezera mizere iwiri. Kusintha kwa ku password yomwe mukufuna. Admin.web.sci = 1
    Sci.admin.pwd =
  3.  Sungani ndi kukweza kasinthidwe kosinthidwa file kubwerera ku chipangizo ntchito Bwezerani kasinthidwe File mawonekedwe pa System → Maintenance tabu.

ZOFUNIKA KUKHALA ZOKHUDZA

Chonde imelo support@algosolutions.com ngati mungafune kutsimikizika kokhazikika kapena koyambira sample kodi.

Pempho Lovomerezeka Lovomerezeka ndi JSON Payload

Mitu yofunikira mu pempho la HTTP/HTTPS
> Content-Type: "application/json"
> Content-MD5: [content_md5] Eksample
Content-MD5: 74362cc86588b2b3c5a4491baf80375b

Chilolezo: hmac admin:[nonce]:[hmac_output]
Mitu yovomerezeka imakhala ndi:

  1. Chingwe cha 'hmac admin' chotsatiridwa ndi colon ':'.
  2. Nonce - Mtengo wachisawawa kapena wosabwerezabwereza, wotsatiridwa ndi colon ':'.
  3. Hmac_output - yopangidwa ndi RESTful API Password (chinsinsi-chinsinsi) chokonzedwa pa chipangizo chanu ndi kulowetsa kwa HMAC, monga pansipa:
    [request_method]:[request_uri]:[content_md5]:[content_type]:[timestamp]:[nonce]

Zolemba za HMAC example: (pogwiritsa ntchito 'algo' ngati chinsinsi chachinsinsi)
POST:/api/controls/tone/start:6e43c05d82f71e77c586e29edb93b129:application/json:1601312252:49936 Pangani HMAC ndi mawu achinsinsi ndi chingwe cholowetsa cha HMAC monga digest pogwiritsa ntchito SHA-256:
Zotsatira za HMAC Example: 2e109d7aeed54a1cb04c6b72b1d854f442cf1ca15eb0af32f2512dd77ab6b330

Tsiku: tsiku, mwezi, chaka hr:min:sec GMT
Example
Tsiku: Lachinayi, 22 Sept, 2022 02:33:07 GMT
Kutsimikizika kokhazikika ndi payload exampLe:

ALGO RESTful API 02

 Pempho Lovomerezeka Lokhazikika Popanda Malipiro a JSON

Zofanana ndi 3.1 yokhala ndi mitu yokhudzana ndi mitu/hmac yosiyidwa.
Kulowetsa kwa HMAC: [request_method]:[request_uri]:[timestamp]:[nonce] HMAC zolowetsa example: (pogwiritsa ntchito 'algo' ngati chinsinsi chachinsinsi)
PEZA:/api/settings/audio.page.vol:1601312252:49936
Pangani HMAC ndi mawu achinsinsi ndi chingwe cholowetsa cha HMAC pogwiritsa ntchito SHA-256:
Zotsatira za HMAC Example: c5b349415bce0b9e1b8122829d32fbe0a078791b311c4cf40369c7ab4eb165a8
Chitsimikizo chokhazikika popanda kulipira exampLe:

ALGO RESTful API 03

 Pempho Lovomerezeka Loyambira

Njira yotsimikizirayi iyenera kugwiritsidwa ntchito mosamala chifukwa ndi yotetezeka kwambiri kusiyana ndi njira yokhazikika.

Chilolezo: Choyambira [base64]
ExampLe:
Chilolezo: Yoyambira YWRtaW46YWxnbwo=
Kutsimikizika koyambira exampLe:
ALGO RESTful API 04

MALAMULO

 RESTful API Commands

Pansipa pali mndandanda wamalamulo onse othandizidwa ndi API.

Zindikirani
Pempho la PUT limasintha kapena limapanga chida chosatha chomwe chimapulumuka kuyambiranso, pomwe pempho la POST limangoyang'anira chipangizo cha gawoli.

Kufotokozera Njira URI Malipiro Parameters Bwererani Example Zogulitsa FW
Bweretsani mtengo wa chinthu china.  GET /api/settings/[key-name] Ex./api/settings/audio.page.vol  N / A  {“audio.page.vol”: “-18dB”}  Zonse  > 3.3
Bweretsani mulingo waphokoso woyezedwa mwa ma decibel. Kulipiridwa Kwa Phokoso Lalikulu kuyenera kuyatsidwa mu Zikhazikiko Zoyambira -> Tabu ya Zinthu. GET /api/info/audio.noise.level N / A {"audio.noise.level": 72}  Olankhula Amawonetsa Zokamba > 3.3
 Chotsani mawonekedwe a relay input terminal. GET /api/info/input.relay.status N / A  

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

Zogulitsa zonse zomwe zili ndi relay athandizira, kupatula 8063. Onani pansipa. > 4.1
 Chotsani mawonekedwe a Input 1 kapena Input 2 terminals.  GET /api/info/input.relay1.status kapena /api/info/input.relay2.status  N / A {“input.relay1.status”: “idle”} kapena {“input.relay1.status”: “active”}  8063  > 4.1
Fukulanso mndandanda wamamvekedwe files yakhazikitsidwa pano.  GET  /api/info/tonelist  

N / A

{“tonelist”:[“bell-na.wav”,”bell uk.wav”,”buzzer.wav”,…]}  Zonse  > 5.0
Fukulanso chidziwitso cha chipangizo chomwe chikuwonetsedwa patsamba la Status.  GET  /api/info/status  N / A  Mndandanda wazinthu zonse kuchokera pa Status tab.  Zonse  > 5.4
Pezani zambiri zamalonda zomwe zikuwonetsedwa patsamba la About.  GET /api/info/about  N / A  Zonse zomwe zilipo pa tabu ya About. Zonse > 5.4
Yambitsani strobe ndi mtundu womwe mukufuna ndi mawonekedwe. POST /api/controls/strobe/start chitsanzo: {0 - 15}
color1: {blue, red, amber, green} color2: {blue, red, amber, green} ledlvl: {1 - 255}
kusunga: {zoona, zabodza}
N / A  8128 (G2)
8138
Mtengo wa 8190S
> 3.3
 Imani strobe.  POST  /api/controls/strobe/stop  N / A  N / A 8128 (G2)
8138
Mtengo wa 8190S
> 3.3
Sewerani kamvekedwe kamodzi kapena kuizungulira. POST /api/controls/tone/start njira: {tone} ie. chime.wav
kuzungulira: {zoona, zabodza} kapena {0, 1}
mwachitsanzo {“path”:”chime.wav”, “loop”:true}
N / A Oyankhula 8301
8373
8028 (G2)
8201
8039
> 3.3
Imani kamvekedwe. POST /api/controls/tone/stop N / A N / A Oyankhula 8301
8373
8028 (G2)
8201
8039
> 3.3
Imbani foni yowonjezera ndi uthenga wojambulidwa kale. POST /api/controls/call/start  {"zowonjezera": "2099",
“tone”:”gong.wav”, “interval”:”0″, “maxdur”:”10″}
N / A Oyankhula 8301
8410
8420
> 3.3
Tsitsani kuyimba. POST /api/controls/call/stop N / A N / A Oyankhula 8301
8410
8420
> 3.3
Yambitsani kuyimba kwa tsamba limodzi. Chipangizocho chidzalandira mayendedwe omvera kuchokera pazowonjezera chandamale.  POST  /api/controls/call/page  {"kuwonjezera": " ”}  N / A Oyankhula 8410
8420
 > 5.3.4
Yambitsaninso mapeto omwe mukufuna. POST /api/controls/reboot N / A N / A Zonse > 3.3
Tsegulani chitseko. "local" amawongolera relay wamba "netdc1" amawongolera chowongolera chitseko cha netiweki (8063) POST /api/controls/door/unlock pakhomo: {local, netdc1}
* Sankhula
N / A 8039
8028 (G2)
8201
8063
> 3.3
Tsekani chitseko. POST /api/controls/door/lock  pakhomo: {local, netdc1}
* Sankhula
N / A 8039
8028 (G2)
8201
8063
> 3.3
Yambitsani 24v aux out relay. POST api/controls/24v/enable N / A N / A 8063 > 5.0
Letsani 24v aux out relay. POST api/controls/24v/disable N / A N / A 8063 > 5.0
Yambitsani zotulutsa. POST /api/controls/relay/enable N / A N / A 8063 > 5.0
Zimitsani zotulutsa. POST /api/controls/relay/disable N / A N / A 8063 > 5.0
Onani seva ya firmware ya Algo kuti mupeze mtundu waposachedwa wa firmware.  POST  /api/controls/upgrade/check  N / A {"version": "zosinthidwa"} kapena
{"mtundu": " ”}
 Zonse  > 4.1
 Yang'anani seva ya firmware ya Algo kuti mupeze mtundu waposachedwa wa firmware ndikusintha mtunduwo. POST /api/controls/upgrade/start N / A {"status": "zasinthidwa"} kapena
{"status": "kukweza ","url”: url>} kapena
{"status": " ”}
Zonse > 4.1
Onetsani chithunzi kapena pateni pazenera.  POST  /api/controls/screen/start  Mwaona pansipa  N / A 8410
8420
 > 5.3.4
Imitsani mawonekedwe a skrini ndikubwerera kunsalu yokhazikika.  POST  /api/controls/screen/stop  N / A  N / A 8410
8420
 > 5.3.4
Yambitsaninso ntchito yayikulu. POST /api/controls/reload N / A N / A Zonse > 5.3.4
Yambani kumvera kukhamukira kwachindunji. Konzani nambala ya doko kumene mtsinjewu ukutumizidwa. POST /api/controls/rx/start {"doko": } N / A Zonse   > 5.3.4
Siyani kumvera kukhamukira kwachindunji. POST  /api/controls/rx/stop  N / A  N / A  Zonse  > 5.3.4
Khazikitsani mawonekedwe a multicast. WEKA /api/state/mcast/update/ {"mode":"wotumiza", "adilesi": , "doko": , "type":"rtp"} kapena {"mode":"sender", "adilesi": , "doko": , "mtundu":"poly", "gulu":1}
**Zindikirani**: Ngati zowongolera/toni/zoyambira zitagwiritsidwa ntchito lamuloli lisanachitike, kamvekedwe kake kadzaseweredwa pogwiritsa ntchito makonda apano pa web UI.
N / A 8301 > 5.0
Ikani mtengo kugawo linalake kuchokera ku JSON payload. WEKA /api/settings chizindikiro: {value}
mwachitsanzo {“audio.page.vol”: “-3dB”}
N / A 8180 (G2)
8186
8190
Mtengo wa 8190S
8301
8373
> 3.3
 Malamulo Osavuta a Control Interface (SCI).

Malamulo onse a SCI ndi zopempha za GET ndipo ali ndi magawo ofanana "usi" ndi "admin" kuti atsimikizire.
ExampLe:
PEZANI http:// /sci/controls/door/unlock?usr=admin&pwd=algo&doorid=local

 Kufotokozera  URI Zowonjezera Malipiro Parameters Zogulitsa  FW
Tsegulani chitseko.
"local" amawongolera relay wamba "netdc1" amawongolera chowongolera chitseko cha netiweki (8063)
/sci/controls/do or/unlock pakhomo: {local, netdc1}
* Sankhula
8039
8028 (G2)
8201
8063
> 3.3
Tsekani chitseko. /sci/controls/do or/lock pakhomo: {local, netdc1}
* Sankhula
8039
8028 (G2)
8201
8063
> 3.3
Sewerani kamvekedwe kamodzi kapena kuizungulira.  /sci/controls/to ne/start njira: {tone} ie. chime.wav
kuzungulira: {zoona, zabodza} kapena {0, 1}
Zonse  > 3.3
Imani kamvekedwe. /sci/controls/to ne/stop  N / A  Zonse  > 3.3
Yambitsani strobe ndi mtundu womwe mukufuna ndi mawonekedwe. /sci/controls/strobe/start chitsanzo: {0 - 15} mtundu1: {buluu, wofiira, amber, wobiriwira}
mtundu2: {buluu, wofiira, amber, wobiriwira}
ledlvl: {1 - 255} kusunga: {zoona, zabodza}
8128 (G2)
8138
Mtengo wa 8190S
> 3.3
 Imani strobe.  /sci/controls/strobe/stop  N / A 8128 (G2)
8138
Mtengo wa 8190S
 > 3.3

Zolemba / Zothandizira

ALGO RESTful API [pdf] Buku Logwiritsa Ntchito
AL061-GU-GF000API-001-R0, AL061-GU-CP00TEAM-001-R0, RESTful API, RESTful, API
ALGO RESTful API [pdf] Buku Logwiritsa Ntchito
AL061-GU-CP000API-230717, RESTful API, RESTful, API

Maumboni

Siyani ndemanga

Imelo yanu sisindikizidwa. Minda yofunikira yalembedwa *