ALGO RESTfulAPI
Informasi Produk: Panduan RESTful API
Algo RESTful API memungkinkan pengguna mengakses, memanipulasi, dan memicu tindakan pada Titik Akhir IP Algo di jaringan mereka melalui permintaan HTTP/HTTPS. Dokumen ini menyediakan serangkaian operasi stateless yang seragam dan telah ditentukan sebelumnya yang dapat digunakan untuk berinteraksi dengan perangkat Algo. API ini mendukung permintaan HTTP/HTTPS GET, POST, dan PUT dengan payload JSON.
Autentikasi
Ada tiga jenis autentikasi yang tersedia dengan Algo RESTful API:
- Otentikasi standar (diaktifkan secara default)
- Autentikasi dasar (opsional)
- Tidak ada metode otentikasi (tidak disarankan; hanya untuk tujuan pengujian)
Petunjuk Penggunaan Produk: RESTful API
Prasyarat
Sebelum mengaktifkan RESTful API, pastikan perangkat memiliki koneksi internet untuk menjangkau server NTP yang telah dikonfigurasi sebelumnya. Jika tidak ada koneksi internet tersedia, konfigurasikan server NTP lokal dan masukkan alamat IP-nya.
Mengaktifkan RESTful API
- Masuk ke perangkat web antarmuka dan navigasikan ke tab Admin Pengaturan Lanjutan.
- Gulir ke bawah ke bagian Dukungan API dan aktifkan RESTful API.
- Tetapkan kata sandi yang diinginkan (kata sandi default: algo). Perhatikan bahwa otentikasi standar diaktifkan secara default.
Mengaktifkan Autentikasi Dasar (Opsional)
- Di dalam web antarmuka, arahkan ke tab Pemeliharaan Sistem dan unduh konfigurasi file.
- Buka konfigurasi file dengan editor teks apa saja dan tambahkan baris berikut: api.auth.basic = 1
- Simpan dan unggah konfigurasi yang dimodifikasi file kembali ke perangkat menggunakan Restore Configuration File fitur di tab Pemeliharaan Sistem.
Mengaktifkan Metode Tanpa Otentikasi (Opsional)
Untuk mengaktifkan metode tanpa autentikasi, kosongkan kolom RESTful API Password. Metode ini tidak disarankan dan hanya boleh digunakan untuk tujuan pengujian saja karena tidak memberikan keamanan.
Mengaktifkan Antarmuka Kontrol Sederhana (Opsional)
- Pada web antarmuka, arahkan ke tab Pemeliharaan Sistem dan unduh konfigurasi file.
- Buka konfigurasi file menggunakan editor teks dan menambahkan dua baris. Ubah kata sandi sesuai keinginan Anda.
- Admin.web.sci = 1
- Sci.admin.pwd =
- Simpan dan unggah konfigurasi yang dimodifikasi file kembali ke perangkat menggunakan Restore Configuration File fitur di tab Pemeliharaan Sistem.
Otentikasi Sample Kode
Silakan email dukungan@algosolutions.com jika Anda menginginkan otentikasi standar atau dasarampkodenya.
Untuk dukungan tambahan, hubungi Telepon: 604-454-3792 atau email dukungan@algosolutions.com
Pemberitahuan Informasi
Catatan
Catatan menunjukkan pembaruan, informasi, dan instruksi berguna yang harus diikuti
Penafian
Informasi yang terkandung dalam dokumen ini diyakini akurat dalam segala hal namun tidak dijamin oleh Algo. Informasi ini dapat berubah tanpa pemberitahuan dan tidak boleh ditafsirkan dengan cara apa pun sebagai komitmen Algo atau afiliasi atau anak perusahaannya. Algo dan afiliasi serta anak perusahaannya tidak bertanggung jawab atas kesalahan atau kelalaian apa pun dalam dokumen ini. Revisi dokumen ini atau edisi barunya dapat diterbitkan untuk menggabungkan perubahan tersebut. Algo tidak bertanggung jawab atas kerusakan atau klaim akibat penggunaan manual ini atau produk, perangkat lunak, firmware, dan/atau perangkat keras tersebut. Tidak ada bagian dari dokumen ini yang boleh direproduksi atau dikirimkan dalam bentuk apa pun atau dengan cara apa pun – elektronik atau mekanis – untuk tujuan apa pun tanpa izin tertulis dari Algo.
Untuk informasi tambahan atau bantuan teknis di Amerika Utara, silakan hubungi tim dukungan Algo:
Dukungan Teknis Algo
1-Telepon: 604-454-3792
dukungan@algosolutions.com
©2022 Algo adalah merek dagang terdaftar dari Algo Communication Products Ltd.
Seluruh hak cipta. Semua merek dagang lainnya adalah milik dari pemiliknya masing-masing. Semua spesifikasi dapat berubah tanpa pemberitahuan.
UMUM
Perkenalan
Dokumen ini menjelaskan bagaimana Algo RESTful API dapat digunakan untuk mengakses, memanipulasi, dan memicu tindakan pada Titik Akhir IP Algo di jaringan Anda melalui permintaan HTTP/HTTPS, serta beberapa metode autentikasi berbeda dengan berbagai tingkat keamanan. Sistem yang meminta dapat berinteraksi dengan perangkat Algo melalui serangkaian operasi stateless yang seragam dan telah ditentukan sebelumnya, yang ditentukan dalam dokumen ini. Permintaan dibuat ke URI sumber daya dengan payload JSON dan memperoleh respons JSON. Permintaan HTTP/HTTPS GET, POST, dan PUT dibuat ke URI sumber daya bersama dengan payload JSON (lihat bagian perintah untuk daftar payload).
Autentikasi
Ada tiga jenis autentikasi:
- Standar (disarankan)
- Dasar
- Tidak ada (tidak disarankan)
Otentikasi Standar menggunakan Kode Otentikasi Pesan berbasis Hash (HMAC) dengan intisari berkode SHA-256. Otentikasi dasar menggunakan pengkodean Base64 dan hanya boleh digunakan melalui HTTPS. Tidak ada otentikasi hanya boleh digunakan dengan sangat hati-hati karena tidak menyediakan otentikasi. Lihat bagian Persyaratan Otentikasi untuk rincian lebih lanjut.
PENYIAPAN DAN KONFIGURASI
Prasyarat
- Dokumen ini mengasumsikan titik akhir Algo menjalankan firmware versi 3.3 atau lebih tinggi.
- Perbedaan waktu antara pemohon dan perangkat Algo harus kurang dari 30 detik untuk menggunakan otentikasi standar.
- Pastikan NTP (Network Time Protocol) sedang digunakan. Alamat server NTP khusus dapat dikonfigurasi di tab Pengaturan Lanjutan → Waktu.
Catatan
Server NTP yang telah dikonfigurasi sebelumnya dihosting secara publik, oleh karena itu diperlukan koneksi internet untuk mencapainya. Jika tidak ada koneksi internet tersedia, konfigurasikan server NTP lokal dan masukkan alamat IP-nya.
- Pastikan waktu sistem perangkat Algo disesuaikan dengan zona waktu yang benar. Ini dapat dilakukan dengan menavigasi ke tab Pengaturan Lanjutan → Waktu.
Mengaktifkan RESTful API
- Masuk ke dalam web antarmuka dan navigasikan ke Pengaturan Lanjutan → tab Admin.
- Gulir ke bawah ke bagian API Support, aktifkan RESTful API dan atur Password sesuai keinginan (password default: algo)
Catatan
Otentikasi standar diaktifkan secara default.
Aktifkan Otentikasi Dasar (Opsional)
- Di dalam web antarmuka, navigasikan ke tab Sistem → Pemeliharaan dan unduh konfigurasinya file.
- Buka konfigurasi file dengan editor teks apa saja dan tambahkan baris berikut: api.auth.basic = 1
- Simpan dan unggah konfigurasi yang dimodifikasi file kembali ke perangkat menggunakan Restore Configuration File fitur di tab Sistem → Pemeliharaan.
Tanpa Metode Otentikasi (Opsional)
Untuk mengaktifkan metode tanpa autentikasi, kosongkan kolom RESTful API Password. Metode ini tidak disarankan dan hanya boleh digunakan untuk tujuan pengujian saja karena tidak memberikan keamanan.
Mengaktifkan Antarmuka Kontrol Sederhana (Opsional)
- Pada web antarmuka, navigasikan ke tab Sistem → Pemeliharaan dan unduh konfigurasinya file.
- Buka konfigurasi file menggunakan editor teks dan menambahkan dua baris. Mengubah sesuai kata sandi keinginan Anda. Admin.web.sci = 1
Sci.admin.pwd = - Simpan dan unggah konfigurasi yang dimodifikasi file kembali ke perangkat menggunakan Restore Configuration File fitur di tab Sistem → Pemeliharaan.
PERSYARATAN OTENTIKASI
Silakan email dukungan@algosolutions.com jika Anda menginginkan otentikasi standar atau dasarampkodenya.
Permintaan Otentikasi Standar dengan Payload JSON
Header yang diperlukan dalam permintaan HTTP/HTTPS
> Tipe Konten: “aplikasi/json”
> Konten-MD5: [content_md5] Contohample
Content-MD5: 74362cc86588b2b3c5a4491baf80375b
Otorisasi: hmac admin:[nonce]:[hmac_output]
Header otorisasi terdiri dari:
- String 'hmac admin' diikuti dengan titik dua ':'.
- Nonce – Nilai acak atau tidak berulang, diikuti dengan titik dua ':'.
- Hmac_output – dihasilkan oleh Kata Sandi RESTful API (kunci rahasia) yang dikonfigurasi pada perangkat Anda dan input HMAC, seperti di bawah ini:
[metode_permintaan]:[request_uri]:[content_md5]:[content_type]:[waktu terakhiramp]:[tidak sekali pun]
Contoh masukan HMACample: (menggunakan 'algo' sebagai kunci rahasia)
POST:/api/controls/tone/start:6e43c05d82f71e77c586e29edb93b129:application/json:1601312252:49936 Hasilkan HMAC dengan kata sandi dan string input HMAC sebagai intisari menggunakan SHA-256:
keluaran HMAC example: 2e109d7aeed54a1cb04c6b72b1d854f442cf1ca15eb0af32f2512dd77ab6b330
Tanggal: hari, tanggal bulan, tahun jam: menit: detik GMT
Example
Tanggal: Kam, 22 Sep 2022 02:33:07 GMT
Otentikasi standar dengan payload exampsaya:
Permintaan Otentikasi Standar Tanpa Payload JSON
Identik dengan 3.1 dengan header terkait konten/input hmac dihilangkan.
Masukan HMAC: [request_method]:[request_uri]:[timestamp]:[nonce] masukan HMAC example: (menggunakan 'algo' sebagai kunci rahasia)
DAPATKAN:/api/settings/audio.page.vol:1601312252:49936
Hasilkan HMAC dengan kata sandi dan string input HMAC menggunakan SHA-256:
keluaran HMAC example: c5b349415bce0b9e1b8122829d32fbe0a078791b311c4cf40369c7ab4eb165a8
Otentikasi standar tanpa payload misampsaya:
Permintaan Otentikasi Dasar
Metode otentikasi ini harus digunakan dengan hati-hati karena kurang aman dibandingkan metode standar.
Otorisasi: Dasar [base64]
Exampsaya:
Otorisasi: Dasar YWRtaW46YWxnbwo=
Otentikasi dasar misampsaya:
PERINTAH
Perintah API yang Tenang
Di bawah ini adalah daftar semua perintah API yang didukung.
Catatan
Permintaan PUT mengubah atau membuat sumber daya permanen yang bertahan saat reboot, sedangkan permintaan POST hanya mengontrol perangkat untuk sesi saat ini.
Keterangan | Metode | URI | Muatan Parameter | Kembali Example | Produk | FW |
Ambil nilai parameter tertentu. | MENDAPATKAN | /api/settings/[nama-kunci] Contoh/api/settings/audio.page.vol | Tidak tersedia | {“audio.halaman.vol”: “-18dB”} | Semua | > 3.3 |
Mengembalikan tingkat kebisingan sekitar yang diukur dalam desibel. Kompensasi Kebisingan Sekitar harus diaktifkan di Pengaturan Dasar -> tab Fitur. | MENDAPATKAN | /api/info/audio.noise.level | Tidak tersedia | {“audio.noise.tingkat”: 72} | Speaker Tampilan Speaker | > 3.3 |
Ekstrak status terminal input relai. | MENDAPATKAN | /api/info/input.relay.status | Tidak tersedia |
{“input.relay.status”: “idle”} atau {“input.relay.status”: “aktif”} |
Semua produk dengan input relai, kecuali 8063. Lihat di bawah. | > 4.1 |
Ekstrak status terminal Input 1 atau Input 2. | MENDAPATKAN | /api/info/input.relay1.status atau /api/info/input.relay2.status | Tidak tersedia | {“input.relay1.status”: “idle”} atau {“input.relay1.status”: “aktif”} | 8063 | > 4.1 |
Ambil daftar nada files saat ini diinstal. | MENDAPATKAN | /api/info/tonelist |
Tidak tersedia |
{“tonelist”:[“bell-na.wav”,”bell uk.wav”,”buzzer.wav”,…]} | Semua | > 5.0 |
Ambil informasi perangkat yang ditampilkan di halaman Status. | MENDAPATKAN | /api/info/status | Tidak tersedia | Daftar lengkap informasi dari tab Status. | Semua | > 5.4 |
Ambil informasi produk yang ditampilkan di halaman Tentang. | MENDAPATKAN | /api/info/tentang | Tidak tersedia | Semua informasi ada di tab Tentang. | Semua | > 5.4 |
Aktifkan strobo dengan parameter warna dan pola yang diinginkan. | POS | /api/controls/strobe/start | pola: {0 – 15} warna1: {biru, merah, kuning, hijau} warna2: {biru, merah, kuning, hijau} ledlvl: {1 – 255} peninggalan: {benar, salah} |
Tidak tersedia | 8128(G2) 8138 8190 detik |
> 3.3 |
Hentikan strobo. | POS | /api/kontrol/strobo/berhenti | Tidak tersedia | Tidak tersedia | 8128(G2) 8138 8190 detik |
> 3.3 |
Mainkan satu nada sekali atau ulangi. | POS | /api/kontrol/nada/mulai | jalur: {nada} yaitu. berbunyi.wav lingkaran: {benar, salah} atau {0, 1} misalnya {“path”:”chime.wav”, “loop”:true} |
Tidak tersedia | Pembicara 8301 8373 8028(G2) 8201 8039 |
> 3.3 |
Hentikan nada. | POS | /api/kontrol/nada/berhenti | Tidak tersedia | Tidak tersedia | Pembicara 8301 8373 8028(G2) 8201 8039 |
> 3.3 |
Hubungi ekstensi telepon dengan pesan yang telah direkam sebelumnya. | POS | /api/controls/panggilan/mulai | {"ekstensi":"2099″, “nada”:”gong.wav”, “interval”:”0″, “maxdur”:”10″} |
Tidak tersedia | Pembicara 8301 8410 8420 |
> 3.3 |
Akhiri panggilan. | POS | /api/kontrol/panggil/berhenti | Tidak tersedia | Tidak tersedia | Pembicara 8301 8410 8420 |
> 3.3 |
Memulai panggilan halaman satu arah. Perangkat akan menerima aliran audio dari ekstensi target. | POS | /api/controls/call/page | {"perpanjangan":" ”} | Tidak tersedia | Pembicara 8410 8420 |
> 5.3.4 |
Mulai ulang titik akhir target. | POS | /api/controls/reboot | Tidak tersedia | Tidak tersedia | Semua | > 3.3 |
Buka kunci pintunya. "lokal" mengontrol relai lokal "netdc1" mengontrol pengontrol pintu jaringan jarak jauh (8063) | POS | /api/controls/door/unlock | doorid: {lokal, netdc1} *Pilihan |
Tidak tersedia | 8039 8028(G2) 8201 8063 |
> 3.3 |
Kunci pintunya. | POS | /api/kontrol/pintu/kunci | doorid: {lokal, netdc1} *Pilihan |
Tidak tersedia | 8039 8028(G2) 8201 8063 |
> 3.3 |
Aktifkan relai aux out 24v. | POS | api/controls/24v/enable | Tidak tersedia | Tidak tersedia | 8063 | > 5.0 |
Nonaktifkan relai aux out 24v. | POS | api/controls/24v/disable | Tidak tersedia | Tidak tersedia | 8063 | > 5.0 |
Aktifkan relai keluaran. | POS | /api/controls/relay/enable | Tidak tersedia | Tidak tersedia | 8063 | > 5.0 |
Nonaktifkan relai keluaran. | POS | /api/controls/relay/disable | Tidak tersedia | Tidak tersedia | 8063 | > 5.0 |
Periksa server firmware Algo untuk versi firmware terbaru. | POS | /api/kontrol/perbarui/periksa | Tidak tersedia | {"versi": "diperbarui"} atau {"Versi: kapan": " ”} |
Semua | > 4.1 |
Periksa server firmware Algo untuk versi firmware terbaru dan tingkatkan ke versi tersebut. | POS | /api/controls/upgrade/mulai | Tidak tersedia | {“status”: “diperbarui”} atau {"status": "peningkatan ”, “url”: url>} atau {"status": " ”} |
Semua | > 4.1 |
Menampilkan gambar atau pola di layar. | POS | /api/controls/screen/start | Melihat di bawah | Tidak tersedia | 8410 8420 |
> 5.3.4 |
Hentikan pola layar dan kembali ke layar default. | POS | /api/controls/screen/stop | Tidak tersedia | Tidak tersedia | 8410 8420 |
> 5.3.4 |
Mulai ulang aplikasi utama. | POS | /api/controls/muat ulang | Tidak tersedia | Tidak tersedia | Semua | > 5.3.4 |
Mulailah mendengarkan aliran audio langsung. Konfigurasikan nomor port tujuan pengiriman aliran. | POS | /api/controls/rx/start | {"pelabuhan": } | Tidak tersedia | Semua | > 5.3.4 |
Berhenti mendengarkan aliran audio langsung. | POS | /api/controls/rx/stop | Tidak tersedia | Tidak tersedia | Semua | > 5.3.4 |
Atur mode multicast. | MELETAKKAN | /api/status/mcast/perbarui/ | {"mode":"pengirim", "alamat": , "pelabuhan": , “type”:”rtp”} atau {“mode”:”pengirim”, “alamat”: , "pelabuhan": , “ketik”:”poli”, “grup”:1} **Catatan**: Jika kontrol/nada/mulai digunakan sebelum perintah ini, nada akan diputar menggunakan pengaturan saat ini di web UI. |
Tidak tersedia | 8301 | > 5.0 |
Masukkan nilai ke parameter tertentu dari payload JSON. | MELETAKKAN | /api/pengaturan | parameter: {nilai} misalnya {“audio.halaman.vol”: “-3dB”} |
Tidak tersedia | 8180(G2) 8186 8190 8190 detik 8301 8373 |
> 3.3 |
Perintah Antarmuka Kontrol Sederhana (SCI).
Semua perintah SCI adalah permintaan GET dan memiliki parameter umum "usi" dan "admin" untuk autentikasi.
Exampsaya:
DAPATKAN http:// /sci/controls/pintu/buka kunci?usr=admin&pwd=algo&doorid=local
Keterangan | URI | Tambahan Muatan Parameter | Produk | FW |
Buka kunci pintu. "lokal" mengontrol relai lokal "netdc1" mengontrol pengontrol pintu jaringan jarak jauh (8063) |
/sci/controls/do atau/unlock | doorid: {lokal, netdc1} *Pilihan |
8039 8028(G2) 8201 8063 |
> 3.3 |
Kunci pintunya. | /sci/controls/do atau/lock | doorid: {lokal, netdc1} *Pilihan |
8039 8028(G2) 8201 8063 |
> 3.3 |
Mainkan satu nada sekali atau ulangi. | /sci/controls/ke ne/start | jalur: {nada} yaitu. berbunyi.wav lingkaran: {benar, salah} atau {0, 1} |
Semua | > 3.3 |
Hentikan nada. | /sci/controls/ke ne/stop | Tidak tersedia | Semua | > 3.3 |
Aktifkan strobo dengan parameter warna dan pola yang diinginkan. | /sci/controls/strobe/start | pola: {0 – 15} warna1: {biru, merah, kuning, hijau} warna2: {biru, merah, kuning, hijau} ledlvl: {1 – 255} sisa: {benar, salah} |
8128(G2) 8138 8190 detik |
> 3.3 |
Hentikan strobo. | /sci/controls/strobe/stop | Tidak tersedia | 8128(G2) 8138 8190 detik |
> 3.3 |
Dokumen / Sumber Daya
![]() |
ALGO RESTfulAPI [Bahasa Indonesia:] Panduan Pengguna AL061-GU-GF000API-001-R0, AL061-GU-CP00TEAM-001-R0, API Tenang, API Tenang, API |
![]() |
ALGO RESTfulAPI [Bahasa Indonesia:] Panduan Pengguna AL061-GU-CP000API-230717, API Tenang, Tenang, API |