Open API¶
Guance는 Open API 호출을 통해 워크스페이스 데이터를 조회 및 업데이트할 수 있도록 지원합니다.
API 전체 목록은 Guance Open API 문서 라이브러리를 참조하세요.
인증 방식¶
API 호출 전에 먼저 API Key를 생성하여 인증 방식으로 사용해야 합니다.
인터페이스는 API Key를 인증 방식으로 사용하며, 요청 헤더의 DF-API-KEY 필드를 통해 요청의 유효성을 검증하고 요청이 속한 워크스페이스를 확인합니다 (해당 API Key가 속한 워크스페이스 기준).
모든 GET 요청 (데이터 조회 및 획득)은 요청 헤더에 DF-API-KEY만 제공하면 인증凭证으로 사용할 수 있습니다.
요청 구조¶
예시: 대시보드 삭제 (POST 요청)
curl -X POST "https://openapi.guance.com/api/v1/dashboard/dsbd_922428e594ba44ce87229b8ca3007a90/delete" \
-H "Content-Type: application/json" \
-H "DF-API-KEY: ${DF_API_KEY}"
참고
시스템은 HTTP 요청 방식을 GET과 POST 두 가지로만 간소화했습니다.
GET은 데이터 조회 요청 (예: '대시보드 목록 조회')에 사용되고, POST는 데이터 변경 요청 (예: '대시보드 생성' 또는 '대시보드 삭제')에 사용됩니다.
접속 주소 Endpoint¶
| SaaS 배포 노드 | Endpoint |
|---|---|
| Alibaba Cloud | https://openapi.guance.com |
| AWS | https://aws-openapi.guance.com |
참고
자체 배포 플랜도 Open API 접속을 지원하며, 구체적인 내용은 실제 배포된 Endpoint를 기준으로 합니다.
인터페이스 라우트 주소 규칙¶
인터페이스 라우트는 일반적으로 다음 명명 규칙을 따릅니다:
| 명명 규칙 |
|---|
| /api/v1/{객체 유형}/{객체 uuid}/{작업} |
예시:
- 대시보드 목록 조회: /api/v1/dashboard/list
- 대시보드 생성: /api/v1/dashboard/create
- 대시보드 조회: /api/v1/dashboard/dsbd_0e233ee4804aca011ba94a9164a9ed7f/get
- 대시보드 삭제: /api/v1/dashboard/dsbd_0e233ee4804aca011ba94a9164a9ed7f/delete
- 대시보드 수정: /api/v1/dashboard/dsbd_0e233ee4804aca011ba94a9164a9ed7f/modify
- 호스트 객체 목록 조회: /api/v1/object/host/list
- 프로세스 객체 목록 조회: /api/v1/object/process/list
참고
라우트의 v1은 인터페이스 버전 번호이며, 릴리스된 각 버전의 인터페이스는 이전 버전과의 호환성을 보장해야 합니다. 호환되지 않는 인터페이스 변경이나 중요한 비즈니스 조정이 있는 경우 버전 번호를 증가시켜야 합니다.
반환 결과¶
인터페이스 반환은 HTTP 요청 응답 규칙을 따릅니다:
- 정상 요청 시 HTTP 상태 코드 200 반환
- API Key 인증 실패 시 HTTP 상태 코드 403 반환
- 서버 측에서 처리 불가능하거나 알 수 없는 오류 발생 시 HTTP 상태 코드 500 반환
- 기타 오류 (예: 데이터 접근 권한 없음 또는 작업 객체를 찾을 수 없음)는 각각 403 및 404 등을 반환합니다. 구체적인 오류 정의는 아래 내용을 참조하세요.
응답 결과 예시¶
{
"code":200,
"content":{
},
"pageInfo": {
"count": 20,
"pageIndex": 1,
"pageSize": 100,
"totalCount": 10
},
"errorCode":"",
"message":"",
"success":true,
"traceId":"3412000720344969928"
}
공통 응답 결과 파라미터¶
| 필드 | 타입 | 설명 |
|---|---|---|
| code | Number | 반환 상태 코드로, HTTP 상태 코드와 일치합니다. 오류가 없으면 항상 200입니다. |
| content | String, Number, Array, Boolean, JSON | 반환 데이터로, 구체적인 타입은 인터페이스 비즈니스에 따라 다릅니다. |
| pageInfo | JSON | 모든 목록 인터페이스의 페이지 정보입니다. |
| errorCode | String | 오류 상태 코드로, 오류가 없으면 비어 있습니다. |
| message | String | 반환된 오류 코드에 해당하는 구체적인 설명 정보입니다. |
| success | Boolean | 인터페이스 호출 성공 시 항상 true입니다. |
| traceId | String | 각 요청을 추적하는 데 사용되는 고유 식별자입니다. |
공통 오류 정의¶
| 오류 코드 | HTTP 상태 코드 | 오류 메시지 |
|---|---|---|
| RouterNotFound | 400 | 요청 라우트 주소가 존재하지 않습니다. |
| InvalidApiKey | 403 | 유효하지 않은 요청 API KEY입니다. |
| InternalError | 503 | 알 수 없는 오류입니다. |
| ... |
API 인터페이스 목록에 대한 자세한 내용은 Open API 문서 라이브러리를 참조하세요.