블로그

미스터디벨로

[이카운트] ECOUNT API 연동(1)

기존에 사용중인 이카운트를 활용한 재고관리 백엔드 개발을 해야해서 몇개 테스트해봄Spring이나 Node나 다른 백엔드에서도 별로 어렵지않게 연동 가능할듯    - ECOUNT 홈페이지 ( https://www.ecount.com/kr/ ) ERP 모든 기능 월4만원 | 웹기반 이카운트 ERP이카운트는 재고,생산,회계,영업,급여,그룹웨어,웹메일 등 업무관리에 필요한 모든 기능을 월4만원에 제공하는 클라우드 기반의 ERP프로그램입니다.www.ecount.com    - ECOUNT OPEN API 개발문서 ( https://sboapi.ecount.com/ECERP/OAPI/OAPIView?lan_type=ko-KR  ) https://sboapi.ecount.com/ECERP/OAPI/OAPIView?lan_type=ko-KR이카운트 오픈 API 란? 고객사(개발자)가 이카운트와 타 사이트 및 프로그램과의 연동 기능을 개발할 수 있도록 [이카운트의 데이터 플랫폼을 외부에 공개]하는 서비스 입니다. 개발단계 [이카운sboapi.ecount.com 선작업(셋팅) - 이카운트 ERP 로그인 페이지※ Code, ID 따로 기록해두세요 ( API에 사용 )   - 이카운트 ERP API 인증키 발급(테스트용 KEY)※ 인증키 따로 기록해두세요 ( API에 사용 )※ 내가 테스트한 기능들이 미검증에서 검증으로 바뀐것을 확인할 수 있음   - 이카운트 ERP 창고 등록창고 코드, 창고명 입력후 저장※ 테스트용 창고를 3개 만듬   - 이카운트 ERP 품목 등록품목코드, 품목명, 입고단가, 출고단가 입력후 저장※ 테스트용 품목을 2개 만듬   - 이카운트 ERP 품목별 재고 입력※ 상품1(품목)이 쇼핑몰1 창고, 쇼핑몰2 창고에 각각 900개, 300개씩 있다고 입력함 ※ 상품2(품목)가 쇼핑몰1 창고, 쇼핑몰2 창고, 쇼핑몰3 창고에 각각 300개, 200개, 500개 씩 있다고 입력함 입력한 창고 + 품목 재고   다음글부터 API 연동 테스트 시작

웹 개발미스터디벨로이카운트이카운트API

미스터디벨로

[이카운트] ECOUNT API 연동(6)

API 제공 기능 테스트 ( PHP CURL )구매 입력(품목)  - 문서 ( 너무 길어서 생략 ) - PHP CODE/* 구매 입력 */ /* 문서 TEST URL = https://sboapi{ZONE}.ecount.com/OAPI/V2/Purchases/SavePurchases?SESSION_ID={SESSION_ID} -> {ZONE}에 ZONE 조회 반환값 ZONE, {SESSION_ID}에 로그인 반환값 SESSION_ID */ $url = 'https://sboapiCC.ecount.com/OAPI/V2/Purchases/SavePurchases?SESSION_ID=로그인 반환값 SESSION_ID'; $arr_post['SaleList'] = array(); for($i=0;$i<4;$i++){ $data['SESSION_ID'] = '로그인 반환값 SESSION_ID'; $data['WH_CD'] = '100'; //창고 코드 $data['PROD_CD'] = '000200'; //품목 코드 $data['PROD_DES'] = '상품2'; //품목 명 $data['QTY'] = '9'; //수량 $child['BulkDatas'] = $data; $child['Line'] = $i.""; array_push($arr_post['PurchasesList'], $child); } $post_data = json_encode($arr_post); $ch=curl_init(); // user credencial curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json')); curl_setopt($ch, CURLOPT_VERBOSE, true); //POST방식 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $response = curl_exec($ch); curl_close($ch); return json_decode($response, true);※ 쇼핑몰 창고1 ( 창고코드 : 100 ) 에 상품2 ( 품목코드 : 000200 ) 를 9개씩 4번 구매함  - 반환값※ 반환값 정상인지 확인하고 이카운트 ERP에서 구매현황, 재고 현황 다 확인 ㄱ

웹 개발미스터디벨로이카운트

미스터디벨로

[이카운트] ECOUNT API 연동(5)

API 제공 기능 테스트 ( PHP CURL )판매 입력(품목)  - 문서 ( 너무 길어서 생략 ) - PHP CODE/* 판매 입력 */ /* 문서 TEST URL = https://sboapi{ZONE}.ecount.com/OAPI/V2/Sale/SaveSale?SESSION_ID={SESSION_ID} -> {ZONE}에 ZONE 조회 반환값 ZONE, {SESSION_ID}에 로그인 반환값 SESSION_ID */ $url = 'https://sboapiCC.ecount.com/OAPI/V2/Sale/SaveSale?SESSION_ID=로그인 반환값 SESSION_ID'; $arr_post['SaleList'] = array(); for($i=0;$i<5;$i++){ $data['SESSION_ID'] = '로그인 반환값 SESSION_ID'; $data['WH_CD'] = '100'; //창고 코드 $data['PROD_CD'] = '000100'; //품목 코드 $data['PROD_DES'] = '상품1'; //품목 명 $data['QTY'] = '3'; //수량 $child['BulkDatas'] = $data; $child['Line'] = $i.""; array_push($arr_post['SaleList'], $child); } $post_data = json_encode($arr_post); $ch=curl_init(); // user credencial curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json')); curl_setopt($ch, CURLOPT_VERBOSE, true); //POST방식 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $response = curl_exec($ch); curl_close($ch); return json_decode($response, true);※ 쇼핑몰 창고1 ( 창고코드 : 100 ) 에 상품1 ( 품목코드 : 000100 ) 을 3개씩 5번 팔았음  - 반환값※ 반환값 정상인지 확인하고 이카운트 ERP에서 판매현황, 재고 현황 다 확인 ㄱ

웹 개발미스터디벨로웹개발이카운트

미스터디벨로

[이카운트] ECOUNT API 연동(4)

API 제공 기능 테스트 ( PHP CURL )창고 + 품목별 재고 조회하기  - 문서 - PHP CODE/* 창고 + 품목별 재고 조회하기 */ /* 문서 TEST URL = https://sboapi{ZONE}.ecount.com/OAPI/V2/InventoryBalance/GetListInventoryBalanceStatusByLocation?SESSION_ID={SESSION_ID} -> {ZONE}에 ZONE 조회 반환값 ZONE, {SESSION_ID}에 로그인 반환값 SESSION_ID */ $url = 'https://sboapiCC.ecount.com/OAPI/V2/InventoryBalance/GetListInventoryBalanceStatusByLocation?SESSION_ID=로그인 반환값 SESSION_ID'; $arr_post['SESSION_ID'] = '로그인 반환값 SESSION_ID'; $arr_post['BASE_DATE'] = '현재 날짜 ex) 20211210'; $arr_post['COM_CODE'] = '아까 기록한 본인 회사코드 6자리'; $arr_post['USER_ID'] = '아까 기록한 본인 아이디'; $arr_post['ZONE'] = 'CC'; //ZONE 조회 결과 /* 계정 인증키( Self-Customizing - 정보관리 - API 인증키발급 ) */ $arr_post['API_CERT_KEY'] = '아까 기록한 본인 인증키'; $arr_post['LAN_TYPE'] = 'ko-KR'; $post_data = json_encode($arr_post); $ch=curl_init(); // user credencial curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json')); curl_setopt($ch, CURLOPT_VERBOSE, true); //POST방식 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $response = curl_exec($ch); curl_close($ch); return json_decode($response, true);  - 반환값※ 초기 셋팅에서 입력한 창고 + 품목별 재고 현황이 반환됨 ㅅㅅ

웹 개발미스터디벨로이카운트이카운트API

채널톡 아이콘