2020년 2월 16일 일요일

쿠팡파트너스 API를 사용하여 상품정보 가져오기

안녕하세요?
몇달전부터 쿠팡파트너스를 이용한 제휴마케팅 또는 어필리에이트에 대해 인터넷에서 활봘한 활동이 이루어지고 커뮤니티 공간도 많이 생긴것 같습니다. 저도 이부분에 대해 관심있는 사람들중 한명입니다. 그래서 쿠팡파트너스에 대해 알아보고 제공하는 API를 통한 상품정보를 가져오는 테스트를 해볼려고 합니다.

쿠팡파트너스에 대해서는 이전에 포스팅했던 '쿠팡파트너스 활용방법'에 대한글을 봐주셨으면 좋겠습니다. 어필리에이트는 구매전환이 이루어지는 상품링크를 자신이 운영하는 사이트에 광고를 하여 수익을 발생시키는 매체사를 뜻하며 제휴마케팅(Affliate marketing)은 상품 판매/광고 기법으로 어필리에이트에 머천트(Merchant) 광고주가 제공하는 상품을 구매전환을 발생시켜 수익을 얻는 것입니다. - 위키백과 참조


■ 쿠팡파트너스 API를 사용하기위한 전제조건
파트너스 API키(Access Key, Secret Key)를 발급받아야하는데 가입만 해서는 안되며 수익이 발생되어 최종승인이 되어야 받을수 있습니다.  저같은 경우는 지인의 도움으로 제 상품링크를 통해 수익을 발생시켜서 이부분을 해결했습니다.
승인메일이 오기전에 어드민이 파트너스에 등록한 자신의 사이트에 방문합니다..
* 발급받으신 API키는 자신만 알고 있으셔야합니다.
쿠팡어드민
쿠팡어드민
쿠팡최종승인메일
쿠팡최종승인메일


■ API를 사용한 JAVA프로그램 구현
해당 샘플코드와 가이드문서는 파트너스에서 잘 정리되어 제공되어 있습니다.
간략하게 소스설명을 드리면 발급받으셨던 API키를 소스안에 설정하여 상품을 가져오는 키워드와 개수를 지정해서 상품리스트를 확인할수 있습니다. 제공하는 상품정보는 상품명, 랭크, 가격, 이미지 등입니다. 
상품정보를 가져올수 있는 URL인데 limit은 개수제한이 있으며 keyword는 한글이 들어가는경우 컨버젼 작업이 있습니다.
private final static String URL = "/v2/providers/affiliate_open_api/apis/openapi/products/search?limit=30&keyword=";

소스에 발급받았던 API키를 넣고 호출하면 JSON포맷 데이터로 리턴을 받을수 있습니다.
String keyword = "";
String convertKeyword = URLEncoder.encode(keyword, "utf-8");
System.out.println("convertKeyword = " + convertKeyword);
// Generate HMAC string
String authorization = HmacGenerator.generate(REQUEST_METHOD, URL + convertKeyword, SECRET_KEY, ACCESS_KEY);
// Send request
org.apache.http.HttpHost host = org.apache.http.HttpHost.create(DOMAIN);
org.apache.http.HttpRequest request = org.apache.http.client.methods.RequestBuilder
.get(URL + convertKeyword)
.addHeader("Authorization", authorization)
.build();
org.apache.http.HttpResponse httpResponse = org.apache.http.impl.client.HttpClientBuilder.create().build().execute(host, request);
String responseJson = EntityUtils.toString(httpResponse.getEntity());

API는 무한대로 호출이 가능한게 아니며 일정시점이 되면 아래와 같은 메시지가 출력되며 한시간뒤에 다시 호출이 가능합니다. 그렇다보니 테스트나 디버깅할때 번거로움이 있습니다.
{"rCode":"429","rMessage":"API /products/search exceeded limitation 10, try again next HOUR"}
429API /products/search exceeded limitation 10, try again next HOUR


API로 가져올수 있는 상품정보는 한정적으로 보이나 이걸 확장하는 부분은 본인에게 달려있는것 같습니다.

이글이 도움이 되셨다면 AF1937507 추천코드 부탁드리겠습니다.
감사합니다.


#쿠팡파트너스 #API #상품정보

댓글 없음:

댓글 쓰기