개발 slecs

Cafe24 상품·배송 정보를 자체 DB에 배치 동기화

목차

feat: Cafe24 상품 및 배송 동기화 기능 추가

Cafe24 상품과 배송 정보를 자체 DB에 동기화하는 배치를 구현했음. Cafe24 Open API를 호출해서 우리 쪽 상품 테이블에 매핑하는 구조임.

동기화 플로우

Cafe24 API → 상품 목록 조회 → 자체 DB UPSERT → 변경분 감지 → 알림

API 호출 제한 대응

Cafe24 API는 분당 호출 제한이 있음. 배치에서 호출 간격을 조절하고 429 응답 시 backoff 처리 추가함.

private void callWithRetry(Runnable apiCall) {
    int maxRetry = 3;
    for (int i = 0; i < maxRetry; i++) {
        try {
            apiCall.run();
            return;
        } catch (RateLimitException e) {
            Thread.sleep(1000L * (i + 1));
        }
    }
}

상품 매핑 테이블

Cafe24 필드 자체 DB 필드 비고
product_no external_id Cafe24 고유번호
product_name product_nm
price unit_price
shipping_type delivery_type 코드 변환 필요

브랜드 tsv 파일을 별도로 관리해서 Cafe24 브랜드와 자체 카테고리를 매핑함. 브랜드가 늘어날 때 코드 배포 없이 파일만 교체 가능한 구조.

댓글 0

첫 댓글 달아줘.