Logo ALGO RESTful API

ALGO RESTful API

Produk ALGO RESTful API

Informasi Produk: RESTful API Guide

API Algo RESTful ngidini pangguna ngakses, ngapusi, lan micu tumindak ing Algo IP Endpoints ing jaringan liwat panjalukan HTTP/HTTPS. Dokumen iki nyedhiyakake set operasi stateless sing seragam lan wis ditemtokake sing bisa digunakake kanggo sesambungan karo piranti Algo. API ndhukung panjalukan HTTP/HTTPS GET, POST, lan PUT kanthi muatan JSON.

Authentication

Ana telung jinis otentikasi sing kasedhiya karo Algo RESTful API:

  • Otentikasi standar (diaktifake kanthi gawan)
  • Otentikasi dhasar (opsional)
  • Ora ana cara otentikasi (ora dianjurake; mung kanggo tujuan tes)

Pandhuan Panggunaan Produk: RESTful API

Prasyarat

Sadurunge ngaktifake RESTful API, priksa manawa piranti duwe sambungan internet kanggo nggayuh server NTP sing wis dikonfigurasi. Yen ora ana sambungan internet, atur server NTP lokal lan ketik alamat IP.

Ngaktifake RESTful API
  1. Mlebu menyang piranti web antarmuka lan navigasi menyang tab Admin Setelan Lanjut.
  2. Gulung mudhun menyang bagean Dhukungan API lan aktifake API RESTful.
  3. Setel sandhi sing dikarepake (sandhi standar: algo). Elinga yen otentikasi standar diaktifake kanthi gawan.
Ngaktifake Otentikasi Dasar (Opsional)
  1. Ing web antarmuka, navigasi menyang tab System Maintenance lan download konfigurasi file.
  2. Bukak konfigurasi file karo editor teks lan tambahake baris ing ngisor iki: api.auth.basic = 1
  3. Simpen lan upload konfigurasi sing diowahi file bali menyang piranti nggunakake Konfigurasi Mulihake File fitur ing tab System Maintenance.
Ngaktifake Metode Ora Otentikasi (Opsional)

Kanggo ngaktifake metode tanpa otentikasi, kosongake kolom Sandi API RESTful. Cara iki ora dianjurake lan mung kudu digunakake kanggo tujuan testing amarga ora menehi keamanan.

Ngaktifake Antarmuka Kontrol Sederhana (Opsional)
  1. Ing web antarmuka, navigasi menyang tab System Maintenance lan download konfigurasi file.
  2. Bukak konfigurasi file nggunakake editor teks lan nambah rong baris. Ganti sandi kanggo kepinginan.
  3. Admin.web.sci = 1
  4. Sci.admin.pwd =
  5. Simpen lan upload konfigurasi sing diowahi file bali menyang piranti nggunakake Konfigurasi Mulihake File fitur ing tab System Maintenance.

Pengesahan Samplan Kode

Mangga email support@algosolutions.com yen sampeyan pengin otentikasi standar utawa dhasar sampkode.
Kanggo dhukungan tambahan, nelpon 604-454-3792 utawa email support@algosolutions.com

Kabar Informasi

Cathetan
Cathetan nuduhake nganyari migunani, informasi, lan instruksi sing kudu ditindakake

Penafian

Informasi sing ana ing dokumen iki dipercaya akurat ing kabeh babagan nanging ora dijamin dening Algo. Informasi kasebut bisa diganti tanpa kabar lan ora bisa dianggep minangka prasetya dening Algo utawa afiliasi utawa anak perusahaan. Algo lan afiliasi lan anak perusahaan ora tanggung jawab kanggo kesalahan utawa kekurangan ing dokumen iki. Revisi dokumen iki utawa edisi anyar bisa uga ditanggepi kanggo nggabungake owah-owahan kasebut. Algo ora tanggung jawab kanggo kerusakan utawa pratelan amarga nggunakake manual iki utawa produk, piranti lunak, perangkat kukuh, lan/utawa hardware. Ora ana bagean saka dokumen iki sing bisa diprodhuksi utawa ditularake kanthi cara apa wae - elektronik utawa mekanik - kanggo maksud apa wae tanpa idin tinulis saka Algo.
Kanggo informasi tambahan utawa pitulungan teknis ing Amerika Utara, hubungi tim dhukungan Algo:

Dhukungan Teknis Algo
1-604-454-3792
support@algosolutions.com

©2022 Algo minangka merek dagang kadhaptar saka Algo Communication Products Ltd.
Kabeh hak dilindhungi undhang-undhang. Kabeh merek dagang liyane minangka properti saka sing nduweni. Kabeh spek bisa diganti tanpa kabar.

 UMUM

Pambuka

Dokumen iki nerangake carane Algo RESTful API bisa digunakake kanggo ngakses, ngapusi, lan micu tumindak ing Algo IP Endpoints ing jaringan liwat panjalukan HTTP/HTTPS, uga sawetara cara otentikasi sing beda-beda kanthi tingkat keamanan sing beda-beda. Sistem panjaluk bisa sesambungan karo piranti Algo liwat sakumpulan operasi stateless sing seragam lan wis ditemtokake ing dokumen iki. Panjaluk digawe menyang URI sumber kanthi muatan JSON lan entuk respon JSON. HTTP/HTTPS GET, POST, lan PUT request digawe kanggo sumber URI bebarengan karo payload JSON (ndeleng bagean printah kanggo dhaptar payloads).

 Authentication

Ana telung jinis otentikasi:

  •  Standar (dianjurake)
  •  dhasar
  •  Ora ana (ora dianjurake)

Otentikasi standar nggunakake Kode Otentikasi Pesen adhedhasar Hash (HMAC) kanthi ringkesan sing dienkode SHA-256. Otentikasi dhasar nggunakake enkoding Base64 lan mung kudu digunakake liwat HTTPS. Ora ana otentikasi mung kudu digunakake kanthi ati-ati amarga ora menehi otentikasi. Waca bagean Authentication Requirements kanggo rincian liyane.

SETUP LAN KONFIGURASI

Prasyarat
  •  Dokumen iki nganggep titik pungkasan Algo mlaku versi firmware 3.3 utawa luwih dhuwur.
  •  Bentenipun wektu antarane panjaluk lan piranti Algo kudu kurang saka 30 detik kanggo nggunakake otentikasi standar.
  • Priksa manawa NTP (Network Time Protocol) digunakake. Alamat server NTP khusus bisa dikonfigurasi ing Setelan Lanjut → tab Wektu.

Cathetan
Server NTP sing wis dikonfigurasi wis dadi host umum, mula sambungan internet dibutuhake kanggo nggayuh. Yen ora ana sambungan internet, atur server NTP lokal lan ketik alamat IP.

  • Priksa manawa wektu sistem piranti Algo disetel menyang zona wektu sing bener. Iki bisa ditindakake kanthi navigasi menyang Setelan Lanjut → tab Wektu.
 Ngaktifake RESTful API
  1. Mlebu menyang web antarmuka lan navigasi menyang Setelan Lanjut → tab Admin.
  2. Gulung mudhun menyang bagean Dhukungan API, aktifake RESTful API lan setel Sandi sing dikarepake (sandi default: algo)
    Cathetan
    Otentikasi standar diaktifake kanthi gawan.ALGO RESTful API 01
Aktifake Otentikasi Dasar (Opsional)
  1. Ing web antarmuka, navigasi menyang tab System → Maintenance lan download konfigurasi file.
  2. Bukak konfigurasi file karo editor teks lan tambahake baris ing ngisor iki: api.auth.basic = 1
  3.  Simpen lan upload konfigurasi sing diowahi file bali menyang piranti nggunakake Konfigurasi Mulihake File fitur ing tab System → Maintenance.
Ora Ana Metode Otentikasi (Opsional)

Kanggo ngaktifake metode tanpa otentikasi, kosongake kolom Sandi API RESTful. Cara iki ora dianjurake lan mung kudu digunakake kanggo tujuan testing amarga ora menehi keamanan.

Ngaktifake Antarmuka Kontrol Sederhana (Opsional)
  1. Ing web antarmuka, navigasi menyang tab System → Maintenance lan download konfigurasi file.
  2.  Bukak konfigurasi file nggunakake editor teks lan nambah rong baris. Ngganti kanggo sandi kepinginan. Admin.web.sci = 1
    Sci.admin.pwd =
  3.  Simpen lan upload konfigurasi sing diowahi file bali menyang piranti nggunakake Konfigurasi Mulihake File fitur ing tab System → Maintenance.

SYARAT AUTHENTICATION

Mangga email support@algosolutions.com yen sampeyan pengin otentikasi standar utawa dhasar sampkode.

Panjaluk Otentikasi Standar kanthi Payload JSON

Header sing dibutuhake ing panjalukan HTTP/HTTPS
> Tipe Konten: "aplikasi/json"
> Isi-MD5: [content_md5] Example
Content-MD5: 74362cc86588b2b3c5a4491baf80375b

Wewenang: admin hmac:[nonce]:[hmac_output]
Header wewenang kalebu:

  1. String 'hmac admin' diikuti titik dua ':'.
  2. Nonce - Nilai acak utawa ora bola-bali, diikuti titik titik ':'.
  3. Hmac_output - digawe dening Sandi API RESTful (kunci rahasia) sing dikonfigurasi ing piranti lan input HMAC, kaya ing ngisor iki:
    [metode_request]:[request_uri]:[content_md5]:[content_type]:[timestamp]: [ora]

Input HMAC example: (nggunakake 'algo' minangka kunci rahasia)
POST:/api/controls/tone/start:6e43c05d82f71e77c586e29edb93b129:application/json:1601312252:49936 Generate HMAC with password and HMAC input string as digest nggunakake SHA-256:
HMAC output example: 2e109d7aeed54a1cb04c6b72b1d854f442cf1ca15eb0af32f2512dd77ab6b330

Tanggal: dina, tanggal sasi, taun jam: min: detik GMT
Example
Tanggal: Kamis, 22 September 2022 02:33:07 GMT
Otentikasi standar karo payload example:

ALGO RESTful API 02

 Panjaluk Otentikasi Standar Tanpa Payload JSON

Identik karo 3.1 kanthi header sing gegandhengan karo konten / input hmac diilangi.
Input HMAC: [request_method]:[request_uri]:[timestamp]:[once] input HMAC example: (nggunakake 'algo' minangka kunci rahasia)
GET:/api/settings/audio.page.vol:1601312252:49936
Gawe HMAC nganggo sandhi lan string input HMAC nggunakake SHA-256:
HMAC output example: c5b349415bce0b9e1b8122829d32fbe0a078791b311c4cf40369c7ab4eb165a8
Otentikasi standar tanpa muatan example:

ALGO RESTful API 03

 Panjaluk Otentikasi Dasar

Cara otentikasi iki kudu digunakake kanthi ati-ati amarga kurang aman tinimbang metode standar.

Wewenang: Dasar [base64]
Example:
Wewenang: Dasar YWRtaW46YWxnbwo=
Otentikasi dhasar example:
ALGO RESTful API 04

Prentah

 Prentah API RESTful

Ing ngisor iki dhaptar kabeh printah API sing didhukung.

Cathetan
A request PUT ngganti utawa nggawe sumber permanen sing urip urip maneh, nalika request POST mung ngontrol piranti kanggo sesi saiki.

Katrangan Metode URI Muatan Paramèter wangsul Example produk FW
Nompo nilai saka parameter tartamtu.  GET /api/settings/[key-name] Ex./api/settings/audio.page.vol  N/A  {"audio.page.vol": "-18dB"}  Kabeh  > 3.3
Mbalikake tingkat gangguan lingkungan sing diukur ing desibel. Kompensasi Noise Ambient kudu diaktifake ing Setelan Dasar -> tab Fitur. GET /api/info/audio.noise.level N/A {"audio.noise.level": 72}  Speaker Tampilan Speakers > 3.3
 Extract status terminal input relay. GET /api/info/input.relay.status N/A  

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

Kabeh produk karo input relay, kajaba 8063. Waca ngisor. > 4.1
 Ekstrak status terminal Input 1 utawa Input 2.  GET /api/info/input.relay1.status utawa /api/info/input.relay2.status  N/A {“input.relay1.status”: “idle”} utawa {“input.relay1.status”: “active”}  8063  > 4.1
Njupuk dhaptar nada files saiki diinstal.  GET  /api/info/tonelist  

N/A

{"tonelist":["bell-na.wav","bell uk.wav","buzzer.wav",...]}  Kabeh  > 5.0
Njupuk informasi piranti sing ditampilake ing kaca Status.  GET  /api/info/status  N/A  Dhaptar lengkap informasi saka tab Status.  Kabeh  > 5.4
Njupuk informasi produk sing ditampilake ing kaca Babagan.  GET /api/info/bab  N/A  Kabeh informasi sing ana ing tab Babagan. Kabeh > 5.4
Aktifake strobo kanthi paramèter warna lan pola sing dikarepake. POST /api/controls/strobe/start pola: {0 – 15}
color1: {biru, abang, amber, ijo} werna2: {biru, abang, amber, ijo} ledlvl: {1 – 255}
nahan: {bener, salah}
N/A  8128 (G2)
8138
8190S
> 3.3
 Mungkasi strobo.  POST  /api/controls/strobe/stop  N/A  N/A 8128 (G2)
8138
8190S
> 3.3
Puter nada sapisan utawa daur ulang. POST /api/controls/tone/start path: {nada} ie. lonceng.wav
daur ulang: {bener, salah} utawa {0, 1}
contone {"path":"chime.wav", "loop":true}
N/A Speaker 8301
8373
8028 (G2)
8201
8039
> 3.3
Mungkasi nada. POST /api/controls/tone/stop N/A N/A Speaker 8301
8373
8028 (G2)
8201
8039
> 3.3
Telpon ekstensi telpon kanthi pesen sing wis direkam. POST /api/controls/call/start  {"ekstensi":"2099",
“nada”:”gong.wav”, “interval”:”0″, “maxdur”:”10″}
N/A Speaker 8301
8410
8420
> 3.3
Mungkasi telpon. POST /api/controls/call/stop N/A N/A Speaker 8301
8410
8420
> 3.3
Miwiti telpon kaca siji arah. Piranti bakal nampa stream audio saka extension target.  POST  /api/controls/call/page  {"ekstensi":" ”}  N/A Speaker 8410
8420
 > 5.3.4
Urip maneh titik pungkasan target. POST /api/controls/reboot N/A N/A Kabeh > 3.3
Mbukak kunci lawang. "lokal" ngontrol relay lokal "netdc1" ngontrol pengontrol lawang jaringan remot (8063) POST /api/controls/door/unlock doorid: {lokal, netdc1}
* Pilihan
N/A 8039
8028 (G2)
8201
8063
> 3.3
Ngunci lawang. POST /api/controls/door/lock  doorid: {lokal, netdc1}
* Pilihan
N/A 8039
8028 (G2)
8201
8063
> 3.3
Aktifake relay aux metu 24v. POST api/controls/24v/enable N/A N/A 8063 > 5.0
Pateni relay aux out 24v. POST api/controls/24v/disable N/A N/A 8063 > 5.0
Aktifake relay output. POST /api/controls/relay/enable N/A N/A 8063 > 5.0
Pateni relay output. POST /api/controls/relay/disable N/A N/A 8063 > 5.0
Priksa server firmware Algo kanggo versi firmware paling anyar.  POST  /api/controls/upgrade/check  N/A {"versi": "dianyari"} utawa
{"versi": " ”}
 Kabeh  > 4.1
 Priksa server perangkat kukuh Algo kanggo versi perangkat kukuh paling anyar lan upgrade menyang versi kasebut. POST /api/controls/upgrade/start N/A {"status": "dianyari"} utawa
{"status": "nganyarke ”, “url”: url>} utawa
{"status": " ”}
Kabeh > 4.1
Tampilake gambar utawa pola ing layar.  POST  /api/controls/screen/start  Delengen ngisor  N/A 8410
8420
 > 5.3.4
Mungkasi pola layar lan bali menyang layar gawan.  POST  /api/controls/screen/stop  N/A  N/A 8410
8420
 > 5.3.4
Wiwiti maneh aplikasi utama. POST /api/controls/reload N/A N/A Kabeh > 5.3.4
Mulai ngrungokake stream audio langsung. Ngatur nomer port sing dikirim stream. POST /api/controls/rx/start {"port": } N/A Kabeh   > 5.3.4
Mungkasi ngrungokake stream audio langsung. POST  /api/controls/rx/stop  N/A  N/A  Kabeh  > 5.3.4
Setel mode multicast. PUT /api/state/mcast/update/ {"mode":"pengirim", "alamat": , "port": , “jinis”:”rtp”} utawa {“mode”:”pengirim”, “alamat”: , "port": , "jinis":"poli", "grup":1}
**Cathetan**: Yen kontrol/nada/wiwitan digunakake sadurunge printah iki, nada bakal diputer nggunakake setelan saiki ing web UI.
N/A 8301 > 5.0
Lebokake nilai menyang parameter tartamtu saka payload JSON. PUT /api/setting parameter: {nilai}
contone {"audio.page.vol": "-3dB"}
N/A 8180 (G2)
8186
8190
8190S
8301
8373
> 3.3
 Prasaja Control Interface (SCI) printah

Kabeh printah SCI minangka panjaluk GET lan duwe parameter umum "usi" lan "admin" kanggo otentikasi.
Example:
Entuk http:// /sci/controls/door/unlock?usr=admin&pwd=algo&doorid=local

 Katrangan  URI Tambahan Muatan Paramèter Produk  FW
Mbukak kunci lawang.
"lokal" ngontrol relay lokal "netdc1" ngontrol pengontrol lawang jaringan remot (8063)
/ sci / kontrol / nindakake utawa / mbukak kunci doorid: {lokal, netdc1}
* Pilihan
8039
8028 (G2)
8201
8063
> 3.3
Ngunci lawang. / sci / kontrol / nindakake utawa / kunci doorid: {lokal, netdc1}
* Pilihan
8039
8028 (G2)
8201
8063
> 3.3
Puter nada sapisan utawa daur ulang.  / sci / kontrol / kanggo ne / miwiti path: {nada} ie. lonceng.wav
daur ulang: {bener, salah} utawa {0, 1}
Kabeh  > 3.3
Mungkasi nada. / sci / kontrol / kanggo ne / mandeg  N/A  Kabeh  > 3.3
Aktifake strobo kanthi paramèter warna lan pola sing dikarepake. / sci / kontrol / strobo / wiwitan pola: {0 – 15} werna1: {biru, abang, amber, ijo}
werna 2: {biru, abang, amber, ijo}
ledlvl: {1 – 255} ditahan: {bener, salah}
8128 (G2)
8138
8190S
> 3.3
 Mungkasi strobo.  /sci/kontrol/strobo/mandeg  N/A 8128 (G2)
8138
8190S
 > 3.3

Dokumen / Sumber Daya

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

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *