티스토리 뷰
Ecount ERP를 이용해서 판매API를 제작해서 사용하고 있습니다.
양식필수 값은 회사코드별로 상이합니다. 기본입력양식설정의 필수값을 확인바랍니다.
호출방식 | POST |
Content-Type | application/json |
Test URL |
https://sboapi{ZONE}.ecount.com/OAPI/V2/Sale/SaveSale?SESSION_ID={SESSION_ID}
|
Request URL |
https://oapi{ZONE}.ecount.com/OAPI/V2/Sale/SaveSale?SESSION_ID={SESSION_ID}
|
자료포맷 종류 | JSON(Paramenter, Result) |
처음엔 Test URL로 성공하면 정신 API 코드를 발급해 주는데요, 나중에 이렇게 리스트가 나옵니다.
위의 표에서 우측에 '검증여부'를 보시면 실제 사용하는 메뉴들에 대한 코드 검증여부를 EcountERP에서 보여줍니다.
물론, 검증된 메뉴만 일단 전송이 가능한 것이구요~
자료입력 포멧도 실제 사용하시면 화면에서 그 자세한 내용을 볼 수 있습니다.
아래는 판매입력에 대한 자료설명 부분의 일부를 발췌했습니다.
그럼, 자료를 보낼 수 있는 JSON형식이 필요한데, 예시가 있으니 해당 예시 내용을 바탕으로 만들면 될 것입니다.
{
"SaleList": [{
"Line": "0",
"BulkDatas": {
"IO_DATE": "20180612",
"UPLOAD_SER_NO": "",
"CUST": "",
"CUST_DES": "",
"EMP_CD": "",
"WH_CD": "00009",
"IO_TYPE": "",
"EXCHANGE_TYPE": "",
"EXCHANGE_RATE": "",
"SITE": "",
"PJT_CD": "",
"DOC_NO": "",
"U_MEMO1": "",
"U_MEMO2": "",
"U_MEMO3": "",
"U_MEMO4": "",
"U_MEMO5": "",
"ADD_TXT_01_T": "",
"ADD_TXT_02_T": "",
"ADD_TXT_03_T": "",
"ADD_TXT_04_T": "",
"ADD_TXT_05_T": "",
"ADD_TXT_06_T": "",
"ADD_TXT_07_T": "",
"ADD_TXT_08_T": "",
"ADD_TXT_09_T": "",
"ADD_TXT_10_T": "",
"ADD_NUM_01_T": "",
"ADD_NUM_02_T": "",
"ADD_NUM_03_T": "",
"ADD_NUM_04_T": "",
"ADD_NUM_05_T": "",
"ADD_NUM_06_T": "",
"ADD_NUM_07_T": "",
"ADD_NUM_08_T": "",
"ADD_NUM_09_T": "",
"ADD_NUM_10_T": "",
"ADD_CD_01_T": "",
"ADD_CD_02_T": "",
"ADD_CD_03_T": "",
"ADD_CD_04_T": "",
"ADD_CD_05_T": "",
"ADD_CD_06_T": "",
"ADD_CD_07_T": "",
"ADD_CD_08_T": "",
"ADD_CD_09_T": "",
"ADD_CD_10_T": "",
"ADD_DATE_01_T": "",
"ADD_DATE_02_T": "",
"ADD_DATE_03_T": "",
"ADD_DATE_04_T": "",
"ADD_DATE_05_T": "",
"ADD_DATE_06_T": "",
"ADD_DATE_07_T": "",
"ADD_DATE_08_T": "",
"ADD_DATE_09_T": "",
"ADD_DATE_10_T": "",
"U_TXT1": "",
"ADD_LTXT_01_T": "",
"ADD_LTXT_02_T": "",
"ADD_LTXT_03_T": "",
"ADD_LTXT_04_T": "",
"ADD_LTXT_05_T": "",
"ADD_LTXT_06_T": "",
"ADD_LTXT_07_T": "",
"ADD_LTXT_08_T": "",
"ADD_LTXT_09_T": "",
"ADD_LTXT_10_T": "",
"PROD_CD": "00001",
"PROD_DES": "test",
"SIZE_DES": "",
"UQTY": "",
"QTY": "1",
"PRICE": "",
"USER_PRICE_VAT": "",
"SUPPLY_AMT": "",
"SUPPLY_AMT_F": "",
"VAT_AMT": "",
"REMARKS": "",
"ITEM_CD": "",
"P_REMARKS1": "",
"P_REMARKS2": "",
"P_REMARKS3": "",
"ADD_TXT_01": "",
"ADD_TXT_02": "",
"ADD_TXT_03": "",
"ADD_TXT_04": "",
"ADD_TXT_05": "",
"ADD_TXT_06": "",
"ADD_TXT_07": "",
"ADD_TXT_08": "",
"ADD_TXT_09": "",
"REL_DATE": "",
"REL_NO": "",
"MAKE_FLAG": "",
"CUST_AMT": "",
"P_AMT1": "",
"P_AMT2": "",
"ADD_NUM_01": "",
"ADD_NUM_02": "",
"ADD_NUM_03": "",
"ADD_NUM_04": "",
"ADD_NUM_05": "",
"ADD_NUM_06": "",
"ADD_NUM_07": "",
"ADD_NUM_08": "",
"ADD_NUM_09": "",
"ADD_CD_01": "",
"ADD_CD_02": "",
"ADD_CD_03": "",
"ADD_CD_04": "",
"ADD_CD_05": "",
"ADD_CD_06": "",
"ADD_CD_07": "",
"ADD_CD_08": "",
"ADD_CD_09": "",
"ADD_CD_10": "",
"ADD_CD_NM_01": "",
"ADD_CD_NM_02": "",
"ADD_CD_NM_03": "",
"ADD_CD_NM_04": "",
"ADD_CD_NM_05": "",
"ADD_CD_NM_06": "",
"ADD_CD_NM_07": "",
"ADD_CD_NM_08": "",
"ADD_CD_NM_09": "",
"ADD_CD_NM_10": "",
"ADD_CDNM_01": "",
"ADD_CDNM_02": "",
"ADD_CDNM_03": "",
"ADD_CDNM_04": "",
"ADD_CDNM_05": "",
"ADD_CDNM_06": "",
"ADD_CDNM_07": "",
"ADD_CDNM_08": "",
"ADD_CDNM_09": "",
"ADD_CDNM_10": "",
"ADD_DATE_01": "",
"ADD_DATE_02": "",
"ADD_DATE_03": "",
"ADD_DATE_04": "",
"ADD_DATE_05": "",
"ADD_DATE_06": "",
"ADD_DATE_07": "",
"ADD_DATE_08": "",
"ADD_DATE_09": "",
"ADD_DATE_10": ""
}
}]
}
위의 입력형식에 맞게 데이터를 만들어서 EcountERP 서버에 전송하면 그 결과를 리턴해줍니다.
[SUCCESS]
{
"Data": {
"EXPIRE_DATE":"",
"QUANTITY_INFO": 시간당 연속 오류 제한 건수" : 0/30," 1시간 허용량" : 9/6000," 1일 허용량" :9/10000",
"TRACE_ID":"db6138411aad40e42dc5e209f65f6f3c",
"SuccessCnt": 2,
"FailCnt": 0,
"ResultDetails": [{"Line": 0,"IsSuccess": true,"TotalError": "[전표묶음0] OK","Errors": [],"Code": null}
{"Line": 0,"IsSuccess": true,"TotalError": "[전표묶음0] OK","Errors": [],"Code": null}],
"SlipNos": ["20180612-2"]
},
"Status": "200",
"Error": null,
"Timestamp": "2018-06-12 13:23:11.262",
"RequestKey": "",
"IsEnableNoL4": false
}
[FAIL - Validation]
{
"Data": {
"EXPIRE_DATE":"",
"QUANTITY_INFO": 시간당 연속 오류 제한 건수" : 1/30," 1시간 허용량" : 9/6000," 1일 허용량" : 9/10000",
"SuccessCnt": 0,
"FailCnt": 2,
"ResultDetails": [{"Line": 0,"IsSuccess": false,"TotalError": "[전표묶음0] 품목코드 (필수), 품목명 (필수), 수량 (필수)",
"Errors": [{"ColCd": "PROD_CD","Message": "품목코드 (필수)"}, {"ColCd": "PROD_DES","Message": "품목명 (필수)"}, "Code": null},
{"Line": 0,"IsSuccess": false,"TotalError": "[전표묶음1] 품목코드 (필수), 품목명 (필수), 수량 (필수)",
"Errors": [{"ColCd": "PROD_CD","Message": "품목코드 (필수)"}, {"ColCd": "PROD_DES","Message": "품목명 (필수)"}, "Code": null}],
"SlipNos": null
},
"Status": "200",
"Error": null,
"Timestamp": "2018-06-12 13:21:37.186",
"RequestKey": "",
"IsEnableNoL4": false
}
전체적인 이용 프로세스 설명 (출처 : EcountERP 사용자는 항상 사이트에서 볼 수 있습니다.)
테스트 인증키발급부터 구체적인 세부 설명이 이어집니다.
이걸 이용해서 개발하는 분들이 꼭 봐야할 사항은 오류코드 부분인데요, 나름 자세히 설명되어 있습니다.
기타 주의사항도 꼼꼼히 읽어보신 후 개발에 활용하시면 좋겠습니다.
처음 개발할때는 무척 많은 시행착오를 거쳤습니다.
특히 callback의 개념이 정립되지 않은상태에서 세션의 결과값을 다시 보내는 부분이 정말 많이 고생한 기억이 있습니다.
지금은 잘 활용해서 작은 프로젝트에 실제 사용하고 있어서 뿌듯함도 있지만요^^
처음 하는 경우는 많이 힘들 수 있으니 API 개발서를 차근차근 따라해 보는 것도 좋은 방법으로 사료됩니다.
감사합니다.
'IT tech Coding > EcountERP' 카테고리의 다른 글
EcountERP에 품목코드 전송하는 모듈 제작 (2) | 2023.04.19 |
---|---|
[레이져산업 EcountERP] 트럼프에서 받은 xml파일처리에 대한 연구 (0) | 2023.03.23 |
Ecount ERP API 연동해서 작업하기 연구 (0) | 2021.11.26 |
- Total
- Today
- Yesterday
- chatGPT3.5파이썬버전
- 자바스크립트 한글초성
- Bootstrap 5
- 2분후종료오토핫키
- #소프트웨어배포
- General error: 2031
- 작업공정에 대한 코드작성
- 카페24가비아phpinfo수정
- 스크립트작성기초
- #InnoSetup
- #NSIS
- 파이썬코드줄바꿈방법
- #프로그램설치
- #파이썬패키징
- 코딩튜토리얼
- 뫄프로그래밍
- #InstallForge
- td요소중에 1행과 1열은 제외
- #cx_Freeze
- 효율적코딩방법
- #독립실행파일
- 오토핫키가이드
- .htaccess수정
- 코딩효율성
- sql문장 날짜계산
- 프로그래머생활
- 자바스크립트한글입력시반응하도록만드는코드
- 테크에능한여성
- #파이썬인스톨러
- 오토핫키에디터창업데이트금지하기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |