WORKPLACE 개요
    • PDF

    WORKPLACE 개요

    • PDF

    Article Summary

    개요

    WORKPLACE의 조직/사원/직급/직책/기본정보 등을 설정할 수 있는 API를 제공합니다.
    HTTP 방식의 POST/PUT/DELETE 메서드 호출을 통해서 이루어집니다.

    공통 설정

    Workplace URL

    POST/PUT/DELETE
    https://workplace.apigw.ntruss.com/organization/apigw/v1
    

    요청 헤더

    HeaderDescription
    x-ncp-apigw-timestamp* 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 나타낸 것
    * API Gateway 서버와 시간 차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주
    x-ncp-iam-access-key* 네이버 클라우드 플랫폼 포털 또는 Sub Account에서 발급받은 Access Key ID
    x-ncp-apigw-signature-v2* 위 예제의 Body를 Access Key ID와 맵핑되는 Secret Key로 암호화한 서명
    * HMAC 암호화 알고리즘은 HmacSHA256 사용
    • AUTHPARAMS 요청 예시

      curl -i -X GET \
      -H "x-ncp-apigw-timestamp:1505290625682" \
      -H "x-ncp-iam-access-key:D78BB444D6D3C84CA38D" \
      -H "x-ncp-apigw-signature-v2:WTPItrmMIfLUk/UyUIyoQbA/z5hq9o3G8eQMolUzTEa=" \  'https://workplace.apigw.ntruss.com/organization/apigw/v2/company/c1798784-9a47-4751-ab9f-b9629825ab93/department?offset=0&limit=10'
      
    • Signature 생성하기

      • 개행문자는 \n을 사용합니다.
      • 요청에 맞게 StringToSign을 생성하고 SecretKey로 HmacSHA256 알고리즘으로 암호화한 후 Base64로 인코딩합니다.
      • 이 값을 x-ncp-apigw-signature-v2로 사용합니다.
      주의

      요청 헤더의 x-ncp-apigw-timestamp 값과 StringToSign의 timestamp는 반드시 같은 값이여야 합니다.

    요청StringToSign
    GET /organization/apigw/v2/company/c1798784-9a47-4751-ab9f-b9629825ab93/department?offset=0&limit=10
    x-ncp-apigw-timestamp={timestamp}
    x-ncp-iam-access-key={accesskey}
    x-ncp-apigw-signature-v2={signature}
    GET /organization/apigw/v2/company/c1798784-9a47-4751-ab9f-b9629825ab93/department?offset=0&limit=10
    {timeStamp}
    {accessKey}
    • 요청 예시
    public String makeSignature() {
    	String space = " ";					// one space
    	String newLine = "\n";					// new line
    	String method = "GET";					// method
    	String url = "/organization/apigw/v2/company/c1798784-9a47-4751-ab9f-b9629825ab93/department?offset=0&limit=10";	// url (include query string)
    	String timestamp = "{timestamp}";			// current timestamp (epoch)
    	String accessKey = "{accessKey}";			// access key id (from portal or Sub Account)
    	String secretKey = "{secretKey}";
    
    	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.encodeBase64String(rawHmac);
    
      return encodeBase64String;
    }
    

    공통 오류

    응답 상태코드 예시

    HTTP 상태 코드응답메시지설명
    200OK일반적인 요청 성공
    201Created리소스 생성 성공에 대한 응답 코드
    400Bad Request일반적인 요청 실패에 사용
    500Internal Server Error
  • 일반적인 서버 오류에 대한 응답 코드
  • 4XX대의 오류 코드가 클라이언트 측 오류를 나타내기 위해 사용됨
  • 5XX대의 오류 코드는 서버 측 오류를 나타내기 위해 사용됨

  • 400번대 상태코드에서 리턴되는 오류코드 범위

    오류 코드 범위설명
    -1000번부터 -1999번공통
    -2000번부터 -2999번관리 서비스
    -4000번부터 -4999번구성원 서비스
    -5000번부터 -5999번회계 서비스
    -6000번부터 -6999번비용 서비스
    -7000번부터 -7999번공통데이터 서비스
    -8000번부터 -8999번서약서 서비스
    -9000번부터 -9999번영업 서비스
    -10000번부터 -10999번계정 서비스
    -11000번부터 -11999번시스템 서비스
    -12000번부터 -12999번근태 서비스
    -13000번부터 -13999번전자세금계산서 서비스
    -14000번부터 -14999번게시판 서비스
    -15000번부터 -15999번공통UI 서비스
    -16000번부터 -16999번알람 서비스
    -17000번부터 -17999번인사 서비스
    -18000번부터 -18999번업무지원 서비스
    -19000번부터 -19999번지출 서비스
    -20000번부터 -20999번급여 서비스
    -21000번부터 -21999번예산 서비스
    -99000번부터 -99999번사용자 서비스


    오류 발생시 HTTP 상태 코드가 400번대로 리턴되고, 다음과 같은 형식의 Body 정보가 전달됩니다.

    {
    	"status": 400,
    	"code": -1015,
    	"message": "emp not found",
    	"errors": [],
    }
    

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

    What's Next
    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.