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 계정이 있는 모든 고객이 사용할 수 있습니다.

Juniper Mist API 아키텍처

Juniper Mist는 HTTP 메서드(GET, POST, PUT, DELETE)를 사용하여 JSON(JavaScript Object Notation) 형식의 데이터를 전송하는 REST API를 사용합니다.

아래 그림과 같이 RESTful API를 사용하여 다양한 방법으로 Mist와 상호 작용할 수 있습니다.

RESTful API 요청

RESTful API를 사용하는 것은 개발에 사용되는 CRUD(CREATE, READ, UPDATE, DELETE) 방법론과 유사한 관행을 따릅니다. 다음은 데이터 작업 시 사용되는 네 가지 기본 작업 또는 기능입니다.

표 1: 기본 CRUD 작업
CRUD HTTP/REST
창조하다 올리기
읽다 가져오기
업데이트 놓다
삭제하다 삭제하다

REST 명령에는 다음이 포함됩니다.

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

  • GET: List objects.—GET은 식별자 지정 여부에 따라 리소스 값 또는 리소스 목록을 반환합니다.

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

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

    • GET /api/v1/sites/:site_id

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

  • PUT: 객체를 업데이트합니다. - PUT은 페이로드에서 지정된 모든 값을 수정합니다. 페이로드에 지정되지 않은 필드는 그대로 유지됩니다.

  • DELETE: 객체를 제거합니다. - DELETE는 리소스를 제거합니다.

REST API에서 위의 명령을 수행하려면 각 요청에서 다음과 같은 몇 가지 요구 사항을 충족해야 합니다.

  • 인증: 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 포함)일 수 있습니다.

  • API 엔드포인트

  • JSON 페이로드

API 엔드포인트 URL 형식

API 엔드포인트 URL은 다음 두 부분으로 구성됩니다.

  • API 엔드포인트 - Juniper 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. Juniper Mist 포털에 로그인합니다.

  2. 도움말 버튼(화면 오른쪽 상단 모서리 근처)을 클릭합니다.

  3. API Documentation(API 설명서)을 클릭합니다.

API 속도 제한

Juniper Mist는 API 호출을 시간당 5,000개로 제한합니다. 더 높은 속도 제한이 필요한 경우 사용 사례에 대해 주니퍼 지원에 문의하십시오.

메모:

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

API 인증 옵션

Juniper Mist API는 인증 요청을 위한 세 가지 옵션을 허용합니다.

  • Basic Authentication(기본 인증) - 토큰(Token)

  • HTTP 로그인 - 사용자 이름 및 비밀번호

    • 대시보드 로그인과 같습니다.

    • 이중 인증일 수 있습니다.

  • OAuth2

    • 계정이 OAuth 공급자에 연결되어 있어야 합니다.

    • 브라우저 액세스가 필요합니다.

간단한 API 예제

Django API 인터페이스를 사용하여 첫 번째 API 호출을 할 수 있습니다. Mist에 로그인한 후 동일한 브라우저를 사용하여 새 창을 열고 URL https://api.mist.com/api/v1/self을 입력합니다.

이는 이 API 호출을 GET /api/v1/self수행하는 것과 같습니다.

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