Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

RESTful API 개요

REST(Representational State Transfer)에 대해 알아보고 주니퍼 Mist™와 함께 RESTful API를 사용하는 방법을 이해합니다.

주니퍼 Mist의 100% API 아키텍처는 주니퍼 Mist 포털에서 보이는 모든 기능을 지원합니다. 포털에서 수행할 수 있는 모든 작업은 API를 사용하여 대규모로 자동화할 수 있습니다. REST(Representational State Transfer)는 통일된 인터페이스를 갖춘 상태 비저장 클라이언트/서버 아키텍처입니다. 기계는 사용자 인터페이스를 사용하지 않기 때문에 API를 사용하면 시스템이 서로 통신할 수 있는 정의되고 더 빠른 방법을 사용할 수 있습니다.

REST API를 사용하면 시스템 및 애플리케이션과 상호 작용하는 고유한 방법을 만들 수 있습니다. 사용자 지정 기능을 만들 수도 있습니다. REST API의 다른 일반적인 사용 사례로는 애플리케이션 간의 통신 및 데이터 교환, 애플리케이션과 서버 간의 데이터 교환, 애플리케이션 내 마이크로서비스 간의 통신 등이 있습니다. REST는 상태 비저장이므로 클라우드 기반 서비스에 이상적입니다.

주니퍼 Mist API는 주니퍼 Mist 계정이 있는 고객이라면 누구나 사용할 수 있습니다.

또한 Mist API 참조도 참조하십시오. 여기에는 개발자를 위한 추가 문서와 API 호출을 테스트하는 기능이 포함되어 있습니다.

주니퍼 Mist API 아키텍처

주니퍼 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 호스트(또는 엔드포인트) - 주니퍼 Mist 조직이 연결된 글로벌 리전의 엔드포인트입니다. 이러한 엔드포인트는 API 엔드포인트 및 글로벌 리전에 나열됩니다.

  • 함수—API 엔드포인트 이후의 모든 항목은 API가 호출할 함수를 나타냅니다.

예문

https://{api-host}/api/v1/sites/{site_id}/stats/devices/{device_id}입니다.

https://{api-host}/api/v1/sites/13b0ee00-121a-456e-84e0-ead3008bc2f2/stats/devices/00000000-0000-0000-1000-d420b08532eb

참고:

코드 블록을 재사용하는 경우 자리 표시자 값을 API 토큰, 조직 ID, 사이트 ID, AP 이름 등과 같은 실제 값으로 바꿉니다.

{api-host} 이후의 모든 것이 함수입니다. 통화는 글로벌 클라우드로 이동하여 지정된 사이트에서 지정된 디바이스에 대한 통계를 요청합니다.

다음 섹션에서는 API 호출을 구성하는 구조에 대해 자세히 살펴봅니다.

API 호출 구조

다음 이미지는 API 호출과 이를 구성하는 다양한 구성 요소의 예입니다.

표 2: API 호출 구성 요소

API 호출 구성 요소

설명

HTTP 메서드

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

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

    • GET /api/v1/orgs/:org_id

      지정된 :org_id를 기반으로 조직에 대한 정보를 반환합니다.

    • 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 등). 주니퍼 Mist 조직이 연결된 글로벌 리전의 엔드포인트입니다. API 엔드포인트 및 글로벌 리전을 참조하십시오.

버전

사용할 API 버전입니다(현재 모든 API는 v1을 사용함).

범위

요청이 수행되는 수준을 나타냅니다. 예를 들면 msp, org, site, self, register, installer, const 등이 있습니다.

범위 ID

사용할 범위를 식별합니다.

객체

사용할 개체의 유형(디바이스, WLAN 등).

오브젝트 ID

요청할 개체를 식별합니다.

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

  • 인증:

    • API 토큰, 주니퍼 Mist 로그인 자격 증명(이 인증 유형은 2026년 9월에 더 이상 사용되지 않음) 또는 외부 OAuth2 공급자를 사용하여 인증 프로세스 중에 사용자가 누구이며 무엇에 액세스할 수 있는지 확인할 수 있습니다.

    • 다양한 인증 방법에 대한 자세한 내용은 인증을 참조하십시오.

      참고:

      이미 manage.mist.com 에 로그인한 경우 새 브라우저 탭을 열고 https://{api-host}/api/v1/self/apitokens로 이동하여 POST 버튼을 클릭하기만 하면 됩니다. 그러면 새 API 사용자 토큰이 자동으로 생성됩니다. 호스트(API 엔드포인트)를 찾으려면 API 엔드포인트 및 글로벌 리전을 참조하십시오.

      토큰에 대한 자세한 내용은 API 토큰 생성을 참조하십시오.

  • HTTP 헤더: 이 헤더는 다음과 같이 콘텐츠와 권한 부여 유형을 지정합니다.

    • 주니퍼 Mist의 경우 콘텐츠 유형은 항상 application/json입니다.

    • 권한은 토큰 또는 쿠키(CSRF 토큰 및 세션 ID 포함)일 수 있습니다.

  • 주니퍼 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 속도 제한

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

대규모 배포의 경우 API 호출 제한에 빠르게 도달하지 않도록 조직 수준에서 API 호출을 수행하는 것이 좋습니다.

참고:

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

API 인증 옵션

주니퍼 Mist API는 인증 요청에 대한 세 가지 옵션을 제공합니다.

  • 기본 인증 - 토큰

    주의: 보안을 강화하고 업계 모범 사례에 부합하기 위해 Mist는 2026년 9월부터 관리자 로그인 및 스크립트를 포함한 모든 사용 사례에서 기본 인증을 더 이상 사용하지 않습니다. 중단 없는 액세스와 지원을 보장하기 위해 2026년 9월 이전에 모든 통합을 토큰 기반 인증으로 전환해야 합니다. API 토큰 생성을 참조하십시오.
  • HTTP 로그인 - 사용자 이름 및 비밀번호

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

    • 이중 인증이 가능합니다.

  • OAuth2

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

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

인증에 대한 자세한 내용은 Mist API 참조를 참조하십시오.

간단한 API 예제

Django API 인터페이스는 API 내에서 CRUD 작업을 수행할 수 있는 웹 기반 인터페이스입니다. Django 웹 인터페이스를 사용하여 API 변경을 참조하십시오.

Django API 인터페이스를 사용하여 첫 번째 API 호출을 할 수 있습니다. Mist에 로그인한 후 동일한 브라우저를 사용하여 새 창을 열고 URL https://{api-host}/api/v1/self을 입력합니다. Global 01 클라우드의 URL입니다. 다른 클라우드를 사용하는 경우 이 URL은 다릅니다.

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

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