1. 主页
  2. 文档
  3. 语音对讲服务器 HTTP API
  4. 基本规则

基本规则

URL规则

对于HTTPS访问:

https://<host-ip>[:443]/intercom/<module-name>/<method-name>

NewTek Embedded NDI Devices均支持HTTP和HTTPS访问,这可以通过URL的http://或https://进行区分。HTTP的服务端口默认为80,HTTPS的服务端口默认为443。\<host-ip>是对应您要请求的NDI设备的主机IP地址,这是必须的。

\<module-name>是HTTP API对应的功能module名称,例如 user/updateuser,talkback/talk_add.json…等等。详见文档中的具体描述。

\<method-name>是对应module中的一个方法,例如:/intercom/user/login.json ,login是user模块中的登录方法。

HTTP响应和错误处理

除非设备的Web server在工作时出现了异常,否则设备总会给予您HTTP 200 OK响应,同时在HTTP Content中包含一个JSON object描述对应API执行的结果。

如果设备给予您非200 OK的响应,这表示Web server出现了工作异常,例如404错误表示无法找到对应的请求地址(URL错误)。请参考HTTP的错误代码、并进一步检测HTTP响应的错误消息获知详细的出错原因。

请注意:如果您的HTTP API请求地址正确,即使这个API执行失败,设备的Web server仍然会返回200 OK。您应该通过检查返回的JSON object中的字段来确定执行成功与否。这是当前版本HTTP API与RESTful API在执行规则上的最大差异。

如果HTTP API执行成功,返回的JSON object格式如下:

{
    "result": "ok",
    "msg": "description message",
    "data": {
        ...
    }
}

其中,"result" 是必定存在的字段,它的值"ok"表示请求的HTTP API执行成功。对于执行成功而言,"msg" 并非必定存在,您也可以完全忽略它的存在,它仅仅用于额外描述一些信息。对于有返回结果的HTTP API来说,"data" 字段将会存在,而且它是一个JSON object 或者 array,表示API的返回结果。这将视具体的API而定,请参考具体API的说明。

而如果HTTP API执行失败,返回的JSON object格式如下:

{
    "result": "error",
    "msg": "error message"
}

"result"是必定存在的字段,当前版本的HTTP API中,仅定义了"error"表示执行失败,以及"auth-failed"表示安全验证失败;但在未来的版本中,它可能会有其它的非"ok"的标识符号来代表更多的出错含义。如果"result"不为"ok",您可以进一步检查"msg"来确定出错的原因。详见每一个API的说明。

HTTP响应的Content-Type必定为 application/json。

请注意:在本文档的后续API描述内容中,如非特殊情况的必要说明,将忽略关于API请求错误的说明。

CHARSET

目前版本的HTTP API仅仅支持utf-8字符集。

超时
在您处理HTTP请求/响应的超时设置时,请注意:

  • 绝大多数的API,从接受请求到完成执行,设备会在 <= 0.1s 时间内完成响应;但您需要根据实际的网络环境考虑传输延时等因素,合理设置超时值(一般来说,建议设置5秒超时或更高一些)。

我们要如何帮助您?