질문이 있으십니까?

기본 컨텐츠 및 사용자가 직접 참여하여 만들어진 다양한 내용을 검색합니다.

부서/사용자 조회 API

클래스명 : users.create.document
문서최초생성일 : 2023년 12월 12일
문서버전번호 : 1.0
개정이력
    2024년 02월 27일 : 부서정보에서 PassDir 필드 추가

API 소개

그룹웨어 사용자 정보를 타시스템에서 갖어가는 API입니다. 주로, 그룹웨어 사용자정보를 중심으로, 타시스템에서 사용자를 구축할 때 사용됩니다. 그룹웨어 사용자 정보는 매우 민감한 데이타입니다. 아래 처리 절차를 보시면, 사전에 허가되고, 등록된 서버에서만 데이타를 갖어갈 수 있습니다.

1. 사전준비 (최초1회)

1-1. AuthKey 요청

결과로 제공해 드리는, 1회용 보안 URL은 아무나 호출할 수 없습니다. 미리 AuthKey 인증키를 발급 받으셔야합니다. AuthKey 발급은 무료이며, 호출 빈도에 따라, 재발급 될 수 있습니다. 계속 사용하실 수 있는 무한한 키는 아닙니다.
  1. 고객사 도메인 그룹웨어에서 개설된 도메인이 알려주셔야 합니다. ekp. gw. mobile.등 host를 제외한 순수 개설된 도메인이여야 합니다.
  2. 승인된 호출 URI API를 호출하는 장소, 즉 서버나 IP 주소 또는 URL등을 알려주셔야합니다. 해당 API는 아무곳에서나 호출하실 수 없으며, 사전에 등록된 장소에서만 호출이 가능한 방식입니다.

1-2. 회신 콜백URL 등록 요청

아래 users.create.document API를 호출하실 때, 넘겨주시는 콜백URL이 있습니다. 2개 있는데, 이때 입력하는 것은 도메인을 제외한 URI 부분이며, 이곳에 사전에 도메인 부분을 등록 요청해야 합니다. 즉, ERP에서 사용할 API 서버의 도메인을 등록요청하시면 됩니다.

1-3. 사전심사 및 승인

호출하는 출발지 서버의 정보 및 호출 시간대, 호출횟수지정 등, 확인하여 저희 API서버에 등록되어야 사용하실 수 있습니다. 추가로, 출발지 서버의 환경 및 위치가 변경되면, 다시 재등록 요청을 하셔야 합니다.

2. users.create.document

2-1. 처리 순서

[ 사진. 처리 흐름도 ]

2-2. Post 로 넘겨줄 데이타

목적지 주소는 http(s)://그룹웨어도메인/mashup/users.create.document 입니다. Request Form으로 넘겨 주셔야 합니다. 아래에 언급한 넘겨주셔야 하는 항목들은, Header절과 Body절로 구분됩니다. 잘 읽어 보시기 바랍니다.
  1. Header영역 : AuthKey 위에서 언급한 데로, 그룹웨어 서비스 제공자에게 받은 인증키(AuthKey)입니다. Request Header절에 넣어서 보내주셔야합니다.
  2. Body영역 : argRootOrgCode 빈값 또는 0일경우, 전체 부서를 요청할 때 사용하며, 10일 경우, 부모 부서코드가 10번인 하위 부서모두를 요청하며, 부모 부서코드가 두개일때 쉼표로 연결합니다.
  3. Body영역 : argCallBackResultUrl 요청한 데이타를 기준으로 전자결재 상신하는 페이지 URL을 받으실 주소입니다. 기본적으로, 타시스템내의 API 서버의 도메인 주소는 미리 지정되므로, 그 이후의 URI만 입력하시면 됩니다.

2-3. 결과

위 2번 항목으로 정의하신 argCallBackResultUrl을 저희 서버에서 호출해 드립니다. 즉, 수신웹서버를 만드시어, 수신하시면 됩니다.
{
    "DomainName": "aaa.com",  //도메인명
    "ReadDate": "2023-01-02 15:33:45",  //열람일시(년도-월-일 시:분:초)
    "OrgList": [
        {
            "OrgCode": "33",  //부서코드
            "OrgName": "용인연구소",  //부서명
            "pOrgCode": "22", //상위부서코드, -1이면 최상위
            "Lvl": "1", //부서레벨Depth 0값이면 루트
            "PassDir": "-1.0.22", //부서의 FullPath 경로
            "SortOrder": "11"  //정렬순서
        },
        {
            "OrgCode": "34",
            "OrgName": "개발1팀"
            "pOrgCode": "22",
            "Lvl": "1",
            "PassDir": "-1.0.22",
            "SortOrder": "12"
        }
    ],
    "JicwiList": [
        {
            "JicwiCode": "33",  //직위코드
            "JicwiName": "연구소장",  //직위명
            "SortOrder": "11"  //정렬순서
        },
        {
            "JicwiCode": "34",
            "JicwiName": "과장"
            "SortOrder": "12"
        }
    ],
    "UserList": [
        {
            "UserID": "shindalsoo",  //사용자아이디
            "UserName": "신달수",  //사용자명
            "JicwiCode": "33",  //직위코드
            "JicwiName": "연구소장",  //직위명
            "OrgCode": "22",  //기본소속부서코드
            "OrgName": "용인연구소",  //기본소속부서명
            "EmailAddr": "guest1@aaa.com" //전자메일주소
        },
        {
            "UserID": "shindalsoo",
            "UserName": "신달수",
            "JicwiCode": "33",
            "JicwiName": "연구소장",
            "OrgCode": "22",
            "OrgName": "용인연구소",
            "EmailAddr": "guest1@aaa.com"
        }
    ]
}

3. Sample Code

3-1. JavaScript

파라메터 예제
argRootOrgCode : 0 
argCallBackResultUrl  : /aaaa/bbbb?arg1={1}
const url = "http(s)://그룹웨어도메인/mashup/users.create.document";
const formData = {
    "argRootOrgCode": "0",
    "argCallBackResultUrl": "/aaaa/bbbb?arg1={1}"
}
val AuthKey = "xxxxxxxxxxxxxxxxxxxxxxxxx";
var formData = $('#form1').serialize();
$.ajax({
    url: url,
    headers: {
        'AuthKey': AuthKey //지오유에서 발급된 인증키
        ,'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'
    },
    method: 'POST',
    dataType: 'json',
    cache: false,
    data: formData,
    success: function(data){
        console.log(JSON.stringify(data));
    },
    error: function (request, status, error){
        console.log("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
    }
});

4. Online 데모

https://dev.zioyou.com/mashup/sample.users.create.document.html

부록 (에러메세지)

  1. 0 The call to argCallErpResultUrl was successful.
  2. 18304 CONTENT_TYPE is invalid.
  3. 18305 REQUEST_METHOD is invaild.
  4. 18306 The blank value was passed.
  5. 15735 The authentication key is invalid or revoked keys.
  6. 17406 It calls only place allowed the predefined area.
  7. 19204 Calls can not be duplicated repeatedly allowed.
  8. 24158 ApiSvrAddr value must be registered in advance.
  9. 19205 This URL has been deprecated. If you keep calling, you will be blocked.
  10. 71284 You do not have access to the requested data. If you keep making the same request, you

댓글을 작성하세요

문서 이력

  • 2023-03-07 날짜로 신달수 님으로 부터 컨텐츠명이 변경 되었습니다.
  • 2023-03-07 날짜로 신달수 님께서 수정 작업을 하였습니다.
  • 2023-03-08 날짜로 신달수 님께서 등록 작업을 하였습니다.
  • 2023-03-10 날짜로 신달수 님께서 수정 작업을 하였습니다.
  • 2024-02-27 날짜로 신달수 님께서 수정 작업을 하였습니다.
  • 2024-02-28 날짜로 신달수 님께서 수정 작업을 하였습니다.