- 전체
- HTML
- Web Design (웹디자인)
- XE 응용 개발
- wordpress plugin dev
- Javascript & JavaScript Application
- MEAN Stack : full stack javascript
- angular js & ionic framework
- bootstrap
- WebGL, Three.js and Babylon.js
- restful api design
- mobile web
- node.js 응용
- Cloud Service 응용
- 웹 어셈블리 개발 [WASM, WebAssembly]
- 마이크로서비스, MSA (microservice architecture)
- WebGL / WebGPU
- next.js 개발
- micro frontend (마이크로프론트앤드)
- 전자상거래/쇼핑몰
- 서버 클라우드 (aws, azure, google)
전자상거래/쇼핑몰 [전자상거래/쇼핑몰 개발] [카페24쇼핑몰] [API] Cafe24 - API 호출 예시
2024.06.25 23:41
[전자상거래/쇼핑몰 개발] [카페24쇼핑몰] [API] Cafe24 - API 호출 예시
상품정보 - Product

Cafe24 공식문서 - Admin API 에서 상품정보에 대한 부분은 Product 쪽을 확인해보면 된다. 이전에 발급 받았던 Access token을 가지고 상품 리스트를 호출해보려고 한다.
Request
require('dotenv').config();
const axios = require('axios');
// getProductList
const getProductList = () => {
console.log("",process.env.ACCESS_TOKEN)
axios({
method: 'GET',
url : `https://${process.env.ADMIN_ID}.cafe24api.com/api/v2/admin/products`,
headers: {
"Authorization": `Bearer ${process.env.ACCESS_TOKEN}`,
"Content-Type" : `application/json`
},
params:{
shop_no: 1,
limit:5
}
}).then((response) => {
console.log("response", response.data.products)
console.log("response.length", response.data.products.length)
}).catch((error)=> {
console.log(error.response)
})
}
getProductList();
Response
response [
{
shop_no: 1,
product_no: xxxxx,
product_code: 'P000DQGI',
custom_product_code: 'XX-XXX',
product_name: 'TEST PRODUCT NAME,
eng_product_name: null,
supply_product_name: '',
internal_product_name: '',
model_name: '',
price_excluding_tax: '100.00',
price: '25.00',
retail_price: '0.00',
supply_price: '0.00',
display: 'T',
selling: 'T',
product_condition: 'N',
product_used_month: null,
summary_description: '/product/list.html?cate_no=XXX',
product_tag: [],
margin_rate: '10.00',
tax_calculation: 'M',
....
response.length 5
response 값을 확인해보면 products 배열에 담겨져 있다. limit:5 값으로 5개만 호출해 봤는데, 요청한데로 response 값이 잘 넘어온것을 확인할 수 있다. 요청사양 Parameter 값을 확인해보면 엄청 많은 값들이 있다. 사용목적에 맞게 필요로 하는 Parameter 값을 넣어 호출하면 된다.

기본적으로 offset, limit 값을 이용해서 호출하면 되는데, 한가지 주의해야할 사항이 있다. 만약 등록된 상품이 5,000개 이상이라면 offset으로 조회할 수 없고 since_product_no 파라미터를 활용하라고 명시되어있다. (그래서 API 문서는 꼼꼼히 읽어봐야 한다.)

참고로 필자는 등록된 상품수가 5,000개 이상이라서 since_product_no를 활용했다. limit 값을 가지고 로직을 구현하면 된다. Response 값에 맞게 raw data 기반으로 DB를 설계하고, 상품정보를 수집하는 API를 개발했다. 수집한 상품 정보에 대한 데이터를 가지고 할 수 있는 일은 무궁무진하다. 또한, API를 활용해서 조회(GET)뿐만 아니라, 수정(POST, PUT), 삭제(DELETE) 등을 활용해서 업무를 진행하는데 있어 불편함을 개선하고, 업무의 속도향상 등 다양한 지니스 문제를 해결하는데 도움이 되면 좋을 것 같다.
[출처] https://jhlee-developer.tistory.com/entry/API-%08cafe24-API-%ED%98%B8%EC%B6%9C-%EC%98%88%EC%8B%9C
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 13 | [Next.js 개발] pm2 로 Next.js 실행하기 | 졸리운_곰 | 2025.07.01 | 480 |
| 12 | [Next.js 개발] NextAuth.js 를 이용한 자체 로그인 구현 | 졸리운_곰 | 2024.03.09 | 560 |
| 11 |
[Next.js 개발] Using Next.js Version 13
| 졸리운_곰 | 2024.03.09 | 409 |
| 10 |
[Next.js 개발] Common Errors in Next.js and How to Resolve Them
| 졸리운_곰 | 2024.03.09 | 468 |
| 9 | [Next.js 개발] [Javascript] 현재 날짜, 시간 구하기 | 졸리운_곰 | 2024.03.09 | 431 |
| 8 |
[Next.js 개발] Using Next.js Version 13 : Next.js 버전 13 사용
| 졸리운_곰 | 2024.03.07 | 499 |
| 7 |
[Next.js 개발] [React] useEffect에서 async/await
| 졸리운_곰 | 2024.03.06 | 362 |
| 6 |
[next.js 개발] How to use fetch API in Next.js?
| 졸리운_곰 | 2024.03.05 | 368 |
| 5 | [next.js 개발] Next.js14에 Mysql연결하기 | 졸리운_곰 | 2024.03.05 | 457 |
| 4 |
[next.js 개발] How To Connect MySQL And Auth To A Next.js App
| 졸리운_곰 | 2024.03.05 | 323 |
| 3 |
[next.js 개발] Next.js 소개와 14 버전 변경사항 – React 인기 라이브러리
| 졸리운_곰 | 2024.03.05 | 523 |
| 2 | [next.js 개발] next.js API 호출시 - 수신부따로 호출하고 await 붙일것 | 졸리운_곰 | 2024.03.05 | 555 |
| 1 | [next.js 개발] [Next.js] Fetch POST body에 json 형태로 데이터 주고받기 (json형 / object형 차이) | 졸리운_곰 | 2024.03.05 | 457 |

