登录

S系列IPPBX API 采用用户名和密码的方式验证,只有用户名和密码验证通过的应用服务器,API 才会处理其发送的请求。

注:
  • 你需要先将 API 的密码通过 MD5 加密,获取32位小写密码。使用加密过的密码进行 API 验证。
  • 如果密码连续错误五次,则该第三方应用的 IP 将会被锁10分钟。

Endpoint

POST /api/v1.1.0/login

请求参数

名称 是否必需 类型 描述
username String 在 PBX 二次开发接口界面设置的用户名。
password String 将 PBX 二次开发接口界面设置的密码通过 MD5 加密。

填写加密后的32位小写密码。

port String 端口号,此端口号为第三方应用用于监听 API 发送的事件报告的端口号。
url String 第三方应用服务器获取 API 报告的 URL。
注: 如果不带此参数,则 PBX 默认向第三方应用服务器的 IP 地址发送 API 报告。
version String 发送 API 事件报告格式的版本。
注: 设置"version":"1.0.2"可以修复 API 事件报告的语句不符合 JSON 格式的问题。
urltag String 指定 URL 的类型:
  • 0:定义url的值为相对路径。PBX 会将相对路径的 url 与第三方服务器 IP 地址结合起来,发送 API 报告到具体的路径。

    例如:第三方服务器 IP 地址为110.22.2.3;监听端口为8260;url设置为 report;则 PBX 发送 API 报告到110.22.2.3:8260/report 。

  • 1:定义url 的值为绝对路径。

    例如:第三方服务器 IP 地址为110.22.2.3;url 设置为110.22.2.3:8260/report;则 PBX 发送 API 报告到110.22.2.3:8260/report 。

    注: 使用绝对路径,可以避免复杂网络环境下,API 报告无法发送成功的问题。

响应参数

名称 类型 描述
token String 调用接口凭证,所有的 API 请求都需用到该 token。
注:
  • API token 是第三方应用成功连接 PBX 后生成的。所有的 API 请求都需要带上 API 验证时所返回的token。
  • token 有效时长为30分钟。

    30分钟内如果 API 和第三方应用没有任何交互(如:第三方应用发送 API 请求),则该 token 将被 IPPBX 系统清除。可通过心跳包接口延长 token 的有效时长,每发送一次心跳包可使 token 的有效时长延长为30分钟。

实际示例

请求示例

POST /api/v1.1.0/login HTTP/1.1
Content-Type:application/json; charset=utf-8
Host: 192.168.5.150
{
    "username": "api",
    "password": "2d7257a528679d01a19c70e3fa773620",
    "port": "8260",
    "version": "1.0.2",
    "url": "110.22.2.3:8260/report",
    "urltag": "1"
}

响应示例

第三方应用服务器登录成功。

HTTP/1.1 200 OK
Access-control-allow-origin: *
Access-control-allow-methods: GET, POST, OPTIONS, PUT, DELETE
{
    "status": "Success",
    "token": "48a7d7481a5355aa4fb5dc285edeb40e"
}
第三方应用服务器登录失败。
HTTP/1.1 200 OK
Access-control-allow-origin: *
Access-control-allow-methods: GET, POST, OPTIONS, PUT, DELETE
{
      "status": "Failed", 
      "errno": "30003"
}