
네오플 Open API를 위한 포괄적인 TypeScript 타입 정의 라이브러리입니다.
npm install -D neople-openapi-types
- 던전앤파이터 (Dungeon Fighter Online) - 34개 API 엔드포인트
- 사이퍼즈 (Cyphers) - 11개 API 엔드포인트
import type {
// 공통 타입
ApiResponse,
HttpStatusCode,
NeopleApiException,
// 던전앤파이터
DungeonFighter,
// 사이퍼즈
Cyphers
} from 'neople-openapi-types';
import type {
PlayerSearchParams,
PlayerSearchResponse
} from 'neople-openapi-types';
// 플레이어 검색 파라미터 타입 정의
const searchParams: PlayerSearchParams = {
nickname: '플레이어명',
wordType: 'match',
limit: 50
};
// 응답 타입 정의 (axios, fetch 등 원하는 HTTP 클라이언트 사용)
const response = await fetch(
`/cy/players?nickname=${searchParams.nickname}&limit=${searchParams.limit}`,
{ headers: { 'apikey': process.env.NEOPLE_OPENAPI_CYPHERS_KEY } }
);
const results: PlayerSearchResponse = await response.json();
import type {
CyphersApiClient,
CyphersApiConfig,
PlayerSearchParams
} from 'neople-openapi-types';
// API 클라이언트 설정
const config: CyphersApiConfig = {
apiKey: process.env.NEOPLE_OPENAPI_CYPHERS_KEY!,
baseURL: 'https://api.neople.co.kr',
timeout: 10000
};
// 클라이언트 구현체를 만들어서 사용
class MyCyphersApiClient implements CyphersApiClient {
constructor(private config: CyphersApiConfig) {}
async searchPlayers(params: PlayerSearchParams) {
// 실제 API 호출 로직 구현
// ...
}
// 다른 메서드들도 구현
}
const client = new MyCyphersApiClient(config);
const results = await client.searchPlayers({ nickname: '플레이어명' });
import {
CharacterSearchParams,
CharacterEquipmentParams,
DFServer
} from 'neople-openapi-types';
// 캐릭터 검색 파라미터
const searchParams: CharacterSearchParams = {
serverId: 'anton',
characterName: '캐릭터명',
wordType: 'match',
limit: 10
};
// 캐릭터 장비 조회 파라미터
const equipParams: CharacterEquipmentParams = {
serverId: 'anton',
characterId: 'characterId123'
};
// 실제 API 호출 (fetch, axios 등 사용)
const searchUrl = `/df/servers/${searchParams.serverId}/characters?characterName=${searchParams.characterName}`;
const equipUrl = `/df/servers/${equipParams.serverId}/characters/${equipParams.characterId}/equip/equipment`;
import axios from 'axios';
import type {
PlayerInfoParams,
PlayerInfo,
NeopleApiException
} from 'neople-openapi-types';
import {
isApiKeyError,
isRateLimitError,
isMaintenanceError
} from 'neople-openapi-types';
// 사용자가 직접 구현한 API 호출 함수
async function getPlayerInfo(params: PlayerInfoParams): Promise<PlayerInfo> {
try {
const response = await axios.get(`/cy/players/${params.playerId}`, {
headers: {
'apikey': process.env.NEOPLE_OPENAPI_CYPHERS_KEY
},
baseURL: 'https://api.neople.co.kr'
});
return response.data;
} catch (error) {
// axios 에러를 NeopleApiException으로 변환
if (axios.isAxiosError(error)) {
const status = error.response?.status || 500;
const code = error.response?.data?.error?.code || 'SYSTEM_ERROR';
const message = error.response?.data?.error?.message || error.message;
throw new NeopleApiException(message, status, code);
}
throw error;
}
}
// 에러 처리 예시
try {
const playerInfo = await getPlayerInfo({ playerId: 'player123' });
console.log(playerInfo);
} catch (error) {
if (isApiKeyError(error)) {
console.log('API 키를 확인해주세요');
} else if (isRateLimitError(error)) {
console.log('요청 한도를 초과했습니다');
} else if (isMaintenanceError(error)) {
console.log('현재 점검 중입니다');
} else {
console.log('알 수 없는 오류:', error.message);
}
}
모든 타입 정의에는 실제 API 엔드포인트가 JSDoc으로 문서화되어 있습니다:
- 플레이어 검색
GET /cy/players
PlayerSearchParams
→PlayerSearchResponse
- 플레이어 정보
GET /cy/players/{playerId}
PlayerInfoParams
→PlayerInfo
- 매치 기록
GET /cy/players/{playerId}/matches
PlayerMatchesParams
→PlayerMatches
- 매치 상세
GET /cy/matches/{matchId}
MatchDetailParams
→MatchDetail
- 전체 랭킹
GET /cy/ranking/ratingpoint
OverallRankingParams
→RankingInfo
- 캐릭터별 랭킹
GET /cy/ranking/characters/{characterId}/{rankingType}
CharacterRankingParams
→RankingInfo
- 투신전 랭킹
GET /cy/ranking/tsj/{tsjType}
TSJRankingParams
→TSJRankingResponse
- 아이템 검색
GET /cy/battleitems
ItemSearchParams
→ItemSearchResponse
- 아이템 상세
GET /cy/battleitems/{itemId}
ItemDetailParams
→ItemDetailResponse
- 다중 아이템
GET /cy/multi/battleitems
MultiItemParams
→MultiItemResponse
- 사이퍼 정보
GET /cy/characters
CypherInfoParams
→CypherInfoResponse
- 서버 목록
GET /df/servers
→ServerListResponse
- 캐릭터 검색
GET /df/servers/{serverId}/characters
CharacterSearchParams
→CharacterSearchResponse
- 캐릭터 기본정보
GET /df/servers/{serverId}/characters/{characterId}
CharacterBasicParams
→CharacterBasicResponse
- 캐릭터 타임라인
GET /df/servers/{serverId}/characters/{characterId}/timeline
CharacterTimelineParams
→CharacterTimelineResponse
- 캐릭터 능력치
GET /df/servers/{serverId}/characters/{characterId}/status
CharacterStatusParams
→CharacterStatusResponse
- 캐릭터 명성 검색
GET /df/servers/{serverId}/characters-fame
CharacterFameSearchParams
→CharacterFameSearchResponse
- 캐릭터 장비
GET /df/servers/{serverId}/characters/{characterId}/equip/equipment
CharacterEquipmentParams
→CharacterEquipmentResponse
- 캐릭터 아바타
GET /df/servers/{serverId}/characters/{characterId}/equip/avatar
CharacterAvatarParams
→CharacterAvatarResponse
- 캐릭터 크리처
GET /df/servers/{serverId}/characters/{characterId}/equip/creature
CharacterCreatureParams
→CharacterCreatureResponse
- 캐릭터 휘장
GET /df/servers/{serverId}/characters/{characterId}/equip/flag
CharacterFlagParams
→CharacterFlagResponse
- 캐릭터 스킬 스타일
GET /df/servers/{serverId}/characters/{characterId}/skill/style
CharacterSkillStyleParams
→CharacterSkillStyleResponse
- 캐릭터 버프 장비
GET /df/servers/{serverId}/characters/{characterId}/skill/buff/equip/equipment
CharacterBuffEquipmentParams
→CharacterBuffEquipmentResponse
- 캐릭터 버프 아바타
GET /df/servers/{serverId}/characters/{characterId}/skill/buff/equip/avatar
CharacterBuffAvatarParams
→CharacterBuffAvatarResponse
- 캐릭터 버프 크리처
GET /df/servers/{serverId}/characters/{characterId}/skill/buff/equip/creature
CharacterBuffCreatureParams
→CharacterBuffCreatureResponse
- 경매장 검색
GET /df/auction
AuctionSearchParams
→AuctionSearchResponse
- 경매장 상세
GET /df/auction/{auctionNo}
AuctionDetailParams
→AuctionDetailResponse
- 경매장 판매내역
GET /df/auction-sold
AuctionSoldParams
→AuctionSoldResponse
- 아바타 마켓 판매상품
GET /df/avatar-market/sale
AvatarMarketSaleParams
→AvatarMarketSaleResponse
- 아바타 마켓 상품상세
GET /df/avatar-market/sale/{goodsNo}
AvatarMarketSaleDetailParams
→AvatarMarketSaleDetailResponse
- 아바타 마켓 판매내역
GET /df/avatar-market/sold
AvatarMarketSoldParams
→AvatarMarketSoldResponse
- 아바타 마켓 판매완료상품
GET /df/avatar-market/sold/{goodsNo}
AvatarMarketSoldDetailParams
→AvatarMarketSoldDetailResponse
- 아바타 마켓 해시태그
GET /df/avatar-market/hashtag
AvatarMarketHashtagParams
→AvatarMarketHashtagResponse
- 아이템 검색
GET /df/items
ItemSearchParams
→ItemSearchResponse
- 아이템 상세
GET /df/items/{itemId}
ItemDetailParams
→ItemDetailResponse
- 아이템 상점정보
GET /df/items/{itemId}/shop
ItemShopParams
→ItemShopResponse
- 다중 아이템
GET /df/multi/items
MultiItemParams
→MultiItemInfoResponse
- 아이템 해시태그
GET /df/item-hashtag
ItemHashtagParams
→ItemHashtagResponse
- 세트아이템 검색
GET /df/setitems
SetItemSearchParams
→SetItemSearchResponse
- 세트아이템 상세
GET /df/setitems/{setItemId}
SetItemParams
→SetItemInfoResponse
- 다중 세트아이템
GET /df/multi/setitems
MultiSetItemParams
→MultiSetItemResponse
- 직업 목록
GET /df/jobs
→JobListResponse
- 직업별 스킬목록
GET /df/skills/{jobId}
JobSkillListParams
→JobSkillListResponse
- 스킬 상세
GET /df/skills/{jobId}/{skillId}
SkillDetailParams
→SkillDetailResponse
- 다중 스킬
GET /df/multi/skills/{jobId}
MultiSkillParams
→MultiSkillResponse
- 던전앤파이터: 34/34 엔드포인트 (100%) - 파라미터 + 응답 타입 완료
- 사이퍼즈: 11/11 엔드포인트 (100%) - 파라미터 + 응답 타입 완료
- 총 45개 API 엔드포인트 지원
-
ApiResponse<T>
- 모든 네오플 API의 표준 응답 구조interface ApiResponse<T> { rows: T[]; next?: string; totalCount?: number; }
-
ApiRequestOptions
- API 요청 시 공통 옵션 (페이지네이션 포함) -
PaginationParams
- 페이지네이션을 위한 파라미터 (limit
,offset
)
DateString
- 날짜 문자열 (YYYY-MM-DD
형식)DateTimeString
- 날짜시간 문자열 (ISO 8601 형식)
ApiError
- API 에러 응답의 기본 구조NeopleApiError
- 네오플 API 에러 인터페이스NeopleApiException
- 네오플 API 전용 예외 클래스HttpStatusCode
- HTTP 상태 코드 열거형 (200, 400, 401, 403, 404, 500 등)
RequireField<T, K>
- 선택적 필드를 필수로 만드는 유틸리티 타입SelectFields<T, K>
- 특정 필드만 선택하는 유틸리티 타입
DFServer
- 던파의 8개 서버 식별자'anton'
,'bakal'
,'cain'
,'casillas'
,'diregie'
,'hilder'
,'prey'
,'siroco'
DF_SERVERS
- 서버 코드와 한글명 매핑 상수
CyphersGameType
- 사이퍼즈 게임 타입 구분'rating'
: 공식 랭킹전'normal'
: 일반 게임
CYPHERS_GAME_TYPES
- 게임 타입과 한글명 매핑 상수
DFItemRarity
- 던파 아이템 희귀도 (common, uncommon, rare, unique, epic, chronicle, legendary, myth)DF_ITEM_RARITIES
- 아이템 희귀도와 한글명 매핑 상수import { DungeonFighter } from 'neople-openapi-types'; const rarity: DungeonFighter.DFItemRarity = 'epic';
CyphersItemRarity
- 사이퍼즈 아이템 등급 ('101', '102', '103', '104')CYPHERS_ITEM_RARITIES
- 아이템 등급과 한글명 매핑 상수CyphersTier
- 사이퍼즈 랭킹 티어 (BRONZE, SILVER, GOLD, DIAMOND, JOKER, ACE)CYPHERS_TIERS
- 랭킹 티어와 한글명 매핑 상수import { Cyphers } from 'neople-openapi-types'; const tier: Cyphers.CyphersTier = 'ACE'; const rarity: Cyphers.CyphersItemRarity = '104';
네오플 API는 체계적인 에러 코드를 제공합니다:
CommonApiErrorCode
- 모든 API 공통 에러 (API000
~API999
)- 인증 오류, 요청 제한, 서버 오류 등
DnfErrorCode
- 던전앤파이터 전용 (DNF000
~DNF999
)CyphersErrorCode
- 사이퍼즈 전용 (CY001
~CY999
)
ApiErrorCode
- 모든 에러 코드를 통합한 유니온 타입
HTTP_STATUS_TO_ERROR
- HTTP 상태 코드별 에러 메시지 매핑ERROR_MESSAGES
- 에러 코드별 상세 메시지 매핑
던전앤파이터의 캐릭터 관련 정보를 다루는 타입들입니다:
CharacterSearch
- 캐릭터 검색 결과 (캐릭터명으로 검색)CharacterBasic
- 캐릭터 기본 정보 (레벨, 직업, 길드 등)CharacterStatus
- 캐릭터 능력치 및 스탯 정보CharacterStat
- 개별 능력치 정보 (힘, 지능, 체력 등)CharacterEquipment
- 착용 중인 장비 정보 및 인챈트/증폭EquipmentItem
- 개별 장비 아이템 정보EnchantStat
- 인챈트 능력치 정보CharacterAvatar
- 아바타 장착 정보 (상의, 하의, 모자 등)AvatarItem
- 개별 아바타 아이템 정보CharacterCreature
- 크리처 및 아티팩트 정보CreatureInfo
- 크리처 상세 정보ArtifactInfo
- 아티팩트 상세 정보CharacterFlag
- 휘장 시스템 관련 정보FlagInfo
- 휘장 상세 정보GemInfo
- 보석 정보CharacterTalisman
- 탈리스만(부적) 및 룬 정보TalismanInfo
- 탈리스만 상세 정보RuneInfo
- 룬 상세 정보
캐릭터의 스킬과 각종 버프 효과를 나타내는 타입들:
CharacterSkill
- 캐릭터가 습득한 스킬 목록 및 레벨SkillStyle
- 스킬 스타일 (액티브/패시브) 정보SkillStyleInfo
- 스킬 스타일 상세 정보SkillInfo
- 개별 스킬의 상세 정보CharacterBuff
- 적용 중인 버프 효과들 (장비, 아바타, 크리처 등)BuffSkill
- 스킬 버프 정보BuffEquipment
- 장비 버프 정보BuffAvatar
- 아바타 버프 정보BuffCreature
- 크리처 버프 정보
아이템 정보와 경매장 거래 관련 타입들:
ItemSearch
- 아이템 검색 결과 (이름, 등급별 검색)ItemDetail
- 아이템 상세 정보 (옵션, 설명, 획득 방법)ItemStatus
- 아이템 상태 정보SetItemInfo
- 세트 아이템 정보 및 세트 효과SetItem
- 세트 아이템 개별 정보SetItemOption
- 세트 효과 옵션 정보MultiItemInfo
- 멀티 아이템(조각) 정보MultiItem
- 멀티 아이템 개별 정보ItemShop
- 아이템 상점 정보PackageInfo
- 패키지 정보PackageItem
- 패키지 아이템 정보AuctionSearch
- 경매장 현재 판매 중인 아이템AuctionItem
- 경매장 아이템 정보AuctionSold
- 경매장 판매 완료 내역
Timeline
- 캐릭터의 최근 활동 기록 (던전 클리어, 아이템 획득 등)TimelineItem
- 개별 활동 기록 정보
던전앤파이터 API 호출을 위한 타입 지원 (34개 엔드포인트):
캐릭터 시스템 (14개 엔드포인트)
CharacterSearchParams
/CharacterSearchResponse
- 캐릭터 검색CharacterBasicParams
/CharacterBasicResponse
- 캐릭터 기본 정보 조회CharacterTimelineParams
/CharacterTimelineResponse
- 캐릭터 타임라인 조회CharacterStatusParams
/CharacterStatusResponse
- 캐릭터 능력치 조회CharacterEquipmentParams
/CharacterEquipmentResponse
- 캐릭터 장비 조회CharacterAvatarParams
/CharacterAvatarResponse
- 캐릭터 아바타 조회CharacterCreatureParams
/CharacterCreatureResponse
- 캐릭터 크리처 조회CharacterFlagParams
/CharacterFlagResponse
- 캐릭터 휘장 조회CharacterSkillStyleParams
/CharacterSkillStyleResponse
- 캐릭터 스킬 스타일 조회CharacterBuffEquipmentParams
/CharacterBuffEquipmentResponse
- 버프 스킬 강화 장비 조회CharacterBuffAvatarParams
/CharacterBuffAvatarResponse
- 버프 스킬 강화 아바타 조회CharacterBuffCreatureParams
/CharacterBuffCreatureResponse
- 버프 스킬 강화 크리처 조회CharacterFameSearchParams
/CharacterFameSearchResponse
- 캐릭터 명성 검색
경매장 시스템 (3개 엔드포인트)
AuctionSearchParams
/AuctionSearchResponse
- 경매장 검색AuctionDetailParams
/AuctionDetailResponse
- 경매장 상세 조회AuctionSoldParams
/AuctionSoldResponse
- 경매장 판매내역 조회
아바타 마켓 (5개 엔드포인트)
AvatarMarketSaleParams
/AvatarMarketSaleResponse
- 아바타 마켓 판매 상품AvatarMarketSaleDetailParams
/AvatarMarketSaleDetailResponse
- 아바타 마켓 상품 상세AvatarMarketSoldParams
/AvatarMarketSoldResponse
- 아바타 마켓 판매 내역AvatarMarketSoldDetailParams
/AvatarMarketSoldDetailResponse
- 아바타 마켓 판매 완료 상품AvatarMarketHashtagParams
/AvatarMarketHashtagResponse
- 아바타 마켓 해시태그
아이템 시스템 (8개 엔드포인트)
ItemSearchParams
/ItemSearchResponse
- 아이템 검색ItemDetailParams
/ItemDetailResponse
- 아이템 상세 조회ItemShopParams
/ItemShopResponse
- 아이템 상점 정보MultiItemParams
/MultiItemInfoResponse
- 다중 아이템 조회ItemHashtagParams
/ItemHashtagResponse
- 아이템 해시태그SetItemSearchParams
/SetItemSearchResponse
- 세트 아이템 검색SetItemParams
/SetItemInfoResponse
- 세트 아이템 조회MultiSetItemParams
/MultiSetItemResponse
- 다중 세트 아이템 조회
직업 및 스킬 시스템 (4개 엔드포인트)
JobListResponse
- 직업 목록 조회JobSkillListParams
/JobSkillListResponse
- 직업별 스킬 목록 조회SkillDetailParams
/SkillDetailResponse
- 스킬 상세 정보 조회MultiSkillParams
/MultiSkillResponse
- 다중 스킬 조회
사이퍼즈의 플레이어 및 랭킹 시스템 관련 타입들:
PlayerInfo
- 플레이어 기본 정보 (닉네임, 레벨, 플레이 통계)PlayerMatches
- 플레이어의 최근 매치 기록 목록MatchRecord
- 개별 매치 기록 정보RankingInfo
- 전체 랭킹 정보 (TOP 랭커 목록)TSJRankingResponse
- 투신전 랭킹 응답 (v0.3.0 추가)PlayerRanking
- 개별 플레이어의 랭킹 데이터 및 티어 정보
실시간 전투 및 매치 결과를 나타내는 타입들:
MatchDetail
- 매치 상세 정보 (게임 결과, 진행 시간, 맵 정보)MatchTeam
- 팀 정보 (팀원 구성, 팀 점수)MatchPlayer
- 매치 내 플레이어 개별 성과 (킬/데스, 데미지 등)MatchPlayerItem
- 매치 내 플레이어 아이템 정보Position
- 맵 내 플레이어 위치 좌표 정보PositionMap
- 위치 좌표 매핑 정보
배틀 아이템과 캐릭터 장비 관련 타입들:
ItemInfo
- 배틀 아이템 기본 정보 (이름, 등급, 슬롯)ItemDetail
- 아이템 상세 정보 (효과, 획득 방법, 튜닝 정보)ItemDetailResponse
- 아이템 상세 조회 응답 (v0.3.0 추가)MultiItemResponse
- 다중 아이템 조회 응답 (v0.3.0 추가)ItemSearch
- 아이템 검색 결과ItemTuning
- 아이템 튜닝 및 강화 정보
플레이 가능한 사이퍼 캐릭터들의 정보:
CypherInfo
- 사이퍼 기본 정보 (이름, 역할군, 출시일)CypherDetail
- 사이퍼 상세 정보 (스토리, 컨셉)CypherAbility
- 사이퍼의 능력치 정보CypherSkill
- 사이퍼의 스킬 목록 및 설명CypherSearch
- 사이퍼 검색 결과CypherRecommendItem
- 사이퍼별 추천 배틀 아이템 조합RecommendItemSlot
- 추천 아이템 슬롯 정보RecommendItem
- 개별 추천 아이템 정보
API 클라이언트 구현을 위한 인터페이스와 설정:
CyphersApiClient
- 사이퍼즈 API 클라이언트 인터페이스 (구현 가이드라인)CyphersApiConfig
- API 클라이언트 설정 (API 키, 베이스 URL 등)ApiRequestOptions
- API 요청 옵션 (사이퍼즈 전용)CYPHERS_API_ENDPOINTS
- 모든 API 엔드포인트 상수 모음CyphersApiEndpoint
- 사이퍼즈 API 엔드포인트 타입
사이퍼즈 API 호출을 위한 파라미터와 응답 타입들:
PlayerSearchParams
- 플레이어 검색 파라미터PlayerSearchResponse
- 플레이어 검색 응답PlayerSearchResult
- 플레이어 검색 결과 개별 항목PlayerInfoParams
- 플레이어 정보 조회 파라미터PlayerMatchesParams
- 플레이어 매치 기록 조회 파라미터MatchDetailParams
- 매치 상세 조회 파라미터RankingParams
- 랭킹 조회 기본 파라미터OverallRankingParams
- 전체 랭킹 조회 파라미터CharacterRankingParams
- 캐릭터별 랭킹 조회 파라미터ItemSearchParams
- 아이템 검색 파라미터ItemSearchResponse
- 아이템 검색 응답ItemSearchResult
- 아이템 검색 결과 개별 항목PlayerEquipmentParams
- 플레이어 장비 조회 파라미터CypherInfoParams
- 사이퍼 정보 조회 파라미터CypherInfoResponse
- 사이퍼 정보 조회 응답CypherSearchResult
- 사이퍼 검색 결과 개별 항목RecommendItemParams
- 추천 아이템 조회 파라미터
일부 타입은 던전앤파이터와 사이퍼즈에서 동일한 이름을 사용합니다. 이런 경우 네임스페이스를 통해 구분하여 사용하세요:
import type { DungeonFighter, Cyphers } from 'neople-openapi-types';
// 던전앤파이터의 ItemDetail 사용
const dfItem: DungeonFighter.ItemDetail = {
itemId: "df001",
itemName: "던파 아이템",
itemRarity: "common",
itemTypeId: "weapon",
// ... 던파 전용 필드들
};
// 사이퍼즈의 ItemDetail 사용
const cyItem: Cyphers.ItemDetail = {
itemId: "cy001",
itemName: "사이퍼즈 아이템",
slotCode: "weapon",
rarityCode: "101",
// ... 사이퍼즈 전용 필드들
};
import type { ItemDetail as DFItemDetail } from 'neople-openapi-types/dungeon-fighter';
import type { ItemDetail as CyItemDetail } from 'neople-openapi-types/cyphers';
const dfItem: DFItemDetail = {
itemId: "df001",
itemName: "던파 아이템",
itemRarity: "common"
// ... 던파 전용 필드들
};
const cyItem: CyItemDetail = {
itemId: "cy001",
itemName: "사이퍼즈 아이템",
slotCode: "weapon"
// ... 사이퍼즈 전용 필드들
};
src/
├── common/ # 공통 타입 및 유틸리티
│ ├── index.ts
│ ├── servers.ts # 서버 정보 (DFServer, CyphersGameType)
│ ├── codes.ts # HTTP/에러 코드
│ └── errors.ts # 에러 처리
├── cyphers/ # 사이퍼즈 API 타입
│ ├── api.ts # API 파라미터 타입
│ ├── client.ts # 클라이언트 인터페이스
│ ├── character.ts # 플레이어/매치 타입
│ ├── matches.ts # 매치 상세 타입
│ ├── item.ts # 아이템 타입
│ ├── cypher.ts # 사이퍼 캐릭터 타입
│ ├── enums.ts # 사이퍼즈 전용 enum (CyphersTier, CyphersItemRarity)
│ └── index.ts
├── dungeon-fighter/ # 던전앤파이터 API 타입
│ ├── api.ts # API 파라미터 타입
│ ├── character.ts # 캐릭터 타입
│ ├── skill.ts # 스킬/버프 타입
│ ├── item.ts # 아이템 타입
│ ├── auction.ts # 경매장 타입
│ ├── timeline.ts # 타임라인 타입
│ ├── enums.ts # 던전앤파이터 전용 enum (DFItemRarity)
│ └── index.ts
└── index.ts # 메인 export
개발 및 빌드를 위한 주요 npm 스크립트들:
npm run build # TypeScript 컴파일 (tsc)
npm run build:full # 전체 빌드 프로세스 (clean + typecheck + lint + build + api-extract)
npm run clean # 빌드 결과물 정리 (dist/, temp/ 폴더 삭제)
npm run lint # ESLint로 코드 검사
npm run lint:fix # ESLint로 코드 검사 및 자동 수정
npm run format # Prettier로 코드 포맷팅
npm run format:check # Prettier로 포맷팅 검사만 실행
npm run typecheck # TypeScript 타입 검사 (컴파일 없이)
npm run api-extract # API Extractor 실행 (로컬 모드)
npm run api-extract:prod # API Extractor 실행 (프로덕션 모드)
npm run prepublishOnly # npm publish 전 자동 실행 (build:full과 동일)
npm test # 테스트 실행 (현재는 placeholder)
- 개발 중:
npm run typecheck && npm run lint
로 코드 검증 - 코드 정리:
npm run format
으로 포맷팅 적용 - 배포 전:
npm run build:full
로 전체 빌드 및 API 문서 생성 - API 문서 확인:
api-reports/neople-openapi-types.api.md
파일에서 생성된 API 문서 확인
MIT License
이 라이브러리는 MIT 라이선스 하에 배포되며, 네오플 Open API 서비스의 이용약관을 준수합니다.
중요 사항:
- 이 라이브러리는 네오플 Open API의 비공식 TypeScript 타입 정의입니다.
- 네오플 Open API 서비스 이용 시 네오플의 이용약관을 반드시 준수해야 합니다.
자세한 내용은 네오플 Open API 이용정책을 참조하세요.
이슈 및 풀 리퀘스트를 환영합니다!
- GitHub 저장소 - 소스 코드 및 이슈 트래킹
- npm 패키지 - 설치 및 버전 정보
- 네오플 개발자센터 - 공식 API 문서
네오플 Open API 공식 문서: https://developers.neople.co.kr/