[광고] 쿠팡파트너스 API + GPT를 활용한 개인화 추천 구조 설계

송현진·2025년 5월 3일
0

Architecture

목록 보기
3/18

이 포스팅은 쿠팡 파트너스 활동의 일환으로 이에 따른 일정액의 수수료를 제공받습니다.

❓쿠팡파트너스 API란?

쿠팡파트너스 API는 쿠팡에서 제공하는 제휴 마케팅용 상품 검색 API로 파트너스 등록을 완료한 사용자가 자신의 사이트나 앱에 상품 링크를 생성해 수익을 창출할 수 있도록 지원하는 API이다.

  • 검색어 기반으로 상품을 조회할 수 있고 한 키워드당 최대 50개의 상품을 응답으로 받을 수 있다.
  • 인증은 accessKeysecretKey를 기반으로 HMAC 서명을 생성해 요청해야 하며 RESTful GET 방식으로 검색 API를 사용할 수 있다.
  • 실시간성이 보장되진 않지만 카테고리, 키워드, 브랜드 등으로 상품 데이터를 확보하기에 유용하다.

예시로 아래 상품은 쿠팡파트너스 API를 통해 응답받은 상품들입니다.

스타벅스 디카프 에스프레소 로스트 네스프레소 캡슐커피, 5.7g, 10개입, 3개 PS 초유 프로틴+콜라겐 프리미엄 저분자 분리유청 단백질 초유단백질 420g x 2통, 2개 스너글 초고농축 섬유유연제 오리지널 허거블 코튼 본품, 4L, 1개 란도린 섬유유연제 클래식 플로랄 리필, 1440ml, 1개 도브 포메그라네이트 시드 앤드 시어버터 스크럽, 298g, 1개
네스프레소 스타벅스 에스프레소 로스트 캡슐커피, 5.7g, 10개입, 3개 일리 엑스트라 볼드 로스트 에스프레소 그라운드 네스프레소 호환 캡슐커피, 5.7g, 10개입, 3개 그리니즈 티니 강아지 덴탈껌 치석제거 체중관리용, 티니오리지널, 1.02kg, 1개 곰곰 냉동 블루베리, 1kg, 1개 서울우유 더진한 순수 플레인 요거트, 2.45L, 1개입, 1개

해당 위젯은 쿠팡파트너스 활동의 일환으로 이에 따른 일정액의 수수료를 제공받습니다.

🤔 구현 초기 아이디어

  1. 사용자의 질문을 분석해 3가지 룰 기반 키워드 + 3가지 자연어 기반 키워드를 추출
  2. 이 키워드들로 쿠팡파트너스 API에 검색 요청을 보내고 받아온 상품 목록에서 추천할 상품을 선택
  3. 사용자에게 적절한 상품을 GPT 또는 규칙 기반으로 추천 응답으로 제공

⚠️ 문제점

사용자의 질문마다 API 요청을 보내는 구조는 속도와 비용 측면에서 부담이 된다고 생각했다. 고민한 결과 쿠팡파트너스 API는 키워드당 최대 50개 상품 제한이 있어 다양한 상황에 실시간 대응하기엔 한계가 있다고 판단했다. 그래서 실시간성보다는 캐싱/사전수집이 유리하다고 생각했고 결과적으로 추천 품질을 높이기 위해서는 단순 API 응답이 아닌 사전 데이터 확보와 필터링/분석이 필요하다는 결론이 나왔다.

🔄️ 개선 방향

자연어로부터 키워드를 추출하기 위해서 OpenAI API를 진행할 예정이기 때문에 우리가 사전에 정의한 키워드 리스트를 GPT 프롬프트에 심어서 매칭을 시켜주기로 했다. 결국 사용자 응답으로부터 가장 잘 어울리는 키워드 매칭을 통해 추천시켜주기 때문에 키워드들에 해당하는 상품에 대한 사전 데이터를 DB에 저장하는 방식을 선택했다. 그렇게 되면 사용자가 원하는 키워드들에 대한 신뢰도를 체크해서 만약 추천할만한 신뢰도가 나왔다면 미리 수집한 상품 DB 내에서 처리하도록 생각했고 만약 신뢰도가 낮아서 그 키워드로 실시간 API 호출을 해야되는 상황이 온다면 로딩의 시간을 주고 보여주던가 알림 형태로 후속 추천을 제공하는 형식으로 생각 중이다.

📝 배운점

실시간 API 호출은 추천 응답의 품질과 속도에 영향을 준다는 점에서 사전 데이터 확보 전략이 중요함을 느꼈다.

또한 쿠팡파트너스 API는 단일 키워드 검색에 특화되어 있기 때문에 다양한 사용자 입력에 대응하려면 키워드 전처리 및 상품 사전 수집 전략이 좋다는 것을 알게 되었다. 결국 이렇게 추천을 하게되면 프롬프트에 대한 중요성이 커지고 어떤 키워드 리스트를 사전에 심어두느냐에 따라 추천 품질이 좋을지 안좋을지 나뉠 거 같다는 생각이 들었다.

그렇기에 추천 시스템은 단순 API 호출이 아니라 데이터 수집 -> 구조화 -> 키워드 매칭 -> 추천 모델 설계까지 전체 흐름을 고민해야 의미 있는 결과를 줄 수 있을 거라는 것을 알 수 있었다.

profile
개발자가 되고 싶은 취준생

0개의 댓글