Cafe24 상품 앱 연동 가이드

.
유재민's avatar
Apr 03, 2024
Cafe24 상품 앱 연동 가이드

Cafe24 API를 통한 브랜드 상품 정보 데이터 수집

  1. 관련 링크

    1. Cafe24 앱스토어 SILD 앱(링크)

    2. Cafe24 브랜드 앱 연동 가이드(링크), 가이드문서 파일서버(링크)

  2. 연동 흐름

         +--------+                               +---------------+
         |        |--(A)- Authorization Request ->|   Resource    |
         |        |                               |     Owner     |
         |        |<-(B)-- Authorization Grant ---|               |
         |        |                               +---------------+
         |        |
         |        |                               +---------------+
         |        |--(C)-- Authorization Grant -->| Authorization |
         | Client |                               |     Server    |
         |        |<-(D)----- Access Token -------|               |
         |        |                               +---------------+
         |        |
         |        |                               +---------------+
         |        |--(E)----- Access Token ------>|    Resource   |
         |        |                               |     Server    |
         |        |<-(F)--- Protected Resource ---|               |
         +--------+                               +---------------+
    
    출처: https://datatracker.ietf.org/doc/html/rfc6749#section-1.2

    (A) 브랜드 관리자 아이디로 Cafe24 앱스토어 SILD 앱(링크) 를 통해 앱 설치 버튼 클릭

    (B) SILD 서버의 앱 연동 API 호출되어 브랜드정보를 포함하여 Cafe24의 인증서버에 인증 코드 요청

    (C) redirect된 Cafe24의 인증서버를 통해 실드 검증 후 인증코드 발급

    (D) 받은 인증코드로 액세스 토큰 발급 요청하여 액세스 토큰 발급받아서 Token을 포함한 인증 데이터 저장

    (E) SILD Partners를 통해 입점신청(링크)을 하지 않았으면 실패 페이지(링크), 입점신청이 되어있으면 성공 페이지(링크) 로 이동됨

  3. 관련 ERD

    1. SILD Partners 입점신청(링크)시 provider 테이블에 등록

    2. SILD Cafe24 앱(링크) 설치시 app_auth 테이블에 등록

브랜드 공식 홈페이지와 상품 연동

Cafe24의 상품정보 수집 API를 호출하여 원본 데이터를 1차 테이블에 저장, 필요 정보만 가공하여 2차 테이블에 저장, 2차 테이블의 데이터를 ElasticSearch에 인덱싱

  1. 상품 연동

    1. 주기적 배치 상품 수집

      1. 아래 3-a 의 절차를 완료하면 수집이 시작됨

      2. Github > Server(링크)의 InitBatchJob.ts 파일에 서버 구동시 몇분 단위로 배치잡을 실행할지 설정함

  2. 상품 카테고리 연동

    1. 최초 카테고리 수집

    2. 주기적 배치 카테고리 수집

      1. 아래 3-a 의 절차를 완료하면 수집이 시작됨

      2. Github > Server(링크)의 InitBatchJob.ts 파일에 서버 구동시 몇분 단위로 배치잡을 실행할지 설정함

  3. 카페24 인증토큰 갱신 연동

    1. 최초 인증 수집

      1. SILD Cafe24 앱(링크) 설치시 최초 인증토큰 데이터가 app_auth에 등록, cafe24_shops에 해당 브랜드의 국가별 샵 정보 등록

      2. SILD Partners 입점신청(링크)시 provider에 등록

      3. SILD Partners 입점브랜드관리 > 브랜드 상세페이지 > 입점사 연동 탭에서 해당되는 mall id를 찾아 연결 작업 수행

      4. 연동 후 도메인 설정에서 수집할 몰을 설정 가능

    2. 주기적 배치 인증 수집

      1. Github > Server(링크)의 InitBatchJob.ts 파일에 서버 구동시 몇분 단위로 배치잡을 실행할지 설정함

Cafe24 API 상품 수집 호출

  • 상품정보를 한번에 최대 100개씩 가져올 수 있음

  • 100개에 대해서 세부 정보(할인정보 등)은 상품상세데이터를 따로 조회해야함

  • 가끔씩 일부 상품이 수집이 안되는 경우가 있어서 최종수집 이전 30분부터 현재시간까지 중복해서 수집

  • 수집 예제

    • 배치 잡이 아래처럼 cron expression으로 되어 있음

      10 */5 * * * *
    • 이전 수집은 2024-04-03 15:03:12에 끝남

    • 브랜드별 최종 수집일

      • A: 2024-04-03 15:00:12

      • B: 2024-04-03 15:02:10

      • C: 2024-04-03 15:03:12(이전 수집 최종 종료시간)

    • 다음 수집은 2024-04-03 15:05:10에 시작됨

    • A -> B -> C 브랜드 순서로 수집 시작

      • A는 2024-04-03 14:30:12(최종 수집일 30분 전)부터 현재 시간까지 수집

      • A는 15:10:10 이전에 종료됨(다음 최종 수집일은 15:10:10)

      • B는 2024-04-03 14:32:10부터 현재 시간까지 수집

    • 새 job은 스케줄상 15:10:10에 시작되어야 하는데 아직 이전 job실행중이면 job 취소로 기록

    • 계속 수집

    • B종료 후 C 시작 -> 종료까지 되어 job 마무리

카페24 개발자센터 페이지 관리

카페24 스토어에 등록된 실드 앱(링크) 관련 설정 등록하는 페이지(링크)

  • Apps > App 관리

    • STEP 01 개발 정보 관리

      • 기본정보

        • App URL: Cafe24에 인증하기 위한 진입 지점, 서버 API 호출(링크)

        • Redirect URI(s): Cafe24 인증 후 응답받는 서버 api 주소(링크)

      • 인증정보

        • Client ID, Client Secret Key : API 사용에 필요한 키, Secret Key는 보안유지 필요

    • STEP 02 판매스토어 및 언어

      • 따로 수정할 것 없음, 스토어 노출 / 미노출 변경 가능

    • STEP 03 판매정보 관리

      • Cafe24 앱스토어(링크)에 올라갈 내용 수정 가능

Share article

jaeminlog