- 전체
- 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
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 8 | 제로보드 XE의 최근 게시글 5개를 DB에서 직접 조회 | 졸리운_곰 | 2020.08.04 | 456 |
| 7 | python 으로 XE mysql 쿼리로 자동 게시물 등록하기 | 졸리운_곰 | 2020.03.03 | 448 |
| 6 | [WP]외부 게시판을 IFRAME으로 넣기 | 졸리운_곰 | 2019.01.30 | 533 |
| 5 | XE(제로보드) 게시판 내 스크립트 사용하기 | 가을의곰 | 2017.06.18 | 734 |
| 4 | XE 새 템플릿 문법으로 원하는 위치(head, body)에 JS 선언하기. | 가을의곰 | 2017.06.18 | 308 |
| 3 | 예제를 통해 쉽게 읽어보는 XE모듈개발 시작하기 | 졸리운_곰 | 2016.05.10 | 585 |
| 2 | [시니시즘] 비회원에게 파일 다운로드 권한이 없다고 뜰 때 | 졸리운_곰 | 2016.04.14 | 766 |
| 1 | XE 템플릿 구문 | 졸리운_곰 | 2015.05.12 | 1135 |

