API 계정 정보, Access Token, Refresh Token의 역할, 전달 방식, 오류 응답을 설명합니다.
Deeply API는 API 계정 정보, Access Token, Refresh Token을 함께 사용합니다.
각 자격 증명의 역할이 다르므로 구분해서 사용하는 것이 중요합니다.
API 계정 정보: 토큰 발급에만 사용하는 username과 passwordAccess Token: 일반 API 요청과 WebSocket 연결에 사용하는 Bearer 토큰Refresh Token: 토큰 재발급에만 사용하는 토큰일반 엔드포인트에는 API 계정 정보나 Refresh Token을 보내지 말고, Access Token만 사용하세요.
API 계정 정보는 대시보드에서 발급되지 않습니다. contact@deeplyinc.com으로 요청하시면 메일로 전달해 드립니다. 전달받은 계정 정보는 연동 시스템의 비밀 값으로 보관하고, 소스 코드나 메신저에 공유하지 마세요.
username과 password로 토큰 발급을 호출해 access_token과 refresh_token을 받습니다.Authorization 헤더에 access_token을 담아 보냅니다.expires_in초 후, 기본 3600초) Authorization: Bearer YOUR_REFRESH_TOKEN으로 토큰 재발급을 호출하고, 저장한 두 토큰을 새 값으로 교체합니다.모든 일반 API 요청의 Authorization 헤더에 Bearer 형식으로 Access Token을 포함해 주세요.
Authorization: Bearer YOUR_ACCESS_TOKENcurl -X GET "http://{{EDGE_IP}}:8100/api/v1/events" -H "Authorization: Bearer YOUR_ACCESS_TOKEN"이 페이지의 예시는 API 빠른 시작에서 안내하는 로컬 기본 호스트를 사용합니다. 같은 요청을 공개 HTTPS 환경에서 검증하려면 호스트를 https://openapi.deeplyinc.com로 바꿔 테스트해 주세요.
아직 토큰이 없다면 API 계정 정보로 토큰 발급을 호출하세요.
Access Token이 만료되었다면 Authorization: Bearer YOUR_REFRESH_TOKEN으로 토큰 재발급을 호출하세요.
인증에 실패하면 다음과 같은 응답을 받을 수 있습니다.
{
"detail": {
"message": "토큰이 만료되었습니다. 새 토큰을 재발급해 세션을 갱신해 주세요."
}
}const response = await fetch('http://{{EDGE_IP}}:8100/api/v1/events', {
method: 'GET',
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});
const data = await response.json();