WORKPLACE 개요
- 인쇄
- PDF
WORKPLACE 개요
- 인쇄
- PDF
Article Summary
Share feedback
Thanks for sharing your feedback!
개요
WORKPLACE의 조직/사원/직급/직책/기본정보 등을 설정할 수 있는 API를 제공합니다.
HTTP 방식의 POST/PUT/DELETE 메서드 호출을 통해서 이루어집니다.
공통 설정
Workplace URL
POST/PUT/DELETE
https://workplace.apigw.ntruss.com/organization/apigw/v1
요청 헤더
Header | Description |
---|---|
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 상태 코드 | 응답메시지 | 설명 |
---|---|---|
200 | OK | 일반적인 요청 성공 |
201 | Created | 리소스 생성 성공에 대한 응답 코드 |
400 | Bad Request | 일반적인 요청 실패에 사용 |
500 | Internal Server Error |
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": [],
}
이 문서가 도움이 되었습니까?