Data Box Frame 개요
    • PDF

    Data Box Frame 개요

    • PDF

    기사 요약

    개요

    Data Box Frame API는 RESTful 형태로 제공됩니다. HTTP 방식의 GET/POST/DELETE 메서드 호출을 통해서 이루어집니다.
    API를 통해 Data Box Frame 및 data box를 생성할 수 있으며, 반입/반출/반출승인/반출반려 등의 반입/반출 심사를 수행하실 수 있습니다.

    공통 설정

    Data Box Frame API Endpoint

    리전Endpoint
    한국(KR)https://databoxframe.apigw.ntruss.com/api/v1

    요청 헤더

    헤더명설명
    x-ncp-apigw-timestamp1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 나타내며 API Gateway 서버와 시간 차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주
    x-ncp-apigw-timestamp:{Timestamp}
    x-ncp-iam-access-keyNAVER Cloud Platform 포털에서 발급받은 Access Key ID 값
    x-ncp-iam-access-key:{Account Access Key}
    x-ncp-apigw-signature-v2Access Key ID 값 과 Secret Key 로 암호화한 서명
    x-ncp-apigw-signature-v2:{API Gateway Signature}
    x-ncp-langAPI 응답 값의 다국어 처리를 위한 값. (입력 값 예시: ko-KR, en-US, zh-CN, 기본 값:en-US)
    x-ncp-lang:{language code}

    인증 헤더

    Data Box Frame API는 NAVER Cloud Platform API Gateway를 통하여 제공되며, API Gateway에 등록된 API를 사용하기 위해서는 2가지 인증키(Access Key ID, Secret Key)를 발급받아야 합니다

    자세한 내용은 NAVER CLOUD PLATFORM API 가이드를 참고해 주십시오.

    • 인증키 생성
      • NAVER Cloud Platform 포털의 마이페이지 > 계정관리 > 인증키 관리 메뉴에서 신규 API 인증키 생성을 클릭하여 Access Key ID, Secret Key를 생성합니다
      • 만약 Access Key ID, Secret Key가 있다면 해당 키를 사용합니다.

    요청 예시

    curl -i -s -X GET \
    -H "accept: application/json" \
    -H "x-ncp-iam-access-key: 1TrIkA58bQJknHn5hsC6" \
    -H "x-ncp-apigw-timestamp: 1682988927452" \
    -H "x-ncp-apigw-signature-v2: 0fyArnaWvkYYsepc6rMXKFTADwE2NnIGFHQ4GyKc3pU=" \
    -H "cache-control: no-cache" \
    "https://databoxframe.apigw.ntruss.com/api/v1/data-box-frame/get-data-box-frame-list"
    
    • Signature 생성(개행 문자는 \n을 사용)

      • 요청에 맞게 StringToSign을 생성하고 SecretKey로 HmacSHA256 알고리즘으로 암호화한 후 Base64로 인코딩합니다
      • 이 값을 x-ncp-apigw-signature-v2로 사용합니다.
    • 샘플 코드

    public String makeSignature() {
        String space = " ";  // 공백
        String newLine = "\n";  // 줄바꿈
        String method = "POST";  // HTTP 메소드
        String url = "/api/v1/mails";  // 도메인을 제외한 "/" 아래 전체 url (쿼리스트링 포함)
        String timestamp = "{timestamp}";  // 현재 타임스탬프 (epoch, millisecond)
        String accessKey = "{accessKey}";  // access key id (from portal or sub account)
        String secretKey = "{secretKey}";  // secret key (from portal or sub account)
    
        String message = new StringBuilder()
            .append(method)
            .append(space)
            .append(url)
            .append(newLine)
            .append(timestamp)
            .append(newLine)
            .append(accessKey)
            .toString();
    
        SecretKeySpec signingKey = new SecretKeySpec(secretKey.getBytes("UTF-8"), "HmacSHA256");
        Mac mac = Mac.getInstance("HmacSHA256");
        mac.init(signingKey);
    
        byte[] rawHmac = mac.doFinal(message.getBytes("UTF-8"));
        String encodeBase64String = Base64.getEncoder().encodeToString(rawHmac);
    
      return encodeBase64String;
    
    }
    
    function makeSignature() {
        $space = " ";  // 공백
        $newLine = "\n";  // 줄바꿈
        $method = "POST";  // HTTP 메소드
        $uri= "/api/v1/mails";  // 도메인을 제외한 "/" 아래 전체 url (쿼리스트링 포함)
        $timestamp = "{timestamp}";  // 현재 타임스탬프 (epoch, millisecond)
        $accessKey = "{accessKey}";  // access key id (from portal or sub account)
        $secretKey = "{secretKey}";  // secret key (from portal or sub account)
        
        $hmac = $method.$space.$uri.$newLine.$timestamp.$newLine.$accessKey;
        $signautue = base64_encode(hash_hmac('sha256', $hmac, $secretKey,true));
        
        return $signautue;
    }
    

    공통 응답

    HTTP 상태 코드로 리턴되고, Body 정보로 전달한다.

    HTTP Status Code리턴 코드설명
    200-일반적인 요청 성공
    40010001
    130***
    요청 정보 및 파라미터 오류
    오류 응답 메시지 참고
    40310002요청 정보에 대한 권한 없음
    40410009리소스가 존재하지 않음
    500130000서비스 내부 오류
    500139999연동 서비스 API 호출 오류

    오퍼레이션

    Data Box Frame

    Data Box

    반입

    반출

    반출 심사

    Object Storage-Bucket


    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.