RESTful API 개요
Juniper Mist의 100% API 아키텍처는 Juniper Mist 포털에서 보이는 모든 기능을 지원합니다. 포털에서 수행할 수 있는 모든 작업은 API를 사용하여 대규모로 자동화할 수 있습니다. REST(Representational State Transfer)는 일관된 인터페이스를 갖춘 상태 비저장 클라이언트/서버 아키텍처입니다. 기계는 사용자 인터페이스를 사용하지 않기 때문에 API를 사용하면 기계가 서로 통신할 수 있는 정의되고 더 빠른 방법을 사용할 수 있습니다. 또한 API를 통해 사용자 및 다른 사용자는 시스템 및 애플리케이션과 상호 작용하는 고유한 방법을 만들 수 있습니다. 사용자 지정 기능을 만들 수도 있습니다.
Juniper Mist API는 Juniper Mist 계정이 있는 모든 고객이 사용할 수 있습니다.
Mist API 참조도 참조하세요. 여기에는 개발자를 위한 추가 설명서와 API 호출을 테스트하는 기능이 포함되어 있습니다.
Juniper Mist API 아키텍처
Juniper Mist는 HTTP 메서드(GET, POST, PUT 및 DELETE)를 사용하여 JSON(JavaScript Object Notation) 형식으로 데이터를 전송하는 REST API를 사용합니다.
RESTful API 요청
RESTful API를 사용하는 것은 개발에 사용되는 CRUD(CREATE, READ, UPDATE, DELETE) 방법론과 유사한 방법을 따릅니다. 다음은 데이터 작업을 할 때 사용되는 네 가지 기본 작업 또는 기능입니다.
크러드 | HTTP/REST |
---|---|
창조하다 | 올리기 |
읽다 | 가져오기 |
업데이트 | 놓다 |
삭제하다 | 삭제하다 |
API 엔드포인트 URL 형식
API 엔드포인트 URL은 다음 두 부분으로 구성됩니다.
-
API 호스트( 또는 엔드포인트) - Juniper Mist 조직이 연결된 전역 리전의 엔드포인트입니다. 이러한 엔드포인트는 API 엔드포인트 및 글로벌 리전에 나열됩니다.
-
함수 - API 엔드포인트 뒤의 모든 항목은 API가 호출할 함수를 나타냅니다.
본보기
https://{api-host}/api/v1/sites/{site_id}/stats/devices/{device_id}
을 클릭합니다.
https://api.mist.com/api/v1/sites/13b0ee00-121a-456e-84e0-ead3008bc2f2/stats/devices/00000000-0000-0000-1000-d420b08532eb
괄호로 묶인 항목을 API 엔드포인트, 사이트 ID 및 디바이스 ID의 실제 값으로 바꿉니다. 괄호로 묶인 항목은 변수 값입니다.
{api-host} 뒤의 모든 항목이 함수입니다. 호출은 글로벌 클라우드로 이동하고 지정된 사이트의 지정된 디바이스에 대한 통계를 요청합니다.
다음 섹션에서는 API 호출을 구성하는 구조에 대해 자세히 살펴봅니다.
API 호출 구조
다음 이미지는 API 호출과 이를 구성하는 다양한 구성 요소의 예입니다.
API 호출 구성 요소 |
묘사 |
---|---|
HTTP 메서드 |
|
호스트(또는 API 엔드포인트) |
사용할 Mist Cloud(글로벌 01, EMEA 01 등)를 결정합니다. Juniper Mist 조직이 연결된 글로벌 지역의 엔드포인트입니다. API 엔드포인트 및 글로벌 리전을 참조하십시오. |
버전 |
사용할 API 버전(현재 모든 API는 v1을 사용함)입니다. |
범위 |
요청이 수행되고 있는 수준을 나타냅니다. 예를 들어 msp, org, site, self, register, installer, const 등이 있습니다. |
범위 ID |
사용할 범위를 식별합니다. |
객체 |
사용할 개체 유형(디바이스, WLAN 등)입니다. |
오브젝트 ID |
요청할 개체를 식별합니다. |
REST API에서 위의 REST 명령(POST, GET, PUT, DELETE) 중 하나를 수행하려면 각 요청에서 다음과 같은 몇 가지 요구 사항을 충족해야 합니다.
-
인증:
-
-
API 토큰, Juniper Mist 로그인 신임 정보 또는 외부 OAuth2 제공자를 사용하여 사용자가 누구인지, 인증 프로세스 중에 액세스할 수 있는 항목이 무엇인지 표시할 수 있습니다.
-
다양한 인증 방법에 대한 자세한 내용은 인증을 참조하십시오.
메모:이미 manage.mist.com 에 로그인되어 있는 경우 새 브라우저 탭을 열고 https://api.mist.com/api/v1/self/apitokens 로 이동하여 POST 버튼을 클릭하기만 하면 됩니다. 그러면 새 API 사용자 토큰이 자동으로 생성됩니다.
토큰에 대한 자세한 내용은 API 토큰 만들기 를 참조하세요.
-
-
HTTP 헤더: 이 헤더는 다음과 같이 콘텐츠 및 권한 부여 유형을 지정합니다.
-
Juniper Mist 경우 콘텐츠 형식은 항상 application/json입니다.
-
권한 부여는 토큰 또는 쿠키(CSRF 토큰 및 세션 ID 포함)일 수 있습니다.
-
-
Juniper Mist 조직이 연결된 글로벌 지역의 엔드포인트입니다. API 엔드포인트 및 글로벌 리전을 참조하십시오.
다음 표에는 RESTful API 요청을 구성하는 다양한 부분에 대한 예제가 나와 있습니다.
CRUD 작업 |
HTTP 헤더 인증 |
엔드포인트 URL |
페이로드(JSON) |
---|---|---|---|
가져오기 |
API 토큰 |
https://api.mist.com/api/v1/sites/:site_id/wlans |
|
삭제하다 |
CSRF 토큰, 세션 ID |
https://api.mist.com/api/v1/sites/:site_id/wlans/:wlan_id |
|
올리기 |
CSRF 토큰, 세션 ID |
https://api.mist.com/api/v1/orgs/:org_id/inventory |
{["<claim_code>"]} |
놓다 |
API 토큰 |
https://api.mist.com/api/v1/sites/:site_id/wlans/:wlan_id |
{"ssid" : "새 이름"} |
JSON 페이로드
함수마다 JSON 페이로드에 다른 요소가 필요합니다. API 설명서에서 필요한 세부 정보를 볼 수 있습니다.
다음은 샘플 API 호출 및 응답(JSON 페이로드)입니다.
API 호출:
POST /api/v1/orgs/{org_id}/rftemplates
응답(JSON 페이로드):
{ "name": "new-rf-template", "org_id": "a97c1b22-a4e9-411e-9bfd-d8695a0f9e61", "band_5": { "allow_rrm_disable": false, "ant_gain": 0, "channels": [], "disabled": false, "power_max": 17, "power_min": 8 }, "band_24": { "allow_rrm_disable": false, "ant_gain": 0, "channels": [], "disabled": false, "power_max": 17, "power_min": 8 }, "country_code": "CA" }
API 속도 제한
Juniper Mist는 API 호출을 시간당 5,000개로 제한합니다. 시간당 5,000건 이상의 전화를 걸어야 하는 경우 지원 티켓을 만듭니다.
무차별 암호 대입 공격을 방지하기 위해 로그인 API(/api/v1/login)는 세 번의 로그인 실패 후 속도가 제한됩니다.
API 인증 옵션
Juniper Mist API는 인증 요청에 대한 세 가지 옵션을 허용합니다.
-
기본 인증—토큰
-
암호처럼 안전하게 보호하세요.
-
API 토큰 생성에 대한 지침은 API 토큰 생성 단원을 참조하십시오.
-
-
HTTP 로그인 - 사용자 이름 및 암호
-
대시보드 로그인과 같습니다.
-
2단계 인증일 수 있습니다.
-
-
OAuth2
-
계정이 OAuth 공급자에 연결되어 있어야 합니다.
-
브라우저 액세스가 필요합니다.
-
인증에 대한 자세한 내용은 Mist API 참조를 참조하세요.
간단한 API 예제
Django API 인터페이스는 API 내에서 CRUD 작업을 수행할 수 있는 웹 기반 인터페이스입니다. Django 웹 인터페이스를 사용하여 API 변경을 참조하세요.
Django API 인터페이스를 사용하여 첫 번째 API 호출을 수행할 수 있습니다. Mist에 로그인한 후 동일한 브라우저를 사용하여 새 창을 열고 URL https://api.mist.com/api/v1/self
을 입력합니다. Global 01 클라우드의 URL입니다. 다른 클라우드를 사용하는 경우 이 URL이 다릅니다.
이는 이 API를 호출 GET /api/v1/self
하는 것과 같습니다.
위에 표시된 결과에는 연결된 조직 및 사이트에 대해 할당된 권한이 표시됩니다.