URL 단축 API v6

목차

1. 개요

2. 사용방법

    2-1. 단축 정보 - GET

    2-2. URL 단축 - POST

3. 응답 및 오류



1. 개요


URL 단축 API v6 를 사용하여 긴 주소를 짧은 주소로 쉽게 단축이 가능합니다.



2. 사용방법


v6 버전은 UUID 형식의 API Key 를 http 헤더 x-api-key 에 넣어주셔야 사용이 가능합니다.

로그인 후 https://api.lrl.kr 에서 발급하실 수 있습니다.



2-1. 단축 정보 ( GET )

요청 URL: https://api.lrl.kr/v6/short/{단축 해시}

데이터 타입: JSON

메소드: GET


예시로 단축된 https://lrl.kr/bPy 라는 주소의 단축 정보를 확인해보겠습니다.

아래는 자바스크립트 코드입니다. 크롬의 개발자 모드 -> 콘솔 창 에서 빠르게 테스트 가능합니다.
async function getInfo(hash, key) {
  const response = await fetch(`https://api.lrl.kr/v6/short/${hash}`, {
    method: "GET",
    headers: {
      "Content-Type": "application/json",
      "x-api-key": key
    },
    body: undefined
  });
  return response.json();
}


작성한 함수는 아래와 같이 실행 가능합니다.

await getInfo("bPy", "발급받은 API Key");


실행된 함수는 아래와 같은 JSON 값을 불러옵니다.

url: 원본 주소

hits: 클릭수

{"url":"https://google.com","hits":3469}



2-2. URL 단축 ( POST )

요청 URL: https://api.lrl.kr/v6/short

데이터 타입: JSON

메소드: POST


예시로 https://google.com 주소를 단축시켜보겠습니다.

아래는 자바스크립트 코드입니다. 크롬의 개발자 모드 -> 콘솔 창 에서 빠르게 테스트 가능합니다.


async function short(url, key) {
  const response = await fetch(`https://api.lrl.kr/v6/short`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "x-api-key": key
    },
    body: JSON.stringify({url: url}),
  });
  return response.json();
}


위에서 작성한 함수는 아래와 같이 실행합니다.

await short("https://google.com", "발급받은 API Key")

실행된 함수는 아래와 같은 결과를 출력합니다.
result: 단축된 URL
{"result":"https://lrl.kr/bPy"}



3. 응답 및 오류


오류는 HTTP 응답코드 와

자세한 오류 내용을 담은  {"message": "메시지"} 형태의 오류 메시지가 제공됩니다.



API Key 관련 오류

메시지HTTP 응답코드설명
ERR_NO_KEY401HTTP 헤더 x-api-key 에 key 값이 필요합니다.
ERR_INVALID_KEY400올바르지 않은 key값입니다.
ERR_BANNED_KEY403차단된 api key 입니다.
ERR_TOO_MANY_AUTH_FAIL429너무 많은 인증 실패로 일정 시간 이용이 불가능합니다.
ERR_TOO_MANY_REQUESTS429너무 많은 요청으로 일정 시간 후 다시 시도해주세요.
ERR_UNDEFINED500알 수 없는 오류입니다. 


API 응답 오류

메시지HTTP 응답코드설명
ERR_NO_HASH400조회할 해시값을 입력해주세요.
ERR_NO_URL400단축할 URL 을 입력해주세요.
ERR_INVALID_URL400허용하지 않는 URL 형식입니다.
ERR_INVALID_HASH400해시값이 올바르지 않습니다.
ERR_ALREADY_SHORTENED400이미 단축된 URL 입니다.
ERR_NO_DATA404데이터가 존재하지 않습니다.
ERR_UNDEFINED500알 수 없는 오류입니다.