콘텐츠로 이동

오류

EasterAd Core API는 요청 처리 중 오류가 발생하면 HTTP 상태 코드와 일관된 규격의 JSON 에러 응답을 반환합니다. 클라이언트는 오류 코드(code)를 기준으로 예외 처리를 분기합니다.


모든 실패 응답(4xx, 5xx)은 다음 3개 필수 필드를 포함합니다.

{
"statusCode": 409,
"code": "Conflict",
"message": "Completed campaigns cannot be edited"
}
필드명 타입 설명
statusCode number HTTP 응답 상태 코드(400, 401, 403, 404, 409, 429, 500 등)와 동일한 정수입니다.
code string 프로그래밍 분기 처리를 위한 고유 에러 식별자입니다.
message string 사람이 읽을 수 있는 오류 원인 안내 문구입니다. 문구는 변경될 수 있습니다.

소재가 아직 준비되지 않은 상태에서 캠페인에 연결하면 HTTP 409 응답에 선택 필드 reason: "CREATIVE_NOT_READY"와 해당 assetId가 포함됩니다. code와 reason으로 분기하며, 소재 상태 조회와 재시도는 콘솔에서 지원하므로 콘솔의 소재 준비 상태에서 확인하고 조치합니다.

권한 검사에서 반환하는 403 응답에는 선택 필드 authorization이 포함됩니다.

필드 의미
reason (number) 1: 권한 부족, 2: 기능 비활성
condition (number) 1: 모두 필요한 권한, 2: 하나 이상 필요한 권한
permissions (객체 배열) 각 항목의 label은 한국어 설명, statement는 조직·자원 ID를 포함한 권한 원문

permissions는 요청이 거부된 권한을 표시합니다. authorization은 선택 필드이므로 code에 따른 오류 처리도 구현합니다. 표시된 권한을 보완한 뒤 다시 호출해 추가로 필요한 권한을 확인합니다.


요청이 실패하면 아래 조치를 적용합니다.

HTTP 상태 에러 코드 (code) 주요 발생 원인 및 해결 방안
400 BadRequest 필드 타입 위반, 필수 파라미터 누락, 유효하지 않은 Enum 문자열 전달 시 발생합니다. 요청 파라미터와 타입을 확인하여 다시 요청합니다.
401 Unauthorized API 키 누락, 오타, 만료 등 자격증명이 올바르지 않은 경우입니다. 유효한 API 키를 헤더에 포함합니다. (하단 인증 단계 전용 오류 코드 참조)
403 Forbidden API 키의 역할에 작업 권한이 없거나, 해당 조직에 기능이 비활성화된 상태입니다. 조직 관리자에게 권한 부여를 요청하거나 조직 설정에서 기능 활성화 여부를 확인합니다.
404 NotFound 요청한 ID의 리소스가 존재하지 않거나, 호출자가 접근할 수 없는 조직 범위에 속한 경우입니다. 리소스 식별자와 조직 접근 권한을 확인합니다.
409 Conflict 리소스의 현재 상태와 충돌하는 요청입니다. (예: 종료된 캠페인 수정, 지갑 잔액 부족, 지면당 광고 단위 중복, SDK 키 발급 상한 초과 등) 리소스 상태를 확인한 후 다시 요청합니다.
429 TooManyRequests 초당 또는 시간당 API 호출 한도를 초과했습니다. 요청 제한 정책을 확인하고 호출 주기를 조절합니다.
500 InternalServerError 일시적인 처리 오류입니다. 잠시 후 재시도하고 문제가 지속되면 문의하기로 문의합니다.
503 ServiceUnavailable 일시적으로 서비스를 사용할 수 없는 상태입니다. 지수 백오프를 적용하여 재시도합니다.

인증 오류가 반환되면 아래 조치를 적용합니다.

HTTP 상태 에러 코드 (code) 상세 원인 및 조치 방법
401 UNAUTHORIZED Authorization: Bearer 헤더가 누락되었습니다. 인증 헤더를 포함하여 다시 요청합니다.
401 INVALID_API_KEY 키 형식이 올바르지 않거나 키가 폐기·삭제된 경우, 또는 계정이 비활성화된 상태입니다. 새 API 키를 발급받아 요청합니다.
401 API_KEY_EXPIRED 키에 설정된 만료일이 지났습니다. 만료일을 갱신하거나 새 키로 교체합니다.
403 IP_NOT_WHITELISTED 키 정책에 등록된 허용 IP 목록 밖에서 요청이 들어왔습니다. 호출 서버의 공인 IP를 등록합니다.
429 RATE_LIMIT_EXCEEDED 키의 시간당 한도를 초과했거나 잘못된 키로 인증 실패를 반복하여 해당 IP가 일시 차단되었습니다. 요청 제한 정책을 확인하고 차단 시간이 지난 후 다시 요청합니다.

API 호출 시 403 오류가 발생하면 다음 순서로 원인을 확인하고 조치합니다.

flowchart TD
    A["403 오류 발생"] --> B{"1. IP 차단인가? (code === 'IP_NOT_WHITELISTED')"}
    B -- Yes --> C["대시보드 API 키 정책에서 호출 서버 IP 추가"]
    B -- No --> D{"2. 조직 기능이 켜져 있는가?"}
    D -- No --> E["조직 관리자에게 광고주/퍼블리셔 기능 활성화 요청"]
    D -- Yes --> F{"3. 역할에 해당 권한이 있는가?"}
    F -- No --> G["조직 관리자에게 역할 권한 부여 요청"]
    F -- Yes --> H["문의하기로 문의"]
  1. 호출 서버의 IP 등록 상태를 확인합니다. 응답의 code가 IP_NOT_WHITELISTED인지 확인합니다. 등록되지 않은 IP라면 대시보드의 API 키 정책 설정에서 호출하는 서버의 고정 공인 IP를 등록합니다.
  2. 조직 기능의 활성화 여부를 점검합니다. 조직에 해당 비즈니스 기능(광고주 기능, 퍼블리셔 기능 등)이 켜져 있는지 확인합니다. 기능이 비활성화된 상태에서는 권한이 있더라도 접근할 수 없으므로 조직 관리자에게 기능 활성화를 요청합니다.
  3. API 키 역할의 권한 범위를 점검합니다. API 키에 배정된 역할이 해당 API에 필요한 권한을 포함하는지 확인합니다. 권한이 부족하다면 조직 관리자에게 권한 부여를 요청합니다. 역할 수정 방법은 멤버와 역할 관리에서 확인합니다.

세 단계를 모두 확인한 후에도 오류가 지속되면 문의하기로 문의합니다.