파이썬으로 쿠팡 파트너스 api활용하기 초기 테스트용 소스

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

 

개인용으로 사용하는 개인 웹 사이트에 글 자동 등록을 하는 프로그램을 테스트 하고 현재는 약간의 오류가 생기는 부분과 맨트의 추가 등등 다양한 변경을 하면서 조금씩 편하게 사용할 수 있도록 변형 수정하고 있는 중입니다. 

 

파이썬 프로그래밍을 활용해서 쉽게 이해 할 수 있도록 소스코드를 공유하는 시간을 가져볼려고 합니다.

 

이번시간에는 간단하게 쿠팡 파트너스에서 api발급을 받고 python을 활용해 쿠팡에서 기본으로 제공하는 api연동 소스에 대해서 한번 알아보겠습니다.

쿠팡 파트너스에 로그인하고 추가 기능 -> 파트너스 API 로 이동해줍니다. 

 

API 키 발급 항목에 "생성" 버튼을 눌러주면 간단하게 쿠팡 API키를 발급 받으실 수 있습니다. 

클릭 한번으로 간단하게 Access KeySecret Key를 발급 받으 실 수 있습니다. 해당 Access Key와 Secret Key는 쿠팡 API에 접근하기 위한 고유한 값이기 때문에 개인 스스로 보안을 유지해 타인에게 노출되는 일이 없도록 하셔야 합니다. 

 

API를 발급받았다면 도움말 -> 이용 가이드 -> 파트너스 API로 이동해 Java, Python, PHP, C#, Node.js 등등의 초기 소스를 확인해 보실 수 있습니다. 저는 Python으로 연동을 하는 방식의 소스코드를 한번 살펴보겠습니다. 

 

import hmac
import hashlib
import binascii
import os
import time
import requests
import json


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 = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 
SECRET_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

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

def generateHmac(method, url, secretKey, accessKey):
    path, *query = url.split("?")
    os.environ["TZ"] = "GMT+0"
    datetime = time.strftime('%y%m%d')+'T'+time.strftime('%H%M%S')+'Z'
    message = datetime + 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, 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())

위에 소스는 쿠팡 파트너스 홈페이지에서 기본으로 제공해주는 Python 소스입니다. 그럼 이제 한번 소스코드를 테스트 해보도록 하겠습니다.

ACCESS_KEY = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 
SECRET_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

 

해당 소스 코드에 보면 ACCESS_KEY와 SECRET_KEY의 문자는 모두 x로 처리가 되어있는데 해당 정보는 이전에 발급받은 access_key와 secret_key를 복사해서 붙여넣기를 한뒤에 소스코드를 한번 실행시켜 보겠습니다. 

소스코드를 실행시킨 결과입니다. 

결과를 보면 'data' : [{},{}] 이런 식으로 뒤에 데이터가 2번 나타나는 것을 확인해 볼 수 있습니다. 

 

소스코드에 보면  "REQUEST = { "coupangUrls": [ "  해당 라인에 URL이 작성되어있는 것을 확인해 볼 수 있는데 해당 url에 정보를 입력하면 짧은 주소를 받을 수 있게 됩니다. 

 

우선 밑의 쿠팡 글로벌의 내용을 지우고 윗 줄의 URL 중 good에서 자신이 검색하기를 원하는 정보로 바꿔줍니다. 

 

소스를 변경한뒤 해당 url을 클릭해보면 쿠팡에서 ipad로 검색되어지는 페이지를 확인할 수 있습니다. 

 

상품의 상세 페이지의 url을 입력하더라도 해당 url의  짧은 주소를 돌려받을 수 있습니다.

 

데이터는 json으로 표시되는 데이터 입니다. 해당 데이터들을 json의 형식으로 자르고 데이터를 하나씩 편하게 읽어올 수 있는 방법을 살펴보겠습니다. 

 

소스코드의 가장 아랫줄 print(resposne.json()) 소스 코드를 위에 있는 소스코드로 변경을 해봅시다. 

json_data = resposne.json()
print(json_data['data'][0]['shortenUrl'])

해당 소스를 살펴보면 data항목의 0번지에 있는 shortenUrl을 읽어오는 것인데 프로그램을 실행시켜 보면 짧은 주소만을 쉽게 반환받아 볼 수 있습니다. 

 

여기서 맨 뒤의 'shortenUrl'외에  데이터에 포함된 originalUrl, landingUrl 또한 받아볼 수 있습니다. 

 

json_data = resposne.json()

print("original URL = " + json_data['data'][0]['originalUrl'])
print("shorten URL = " + json_data['data'][0]['shortenUrl'])
print("landing URL = " + json_data['data'][0]['landingUrl'])

그러면 한번 하나하나 분해해서 살펴보겠습니다. 

 

읽기 복잡했던 결과물에서 자신이 원하는 결과물 만을 쏙쏙 뽑아 보는 것 까지 해봤습니다. 

 

이해가 잘 되셨는지 모르겠네요 ㅎㅎ 

 

다음 시간에는 쿠팡에서 검색 키워드에 결과값을 받고 해당 결과값을 정리해보는 시간을 가져보겠습니다. 

 

쿠팡 추천인 코드 
AF1348858

댓글

Designed by JB FACTORY