파이썬(python)으로 쿠팡 파트너스 API 활용하기2

안녕하세요 홍지군입니다. 

지난 시간에는 쿠팡 파트너스에서 기본으로 제공해주는 python 소스를 가지고 하나하나 출력해보는 시간을 가졌습니다. 

 

 기본으로 제공하는 소스에서는 "links 입력된 쿠팡 상품 링크를 파트너스 회원의 링크로 변환합니다."의 기능이었고 메소드 형식은 POST형식으로 제공받았습니다. 

 

이번 시간에서는 메소드 형식이 GET으로 되어 데이터를 받아오는 형식의  소스코드를 확인해보겠습니다. 

 

쿠팡 파트너스 홈페이지 -> 도움말 -> 이용 가이드 -> 파트너스 API -> 문서 항목에서 정보들을 확인하실 수 있습니다. 

여러개의 상품 정보 생성중 "검색 키워드"를 활용한 api를 활용해 보겠습니다. 

키워드 검색의 주요 Parameters
keyword (string)  = 검색하고 싶은 검색어 
limit (integer) = 한번 검색으로 1 ~ 100개까지 정보수집이 가능하고 limit 설정을 하지 않는다면 기본으로 20개를 보여줍니다.
subId (string)  = 쿠팡의 채널 아이디

Keyword, limit, subId는 어디에 들어갈까??

/v2/providers/affiliate_open_api/apis/openapi/products/search?keyword="키워드"&limit="개수"&subId="채널 아이디

 

import hmac
import hashlib
import binascii
import os
import time
import requests
import json
import urllib.parse

class Coupang:
		#Coupang default value Access_ket and Secret_key and etc...
		def __init__(self):
			self.access_key = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
			self.secret_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
			self.subId = ''
			self.method = 'GET'
			self.DOMAIN = 'https://api-gateway.coupang.com'
			
		def generateHmac(self, url):
			path, *query = url.split("?")
			os.environ["TZ"] = "GMT+0"
			datetime = time.strftime('%y%m%d',time.gmtime()) + 'T' + time.strftime('%H%M%S',time.gmtime()) + 'Z'
			message = datetime + self.method + path + (query[0] if query else "")
			signature = hmac.new(bytes(self.secret_key, "utf-8"), message.encode("utf-8"), hashlib.sha256).hexdigest()
			
			return "CEA algorithm=HmacSHA256, access-key={}, signed-date={}, signature={}".format(self.access_key, datetime, signature)
      
		def search_coupang(self, keyword):
			URL = "/v2/providers/affiliate_open_api/apis/openapi/products/search?keyword=" + keyword + "&limit=10"
			url = "{}{}".format(self.DOMAIN, URL)
			response = requests.request(method=self.method, url=url, headers={"Authorization": self.generateHmac(URL),"Content-Type": "application/json;charset=UTF-8"})
			resdata = json.dumps(response.json(), indent=4, ensure_ascii=False)
			print(resdata)
			return 0 
        
keyword = "ipad"
Coupang().search_coupang(keyword)

검색을 통해서 정보를 얻어오는 python 소스 입니다. 

해당 소스에서 self.access_keyself.secret_key 부분의 소스코드를 발급받은 개인의 api키로 변경합니다. 그대로 복사한다면 들여쓰기 오류가 발생할 수 있기때문에 복사붙여넣기를 하시는 분들이라면 들여쓰기를 확인해보세요. 

*복사 붙여넣기 보다 소스코드를 작성하면서 이해하는 것이 자신이 추가로 변경할때와 나중에 다시 소스를 확인했을 때 에도 이해하기 쉽습니다. 

소스코드를 실행시키면 json 형식으로 데이터를 받아올 수 있게 됩니다. 

def search_coupang(self, keyword)
URL = "/v2/providers/affiliate_open_api/apis/openapi/products/search?keyword=" + keyword + "&limit=10"

소스 코드에서 URL = "/v2/pro ... " 부분의 뒷부분을 보겠습니다. 

keyword = " + keyword + "&limit=10" 

빨간색으로 표시된 keyword는 위에 def search_coupang(self, keyword)에서 받아온 인자값입니다. 문자와 문자 사이에 변수의 값을 집어 넣고 싶을 때에는 "문자열 " + 변수 + "문자열" 로 이어줄 수 있습니다.

 

현재 소스에서는 keyword는 전달받은 값으로 사용하고 있지만 limit은 고정값으로 10개를 지정해서 사용하고 있습니다. 이번에는 limit값을  받아와서 지정하는 것으로 한번 해보겠습니다. 

def search_coupang(self, keyword, limit):
    URL= "/v2/providers/affiliate_open_api/apis/openapi/products/search?=keyword=" + keyword + "&limit=" + limit

...

keyword = 'ipad'
limit = 10
Coupang().search_coupang(keyword, limit)

소스를 변경하고 limit값을 1 ~ 100개까지 변경해가면서 소스를 확인해보세요.

 

이번시간에는 키워드를 검색해서 상품의 정보를 받아오는 것까지 해봤습니다. 다음 시간에는 json의 값을 하나하나 뽑아서 사용하는 방법에 대해서 한번 공부해보는 시간을 가져보겠습니다. 

 

*주의사항

1시간에 30회 이상 api를 호출하게 될 경우 24시간 동안 쿠팡 파트너스 사용이 불가능하고 3번 정지당하게 되면 계정이 정지되니 주의하시기 바랍니다.  

 

 

쿠팡 파트너스 추천인 
AF1348858

 

 

구독을 통해서 더 많은 정보를 빠르게 받아보실 수 있습니다. 

궁금하신 점이 있으시면 댓글에 남겨주세요. 궁금하신 다른 api활용도 댓글에 남겨주세요. 

댓글

Designed by JB FACTORY