본문 바로가기
Python

[Python] 파이썬 쿠팡 파트너스 API 활용하기

by 퍼포먼스마케팅코더 2022. 6. 5.
반응형

안녕하세요, 마케팅코더입니다.
오늘은 파이썬으로 쿠팡 파트너스로 API 활용하는 방법에 대해 말씀드리고자 합니다.

현재 나와있는 쿠팡 파트너스 내에 API 가이드로 실제 코딩을 돌려볼시 다소 문제가 있는 점으로 보입니다.

이에 각종 코딩이 달라서 에러 반환시 신경써야되는 일도 많이 겪습니다.

이에 쿠팡파트너스의 API를 제대로 활용하는 방안을 알아보도록 하겠습니다.
 
먼저 저는 3.9.7 파이썬 버전을 사용했습니다. 이외 작업은 주피터 노트북에서 실행한 결과입니다. 
오늘 파이썬 작업은 실제 쿠팡 파트너스 API를 활용하여 그 결과값을 제대로 받는 작업까지 입니다.

 

[Python] 파이썬 쿠팡 파트너스 API 활용하기

 

파이썬 쿠팡파트너스 API 발급 

먼저 하기 이미지와 같이 추가가능 > 파트너스 API 메뉴에서 들어갑니다. 

 

파이썬 쿠팡파트너스 API 발급

 

이외 하기에 보시면 아시겠지만 API 키 발급을 해줍니다. 

특히 Access Key 와, Secret Key는 보안상 문제로 절대 노출되지 않도록 각심히 유의하여 보시면 됩니다. 

이에 해당 키 발급을 가졌다는 것으로 보고, 이제 시작합니다. 

 

파이썬 쿠팡파트너스 API 발급

 

 

파이썬 쿠팡파트너스 API 검색 키워드 상품 정보 결과 가져오기

 

하기 코딩은 검색 키워드에 대한 쿠팡 검색 결과와 상세 상품 정보를 보여줍니다. 한번 살펴볼까요?

예를 들어, "냉장고" 라는 검색 키워드를 검색했을 시의 하기 이미지와 같은 검색 정보를 json 파일로 받아옵니다. 

다만 주의사항으론 검색 키워드를 1시간 내 10회 이상시 과다 호출로 정지 먹을 수 있습니다!

과다 호출시 24시간동안 API 사용이 안 되니 꼭 유의하시길 바랍니다.

 

파이썬 쿠팡파트너스 API 검색 키워드 결과 확인하기

 

#쿠팡 파트너스 - 검색키워드 입력

import hmac
import hashlib
import binascii
import os
import time
import requests
import json
import urllib.request
from selenium import webdriver
import secrets
from urllib.parse import urlencode
from time import gmtime, strftime
import pandas as pd

keyword ='애플워치스트랩'  #키워드를 입력하세요!

REQUEST_METHOD = "GET"
DOMAIN = "https://api-gateway.coupang.com"
URL = "/v2/providers/affiliate_open_api/apis/openapi/products/search?keyword="+urllib.parse.quote(keyword)+"&limit=10" 

# Replace with your own ACCESS_KEY and SECRET_KEY
ACCESS_KEY = ""  #access_key 를 입력하세요!
SECRET_KEY = ""  #secret_key 를 입력하세요!

def generateHmac(method, url, api_secret_key, api_access_key):
    path, *query = url.split('?')
    os.environ['TZ'] = 'GMT+0'
    dt_datetime = strftime('%y%m%d', gmtime()) + 'T' + strftime('%H%M%S', gmtime()) + 'Z'  # GMT+0
    msg = dt_datetime + method + path + (query[0] if query else '')
    signature = hmac.new(bytes(api_secret_key, 'utf-8'), msg.encode('utf-8'), hashlib.sha256).hexdigest()
 
    return 'CEA algorithm=HmacSHA256, access-key={}, signed-date={}, signature={}'.format(api_access_key, dt_datetime, signature)
 

authorization = generateHmac(REQUEST_METHOD, URL, SECRET_KEY, ACCESS_KEY)
url = "{}{}".format(DOMAIN, URL)
resposne = requests.request(method=REQUEST_METHOD, url=url,
                            headers={
                                "Authorization": authorization,
                                "Content-Type": "application/json"
                            },
                            data=json.dumps(REQUEST)
                            )

r_data = resposne.json() #json

r_data['data']  #결과 보기

#keyword_result_summary = pd.DataFrame(r_data['data']['productData'])  # 데이터 프레임
#keyword_result_summary #보기


#product_urls = r_data['data']['productData']

#product_urls

#keyword_result_summary

 

파이썬 쿠팡파트너스 API 숏츠 링크 만들기

 

하기 코딩은 각 쿠팡 상품 페이지 내의 숏츠 링크를 자동으로 생성해 줍니다. 한번 살펴볼까요?

예를 들어, 특정 상품 페이지의 쿠팡 상품 링크를 넣으면 하기와 같이 rCode의 0결과와 함께 숏츠 링크를 확인할 수 있습니다.  

 

파이썬 쿠팡파트너스 API 숏츠 링크 만들기

 

 

#쿠팡 파트너스 기본 예제(숏츠 링크생성)

import hmac
import hashlib
import binascii
import os
import time
import requests
import json
import urllib.request
from selenium import webdriver
import secrets
from urllib.parse import urlencode
import hmac
import hashlib
import binascii
import os
import time
import requests
import json
from time import gmtime, strftime

REQUEST_METHOD = "POST"
DOMAIN = "https://api-gateway.coupang.com"
URL = "/v2/providers/affiliate_open_api/apis/openapi/v1/deeplink"

# Replace with your own ACCESS_KEY and SECRET_KEY
ACCESS_KEY = "" #키를 입력하세요!
SECRET_KEY = "" #키를 입력하세요!


REQUEST = { "coupangUrls": ['https://www.coupang.com/vp/products/5078753461',  #쿠팡 URL를 집어넣습니다. 
'https://www.coupang.com/vp/products/2303973364'
]
}


def generateHmac(method, url, api_secret_key, api_access_key):
    path, *query = url.split('?')
    os.environ['TZ'] = 'GMT+0'
    dt_datetime = strftime('%y%m%d', gmtime()) + 'T' + strftime('%H%M%S', gmtime()) + 'Z'  # GMT+0
    msg = dt_datetime + method + path + (query[0] if query else '')
    signature = hmac.new(bytes(api_secret_key, 'utf-8'), msg.encode('utf-8'), hashlib.sha256).hexdigest()
 
    return 'CEA algorithm=HmacSHA256, access-key={}, signed-date={}, signature={}'.format(api_access_key, dt_datetime, signature)
 

authorization = generateHmac(REQUEST_METHOD, URL, SECRET_KEY, ACCESS_KEY)
url = "{}{}".format(DOMAIN, URL)
resposne = requests.request(method=REQUEST_METHOD, url=url,
                            headers={
                                "Authorization": authorization,
                                "Content-Type": "application/json"
                            },
                            data=json.dumps(REQUEST)
                            )

print(resposne.json())

 

파이썬 쿠팡파트너스 API 카테고리별 베스트 상품 관련 상세 상품 정보

 

하기 코딩은 각 카테고리별 베스트 상품 관련 상세 상품 정보를 반환하여 보여줍니다. 한번 살펴볼까요?

예를 들어, 각 카테고리 코드를 categoryID에 넣으면 하기 이미지와 같이 rCode의 0결과와 함께 해당 베스트 상품의 상세 정보를 Top 100 위까지 확인 가능합니다.  해당 ID는 "1019" 카테고리 ID를 입력시 관련 데이터 프레임 형식으로 결과값을 반환되도록 설정한 것입니다.

 

파이썬 쿠팡파트너스 API 카테고리별 베스트 상품 관련 상세 상품 정보

 

#쿠팡 파트너스 - 카테고리별 베스트 상품에 대한 상세 상품 정보 생성

import hmac
import hashlib
import binascii
import os
import time
import requests
import json
import urllib.request
from selenium import webdriver
import secrets
from urllib.parse import urlencode
from time import gmtime, strftime
import pandas as pd

	
#카테고리 코드
#Id	이름
#1001	여성패션
#1002	남성패션
#1010	뷰티
#1011	출산/유아동
#1012	식품
#1013	주방용품
#1014	생활용품
#1015	홈인테리어
#1016	가전디지털
#1017	스포츠/레저
#1018	자동차용품
#1019	도서/음반/DVD
#1020	완구/취미
#1021	문구/오피스
#1024	헬스/건강식품
#1025	국내여행
#1026	해외여행
#1029	반려동물용품
#1030	유아동패션

categoryId = '1019' # 카테고리 ID를 입력해주세요.

REQUEST_METHOD = "GET"
DOMAIN = "https://api-gateway.coupang.com"
URL = "/v2/providers/affiliate_open_api/apis/openapi/products/bestcategories/"+str(categoryId)+ "?limit=100"

# Replace with your own ACCESS_KEY and SECRET_KEY
ACCESS_KEY = "" #키를 입력하세요!
SECRET_KEY = "" #키를 입력하세요!

REQUEST = { "coupangUrls": ["https://www.coupang.com/np/search?component=&q=good&channel=user", "https://www.coupang.com/np/coupangglobal"]}

def generateHmac(method, url, api_secret_key, api_access_key):
    path, *query = url.split('?')
    os.environ['TZ'] = 'GMT+0'
    dt_datetime = strftime('%y%m%d', gmtime()) + 'T' + strftime('%H%M%S', gmtime()) + 'Z'  # GMT+0
    msg = dt_datetime + method + path + (query[0] if query else '')
    signature = hmac.new(bytes(api_secret_key, 'utf-8'), msg.encode('utf-8'), hashlib.sha256).hexdigest()
 
    return 'CEA algorithm=HmacSHA256, access-key={}, signed-date={}, signature={}'.format(api_access_key, dt_datetime, signature)
 

authorization = generateHmac(REQUEST_METHOD, URL, SECRET_KEY, ACCESS_KEY)
url = "{}{}".format(DOMAIN, URL)
resposne = requests.request(method=REQUEST_METHOD, url=url,
                            headers={
                                "Authorization": authorization,
                                "Content-Type": "application/json"
                            },
                            data=json.dumps(REQUEST)
                            )

r_data = resposne.json() #json
r_data['data']
category_result_summary = pd.DataFrame(r_data['data'])  # 데이터 프레임
category_result_summary #보기

 

파이썬 쿠팡파트너스 API 결과시연 장면

 

하기는 첫번째는 검색 키워드를 입력시 반환되는 쿠팡 파트너스 API 결과값을 json 형태로 따본 것입니다. 그리고 2번째는 쿠팡 파트너스 API 카테고리별 베스트 상품 관련 상세 상품 정보를 DataFrame 형태로 본 내용입니다.  숏츠 부분도 있긴 하지만, 더 자세한 결과를 알고 싶으시면 하기에 써진 곳으로 문의주시면 될 것 같습니다. 

 

파이썬 쿠팡파트너스 API 활용하기

 

파이썬 쿠팡파트너스 API 관련 더 자세한 정보를 알고 싶으신가요?

 

쿠팡파트너스 API를 파이썬을 통해 더 자세한 정보 등을 알고 싶으시다면 언제든지 댓글로 편하게 말씀주세요.  

제가 아는 한도 내의 정보는 전부 공유드릴 수 있도록 해보겠습니다.  이에 여러분들의 쿠팡 파트너스를 통한 금전적인 수익 활동에 소폭 도움이 되시길 바랍니다. 

 

이외 하기로 여러분들의 궁금증이 있으시면 편하게 댓글 주시면 될것 같습니다. 

 

오늘도 봐주셔서 감사합니다. 

 

 

문의 ▶ big203040@naver.com

깃허브 ▶ https://github.com/DBhyeong/digital-marketing/blob/main/%5BPython%5D-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%BF%A0%ED%8C%A1-%ED%8C%8C%ED%8A%B8%EB%84%88%EC%8A%A4-API-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0

카톡문의 ▶ https://open.kakao.com/me/hyeonginkorea

https://open.kakao.com/me/hyeonginkorea

 

디지털마케팅코더님의 오픈프로필

안녕하세요, 마케팅 분석을 하여 취미로 코딩하는 디지털마케팅 코더입니다.

open.kakao.com

 

 

반응형

댓글