Rentmaster API를 활용하여 각 언어별로 기능을 구현하는 기본 예제 코드입니다.
<?php
$api_url = "https://rentmaster.co.kr/api/v1/item/list.php";
$api_key = "발급받은_API_KEY";
$page = 1;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url . "?page=" . $page);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer " . $api_key,
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result && $result['success']) {
foreach ($result['data'] as $item) {
echo "상품명: " . $item['itemname'] . "<br>";
echo "대여가능: " . $item['available_stock'] . "<hr>";
}
} else {
echo "데이터를 불러오는데 실패했습니다.";
}
?>
<?php
$itemcode = "상품코드입력";
$api_url = "https://rentmaster.co.kr/api/v1/item/detail.php?itemcode=" . $itemcode;
$api_key = "발급받은_API_KEY";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer " . $api_key
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result && $result['success']) {
$data = $result['data'];
echo "<h1>" . $data['itemname'] . "</h1>";
echo "<p>예약가능 재고: " . count($data['barcodes']) . "</p>";
}
?>
<?php
$api_url = "https://rentmaster.co.kr/api/v1/rent/reserve.php";
$api_key = "발급받은_API_KEY";
$post_data = json_encode([
'barcode' => '예약할_바코드',
'member_no' => '회원_고유번호',
'target_date' => '2023-12-31'
]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer " . $api_key,
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result && $result['success']) {
echo "예약 성공!";
} else {
echo "예약 실패: " . $result['error'];
}
?>
<?php
$member_no = "회원_고유번호";
$api_url = "https://rentmaster.co.kr/api/v1/rent/my_list.php?ext_id=" . $member_no;
$api_key = "발급받은_API_KEY";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer " . $api_key
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result && $result['success']) {
foreach ($result['data'] as $rent) {
echo "상태: " . $rent['status_name'] . " / 상품명: " . $rent['itemname'] . "<br>";
}
}
?>
<?php
$api_url = "https://rentmaster.co.kr/api/v1/rent/cancel_reserve.php";
$api_key = "발급받은_API_KEY";
$post_data = json_encode([
'orderno' => '예약_고유번호',
'ext_id' => '회원_고유번호'
]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer " . $api_key,
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result && $result['success']) {
echo "취소 완료!";
} else {
echo "취소 실패: " . $result['error'];
}
?>
<%
Dim api_url, api_key, xmlHttp, responseText
api_url = "https://rentmaster.co.kr/api/v1/item/list.php?page=1"
api_key = "발급받은_API_KEY"
Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlHttp.Open "GET", api_url, False
xmlHttp.setRequestHeader "Authorization", "Bearer " & api_key
xmlHttp.setRequestHeader "Content-Type", "application/json"
xmlHttp.Send
responseText = xmlHttp.responseText
' JSON 파서를 활용하여 responseText를 파싱 후 사용하세요.
Response.Write responseText
Set xmlHttp = Nothing
%>
<%
Dim itemcode, api_url, api_key, xmlHttp, responseText
itemcode = "상품코드입력"
api_url = "https://rentmaster.co.kr/api/v1/item/detail.php?itemcode=" & itemcode
api_key = "발급받은_API_KEY"
Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlHttp.Open "GET", api_url, False
xmlHttp.setRequestHeader "Authorization", "Bearer " & api_key
xmlHttp.Send
responseText = xmlHttp.responseText
Response.Write responseText
Set xmlHttp = Nothing
%>
<%
Dim api_url, api_key, postData, xmlHttp, responseText
api_url = "https://rentmaster.co.kr/api/v1/rent/reserve.php"
api_key = "발급받은_API_KEY"
' JSON 형태로 데이터 구성
postData = "{""barcode"":""바코드"",""member_no"":""회원번호"",""target_date"":""2023-12-31""}"
Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlHttp.Open "POST", api_url, False
xmlHttp.setRequestHeader "Authorization", "Bearer " & api_key
xmlHttp.setRequestHeader "Content-Type", "application/json"
xmlHttp.Send postData
responseText = xmlHttp.responseText
Response.Write responseText
Set xmlHttp = Nothing
%>
<%
Dim member_no, api_url, api_key, xmlHttp, responseText
member_no = "회원번호"
api_url = "https://rentmaster.co.kr/api/v1/rent/my_list.php?ext_id=" & member_no
api_key = "발급받은_API_KEY"
Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlHttp.Open "GET", api_url, False
xmlHttp.setRequestHeader "Authorization", "Bearer " & api_key
xmlHttp.Send
responseText = xmlHttp.responseText
Response.Write responseText
Set xmlHttp = Nothing
%>
<%
Dim api_url, api_key, postData, xmlHttp, responseText
api_url = "https://rentmaster.co.kr/api/v1/rent/cancel_reserve.php"
api_key = "발급받은_API_KEY"
postData = "{""orderno"":""주문번호"",""ext_id"":""회원번호""}"
Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlHttp.Open "POST", api_url, False
xmlHttp.setRequestHeader "Authorization", "Bearer " & api_key
xmlHttp.setRequestHeader "Content-Type", "application/json"
xmlHttp.Send postData
responseText = xmlHttp.responseText
Response.Write responseText
Set xmlHttp = Nothing
%>
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class RentmasterApi {
public static void main(String[] args) {
try {
URL url = new URL("https://rentmaster.co.kr/api/v1/item/list.php?page=1");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "Bearer 발급받은_API_KEY");
conn.setRequestProperty("Content-Type", "application/json");
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line;
StringBuilder response = new StringBuilder();
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class RentmasterDetailApi {
public static void main(String[] args) {
try {
String itemcode = "상품코드입력";
URL url = new URL("https://rentmaster.co.kr/api/v1/item/detail.php?itemcode=" + itemcode);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "Bearer 발급받은_API_KEY");
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line;
StringBuilder response = new StringBuilder();
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class RentmasterReserveApi {
public static void main(String[] args) {
try {
URL url = new URL("https://rentmaster.co.kr/api/v1/rent/reserve.php");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Bearer 발급받은_API_KEY");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonInputString = "{\"barcode\":\"바코드\",\"member_no\":\"회원번호\",\"target_date\":\"2023-12-31\"}";
try(OutputStream os = conn.getOutputStream()) {
byte[] input = jsonInputString.getBytes("utf-8");
os.write(input, 0, input.length);
}
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line;
StringBuilder response = new StringBuilder();
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class RentmasterMyPageApi {
public static void main(String[] args) {
try {
String extId = "회원번호";
URL url = new URL("https://rentmaster.co.kr/api/v1/rent/my_list.php?ext_id=" + extId);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "Bearer 발급받은_API_KEY");
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line;
StringBuilder response = new StringBuilder();
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class RentmasterCancelApi {
public static void main(String[] args) {
try {
URL url = new URL("https://rentmaster.co.kr/api/v1/rent/cancel_reserve.php");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Bearer 발급받은_API_KEY");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonInputString = "{\"orderno\":\"주문번호\",\"ext_id\":\"회원번호\"}";
try(OutputStream os = conn.getOutputStream()) {
byte[] input = jsonInputString.getBytes("utf-8");
os.write(input, 0, input.length);
}
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line;
StringBuilder response = new StringBuilder();
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
import React, { useState, useEffect } from 'react';
function ProductList() {
const [items, setItems] = useState([]);
const apiKey = "발급받은_API_KEY";
useEffect(() => {
fetch("https://rentmaster.co.kr/api/v1/item/list.php?page=1", {
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
}
})
.then(res => res.json())
.then(data => {
if (data.success) {
setItems(data.data);
}
});
}, []);
return (
<div>
{items.map(item => (
<div key={item.itemcode}>
<h4>{item.itemname}</h4>
<p>재고: {item.available_stock}</p>
</div>
))}
</div>
);
}
export default ProductList;
import React, { useState, useEffect } from 'react';
function ProductDetail({ itemcode }) {
const [item, setItem] = useState(null);
const apiKey = "발급받은_API_KEY";
useEffect(() => {
fetch(`https://rentmaster.co.kr/api/v1/item/detail.php?itemcode=${itemcode}`, {
headers: {
"Authorization": `Bearer ${apiKey}`
}
})
.then(res => res.json())
.then(data => {
if (data.success) setItem(data.data);
});
}, [itemcode]);
if (!item) return <div>Loading...</div>;
return (
<div>
<h1>{item.itemname}</h1>
<p>보유 바코드 수: {item.barcodes?.length}</p>
</div>
);
}
export default ProductDetail;
import React from 'react';
function ReserveForm() {
const apiKey = "발급받은_API_KEY";
const handleReserve = async () => {
const payload = {
barcode: "바코드",
member_no: "회원번호",
target_date: "2023-12-31"
};
const res = await fetch("https://rentmaster.co.kr/api/v1/rent/reserve.php", {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
});
const data = await res.json();
if (data.success) {
alert("예약이 완료되었습니다.");
} else {
alert(`예약 실패: ${data.error}`);
}
};
return (
<button onClick={handleReserve}>예약하기</button>
);
}
export default ReserveForm;
import React, { useState, useEffect } from 'react';
function MyPage({ memberNo }) {
const [list, setList] = useState([]);
const apiKey = "발급받은_API_KEY";
useEffect(() => {
fetch(`https://rentmaster.co.kr/api/v1/rent/my_list.php?ext_id=${memberNo}`, {
headers: { "Authorization": `Bearer ${apiKey}` }
})
.then(res => res.json())
.then(data => {
if (data.success) setList(data.data);
});
}, [memberNo]);
return (
<ul>
{list.map(rent => (
<li key={rent.orderno}>
{rent.itemname} - {rent.status_name}
</li>
))}
</ul>
);
}
export default MyPage;
import React from 'react';
function CancelButton({ orderno, memberNo }) {
const apiKey = "발급받은_API_KEY";
const handleCancel = async () => {
if (!window.confirm("예약을 취소하시겠습니까?")) return;
const res = await fetch("https://rentmaster.co.kr/api/v1/rent/cancel_reserve.php", {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
},
body: JSON.stringify({ orderno: orderno, ext_id: memberNo })
});
const data = await res.json();
if (data.success) {
alert("예약이 취소되었습니다.");
} else {
alert(`취소 실패: ${data.error}`);
}
};
return (
<button onClick={handleCancel}>예약 취소</button>
);
}
export default CancelButton;
Rentmaster API Test Portal
Powered by Etopia Co., Ltd.