API
Store
퀘스트

Store API

퀘스트 API

퀘스트 서비스는 게임 내에 존재하는 다양한 퀘스트를 관리하고 제공합니다. 퀘스트는 사용자가 게임 내에서 수행할 수 있는 목표나 임무를 나타냅니다. 사용자는 퀘스트 서비스를 통해 게임 내의 다양한 퀘스트를 수락하고 진행할 수 있습니다.

퀘스트 상세 조회

특정 퀘스트의 상세 정보를 조회합니다.

Operation

query Quest($input: QuestInput!) {
  quest(input: $input) {
    name
    description
    thumbnailUrl
    timeout
    requiredPoint
    rewardPoint
    type
    literacyExp
    imaginationExp
    narrativeExp
    sociabilityExp
  }
}

Variables

{
  "input": {
    "questId": "퀘스트 ID"
  }
}

퀘스트 랭킹 조회

특정 퀘스트에 대한 사용자 랭킹을 조회합니다.

Operation

query QuestRangkings($input: QuestRankingsInput!) {
  questRangkings(input: $input) {
    rankers {
      profileId
      thumbnailUrl
      nickname
      name
      questDuration
    }
  }
}

Variables

{
  "input": {
    "questId": "퀘스트 ID"
  }
}

퀘스트 시작

사용자가 퀘스트를 시작할 때 사용합니다.

Operation

mutation StartQuest($input: StartQuestInput!) {
  startQuest(input: $input) {
    success
  }
}

Variables

{
  "input": {
    "questId": "퀘스트 ID"
  }
}

퀘스트 종료

사용자가 퀘스트를 완료하고 결과를 제출할 때 사용합니다.

Operation

mutation CompleteQuest($input: CompleteQuestInput!) {
  completeQuest(input: $input) {
    success
  }
}

Variables

{
  "input": {
    "userQuestId": "유저 퀘스트 ID",
    "status": "SUCCESS",
    "questDuration": 120
  }
}

유저 퀘스트 목록 조회

사용자가 진행한 퀘스트 목록을 조회할때 사용합니다.

Operation

query UserQuestConnection {
  userQuestConnection {
    nodes {
      id
      questId
      quest {
        name
        description
        thumbnailUrl
        timeout
        requiredPoint
        rewardPoint
        type
        literacyExp
        imaginationExp
        narrativeExp
        sociabilityExp
      }
      status
      createdAt
    }
    totalCount
  }
}

Variables

{
  "first": 10,
  "offset": 0,
  "orderBy": {
    "field": "CREATED_AT",
    "direction": "ASC"
  },
  "filter": {
    "status": PROGRESS
  }
}