Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

RESTful API 概述

瞻博网络 Mist 的 100% API 架构支持瞻博网络 Mist 门户中的所有可见功能。可以在门户中执行的任何操作,都可以使用 API 大规模自动化。具象状态传输 (REST) 是一种具有统一接口的无状态客户端-服务器体系结构。由于机器对用户界面没有用处,因此 API 允许机器以定义且更快的方式相互通信。API 还使您和其他用户能够创建自己的与系统和应用程序交互的方式。您甚至可以创建自定义功能。

瞻博网络 Mist API 可供拥有瞻博网络 Mist 帐户的任何客户使用。

瞻博网络 Mist API 架构

瞻博网络 Mist 使用 REST API,后者使用 HTTP 方法(GET、POST、PUT 和 DELETE)以 JavaScript 对象符号 (JSON) 格式传输数据。

RESTful API 请求

使用 RESTful API 遵循与开发中使用的 CRUD(CREATE、READ、UPDATE、DELETE)方法类似的实践。这是处理数据时使用的四个基本操作或函数。

表 1:基本 CRUD 操作
CRUD HTTP/REST
创建 发布
获取
更新
删除 删除

REST 命令包括:

  • 发布:创建一个对象。

  • GET:列出对象。

  • 放置:更新对象。

  • 删除:删除对象。

若要对 REST API 执行任何操作,需要满足每个请求中的一些要求,例如:

  • 身份验证:您可以使用 API 令牌、瞻博网络 Mist 登录凭据或外部 OAuth2 提供程序。

  • HTTP 标头:此标头指定内容和授权类型,如下所示:

    • 对于瞻博网络 Mist,内容类型始终为 application/json。

    • 授权可以是令牌或 Cookie(包括 CSRF 令牌和会话 ID)。

  • API 端点

  • JSON 有效负载

API 端点 URL 格式

API 终端节点 URL 包含两部分:

  • API 终端节点 — 与您的瞻博网络 Mist 组织关联的全球区域的终端节点。请参阅 API 终端节点和全局区域

  • 函数 - API 端点之后的所有内容都表示 API 将调用的函数。

例子

https://<api-endpoint>/api/v1/sites/:<site-id>/stats/devices/:<device_id>.

注意:

您可以将括号中的项替换为 API 终端节点、站点 ID 和设备 ID 的实际值。

<api-endpoint> 之后的所有内容都是函数。调用将转到全局云,并请求指定站点上指定设备的统计信息。

JSON 有效负载

不同的函数需要 JSON 有效负载中的不同元素。您可以在 API 文档中查看所需的详细信息。

如何查看 API 文档:

  1. 登录您的瞻博网络 Mist 门户。

  2. 单击“ 帮助 ”按钮(靠近屏幕右上角)。

  3. 单击 API 文档

API 速率限制

瞻博网络 Mist 将 API 调用限制为每小时 5,000 次。如果您需要更高的速率限制,请联系瞻博网络支持以了解您的用例。

注意:

为了防止暴力攻击,登录 API (/api/v1/login) 在三次登录失败后会受到速率限制。

API 身份验证选项

瞻博网络 Mist API 允许三个选项来请求身份验证:

  • 基本身份验证 - 令牌

  • HTTP 登录 — 用户名和密码

    • 就像仪表板登录一样。

    • 可以是双因素身份验证。

  • OAuth2

    • 帐户必须链接到 OAuth 提供商。

    • 需要浏览器访问权限。

一个简单的 API 示例

使用 Django API 接口,你可以进行第一次 API 调用。登录 Mist 后,使用相同的浏览器打开一个新窗口并输入 https://api.mist.com/api/v1/selfURL .

这相当于进行此 API 调用 GET /api/v1/self

如上所示的结果将显示为您关联的组织和站点分配给您的权限。