Skip to content
This repository has been archived by the owner on Feb 15, 2023. It is now read-only.

BackEnd API Document : PRODUCT SYSTEM (KO_KR)

LimeCake edited this page Nov 8, 2019 · 5 revisions

BackEnd API Document : PRODUCT SYSTEM (KO_KR)

작성자 : LimeCake

기본 개요

모든 REQUEST는 POST 방식을 전제로 한다.
개발 단계에서는 GET 방식으로 테스트를 위한 접근도 가능하다.
모든 RESULT는 JSONObject 로 반환된다.
만일 JSONObject로 파싱 시 exception catch 될 경우 서버 에러로 간주한다.
string 인코딩은 UTF-8 을 기본으로 한다.

개발 단계 테스트용 API 주소

https://api.devx.kr/GotGan/v1/{API명}


product_add.php

물품 추가 API

사용처

관리자의 웹/앱을 통한 물품 추가
관리자의 바코드를 통한 물품 추가

REQUEST

session (string) [필수 인자]
세션 유저의 등급이 관리자 이상이어야 물품 추가가 가능하다.

products (JSONArray) [필수 인자]
추가할 물품들의 목록을 의미한다.
아래 상세 설명 참고.

products : JSON Array

products는 아래 값들로 이루어진 JSONObject 의 Array 이다.

product_group (int) [필수 인자]
물품이 속하는 product_group_index 를 의미한다.

product_name (string) [선택 인자]
물품의 개별 이름을 의미한다.
값이 없을 경우 물품 그룹명을 그대로 가져온다.

product_status (int) [선택 인자]
물품의 상태 코드를 의미한다.
0 : 일반
1 : 사용불가
2 : 고장
3 : 수리중
값이 없을 경우 기본값인 0으로 입력된다.

product_owner (int) [선택 인자]
물품을 소유하는 유저그룹을 의미한다.
값이 없을 경우 0으로 입력된다.

product_barcode (int) [선택 인자]
물품의 바코드 번호를 의미한다.
값이 없을 경우 0으로 입력된다.

RESULT : JSON OBJECT

result (int) [반환 보장]
처리 결과 코드를 의미한다.
0 : 성공
-1 : REQEUST 인자 에러
-2 : 서버 동작 에러
-3 : 유저 권한 없음
-4 : 물품 추가 실패

error (string) [반환 보장]
result가 0 이 아니면 해당 원인을 알려준다.

유의사항

products가 JSON Array 형식임에 유의해야 한다.


product_modify.php

물품을 수정하는 API

사용처

관리자가 개별 물품을 수정할 때

REQUEST

session (string) [필수 인자]
세션 유저의 등급이 관리자 이상이어야 물품 수정이 가능하다.

product_index (int) [필수 인자]
수정할 물품의 인덱스를 의미한다.

product_group (int) [선택 인자]
수정할 물품이 속할 그룹 인덱스를 의미한다.

product_name (string) [선택 인자]
수정할 물품의 개별 이름을 의미한다.

product_status (int) [선택 인자]
수정할 물품의 상태 코드를 의미한다.
0 : 일반
1 : 사용불가
2 : 고장
3 : 수리중

product_owner (int) [선택 인자]
수정할 물품을 소유하는 유저 그룹 인덱스를 의미한다.

product_barcode (int) [선택 인자]
수정할 물품의 바코드 값을 의미한다.

RESULT : JSON OBJECT

result (int) [반환 보장]
처리 결과 코드를 의미한다.
0 : 성공
-1 : REQEUST 인자 에러
-2 : 서버 동작 에러
-3 : 유저 권한 없음
-4 : 물품 수정 실패

error (string) [반환 보장]
result가 0 이 아니면 해당 원인을 알려준다.

product_index (int) [성공 시 반환 보장]
수정된 물품의 인덱스를 의미한다.

유의사항

sessionproduct_index를 제외한 값이 모두 선택적 인자이다.
선택적 인자로 값을 받으면, 값을 받을 때마다 해당 값만 DB에서 갱신한다.
그렇기에, 수정하지 않는 기존과 동일한 다른 인자들을 서버로 보내게 되면 무의미한 부하가 생긴다.


product_delete.php

물품을 삭제하는 API

사용처

관리자가 물품을 삭제

REQUEST

session (string) [필수 인자]
세션 유저의 등급이 관리자 이상이어야 물품 삭제가 가능하다.

product_index (int) [필수 인자]
삭제할 물품의 인덱스를 의미한다.

RESULT : JSON OBJECT

result (int) [반환 보장]
처리 결과 코드를 의미한다.
0 : 성공
-1 : REQEUST 인자 에러
-2 : 서버 동작 에러
-3 : 유저 권한 없음
-4 : 물품 삭제 실패

error (string) [반환 보장]
result가 0 이 아니면 해당 원인을 알려준다.


product_list.php

물품 목록 API

사용처

물품 개별 정보를 가져오고자 할 때
물품 전체 정보를 가져오고자 할 때
특정 종류의 물품 정보를 가져오고자 할 때
바코드를 통하여 해당 물품 정보를 가져오고자 할 때

REQUEST

session (string) [필수 인자]
세션 인증을 거쳐야 조회가 가능하다.

product_index (int) [선택 인자]
검색할 물품의 인덱스를 의미한다.

product_barcode (int) [선택 인자]
검색할 물품의 바코드 번호를 의미한다.

product_group (int) [선택 인자]
검색할 물품의 물품 그룹 번호를 의미한다.

RESULT : JSON OBJECT

result (int) [반환 보장]
처리 결과 코드를 의미한다.
0 : 성공
-1 : REQEUST 인자 에러
-2 : 서버 동작 에러
-3 : 유저 권한 없음
-4 : 물품 검색 실패

error (string) [반환 보장]
result가 0 이 아니면 해당 원인을 알려준다.

products (JSONArray) [성공 시 반환 보장]
검색한 물품들의 목록을 의미한다.
아래 상세 설명 참고.

groups (JSONArray) [성공 시 반환 보장]
물품 그룹의 모든 목록을 의미한다.
아래 상세 설명 참고.

products : JSON Array

products는 아래 값들로 이루어진 JSONObject 의 Array 이다.

product_index (int) [반환 보장]
물품의 인덱스를 의미한다.

product_group_index (int) [반환 보장]
물품이 속한 그룹 인덱스를 의미한다.

product_group_name (string) [반환 보장]
물품이 속한 그룹의 그룹명을 의미한다.
만일 그룹명이 없거나 잘못된 그룹 인덱스일 경우 빈 값이 반환된다.

product_group_priority (int) [반환 보장]
물품이 속한 그룹의 중요도를 의미한다.
0 : 일반 재고
1 : 중요 재고
2 : 귀중 재고

product_name (string) [반환 보장]
물품의 개별 이름을 의미한다.

product_status (int) [반환 보장]
물품의 상태 코드를 의미한다.
0 : 일반
1 : 사용불가
2 : 고장
3 : 수리중

product_owner_index (int) [반환 보장]
물품을 소유한 유저 그룹의 인덱스를 의미한다.

product_owner_name (string) [반환 보장]
물품을 소유한 유저 그룹의 그룹명을 의미한다.
만일 그룹명이 없거나 잘못된 그룹 인덱스일 경우 빈 값이 반환된다.

product_rent_index (int) [반환 보장]
물품의 대여 인덱스를 의미한다.

product_rent_user_index (int) [NULL 가능성 있음]
물품이 대여 중이라면 대여한 유저 인덱스를 의미한다.

product_rent_user_name (string) [NULL 가능성 있음]
물품이 대여 중이라면 대여한 유저 이름을 의미한다.

product_rent_user_id (string) [NULL 가능성 있음]
물품이 대여 중이라면 대여한 유저 아이디를 의미한다.

product_rent_status (int) [NULL 가능성 있음]
물품이 대여 중이라면 대여 상태 코드를 의미한다.
0 : 완료됨
1 : 대여신청됨
2 : 대여중

product_rent_time_start (string) [NULL 가능성 있음]
물품이 대여 중이라면 대여 시작한 날짜를 의미한다.
yyyy-MM-dd HH:mm:ss 형식이다.

product_rent_time_end (string) [NULL 가능성 있음]
물품이 대여 중이라면 대여 만료 날짜를 의미한다.
yyyy-MM-dd HH:mm:ss 형식이다.

product_barcode (int) [반환 보장]
물품의 바코드 번호를 의미한다.

product_created (string) [반환 보장]
물품이 생성된 시각을 의미한다.
yyyy-MM-dd HH:mm:ss 형식이다.

groups : JSON Array

groups는 아래 값들로 이루어진 JSONObject 의 Array 이다.

group_index (int) [반환 보장]
물품 그룹의 인덱스를 의미한다.

group_name (string) [반환 보장]
물품 그룹의 그룹명을 의미한다.

group_rentable (int) [반환 보장]
물품 그룹에 속한 물품들이 며칠동안 대여가 가능한지를 의미한다.

group_priority (int) [반환 보장]
물품 그룹의 중요도를 의미한다.
0 : 일반 재고
1 : 중요 재고
2 : 귀중 재고

유의사항

전체 물품을 요청하는 경우 부하가 매우 큰 편이다.
클라이언트에서 효율적으로 캐싱이 필요하다.


product_overview.php

물품 현황 개요 API

사용처

대시보드 등에서 물품 그룹별 상태 개수 현황을 요청할 때

REQUEST

session (string) [필수 인자]
세션 인증을 거쳐야 조회가 가능하다.

RESULT : JSON OBJECT

result (int) [반환 보장]
처리 결과 코드를 의미한다.
0 : 성공
-1 : REQEUST 인자 에러
-2 : 서버 동작 에러
-3 : 유저 권한 없음
-4 : 현황 검색 실패

error (string) [반환 보장]
result가 0 이 아니면 해당 원인을 알려준다.

groups (JSONArray) [성공 시 반환 보장]
물품 그룹의 모든 현황 목록을 의미한다.
아래 상세 설명 참고.

groups : JSON Array

groups는 아래 값들로 이루어진 JSONObject 의 Array 이다.

group_index (int) [반환 보장]
물품 그룹의 인덱스를 의미한다.

group_name (string) [반환 보장]
물품 그룹의 그룹명을 의미한다.

group_rentable (int) [반환 보장]
물품 그룹에 속한 물품들이 며칠동안 대여가 가능한지를 의미한다.

group_priority (int) [반환 보장]
물품 그룹의 중요도를 의미한다.
0 : 일반 재고
1 : 중요 재고
2 : 귀중 재고

group_count_available (int) [반환 보장]
물품 그룹에서 현재 사용 가능한 물품 개수를 의미한다.

group_count_unavailable (int) [반환 보장]
물품 그룹에서 현재 사용 불가능한 물품 개수를 의미한다.
고장나거나 수리중인 물품을 포함하지 않는다.

group_count_broken (int) [반환 보장]
물품 그룹에서 현재 고장난 물품 개수를 의미한다.

group_count_repair (int) [반환 보장]
물품 그룹에서 현재 수리중인 물품 개수를 의미한다.

group_count_rent (int) [반환 보장]
물품 그룹에서 현재 대여중인 물품 개수를 의미한다.
사용 가능한 물품 개수나 기타 개수들과 완전히 독립적이다.

유의사항

group_count_available 에서 group_count_rent을 차감한 개수가 실제로 사용 가능한 개수이다.


product_group_add.php

물품 그룹을 추가하는 API

사용처

관리자가 물품 그룹을 추가

REQUEST

session (string) [필수 인자]
세션 유저의 등급이 관리자 이상이어야 물품 그룹 추가가 가능하다.

product_group_name (string) [필수 인자]
추가할 물품 그룹의 그룹명을 의미한다.

product_group_rentable (int) [필수 인자]
추가할 물품 그룹이 며칠동안 대여가 가능한지를 의미한다.

product_group_priority (int) [선택 인자]
추가할 물품 그룹의 중요도를 의미한다.
값이 없을 경우 0이 기본으로 입력된다.
0 : 일반 재고
1 : 중요 재고
2 : 귀중 재고

RESULT : JSON OBJECT

result (int) [반환 보장]
처리 결과 코드를 의미한다.
0 : 성공
-1 : REQEUST 인자 에러
-2 : 서버 동작 에러
-3 : 유저 권한 없음
-4 : 물품 그룹 추가 실패

error (string) [반환 보장]
result가 0 이 아니면 해당 원인을 알려준다.

product_group_index (int) [성공 시 반환 보장]
추가된 물품 그룹의 인덱스를 의미한다.

유의사항

product_group_rentable에 대여 불가능한 그룹일 시 0으로 전달한다.


product_group_modify.php

물품 그룹을 수정하는 API

사용처

관리자가 물품 그룹을 수정

REQUEST

session (string) [필수 인자]
세션 유저의 등급이 관리자 이상이어야 물품 그룹 수정이 가능하다.

product_group_index (int) [필수 인자]
수정할 물품 그룹의 인덱스를 의미한다.

product_group_name (string) [선택 인자]
수정할 물품 그룹의 그룹명을 의미한다.

product_group_rentable (int) [선택 인자]
수정할 물품 그룹이 며칠동안 대여가 가능한지를 의미한다.

product_group_priority (int) [선택 인자]
수정할 물품 그룹의 중요도를 의미한다.
0 : 일반 재고
1 : 중요 재고
2 : 귀중 재고

RESULT : JSON OBJECT

result (int) [반환 보장]
처리 결과 코드를 의미한다.
0 : 성공
-1 : REQEUST 인자 에러
-2 : 서버 동작 에러
-3 : 유저 권한 없음
-4 : 물품 그룹 수정 실패

error (string) [반환 보장]
result가 0 이 아니면 해당 원인을 알려준다.

product_group_index (int) [성공 시 반환 보장]
수정된 물품 그룹의 인덱스를 의미한다.

유의사항

sessionproduct_group_index를 제외한 값이 모두 선택적 인자이다.
선택적 인자로 값을 받으면, 값을 받을 때마다 해당 값만 DB에서 갱신한다.
그렇기에, 수정하지 않는 기존과 동일한 다른 인자들을 서버로 보내게 되면 무의미한 부하가 생긴다.


product_group_delete.php

물품 그룹 삭제 API

사용처

관리자가 물품 그룹을 삭제

REQUEST

session (string) [필수 인자]
세션 유저의 등급이 관리자 이상이어야 물품 그룹 삭제가 가능하다.

product_group_index (int) [필수 인자]
삭제할 물품 그룹의 인덱스를 의미한다.

RESULT : JSON OBJECT

result (int) [반환 보장]
처리 결과 코드를 의미한다.
0 : 성공
-1 : REQEUST 인자 에러
-2 : 서버 동작 에러
-3 : 유저 권한 없음
-4 : 물품 그룹 삭제 실패

error (string) [반환 보장]
result가 0 이 아니면 해당 원인을 알려준다.