URL 만들기 API v6

목차

1. 개요

2. 사용방법

    2-1. URL 정보 - GET

    2-2. URL 생성 - POST

    2-3. URL 수정 - PATCH

    2-4. URL 삭제 - DELETE

3. 응답 및 오류



1. 개요


URL 만들기 API v6 를 사용하여 영문, 한글 등 다양한 언어와 이모지 까지 원하는 형태의 주소를 만들고 관리할 수 있습니다.



2. 사용방법


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

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



2-1. URL 정보 ( GET )

요청 URL: https://api.lrl.kr/v6/alias/{조회할 URL}

데이터 타입: JSON

메소드: GET


예시로 생성된 네이버.uzu.kr 라는 주소의 단축 정보를 확인해보겠습니다.

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


async function getInfo(hash, key) {
  const response = await fetch(`https://api.lrl.kr/v6/alias/${hash}`, {
    method: "GET",
    headers: {
      "Content-Type": "application/json",
      "x-api-key": key
    },
    body: undefined
  });
  return response.json();
}


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

await getInfo("네이버.uzu.kr", "발급받은 API Key");


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


url: 목적지 주소

clicks: 클릭수

date: 주소 생성일

{url: 'https://naver.com', clicks: 361, date: '2024-11-21'}



2-2. URL 생성 ( POST )

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

데이터 타입: JSON

메소드: POST


예시로 주소를 생성시켜보겠습니다.

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


alias: URL 이름

url: 목적지 URL


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


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

await create("example.uzu.kr", "https://example.com", "발급받은 API Key")

실행된 함수는 아래와 같은 결과를 출력합니다.
{"result": true}


※ 주의사항 ※

alias 는 https://u.lrl.kr 에서 지원하는 주소만 생성 가능합니다.

즉, uzu.kr, enn.kr, qaa.kr 로 끝나는 주소만 생성하실 수 있습니다.



2-3. URL 수정 ( PATCH )

요청 URL: https://api.lrl.kr/v6/alias/{수정할 URL}

데이터 타입: JSON

메소드: PATCH


예시로 example.uzu.kr 의 목적지 주소를 수정해보겠습니다.

https://example.com 으로 설정된 목적지 주소를 https://example.com/edited 로 수정해보겠습니다.


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


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


위에서 작성된 함수는 아래와 같이 사용합니다.

await edit("example.uzu.kr", "https://example.com/edited", "발급받은 API Key")

실행된 함수는 아래와 같은 결과를 출력합니다.

{result: true}



2-4. URL 삭제 ( DELETE )

요청 URL: https://api.lrl.kr/v6/alias/{삭제할 URL}

데이터 타입: JSON

메소드: DELETE


예시로 example.uzu.kr 주소를 삭제해보겠습니다.

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


async function remove(alias, key) {
  const response = await fetch(`https://api.lrl.kr/v6/alias/${alias}`, {
    method: "DELETE",
    headers: {
      "Content-Type": "application/json",
      "x-api-key": key
    },
    body: undefined,
  });
  return response.json();
}


위에서 작성된 함수는 아래와 같이 사용합니다.

await remove("example.uzu.kr", "발급받은 API Key")

실행된 함수는 아래와 같은 결과를 출력합니다.

{result: true}



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_ALIAS400URL 이름을 입력해주세요.
ERR_INVALID_ALIAS400URL 이름이 올바르지 않습니다.
ERR_INVALID_CHAR_IN_ALIAS400허용하지 않는 URL 이름 형식입니다.
ERR_ALIAS_TOO_LONG404URL 이름이 너무 깁니다.
ERR_ALIAS_TOO_SHORT400URL 이름이 너무 짧습니다.
ERR_NO_URL400목적지 주소를 입력해주세요.
ERR_INVALID_URL400목적지 주소 형식이 올바르지 않습니다.
ERR_URL_TOO_LONG400목적지 주소가 너무 깁니다.
ERR_URL_TOO_SHORT400목적지 주소가 너무 짧습니다.
ERR_NOT_FOUND404해당 URL 을 찾을 수 없습니다
ERR_ALREADY_EXISTS409이미 존재하는 URL 입니다. (중복)
ERR_UNDEFINED500알 수 없는 오류입니다.