본문 바로가기
해외 오픈마켓 - API/Cafe24

[API] Cafe24 - API 호출 예시

by Johnny's 2023. 4. 18.

상품정보 - 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) 등을 활용해서 업무를 진행하는데 있어 불편함을 개선하고, 업무의 속도향상 등 다양한 지니스 문제를 해결하는데 도움이 되면 좋을 것 같다.

 

* 참고

- Cafe24 공식문서 - Admin API

댓글