택배 배송조회 API인 스윗트래커(https://tracking.sweettracker.co.kr/)를 사용하여 배송정보를 받아오는 테스트를 해보겠다.
1. 먼저 https://tracking.sweettracker.co.kr/ 이동하여 회원가입을 한다.
2. 자신의 API 키를 발급받는다. 테스트이므로 무료키를 받겠다.
3. http://info.sweettracker.co.kr/apidoc API 문서를 본다.
4. 택배 배송정보를 RESTful 형태로 제공하므로 Base Url 에 자신이 필요로하는 api를 사용하면 된다.
5. 본인은 운송장 번호를 조회하기 위해 택배사목록을 조회하고 택배사목록과 운송장 번호를 통해 배송조회를 할 것이다.
6. 크롬 확장프로그램에서 POSTMAN을 설치 후 company-api와 tracking-api의 파람값을 알아본다.
company-api에서는 다음과 같이 코드와 택배회사명을 가져올 수 있고
tracking-api에서는 배송정보와 배송추적에 대한 정보를 가져올 수 있었다.
테스트를 위해 웹프로젝트를 생성하고 Jquery Ajax를 통해 해당 정보를 받아오겠다.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | <script> $(document).ready(function(){ var myKey = "JUI5lF7RHlbZHdNPCjhfYw"; // sweet tracker에서 발급받은 자신의 키 넣는다. // 택배사 목록 조회 company-api $.ajax({ type:"GET", dataType : "json", url:"http://info.sweettracker.co.kr/api/v1/companylist?t_key="+myKey, success:function(data){ // 방법 1. JSON.parse 이용하기 var parseData = JSON.parse(JSON.stringify(data)); console.log(parseData.Company); // 그중 Json Array에 접근하기 위해 Array명 Company 입력 // 방법 2. Json으로 가져온 데이터에 Array로 바로 접근하기 var CompanyArray = data.Company; // Json Array에 접근하기 위해 Array명 Company 입력 console.log(CompanyArray); var myData=""; $.each(CompanyArray,function(key,value) { myData += ('<option value='+value.Code+'>' +'key:'+key+', Code:'+value.Code+',Name:'+value.Name + '</option>'); }); $("#tekbeCompnayList").html(myData); } }); // 배송정보와 배송추적 tracking-api $("#myButton1").click(function() { var t_code = $('#tekbeCompnayList option:selected').attr('value'); var t_invoice = $('#invoiceNumberText').val(); $.ajax({ type:"GET", dataType : "json", url:"http://info.sweettracker.co.kr/api/v1/trackingInfo?t_key="+myKey+"&t_code="+t_code+"&t_invoice="+t_invoice, success:function(data){ console.log(data); var myInvoiceData = ""; if(data.status == false){ myInvoiceData += ('<p>'+data.msg+'<p>'); }else{ myInvoiceData += ('<tr>'); myInvoiceData += ('<th>'+"보내는사람"+'</td>'); myInvoiceData += ('<th>'+data.senderName+'</td>'); myInvoiceData += ('</tr>'); myInvoiceData += ('<tr>'); myInvoiceData += ('<th>'+"제품정보"+'</td>'); myInvoiceData += ('<th>'+data.itemName+'</td>'); myInvoiceData += ('</tr>'); myInvoiceData += ('<tr>'); myInvoiceData += ('<th>'+"송장번호"+'</td>'); myInvoiceData += ('<th>'+data.invoiceNo+'</td>'); myInvoiceData += ('</tr>'); myInvoiceData += ('<tr>'); myInvoiceData += ('<th>'+"송장번호"+'</td>'); myInvoiceData += ('<th>'+data.receiverAddr+'</td>'); myInvoiceData += ('</tr>'); } $("#myPtag").html(myInvoiceData) var trackingDetails = data.trackingDetails; var myTracking=""; var header =""; header += ('<tr>'); header += ('<th>'+"시간"+'</th>'); header += ('<th>'+"장소"+'</th>'); header += ('<th>'+"유형"+'</th>'); header += ('<th>'+"전화번호"+'</th>'); header += ('</tr>'); $.each(trackingDetails,function(key,value) { myTracking += ('<tr>'); myTracking += ('<td>'+value.timeString+'</td>'); myTracking += ('<td>'+value.where+'</td>'); myTracking += ('<td>'+value.kind+'</td>'); myTracking += ('<td>'+value.telno+'</td>'); myTracking += ('</tr>'); }); $("#myPtag2").html(header+myTracking); } }); }); }); </script> | cs |
AJAX를 통해 해당 정보를 잘 받아 출력되는 것을 확인하였다.
마지막으로 해당 전체소스를 첨부한다.
다운로드:
'전체 > 오픈 API 활용하기' 카테고리의 다른 글
imgur api 사용하여 이미지 업로드 하기 (2) | 2019.03.27 |
---|---|
구글 로그인 api 웹 인증하기 (2) | 2017.12.05 |
공공데이터 포털의 오픈API 활용해 데이터 가져오는 방법 (15) | 2017.05.11 |