이용절차

- API Key 발급 (serverKey, clientKey)
ㄴ API Key 발급은 carbeast77@gmail.com으로 요청 하시면 됩니다.
- 귀하의 웹서버에 API 연동 웹페이지 구축
- 차량운행일지(APP)에 API Key(clientKey) 설정
ㄴ 차량 이용자들이 쉽게 API Key를 설정할 수 있도록 앱과 연동하여 자동으로 설정할 수 있는 웹페이지 SAMPLE 소스 제공
- 위 절차가 완료되면 차량운행일지 앱으로 작성된 운행기록을 귀하의 웹서버에서 조회 및 활용 하실 수 있습니다.

API 연동 웹페이지 구축

  • <?
  • header("Content-Type:text/html;charset=UTF-8");
  • //------------------------------------------------------------
  • // serverKey 는 예시와 같이 demoServerKey 로 설정 하세요.
  • // carbeast77@gmail.com 으로 연락을 주시면 독립된 API KEY 를 발급해 드립니다.
  • $serverKey = "demoServerKey";
  •  
  • //------------------------------------------------------------
  • // 파라메터
  • //$parameter["carNumber"] = "66서3013";		//차량별 조회시 추가해 주세요 (차량운행일지 어플에 설정된 "자동차등록번호" 와 일치해야 합니다)
  • $parameter["beginDate"] = "2016-10-01";
  • $parameter["endDate"] = "2016-10-31";
  •  
  • $headers = array('Content-Type:application/json ; charset=UTF-8', 'Authorization:serverKey='. $serverKey);
  • $ch = curl_init();
  • curl_setopt($ch, CURLOPT_URL,    'https://cds.carbeast.co.kr/sdk/getDrivingLog.api');
  • curl_setopt($ch, CURLOPT_HTTPHEADER,  $headers);
  • curl_setopt($ch, CURLOPT_POST,    true);
  • curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  • curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  • curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($parameter, JSON_UNESCAPED_UNICODE));
  •  
  • $response = curl_exec($ch);
  • $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  • if (curl_errno($ch))
  • {
  • 	echo "curl_errno : ". curl_errno($ch);
  • }
  • else if ($httpCode != 200)
  • {
  • 	echo "http Error Code : ". $httpCode;
  • }
  • else
  • {
  • 	$result = json_decode($response, JSON_UNESCAPED_UNICODE);
  • 	$resultCode = $result["resultCode"];
  • 	$resultMessage = $result["resultMessage"];
  • 	$drivingLogs = $result["drivingLogs"];
  •  
  • 	// 오류 처리
  • 	if($resultCode == 1)
  • 	{
  • 		echo "Error : ". $resultMessage;
  • 	}
  • 	// 정상 데이터 수신
  • 	else if($resultCode == 0)
  • 	{
  • 		if(count($drivingLogs) < 1)
  • 		{
  • 			echo "운행기록 데이터가 없습니다.";
  • 		}
  • 		else
  • 		{
  • 			print_r($drivingLogs);
  • 		}
  • 	}
  • }
  •  
  • curl_close($ch);
  • ?>

result

Key Type Description
resultCode int
0 : success
1 : error
resultMessage String
resultCode 1일때 error 메세지
drivingLogs Array
아래표(drivingLogs) 참고

drivingLogs

Key Type Description
startDate String
운행일자 (Y-m-d)
carModel String
차종
carNumber String
자동차등록번호
name String
성명
department String
부서
distance int
주행거리
startDistance int
출발시 누적주행거리
stopDistance int
도착시 누적주행거리
startAddress String
출발지 주소
stopAddress String
도착지 주소
purpose String
운행목적
a : 일반업무
e : 출·퇴근
g : 비업무용
bigo String
비고
uuid String
고유키

clientKey 자동설정 웹페이지 SAMPLE (모바일웹)

- 스마트폰에서 접속하여 "클라이언트 Key 설정" 버튼을 누르면 앱이 실행되면서 API Key 가 자동으로 설정 됩니다.
  • <!DOCTYPE html>
  • <html lang="ko">
  • <head>
  • <meta charset="utf-8" />
  • <meta name="viewport" content="width=device-width, initial-scale=1" />
  • <meta property="og:type" content="website" />
  • <meta property="og:title" content="카택스 차량운행일지" />
  • <meta property="og:url" content="" />
  • <meta property="og:description" content="카택스 차량운행일지 Client 연동 페이지" />
  • <meta property="og:image" content="http://cds.carbeast.co.kr/images/app_thumb_img.png" />
  • <title>카택스 차량운행일지 Client 연동 페이지</title>
  •  
  • <script>
  • function getCurrentOS() {
  • 	var mobile = (/iphone|ipad|ipod|android/i.test(navigator.userAgent.toLowerCase()));
  • 	var currentOS = "";
  • 	if (mobile) {
  • 		var userAgent = navigator.userAgent.toLowerCase();
  • 		if (userAgent.search("android") > -1) {
  • 			currentOS = "android";
  • 		}
  • 		else if ((userAgent.search("iphone") > -1) || (userAgent.search("ipod") > -1) || (userAgent.search("ipad") > -1)) {
  • 			currentOS = "ios";
  • 		}
  • 		else {
  • 			currentOS = "else";
  • 		}
  • 	} else {
  • 		currentOS = "else";
  • 	}
  • 	return currentOS;
  • }
  •  
  • function appInstal(){
  • 	var OS = getCurrentOS();
  • 	if(OS=="ios"){
  • 		location.href="https://itunes.apple.com/kr/app/chalyang-unhaeng-ilji-gugsecheong/id1105310530?mt=8"
  • 	} else if(OS == "android"){
  • 		location.href="market://details?id=com.jeycorp.voj";
  • 	} else {
  • 		location.href="https://play.google.com/store/apps/details?id=com.jeycorp.voj";
  • 	}
  • }
  •  
  • function appRegister(){
  • 	//------------------------------------------------------------
  • 	// clientKey 는 예시와 같이 demoClientKey 로 설정 하세요.
  • 	// carbeast77@gmail.com 으로 연락을 주시면 독립된 API KEY 를 발급해 드립니다.
  • 	// 차량운행일지앱 "외부 프로그램 연동 설정" 메뉴에서 clientKey 를 직접 입력 하셔도 됩니다.
  • 	var clientKey = "demoClientKey";
  •  
  • 	var OS = getCurrentOS();
  • 	if(OS=="ios"){
  • 		document.location.href = "vojapp://com.jeycorp.Voj?&ikey=<?=$ikey?>&companyName=<?=$row["name"]?>&&summary=<?=$row["name"]?> <?=$row["adminName"]?> 님이 보낸 초대장 입니다."	
  • 	}else if(OS == "android"){
  • 		location.href = "Intent://setCartaxClientKey?clientKey=" + clientKey + "#Intent;scheme=cartax;package=com.jeycorp.voj;end";
  • 	} else {
  • 		alert("모바일 기기에서만 이용이 가능 합니다.");
  • 	}
  • }
  •  
  • </script>
  • <style>
  • /* Common */
  • body,p,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,th,td,form,fieldset,legend,input,textarea,button,select { margin:0; padding:0;}
  • img,fieldset { border:0;}
  • ul,ol { list-style:none;}
  • em,address { font-style:normal;}
  • a { text-decoration:none;}
  • a:hover,a:active,a:focus { text-decoration:none;}
  • a { margin:0 5px; width:150px; height:40px; line-height:40px; display:inline-block; background:#686868; text-align:center; color:#fff; font-size:15px; border-radius:5px;}
  • a:link { text-decoration: none; cursor:pointer;}
  • a:visited { text-decoration: none; cursor:pointer;}
  • a:hover { background:#444; text-decoration: none; cursor:pointer;}
  • a:active { text-decoration: none; cursor:pointer;}
  • .left { text-align:left;}
  • .right { text-align:right;}
  •  
  • /* Layout */
  • #wrap { width:100%; letter-spacing:-0.05em;}
  • #wrap .ico_top { padding-top:20px; text-align:center;}
  • #wrap .ico_top ul { padding-top:10px; font-size:22px; font-weight:600;}
  • #wrap .clientKey { width:100%; max-width:400px; margin:0 auto; padding-top:20px; text-align:center;}
  • #wrap .clientKey ul { padding-top:20px;}
  • #wrap .clientKey li { float:left; width:50%;}
  • #wrap .foot { clear:both; text-align:center; padding:20px 0;}
  • </style>
  • </head>
  • <body onload="init()">
  • <div id="wrap">
  • 	<div class="ico_top">
  • 		<img src="http://cds.carbeast.co.kr/images/app_icon.png" />
  • 		<ul>
  • 			<li>카택스 차량운행일지</li>
  • 			<li>외부 프로그램 연동 설정</li>
  • 		</ul>
  • 	</div>
  • 	<div class="clientKey">
  • 		클라이언트 Key : demoClientKey
  • 		<ul>
  • 			<li class="right"><a href="javascript:;" onClick="appRegister()" >클라이언트 Key 설정</a></li>
  • 			<li class="left"><a href ="javascript:;" onClick="appInstal()" >앱 설치하기</a></li>
  • 		</ul>
  • 	</div>
  • 	<div class="foot">카택스 차량운행일지가 아직 설치되어 있지 않은 경우 "앱 설치하기" 를 선택해 주세요.</div>
  • </div>
  • </body>
  • </html>
데모 페이지(모바일로 접속하세요.) : http://cds.carbeast.co.kr/sdk/setClientKey.htmlClick