ALGO RESTful API 徽标

算法 RESTful API

ALGO RESTful API 产品

产品信息:RESTful API 指南

Algo RESTful API 允许用户通过 HTTP/HTTPS 请求访问、操作和触发其网络上的 Algo IP 端点上的操作。本文档提供了一组统一且预定义的无状态操作,可用于与 Algo 设备交互。该 API 支持带有 JSON 负载的 HTTP/HTTPS GET、POST 和 PUT 请求。

验证

Algo RESTful API 提供三种类型的身份验证:

  • 标准身份验证(默认启用)
  • 基本身份验证(可选)
  • 无身份验证方法(不推荐;仅用于测试目的)

产品使用说明:RESTful API

先决条件

在启用 RESTful API 之前,请确保设备具有互联网连接以访问预配置的 NTP 服务器。如果没有可用的互联网连接,请配置本地 NTP 服务器并输入其 IP 地址。

启用 RESTful API
  1. 登录设备的 web 界面并导航到 Advanced Settings Admin 选项卡。
  2. 向下滚动到 API 支持部分并启用 RESTful API。
  3. 设置所需的密码(默认密码:algo)。请注意,默认情况下启用标准身份验证。
启用基本身份验证(可选)
  1. 在 web 界面,导航到“系统维护”选项卡并下载配置 file.
  2. 打开配置 file 使用任何文本编辑器并添加以下行: api.auth.basic = 1
  3. 保存并上传修改后的配置 file 使用恢复配置返回设备 File “系统维护”选项卡中的功能。
启用无身份验证方法(可选)

要启用无身份验证方法,请将 RESTful API 密码字段留空。 不推荐使用此方法,仅应将其用于测试目的,因为它不提供安全性。

启用简单的控制界面(可选)
  1. 在 web 界面,导航到“系统维护”选项卡并下载配置 file.
  2. 打开配置 file 使用文本编辑器并添加两行。将 更改为您想要的密码。
  3. 行政。web.sci = 1
  4. sci.admin.pwd =
  5. 保存并上传修改后的配置 file 使用恢复配置返回设备 File “系统维护”选项卡中的功能。

身份验证amp密码

请发送电子邮件 support@algosolutions.com 如果您想要标准或基本身份验证amp代码。
如需更多支持,请致电 604-454-3792 或发送电子邮件 support@algosolutions.com

信息公告

笔记
注意表示有用的更新、信息和应遵循的说明

免责声明

本文档中包含的信息被认为在所有方面都是准确的,但 Algo 不保证。该信息如有更改,恕不另行通知,并且不应以任何方式解释为 Algo 或其任何关联公司或子公司的承诺。 Algo 及其附属公司和子公司对本文档中的任何错误或遗漏不承担任何责任。本文件的修订版或新版本可能会发布以纳入此类更改。对于因使用本手册或此类产品、软件、固件和/或硬件而造成的损害或索赔,Algo 不承担任何责任。未经 Algo 书面许可,不得出于任何目的以任何形式或任何方式(电子或机械)复制或传播本文档的任何部分。
如需北美的更多信息或技术帮助,请联系 Algo 的支持团队:

算法技术支持
1-604-454-3792
support@algosolutions.com

©2022 Algo 是 Algo Communication Products Ltd 的注册商标。
版权所有。所有其他商标均为其各自所有者的财产。所有规格如有更改,恕不另行通知。

 一般的

介绍

本文档介绍了如何使用 Algo RESTful API 通过 HTTP/HTTPS 请求以及具有不同安全级别的几种不同身份验证方法来访问、操作网络上的 Algo IP 端点并触发操作。请求系统可以通过本文档中定义的一组统一且预定义的无状态操作与 Algo 设备进行交互。使用 JSON 负载向资源的 URI 发出请求并引发 JSON 响应。 HTTP/HTTPS GET、POST 和 PUT 请求与 JSON 负载一起向资源 URI 发出(有关负载列表,请参阅命令部分)。

 验证

身份验证分为三种类型:

  •  标准(推荐)
  •  基本的
  •  无(不推荐)

标准身份验证使用基于哈希的消息身份验证代码 (HMAC) 和 SHA-256 编码摘要。基本身份验证使用 Base64 编码,并且只能通过 HTTPS 使用。不使用身份验证时应格外小心,因为它不提供身份验证。有关更多详细信息,请参阅身份验证要求部分。

设置和配置

先决条件
  •  本文档假设 Algo 端点运行固件版本 3.3 或更高版本。
  •  请求者和 Algo 设备之间的时间差应小于 30 秒才能使用标准身份验证。
  • 确保 NTP(网络时间协议)正在使用。自定义 NTP 服务器的地址可以在高级设置 → 时间选项卡中配置。

笔记
预配置的 NTP 服务器是公共托管的,因此需要互联网连接才能访问它。如果没有可用的互联网连接,请配置本地 NTP 服务器并输入其 IP 地址。

  • 确保 Algo 设备系统时间调整为正确的时区。这可以通过导航到“高级设置”→“时间”选项卡来完成。
 启用 RESTful API
  1. 登录 web 界面并导航至高级设置 → 管理选项卡。
  2. 向下滚动到 API 支持部分,启用 RESTful API 并根据需要设置密码(默认密码:algo)
    笔记
    默认情况下启用标准身份验证。算法 RESTful API 01
启用基本身份验证(可选)
  1. 在 web 界面,导航至系统 → 维护选项卡并下载配置 file.
  2. 打开配置 file 使用任何文本编辑器并添加以下行: api.auth.basic = 1
  3.  保存并上传修改后的配置 file 使用恢复配置返回设备 File 系统 → 维护选项卡中的功能。
无身份验证方法(可选)

要启用无身份验证方法,请将 RESTful API 密码字段留空。 不推荐使用此方法,仅应将其用于测试目的,因为它不提供安全性。

启用简单的控制界面(可选)
  1. 在 web 界面,导航至系统 → 维护选项卡并下载配置 file.
  2.  打开配置 file 使用文本编辑器并添加两行。将 更改为您想要的密码。行政。web.sci = 1
    Sci.admin.pwd =
  3.  保存并上传修改后的配置 file 使用恢复配置返回设备 File 系统 → 维护选项卡中的功能。

身份验证要求

请发送电子邮件 support@algosolutions.com 如果您想要标准或基本身份验证amp代码。

带有 JSON 负载的标准身份验证请求

HTTP/HTTPS 请求中必需的标头
> 内容类型:“application/json”
> 内容-MD5: [content_md5] 前任ample
Content-MD5: 74362cc86588b2b3c5a4491baf80375b

授权:hmac admin:[nonce]:[hmac_output]
授权标头包括:

  1. 字符串“hmac admin”后跟冒号“:”。
  2. Nonce – 随机或不重复的值,后跟冒号“:”。
  3. Hmac_output – 由设备上配置的 RESTful API 密码(密钥)和 HMAC 输入生成,如下所示:
    [request_method]:[request_uri]:[content_md5]:[content_type]:[时间amp]:[随机数]

HMAC 输入扩展ample:(使用“algo”作为密钥)
POST:/api/controls/tone/start:6e43c05d82f71e77c586e29edb93b129:application/json:1601312252:49936 使用 SHA-256 生成带有密码和 HMAC 输入字符串作为摘要的 HMAC:
HMAC 输出前ample: 2e109d7aeed54a1cb04c6b72b1d854f442cf1ca15eb0af32f2512dd77ab6b330

日期:日、月、年 时:分:秒 GMT
Example
日期:22 年 2022 月 02 日星期四 33:07:XNUMX GMT
带有有效负载 ex 的标准身份验证amp乐:

算法 RESTful API 02

 没有 JSON 负载的标准身份验证请求

与 3.1 相同,省略与内容相关的 headers/hmac 输入。
HMAC 输入:[request_method]:[request_uri]:[timestamp]:[nonce] HMAC 输入 example:(使用“algo”作为密钥)
获取:/api/settings/audio.page.vol:1601312252:49936
使用 SHA-256 生成包含密码和 HMAC 输入字符串的 HMAC:
HMAC 输出前ample: c5b349415bce0b9e1b8122829d32fbe0a078791b311c4cf40369c7ab4eb165a8
无负载 ex 的标准身份验证amp乐:

算法 RESTful API 03

 基本身份验证请求

这种身份验证方法应谨慎使用,因为它不如标准方法安全。

授权:基本[base64]
Examp乐:
授权:基本YWRtaW46YWxnbwo=
基本身份验证前amp乐:
算法 RESTful API 04

命令

 RESTful API 命令

以下是所有受支持的 API 命令的列表。

笔记
PUT 请求更改或创建在重新启动后仍然存在的永久资源,而 POST 请求仅控制当前会话的设备。

描述 方法 URI 有效载荷 参数 返回 Example 产品 FW
检索特定参数的值。  得到 /api/settings/[键名] 例如/api/settings/audio.page.vol  不适用  {“audio.page.vol”:“-18dB”}  全部  > 3.3
返回以分贝为单位测量的环境噪声水平。必须在基本设置 -> 功能选项卡中启用环境噪声补偿。 得到 /api/info/audio.noise.level 不适用 {“audio.noise.level”:72}  扬声器 显示器扬声器 > 3.3
 提取继电器输入端子的状态。 得到 /api/info/input.relay.status 不适用  

{“input.relay.status”:“空闲”}或{“input.relay.status”:“活动”}

所有具有继电器输入的产品(8063 除外)。见下文。 > 4.1
 提取输入 1 或输入 2 端子的状态。  得到 /api/info/input.relay1.status 或 /api/info/input.relay2.status  不适用 {“input.relay1.status”:“空闲”}或{“input.relay1.status”:“活动”}  8063  > 4.1
检索音调列表 file当前已安装。  得到  /api/信息/音调列表  

不适用

{“tonelist”:[“bell-na.wav”,“bell uk.wav”,“buzzer.wav”,...]}  全部  > 5.0
检索状态页面上显示的设备信息。  得到  /API/信息/状态  不适用  “状态”选项卡中的完整信息列表。  全部  > 5.4
检索“关于”页面上显示的产品信息。  得到 /api/信息/关于  不适用  “关于”选项卡上显示的所有信息。 全部 > 5.4
使用所需的颜色和图案参数激活闪光灯。 邮政 /api/controls/strobe/start 模式:{0 – 15}
颜色 1:{蓝色、红色、琥珀色、绿色} 颜色 2:{蓝色、红色、琥珀色、绿色} ledlvl:{1 – 255}
延期:{真,假}
不适用  8128(G2)
8138
8190S
> 3.3
 停止闪光灯。  邮政  /api/控制/频闪/停止  不适用  不适用 8128(G2)
8138
8190S
> 3.3
播放一次音调或循环播放。 邮政 /api/控制/音调/开始 路径:{tone} 即。钟声.wav
循环:{true, false} 或 {0, 1}
例如{“路径”:“chime.wav”,“循环”:true}
不适用 演讲者 8301
8373
8028(G2)
8201
8039
> 3.3
停止语气。 邮政 /api/控制/音调/停止 不适用 不适用 演讲者 8301
8373
8028(G2)
8201
8039
> 3.3
使用预先录制的消息呼叫电话分机。 邮政 /api/控制/呼叫/开始  {“扩展名”:“2099”,
“音调”:“gong.wav”,“间隔”:“0”,“maxdur”:“10”}
不适用 演讲者 8301
8410
8420
> 3.3
结束通话。 邮政 /api/controls/调用/停止 不适用 不适用 演讲者 8301
8410
8420
> 3.3
发起单向寻呼。 设备将从目标扩展接收音频流。  邮政  /api/controls/调用/页面  {“扩展名”:“”}  不适用 演讲者 8410
8420
 > 5.3.4
重新启动目标端点。 邮政 /api/controls/重新启动 不适用 不适用 全部 > 3.3
打开门。 “local”控制本地继电器 “netdc1”控制远程网络门禁控制器(8063) 邮政 /api/controls/门/解锁 Doorid:{本地,netdc1}
*选修的
不适用 8039
8028(G2)
8201
8063
> 3.3
把门锁上。 邮政 /api/controls/门/锁  Doorid:{本地,netdc1}
*选修的
不适用 8039
8028(G2)
8201
8063
> 3.3
启用 24v 辅助输出继电器。 邮政 API/控制/24v/启用 不适用 不适用 8063 > 5.0
禁用 24v 辅助输出继电器。 邮政 API/控制/24v/禁用 不适用 不适用 8063 > 5.0
启用输出继电器。 邮政 /api/controls/继电器/启用 不适用 不适用 8063 > 5.0
禁用输出继电器。 邮政 /api/controls/继电器/禁用 不适用 不适用 8063 > 5.0
检查 Algo 的固件服务器以获得最新的固件版本。  邮政  /api/控制/升级/检查  不适用 {“版本”:“更新”}或
{“版本”:“”}
 全部  > 4.1
 检查 Algo 的固件服务器是否有最新的固件版本并升级到该版本。 邮政 /api/控制/升级/启动 不适用 {“状态”:“已更新”}或
{“状态”:“正在升级”,“url”: url>} 或
{“状态”:“”}
全部 > 4.1
在屏幕上显示图像或图案。  邮政  /api/controls/screen/start   以下  不适用 8410
8420
 > 5.3.4
停止屏幕图案并返回默认屏幕。  邮政  /api/controls/screen/stop  不适用  不适用 8410
8420
 > 5.3.4
重新启动主应用程序。 邮政 /api/控件/重新加载 不适用 不适用 全部 > 5.3.4
开始收听直接音频流。配置流发送到的端口号。 邮政 /api/controls/rx/启动 {“港口”: } 不适用 全部   > 5.3.4
停止收听直接音频流。 邮政  /api/controls/rx/stop  不适用  不适用  全部  > 5.3.4
设置组播模式。 /api/状态/mcast/更新/ {“mode”:”sender”, “address”:, “port”:, “type”:”rtp”} 或 {“mode”:”sender”, “address”: ,“端口”:,“类型”:“聚”,“组”:1}
**注意**:如果在此命令之前使用 controls/tone/start,将使用当前设置播放音调 web UI。
不适用 8301 > 5.0
将值插入 JSON 负载中的特定参数。 /API/设置 参数:{值}
例如{“audio.page.vol”:“-3dB”}
不适用 8180(G2)
8186
8190
8190S
8301
8373
> 3.3
 简单控制接口 (SCI) 命令

所有 SCI 命令都是 GET 请求,并具有用于身份验证的公共参数“usi”和“admin”。
Examp乐:
获取http:///sci/controls/door/unlock?usr=admin&pwd=algo&doorid=local

 描述  URI 额外的 有效载荷 参数 产品  FW
打开门。
“local”控制本地继电器 “netdc1”控制远程网络门禁控制器(8063)
/sci/controls/做或/解锁 Doorid:{本地,netdc1}
*选修的
8039
8028(G2)
8201
8063
> 3.3
把门锁上。 /sci/controls/做或/锁 Doorid:{本地,netdc1}
*选修的
8039
8028(G2)
8201
8063
> 3.3
播放一次音调或循环播放。  /sci/controls/to ne/start 路径:{tone} 即。钟声.wav
循环:{true, false} 或 {0, 1}
全部  > 3.3
停止语气。 /sci/controls/to ne/stop  不适用  全部  > 3.3
使用所需的颜色和图案参数激活闪光灯。 /sci/controls/strobe/start 图案:{0 – 15} 颜色 1:{蓝色、红色、琥珀色、绿色}
color2:{蓝色,红色,琥珀色,绿色}
ledlvl: {1 – 255} 保持: {true, false}
8128(G2)
8138
8190S
> 3.3
 停止闪光灯。  /sci/controls/strobe/stop  不适用 8128(G2)
8138
8190S
 > 3.3

文件/资源

算法 RESTful API [pdf] 用户指南
AL061-GU-GF000API-001-R0、AL061-GU-CP00TEAM-001-R0、RESTful API、RESTful、API
算法 RESTful API [pdf] 用户指南
AL061-GU-CP000API-230717,RESTful API,RESTful,API

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *