Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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) 방법론과 유사한 방법을 따릅니다. 다음은 데이터 작업을 할 때 사용되는 네 가지 기본 작업 또는 기능입니다.

표 1: 기본 CRUD 작업
크러드 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 호출과 이를 구성하는 다양한 구성 요소의 예입니다.

표 2: API 호출 구성 요소

API 호출 구성 요소

묘사

HTTP 메서드

  • POST - 개체를 생성합니다. - POST는 기존 값을 페이로드에 포함된 값으로 덮어씁니다. POST 페이로드에 지정되지 않은 값은 원래 값으로 되돌아갑니다.

  • GET - 개체 나열 - GET은 식별자가 지정되었는지 여부에 따라 리소스 값 또는 리소스 목록을 반환합니다.

    • GET /api/v1/orgs/:org_id/site

      :org_id에 속하는 사이트 목록을 반환합니다.

    • GET /api/v1/sites/:site_id

      :site_id로 지정된 사이트에 대한 정보를 반환합니다.

  • PUT - 객체를 업데이트합니다. - PUT은 페이로드에서 지정된 모든 값을 수정합니다. PUT으로 업데이트할 때 페이로드에 지정되지 않은 단순 값(문자열 또는 숫자)은 기존 값을 유지합니다. 값에 배열 또는 개체와 같은 데이터 구조가 포함된 경우 페이로드에 포함된 값이 해당 구조 전체를 대체합니다. 기존 값이 원치 않게 변경되지 않도록 하기 위해 이 점을 염두에 두십시오.

  • DELETE - 개체를 제거합니다. - DELETE가 리소스를 제거합니다.

호스트(또는 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 엔드포인트 및 글로벌 리전을 참조하십시오.

  • JSON 페이로드

다음 표에는 RESTful API 요청을 구성하는 다양한 부분에 대한 예제가 나와 있습니다.

표 3: 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 호출:

응답(JSON 페이로드):

API 속도 제한

Juniper Mist는 API 호출을 시간당 5,000개로 제한합니다. 시간당 5,000건 이상의 전화를 걸어야 하는 경우 지원 티켓을 만듭니다.

메모:

무차별 암호 대입 공격을 방지하기 위해 로그인 API(/api/v1/login)는 세 번의 로그인 실패 후 속도가 제한됩니다.

API 인증 옵션

Juniper Mist 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하는 것과 같습니다.

위에 표시된 결과에는 연결된 조직 및 사이트에 대해 할당된 권한이 표시됩니다.