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
첫 댓글 달아줘.