도메인 API v6
- 24-12-26
- 160 회
- 0 건
목차
1. 개요
2. 사용방법
2-1. 도메인 레코드 정보 - GET
2-2. 도메인 레코드 생성 - POST
2-3. 도메인 레코드 수정 - PATCH
2-4. 도메인 레코드 삭제 - DELETE
3. 응답 및 오류
1. 개요
도메인 API v6 를 사용하여 사용중인 도메인의 정보 확인, 레코드 생성 수정 및 삭제가 가능합니다.
2. 사용방법
로그인 후 https://api.lrl.kr 에서 발급하실 수 있습니다.
2-1. 레코드 정보 ( GET )
요청 URL: https://api.lrl.kr/v6/domain/{조회할 레코드}
데이터 타입: JSON
메소드: GET
예시로 생성된 example.64bit.kr 라는 도메인의 정보를 확인해보겠습니다.
아래는 자바스크립트 코드입니다. 크롬의 개발자 모드 -> 콘솔 창 에서 빠르게 테스트 가능합니다.
async function getInfo(record, key) { const response = await fetch(`https://api.lrl.kr/v6/domain/${record}`, { method: "GET", headers: { "Content-Type": "application/json", "x-api-key": key }, body: undefined }); return response.json(); }
작성한 함수는 아래와 같이 실행 가능합니다.
await getInfo("example.64bit.kr", "발급받은 API Key");
실행된 함수는 아래와 같은 JSON 값을 불러옵니다.
type: 레코드 타입
data: 레코드 데이터 ( ip, 내용 등등 )
date: 레코드 생성일
{type: 'A', data: '1.1.1.1', date: '2024-12-22T16:37:00.000Z'}
2-2. 레코드 생성 ( POST )
요청 URL: https://api.lrl.kr/v6/domain
데이터 타입: JSON
메소드: POST
예시로 A타입, 1.1.1.1 주소를 가진 example.64bit.kr 주소를 생성시켜보겠습니다.
아래는 자바스크립트 코드입니다. 크롬의 개발자 모드 -> 콘솔 창 에서 빠르게 테스트 가능합니다.
record: 생성할 레코드
type: 생성할 레코드 타입 ( A, AAAA, CNAME, TXT, SRV 등등 )
data: 생성할 레코드 데이터
async function create(record, type, data, key) { const response = await fetch(`https://api.lrl.kr/v6/domain`, { method: "POST", headers: { "Content-Type": "application/json", "x-api-key": key }, body: JSON.stringify({record: record, type: type, data: data}), }); return response.json(); }
위에서 작성한 함수는 아래와 같이 실행합니다.
await create("example.64bit.kr", "A", "1.1.1.1", "발급받은 API Key");
{"result": true}
※ 주의사항 ※
record 는 https://d.lrl.kr 에서 등록된 도메인만 사용 가능합니다.
등록된 도메인은 https://d.lrl.kr 에서 확인하실 수 있습니다.
2-3. 레코드 수정 ( PATCH )
요청 URL: https://api.lrl.kr/v6/domain/{수정할 레코드}
데이터 타입: JSON
메소드: PATCH
예시로 example.64bit.kr 의 데이터를 1.1.1.1 에서 1.0.0.1 로 수정해보겠습니다.
레코드 타입 또한 변경이 가능합니다.
아래는 자바스크립트 코드입니다. 크롬의 개발자 모드 -> 콘솔 창 에서 빠르게 테스트 가능합니다.
async function edit(record, data = undefined, type = undefined, key) { const response = await fetch(`https://api.lrl.kr/v6/domain/${record}`, { method: "PATCH", headers: { "Content-Type": "application/json", "x-api-key": key }, body: JSON.stringify({type: type, data: data}), }); return response.json(); }
위에서 작성된 함수는 아래와 같이 사용합니다.
await edit("example.64bit.kr", "1.0.0.1", "A", "발급받은 API Key");
실행된 함수는 아래와 같은 결과를 출력합니다.
{result: true}
위 함수에서는 데이터와 레코드 타입을 모두 입력하지만 type 만 변경하거나 data 만 변경할 수 있습니다.
2-4. 레코드 삭제 ( DELETE )
요청 URL: https://api.lrl.kr/v6/domain/{삭제할 레코드}
데이터 타입: JSON
메소드: DELETE
예시로 위에 생성했던 example.64bit.kr 도메인을 삭제해보겠습니다.
아래는 자바스크립트 코드입니다. 크롬의 개발자 모드 -> 콘솔 창 에서 빠르게 테스트 가능합니다.
async function remove(record, key) { const response = await fetch(`https://api.lrl.kr/v6/domain/${record}`, { method: "DELETE", headers: { "Content-Type": "application/json", "x-api-key": key }, body: undefined, }); return response.json(); }
위에서 작성된 함수는 아래와 같이 사용합니다.
await remove("example.64bit.kr", "발급받은 API Key");
실행된 함수는 아래와 같은 결과를 출력합니다.
{result: true}
3. 응답 및 오류
오류는 HTTP 응답코드 와
자세한 오류 내용을 담은 {"message": "메시지"} 형태의 오류 메시지가 제공됩니다.
API Key 관련 오류
메시지 | HTTP 응답코드 | 설명 |
ERR_NO_KEY | 401 | HTTP 헤더 x-api-key 에 key 값이 필요합니다. |
ERR_INVALID_KEY | 400 | 올바르지 않은 key값입니다. |
ERR_BANNED_KEY | 403 | 차단된 api key 입니다. |
ERR_TOO_MANY_AUTH_FAIL | 429 | 너무 많은 인증 실패로 일정 시간 이용이 불가능합니다. |
ERR_TOO_MANY_REQUESTS | 429 | 너무 많은 요청으로 일정 시간 후 다시 시도해주세요. |
ERR_UNDEFINED | 500 | 알 수 없는 오류입니다. |
API 응답 오류
메시지 | HTTP 응답코드 | 설명 |
ERR_NO_RECORD | 400 | 레코드 이름을 입력해주세요. |
ERR_INVALID_RECORD | 400 | 레코드 형식이 올바르지 않습니다. |
ERR_RECORD_TOO_LONG | 400 | 레코드 길이가 너무 깁니다. |
ERR_RECORD_TOO_SHORT | 400 | 레코드 길이가 너무 짧습니다. |
ERR_NO_RECORD_TYPE | 400 | 레코드 타입을 입력해주세요. |
ERR_INVALID_RECORD_TYPE | 400 | 레코드 타입이 올바르지 않습니다. |
ERR_NO_RECORD_DATA | 400 | 레코드 데이터가 없습니다. |
ERR_INVALID_RECORD_DATA | 400 | 레코드 데이터가 올바르지 않습니다. |
ERR_RECORD_DATA_TOO_LONG | 400 | 레코드 데이터가 너무 깁니다. |
ERR_INVALID_IPv4_DATA | 400 | 레코드 IPv4 데이터를 올바르게 입력해주세요. |
ERR_INVALID_IPv6_DATA | 400 | 레코드 IPv6 데이터를 올바르게 입력해주세요. |
ERR_INVALID_SRV_DATA | 400 | 레코드 SRV 데이터를 올바르게 입력해주세요. |
ERR_RECORD_NOT_FOUND | 404 | 레코드를 찾을 수 없습니다. |
ERR_ALREADY_EXISTS | 409 | 이미 존재하는 레코드입니다. |
ERR_NO_PERMISSION | 403 | 권한이 없습니다. |
ERR_UNDEINED | 500 | 알 수 없는 오류입니다. |
- 이전글 API v6 목록 24.12.27
- 다음글 URL 만들기 API v6 24.12.26