반응형
쿠팡 파트너스 활동 중 API로 베스트 상품을 가져올 수 있는 부분이 있어서 파이썬 배치를 위해 간단하게 예제 코드를 작성했습니다.
import hmac
import hashlib
import requests
from time import gmtime, strftime
# 문자열 정제 함수
def clearStr(str):
return str.replace(" ", "").replace(",", "").replace("원", "").replace("\n", "").replace("%", "")
# HMAC 서명 생성 함수
def generateHmac(method, url, secretKey, accessKey):
path = url.split("?")[0]
query = url.split("?")[1:]
datetimeGMT = strftime('%y%m%d', gmtime()) + 'T' + strftime('%H%M%S', gmtime()) + 'Z'
message = datetimeGMT + method + path + (query[0] if query else "")
signature = hmac.new(bytes(secretKey, "utf-8"),
message.encode("utf-8"),
hashlib.sha256).hexdigest()
return "CEA algorithm=HmacSHA256, access-key={}, signed-date={}, signature={}".format(accessKey, datetimeGMT, signature)
# 카테고리 ID와 이름 매핑
categories = {
1001: '여성패션',
1002: '남성패션',
1010: '뷰티',
1011: '출산/유아동',
1012: '식품',
1013: '주방용품',
1014: '생활용품',
1015: '홈인테리어',
1016: '가전디지털',
1017: '스포츠/레저',
1018: '자동차용품',
1019: '도서/음반/DVD',
1020: '완구/취미',
1021: '문구/오피스',
1024: '헬스/건강식품',
1025: '국내여행',
1026: '해외여행',
1029: '반려동물용품',
1030: '유아동패션'
}
coupang_item_limit = 1 # 한번에 가져올 개수(카테고리별)
sub_id = "" # 쿠팡 채널 id
ACCESS_KEY = ""
SECRET_KEY = ""
# 모든 카테고리에 대해 반복
for key, value in categories.items():
coupang_category_id = key
REQUEST_METHOD = "GET"
DOMAIN = "https://api-gateway.coupang.com"
URL = "/v2/providers/affiliate_open_api/apis/openapi/v1/products/bestcategories/" + str(coupang_category_id) + '?limit=' + str(coupang_item_limit) + '&subId=' + sub_id
# HMAC 서명 생성
authorization = generateHmac(REQUEST_METHOD, URL, SECRET_KEY, ACCESS_KEY)
url = "{}{}".format(DOMAIN, URL)
response = requests.request(method=REQUEST_METHOD, url=url,
headers={
"Authorization": authorization,
"Content-Type": "application/json"
}
)
# API 응답 데이터 파싱
data = response.json()
# 상품 정보 출력
for item in data['data']:
productId = item['productId']
productName = item['productName']
productPrice = item['productPrice']
productImage = item['productImage']
productUrl = item['productUrl']
# 여기에서 상품 정보를 활용하여 원하는 작업을 수행할 수 있습니다.
- generateHmac 함수는 HMAC 서명을 생성합니다. 요청 메서드, URL, 비밀키, 액세스 키를 입력받아 서명을 생성하고 반환합니다.
- categories 변수는 카테고리 ID와 이름을 매핑한 딕셔너리입니다.
- coupang_item_limit 변수는 한 번에 가져올 상품의 개수를 제한하는 변수입니다.
- sub_id, ACCESS_KEY, SECRET_KEY는 쿠팡 API를 사용하기 위해 필요한 인증 정보입니다.
- for 루프를 사용하여 모든 카테고리에 대해 API 요청을 보냅니다.
- generateHmac 함수를 사용하여 HMAC 서명을 생성하고, 요청을 보내고 응답을 받습니다.
- 응답 데이터를 파싱하여 상품 정보를 추출하고 원하는 작업을 수행할 수 있습니다.
반응형
'개발자, 탐구생활 > 개발자, 코딩' 카테고리의 다른 글
네이버 지도 API 사용하기 / 네이버 MAP API / NAVER MAP API (0) | 2023.10.18 |
---|---|
네이버 검색 API 사용해보기 (0) | 2023.09.15 |
SSL 인증서에 대하여 (0) | 2023.08.18 |
[ELK Stack]우분투 엘라스틱서치 설치하기/ElasticSearch (0) | 2023.07.13 |
[js] 깔끔하고 사용하기 쉬운 알림 sweetalert2.js (0) | 2023.07.12 |