도서 검색 크롬 확장프로그램 만들기 - 2. 알라딘 API 사
찾아보니 API는 아무나 쓸 수 있는게 아니고 알라딘으로 부터 TTBKey를 발급받아 쿼리문에 포함시켜야 사용이 가능하다.
==> 알라딘 OpenAPI 신청, 사용방법 참고 (http://blog.aladin.co.kr/openapi/category/29154404?communitytype=MyPaper)
TTB 란 Thanks To Blogger 의 약자. 예를 들어 본인 블로그에 책 리뷰를 작성하고 알라딘 API 를 사용해서 책 링크를 걸었을때 글을 본 사람이 해당 링크를 통해 알라딘에서 책을 구입하는 경우 수익을 일정부분 나눠주는 제도.
API 는 3가지로 1.일반검색(제목,저자등 검색어로), 2.단독검색(ISBN or 알라딘id), 3.상품검색(베스트,신간 식) 이 있는데 1번 방식으로 하면 될듯.
URL 쿼리 input/output 옵션이 꽤 다양하다.
- 요청 URL샘플 : http://www.aladin.co.kr/ttb/api/ItemSearch.aspx?ttbkey=TTBKey&Query=aladdin&QueryType=Title&MaxResults=10&start=1&SearchTarget=Book&output=xml&Version=20070901
<< 검색 요청(Request) 파라미터 스펙 >>
구분 | 요청변수 | 변수종류 | 설명 |
필수 | TTBKey | 문자열 | 부여받은 TTBKey값 |
Query | 문자열 | 검색어 | |
옵션 (옵션 조정 변수가 없을 경우에는 기본값으로 검색) |
QueryType | Keyword (기본값) : 제목+저자 Title : 제목검색 Author : 저자검색 Publisher : 출판사검색 |
검색어 종류 |
SearchTarget | Book(기본값) : 도서 |
검색 대상 Mall | |
Start | 1이상, 양의 정수(기본값:1) | 검색결과 시작페이지 | |
MaxResults | 1이상 100이하, 양의 정수(기본값:10) | 검색결과 한 페이지당 최대 출력 개수 | |
Sort | accuracy : 정확도순(기본값) PublishTime : 출간일 Title : 제목 SalesPoint : 판매량 CustomerRating 고객평점 MyReviewCount :마이리뷰갯수 |
정렬순서 | |
Cover | Big : 큰 크기 Mid(기본값) : 중간 크기 Small : 작은 크기 Mini : 매우 작은 크기 None : 없음 |
표지크기 | |
CategoryId | 양의정수 - 분야의 고유 번호(기본값:0, 전체) (참고 : 알라딘 모든 분야 카테고리) |
특정 분야로 검색결과를 제한함 | |
Output | XML(기본값) : REST XML형식 OS : 확장RSS(OpenSearch방식) JS : JSON방식 |
출력방법 | |
Partner | 문자 | 파트너코드. 제휴사의 경우 파트너코드 입력으로 제휴사 유효성 체크. | |
Omitkey | 양의정수(기본값:0) | Omitkey가 1인경우 결과링크값에 TTBKey가 제외됨. | |
InputEncoding | 문자열(인코딩의 영문이름 - 기본값:utf-8) | 검색어의 인코딩 값을 설정. "utf-8"이나 "euc-kr"과 같은 인코딩의 영문이름. | |
Version | 정수형 날짜 (기본값: 20070901이며 20131101도 가능) |
검색API의 Version(날짜형식)을 설정. 20131101의 경우 검색결과 최대 상품수는 200건으로 제약. |
|
CallBack | javascript function이름 | 호출후 불려질 javascript function의 이름을 지정. output이 js인 경우에 한해 작동됨. |
|
outofStockfilter | 품절/절판 등 재고 없는 상품 필터링("1"이 제외 필터) | 숫자 |
<< 검색 응답(Reponse) 결과값 스펙 >>
필드명 | 설명 | 자료형 |
title | 조회결과의 제목 | 문자열 |
link | 조회결과를 확인할 수 있는 Html페이지의 링크 | 문자열(URL) |
language | 검색결과의 언어. 무조건 "ko"가 입력됨 | 문자열 |
copyright | API제공자의 Copyright | 문자열 |
pubDate | 조회시간(GMT기준시) | 날짜 |
totalResults | 총 검색 결과 개수 | 정수형 |
startIndex | 현재 페이지 | 정수형 |
itemsPerPage | 한 페이지당 출력 결과 개수 | 정수형 |
query | 요청 쿼리 | 문자열 |
version | 현재 검색API의 Version | 정수형 날짜 |
searchCategoryId | 특정 분야로 검색을 제한한 경우 분야의 고유번호 출력 | 정수형 |
searchCategoryName | 특정 분야로 검색을 제한한 경우 분야의 이름 출력 | 문자열 |
ISBN | 해당 아이템의 ISBN(10자리) | 숫자 |
ISBN13 | 해당 아이템의 ISBN(13자리) | 숫자 |
item < itemId | 해당 아이템의 고유한 값(알라딘 내부 KEY값) | 숫자 |
item < category (출력형식 OS에서만 해당) |
'알라딘'이 출력 | 문자열 |
item < content:encoded (출력형식 OS에서만 해당) |
바로 사용할 수 있는 HTML이 포함된 간략한 상품 설명 | 문자열 |
item < description | OS 출력형식: HTML이 없는 상품설명 기타 출력형식: HTML이 포함된 간략한 상품 설명 |
문자열 |
item < pubDate item < dc:date |
도서 출간일(GMT기준) | 날짜 |
item < dc:creator (출력형식 OS에서만 해당) |
'aladdin'이 출력 | 문자열 |
item < priceStandard | 상품 정가 | 숫자(통화) |
item < priceSales | 알라딘에서 판매하는 판매가(수시로 변동 가능) | 숫자(통화) |
item < stockStatus | 상품의 재고 상태. 재고 보유 상태에서는 특별한 문자도 들어가있지 않으며 품절,절판 등의 특별한 상태일때만 문자열이 출력 |
문자열 |
item < mileage | 상품 구입시 지급되는 마일리지 | 숫자(통화) |
item < cover | 상품 표지 URL | 문자열(URL) |
item < categoryId | 상품 대표 분야의 고유번호(알라딘은 복수 분류체계,그 중 대표 분류 하나)(참고 : 알라딘 모든 분야 카테고리) | 숫자 |
item < categoryName | 대표 분류의 상위 분류들(분류 히스토리, "<"를 기준으로 나누어져 있음) | 문자열 |
item < publisher | 상품의 출판사(제작사) | 문자열 |
item < customerReviewRank | 상품에 대해 고객이 부여한 별점(10점만점) | 숫자 |
저자(김충원)로 검색하면 이런 식으로 xml 반환이 된다. ( 확장RSS, JSON 포맷도 지원함 ). To be continued....
'호기심, 관심사' 카테고리의 다른 글
도서 검색 크롬 확장프로그램 만들기 - 4. 검색결과 화면 (0) | 2016.11.27 |
---|---|
도서 검색 크롬 확장프로그램 만들기 - 3. 검색화면 (0) | 2016.11.25 |
도서 검색 크롬 확장프로그램 만들기 - 1. 시작 (0) | 2016.11.23 |
로지텍 K480 블루투스 키보드 사용기 (0) | 2016.11.21 |
PHP 맛보기중 (0) | 2016.11.18 |