Get.lk Application Programming Interface (API)를 통하여 그 데이터를 외부에 제공하므로 개발자들은 Get.lk 웹사이트를 통하여
해당 데이터를 쉽게 이용 하실 수 있습니다.
이 문서는 공식적인 참고 문서이며 현재 API 버젼은 1.5 입니다.
해당 데이터를 쉽게 이용 하실 수 있습니다.
이 문서는 공식적인 참고 문서이며 현재 API 버젼은 1.5 입니다.
시작하기!!
아래에 Get.lk REST API의 각 내용의 주제로 된 링크가 있으며, 일반적인 소개 를 참고 하시는 것도 좋습니다.
섹션
Get.lk API 문서
- 시작하기
- 사용자인증 및 공유파라미터(Authentication and Shared Parameters)
- 요청 / 응답 형식(format)Request / Response Formats
- 사용 제한(Rate Limiting)
- 무제한 사용자(High-volume users)
- REST API
- /v1/shorten
겟링크의 모든 API는 쿼리스트링 형태로 제공되는 사용자 자격증명이 필요합니다.
자격증명은 'login' 또는 'apiKey' 같은 것이 될 수 있습니다. 자격 증명을 얻기 위해 사용자는 겟링크 기업회원으로 가입하셔야 합니다.
회원 가입: http://get.lk/a/join
이미 계정을 가지고 계신 기업 회원 께서는, http://get.lk/api/v1.5/makeApiKey?login=getlinkapidemo 에서 apiKey 를 확인 하시기 바랍니다.
자격증명은 'login' 또는 'apiKey' 같은 것이 될 수 있습니다. 자격 증명을 얻기 위해 사용자는 겟링크 기업회원으로 가입하셔야 합니다.
회원 가입: http://get.lk/a/join
이미 계정을 가지고 계신 기업 회원 께서는, http://get.lk/api/v1.5/makeApiKey?login=getlinkapidemo 에서 apiKey 를 확인 하시기 바랍니다.
login=login&apiKey=apiKey
이 문서에 언급된 getlinkapidemo login 과 apiKey 데모 전용이며 실제로 사용하실 수 없습니다!!
모든 Get.lk API는 추가적인 리턴 포맷 파라미터를 지원합니다. 'json' 는 기본설정값 이지만, 'xml' 형식의 포맷 또한 지원하고 있습니다.
format=json
모든 Get.lk API는 json 포맷으로 된 콜백함수를 지원하며 다음과 같이 이용하실 수 있습니다.
format=json&callback=callback_method
모든 API 요청은 도메인 http://get.lk/api/v1.5/ 이어야 합니다. (예제 참고).
HTTP 응답상태 코드(Response Status Code)는 json 과 xml 포맷의 요청에 대하여 유효할 경우 200 이 됩니다.
json 과 xml 응답에서 응답상태(status_code) 와 응답내용(status_txt) 값은 응답이 요청에 맞는 형태인지 유효한 값인지 나타내게 됩니다
json 과 xml 응답에서 응답상태(status_code) 와 응답내용(status_txt) 값은 응답이 요청에 맞는 형태인지 유효한 값인지 나타내게 됩니다
일반 txt 형태의 요청의 경우, HTTP 응답상태 코드는 403, 500 과 503 으로 사용 제한, 요청포맷의 문제 또는 알려지지 않은 문제를 나타냅니다.
응답내용은 응답상태가 200이 아닌경우에 대하여 json 과 xml 포맷의 status_txt로 확인 하실 수 있습니다.
파라미터 | 설명 |
---|---|
status_code 200 | 모든 성공적인 요청 |
status_code 403 | 사용 제한 |
status_code 503 | 알려지지 않은 오류 또는 임시로 사용할 수 없음 |
status_code 500 | 다른 모든 유효하지 않은 요청/응답 |
가장 흔하게 접하게 되는 응답내용(status_txt) 예 :
파라미터 | 설명 |
---|---|
PARAM_ERROR | 기본 파라미터 오류 |
METHOD_NOT_EXISTS | 유효하지 않은 요청 |
MISSING_LOGIN | 파라미터 중 'login' 이름이 존재 않지 않음 |
MISSING_APIKEY | 파라미터 중 'apiKey' 이름이 존재 않지 않음 |
MISSSING_LONGURL | 파라미터 중 'longUrl' 이름이 존재 않지 않음 |
MISSING_FORMAT | 파라미터 중 'format' 이름이 존재 않지 않음 |
INVALID_METHOD | REST API 에 정의 되지 않은 기능 |
INVALID_USER | api 를 사용할 수 없는 사용자 또는 유효하지 않은 사용자이름 |
INVALID_APIKEY | 허가 되지 않은 apiKey 또는 유효하지 않은 apiKey |
결과 코드 예제
json { "status_code": 200, "status_txt": "OK", "data" : ... } json { "status_code": 403, "status_txt": "INVALID_USER"} json { "status_code": 500, "status_txt": "INVALID_APIKEY"} json { "status_code": 500, "status_txt": "MISSING_LOGIN"} json { "status_code": 503, "status_txt": "INVALID_METHOD"} jsonp callback_method({ "status_code": 200, "status_txt": "OK", "data" : ... })
<?xml version="1.0" encoding="UTF-8"?>
<response>
<status_code>200</status_code>
<status_txt>OK</status_txt>
<data> ... </data>
</response>
Get.lk 는 현재 기업회원(기업회원 중 Master 권한을 가진자)을 대상으로만 API 를 제공하고 있으며, 일반 사용자 또는 기업회원의 일반사용자에게는 API 사용권한을 부여 하고 있지 않습니다.
기업회원 Master 권한을 가지신 분 중 API 사용권한이 없으시다면, 문의/제휴메일으로 문의 하여 주시기 바랍니다.
기업회원 Master 권한을 가지신 분 중 API 사용권한이 없으시다면, 문의/제휴메일으로 문의 하여 주시기 바랍니다.
/v1.5/shorten
긴(long) URL 에 대하여, /v1/shorten 은 URL 을 인코딩하여 단축 URL 로 반환합니다.
파라미터 | 기본값 | 설명 |
---|---|---|
format | json | 요청된 응답 형식 (json,xml,txt) |
callback | jsonp 대응 콜백지정 | |
wordcount | 5 | 단축할 url자릿수 |
lan_type | 2 | 단축방식 (1:한글랜덤 2:영어숫자랜덤, 3:사전단어, 4:한글랜덤+사전단어혼합, 5:영문숫자랜덤+사전단어혼합, 6: 한글지정) |
qrcode | n | QR코드 생성유무 |
longUrl | 단축 url 로 만들 원본 url(ex: http://test.com/test.php) | |
apiKey | 기업회원 Master 에게 제공된 키 | |
login | 기업회원 Master 의 API ID |
주의!!
longUrl 은 반드시 URL-encoding 처리 되어 요청되어야 합니다.
longUrl 안에 다음의 특수문자 '&', '?', '#', ' '(공백) 또는 예약된 어떤한 형태의 문자열이 포함되어서는 안되며, 모든 공백문자는 '%20' 또는 '+' 기호로 인코딩(URI_ENCODE) 되어야 합니다.
longUrl 안에 다음의 특수문자 '&', '?', '#', ' '(공백) 또는 예약된 어떤한 형태의 문자열이 포함되어서는 안되며, 모든 공백문자는 '%20' 또는 '+' 기호로 인코딩(URI_ENCODE) 되어야 합니다.
특히, 뉴라인기호("\r \n \r\n") 또는 문자열의 앞뒤공백(trailing spaces)은 거의 모든 오류를 발생 시키게 됩니다.
단축 url 로 만들기 전에 반드시 문자열의 앞뒤 공백(trailing spaces)을 제거 하시기 바랍니다.
원본 url 은 도메인과 경로 문자열 사이에 반드시 슬래시('/')가 존재하여야 합니다.
단축 url 로 만들기 전에 반드시 문자열의 앞뒤 공백(trailing spaces)을 제거 하시기 바랍니다.
원본 url 은 도메인과 경로 문자열 사이에 반드시 슬래시('/')가 존재하여야 합니다.
예를 들어
http://test.com?query=parameter (잘못된 방법)
http://test.com/?query=parameter (올바른 방법)
http://test.com/?query=parameter (올바른 방법)
출력 프라퍼티 설명
파라미터 | 설명 |
---|---|
status_code | 응답코드(200,403,500,503) |
data->url_header | 서비스를 이용하는 CP사 도메인(ex: http://test.com/) |
data->url_short | 단축 url(생성된 Hash) |
data->url_shorten | 전체 단축된 url |
data->url_target | 단축 url의 최종 목표 url |
data->qrcode | QR코드파일 url |
data->new_short | 처음으로 단축된 url 인가의 flag(처음일 경우 1, 아니면 0) |
status_txt | 응답내용(OK 또는 ERROR_CODE) |
예제>>
Json format : http://get.lk/api/v1.5/shorten? login=getlinkapidemo&apiKey=G_4d12be0189ccee2a649d81d845c909f8&longUrl=http%3A%2F%2Ftest.com%2F&format=json&wordcount=5&lan_type=2&qrcode=y&callback=myCallback myCallback({ "status_code" : 200, "data" : { "url_header" : "http://get.lk", "url_short" : "tQKhSl", "url_shorten" : "http://get.lktQKhSl", "url_target" : "http://www.test.com/hong/?page_num=2&article_type=news&board=news&uid=33", "new_short" : "1", "qrcode" : "http://get.lk/img/qrcode/2011/11/3/qrcode.png" }, "status_txt" : "OK" }); Xml format : http://get.lk/api/v1.5/shorten? login=getlinkapidemo&apiKey=G_4d12be0189ccee2a649d81d845c909f8&longUrl=http%3A%2F%2Ftest.com%2F&format=xml&wordcount=5&lan_type=2&qrcode=y&callback=myCallback
<?xml version="1.0" encoding="UTF-8"?>
<response>
<status_code>200</status_code>
<status_txt>OK</status_txt>
<data>
<url_header>http://get.lk</url_header>
<url_short>tQKhSl</url_short>
<url_shorten>http://get.lk/tQKhSl</url_shorten>
<url_target>
<![CDATA[http://www.test.com/hong/?page_num=2&article_type=news&board=news&uid=33]]>
</url_target>
<new_short>1</new_short>
<qrcode>1</qrcode>
</data>
</response>