본문 바로가기
Rust/프로젝트

Rust로 백엔드 개발기(feat. 메이플스토리) - 03 OPEN API

by lms0806 2025. 3. 13.
728x90
반응형

이전 시간에는 GET, POST 요청 관련된 코드를 작성해 보았습니다.

 

이번 시간에는 프로젝트의 메인인 maple stroy open api관련 내용에 대해 다뤄보고자 합니다.

open api 확인

가장 먼저 https://openapi.nexon.com/ 해당 사이트로 이동합니다.

게임 중 메이플스토리를 선택합니다.

그러면 다음과 같이 각종 open api 종류들을 확인해 볼 수 있습니다.

 

해당 open api를 활용하기 위해서는 API Key가 필요합니다.

api key 발급

마이페이지의 애플리케이션 등록을 선택합니다.

이후 다음과 같이 사용한 open api의 게임, 개발 단계, 출시할 서비스 명을 작성하신 후 등록을 누르시면 API키가 발급되고, 내 애플리케이션에서 확인해 볼 수 있습니다.

 

이후, 게임 - 메이플스토리 란에 들어가면 api key가 적용되어 사이트내에서 각종 open api를 테스트해볼 수 있습니다.

open api 활용 방식

모든 open api는 GET요청으로 이루어져 있고, header에 API_KEY를 넣고, url에 필요한 request 내용을 추가하여 전달하면 됩니다.

 

header에 다음과 같은 형식으로 요청을 하면 됩니다. 해당 header는 모든 api를 활용하는데 필수로 추가되어야 합니다.

x-nxopen-api-key={API_KEY}

캐릭터 정보 조회 open api를 활용하기 위해서는 가장 먼저 캐릭터 식별자가 필요합니다.

 

캐릭터 식별자는 가장 상단에 있는 "캐릭터 식별자(ocid) 조회"를 통해 확인할 수 있습니다.

 

식별자 조회에 character_name으로 캐릭터 이름을 작성하여 보내게 되면 다음과 같이 ocid가 String 타입으로 반환됩니다.

{
  "ocid": "{ocid}"
}

이후 "기본 정보 조회"에서 해당 ocid를 활용하여 사용할 수 있습니다.

 

header에 API_KEY를 전달해 주고, 캐릭터 식별자(ocid), date를 url에 request로 넣어주고 GET 요청을 보내면, 다음과 같은 형식으로 값을 반환받습니다.

{
  "date": "2023-12-21T00:00+09:00",
  "character_name": "string",
  "world_name": "string",
  "character_gender": "string",
  "character_class": "string",
  "character_class_level": "string",
  "character_level": 0,
  "character_exp": 0,
  "character_exp_rate": "string",
  "character_guild_name": "string",
  "character_image": "string",
  "character_date_create": "2023-12-21T00:00+09:00",
  "access_flag": "string",
  "liberation_quest_clear_flag": "string"
}

해당 api에서 주의할 점은, "조회 기준일 (KST, YYYY-MM-DD)"은 현재 날짜의 전날까지만 입력이 가능합니다.

 

추가로, "character_image" 값은 String 형식으로 들어오는데, 받은 String 값을 웹사이트 주소로 입력하면 이미지를 확인할 수 있습니다.

 

해당 내용은 frontend에서 캐릭터의 이미지를 불러오는데 사용하시면 될 거 같습니다.

 

다음 포스팅에서는 이번에 받은 API_KEY를 가지고, 캐릭터의 기본 정보를 불러오는 부분에 대해 다뤄보도록 하겠습니다.

728x90
반응형

댓글