Dabory ERP의 모든 API는 단순성과 보안성을 지향하므로 모은 REST POST 만 사용한다.
GateToken should be included in every REST API request after GateToken authentication.
[주요 참고 사항 : GateToken (20자리랜덤 Alphonumeric) 은 Request Header 다음과 같이 추가되어 송신되어야 한다.] GateToken is 20 charaters length and to be added in API Request Header as follow:
req.Header.Add("GateToken", gateToken)
(1)일반적으로 1개의 수주전표, 매출 전표는 book 단위로 처리되고 transaction 처리됨. Generally, 1 Sales order slip or Sales invoice are processed (Insert/Update/Delete) as "Book" Unit with "Transaction Process"
(2)입력/수정/삭제는 book 단위로 처리된다. sorder book : HeaderPage + BodyPage + FooterPage
Id = 0 : Insert
Id > 0: Update
Id < 0 : Delete ; 이경우 Id 이외의 필드는 없어도 처리가능함. ( delete can be done without the other field )
"PageVars": {
"QueryCnt": "string", //Response 시에만 유효한 값, Where 절에 걸리느 Row Count - Request 시에 지정할 필요없슴.
"Query": "string", //Query의 Where Clause 의 내용 똑같은 문법으로 지정 가능함. And / Or 조건 지정 가능
"Fields": "string", // 가져올 필드를 지정함, 필드자체를 뺄수는 없으나, 해당값을 Empty 처리해줌. 지정하지 않으면 전체를 넣어줌
"Asc": "string", // ORDER BY *** ASC 지정가능
"Desc": "int", // ORDER BY *** DESC 지정가능
"Limit": "int", // 한번 페이징에서 가져오는 Row 갯수, 반드시 지정필요, 10개 Default
"Offset": "int", // Where로 필터된 rows 중 가져오는 첫번째 레코드 레코드 옵셋 지정 가능
"ReturnJson": "string", //일반적으로 필터링 하는 지정 조건 값을 서버로 보냈다가 받을 수 있다.
}
a. QueryCnt
b. Query
ex) 단일테이블인 경우 id >0 and id <300
x) 테이블이 조인으로 연결되어 있을 경우 dbr_company.id 처럼 테이블을 명시해줘야 한다.
그렇지않으면 ambigous field Error 가 난다.
c. Field
ex) id, company_name, created_at
d. Asc
ex) company_name, created_at
e. Desc
ex) company_name, created_at
f. Limit
g. Offset
예) 전체 1000개에서 31부터 가져올 경우 30 지정
h. ReturnJson :
1) 일반적으로 필터링 하는 지정 조건 값을 서버로 보냈다가 받을 수 있다.
2) Ajax 로 처리 않는 List 의 경우 페이지가 갱신되면서 이전 쿼리 조건값을 잃어버리는 경우가 있는데 이것을 Json 값으로 만들어 서버에 보내는 순간 페이지는 해당 값을 잃어버리기 때문에 똑같은 값을 서버에서 돌려 받아서 현재 리스트의 조건을 이전과 동일하게 구성하게 하기 위해서 사용되는 필드.
3) 일반적으로 Json 값을 Base64 Encode 해서 보낸다음 받을때는 해당 값을 Base64 Decode 해서 쓰는 것을 권장함. Frontend 에서의 Json 구조는 각 리스트의 특성에 따라 Frontend에서 구성해서 사용 가능.