Skip to main content

GraphQL Endpoint

모든 VPMS 서비스는 Apollo Federation을 통해 통합된 단일 GraphQL endpoint를 제공합니다.
개발 환경 endpoint입니다. 프로덕션 환경에서는 다른 URL을 사용합니다.

공통 Headers

모든 GraphQL 요청에는 다음 헤더가 필요합니다.

Content-Type

GraphQL 요청은 JSON 형식으로 전송됩니다.

Authorization (선택적)

인증이 필요한 API의 경우 JWT 토큰을 포함해야 합니다.
String
Bearer 방식의 JWT 토큰
  • 형식: Bearer {token}
  • SMS 인증을 통해 획득한 authHash 사용
  • 일부 공개 API는 토큰 없이 호출 가능

전체 헤더 예제

요청 형식

GraphQL 요청은 JSON 객체로 구성되며, 다음 필드를 포함합니다.

Query/Mutation

String
required
GraphQL 쿼리 또는 뮤테이션 문자열
Object
쿼리 변수 (key-value 형식)
String
실행할 작업 이름 (여러 작업이 있을 때 사용)

응답 형식

성공 응답

에러 응답

클라이언트 설정 예제

TypeScript (Apollo Client)

JavaScript (Fetch API)

cURL

Rate Limiting

API 요청에는 다음과 같은 제한이 적용됩니다.
  • 제한: 분당 60회
  • 초과 시: 429 Too Many Requests
  • SMS 발송: 10분당 5회 (번호당)
  • 인증 확인: 1분당 10회 (번호당)

GraphQL Playground

개발 환경에서는 GraphQL Playground를 통해 API를 탐색할 수 있습니다.
브라우저에서 접속하면 인터랙티브한 쿼리 도구를 사용할 수 있습니다.
Playground에서 우측 상단의 “HTTP HEADERS” 탭에서 Authorization 헤더를 설정할 수 있습니다.

에러 코드

VPMS API에서 사용하는 공통 에러 코드입니다.

Federation & Subgraphs

VPMS는 Apollo Federation을 사용하여 여러 서비스를 하나의 GraphQL 스키마로 통합합니다.

서비스 구성

  • Core Service: 예약, 객실, 인증, 요금 관리
  • Booking Service: 공개 구매, 결제 처리
  • User Service: 사용자, 인증, 검색
  • Subscription Service: 구독, 알림
모든 서비스는 단일 endpoint를 통해 접근 가능하며, Federation이 자동으로 쿼리를 적절한 서비스로 라우팅합니다.

크로스 서비스 쿼리

Federation을 통해 여러 서비스의 데이터를 한 번의 쿼리로 가져올 수 있습니다.

관련 문서

지원

GraphQL API 관련 문의사항은 support@vendit.io로 연락주세요.