updateIssuedPassbyId

이미 발급된 Pass를 재발급 받기 위한 API입니다. 기존에 발급된 이력이 있는 Pass Id와 Holder 주소에 대해 Pass를 재발행하고자 할 때 사용합니다.

lunvs-account-id헤더에 들어갈 값은 어디서 확인할 수 있나요?

lunvs-account-id는 루니버스 계정 ID를 의미하는 값으로, 콘솔 사용자 ID를 구분하기 위한 값으로 사용됩니다. 모든 Web3 Pass API 요청에는 이 헤더가 공통으로 포함되어야 합니다. 입력 값은 루니버스 콘솔 우측 상단 프로필 > IAM 메뉴로 진입 후 아래와 같은 화면에서 'Alias'에 해당하는 값을 사용합니다 (붉은색 박스 영역).


signedMessage 포맷 가이드

패스 생성을 위한 요청 메시지 원본인 signedMessage는 Object 형식으로, 아래와 같은 필드를 포함해야 합니다.

  • holder: Pass를 발급할 NFT Holder의 주소입니다.
  • contractAddress: NFT 컨트랙트의 주소입니다.
  • tokenId: 해당 Holder가 보유한 토큰의 ID입니다. 한 Holder가 여러 토큰을 보유하고 있는 경우 대표 ID 하나만 사용합니다. 정수 형식으로 입력합니다.
  • environmentId: Pass 발급을 요청하는 대상 환경 ID입니다.

signature 생성 가이드

서명 데이터는 signedMessage를 eth_signTypedData_v4 형식으로 서명하여 생성합니다. 대표적인 지갑 어플리케이션인 MetaMask를 통해 eth_signTypedData_v4 형식의 서명 데이터를 만드는 방법 예시는 여기에서 확인하실 수 있습니다.

아래 코드는 Chrome의 개발자 도구 콘솔에서 쉽게 서명 데이터를 만들어볼 수 있는 예제 코드입니다. API 테스트를 위해 활용해보세요.

message = {
    "domain": {
      "name": "luniverse-pass",
      "version": "1"
    },
    "message": {
      "holder": "{EOA_ADDRESS}",
      "contractAddress": "{CONTRACT_ADDRESS}",
      "tokenId": 0,
      "environmentId": "{LUNIVERSE_ENVIRONMENT_ID}"
    },
    "primaryType": "Pass",
    "types": {
      "EIP712Domain": [
        {
          "name": "name",
          "type": "string"
        },
        {
          "name": "version",
          "type": "string"
        }
      ],
      "Pass": [
        {
          "name": "holder",
          "type": "address"
        },
        {
          "name": "contractAddress",
          "type": "address"
        },
        {
          "name": "tokenId",
          "type": "uint256"
        },
        {
          "name": "environmentId",
          "type": "string"
        }
      ]
    }
  }

msgParams = JSON.stringify(message)
ethereum.enable()
ethereum.request({method:'eth_signTypedData_v4', params:[ethereum.selectedAddress, msgParams], from: ethereum.selectedAddress})

eventId는 어디서 확인할 수 있나요?

Event ID는 루니버스 콘솔의 좌측 메뉴에서 Web3 Pass > Events & Passes 메뉴 진입하여 Pass를 생성하고자 하는 대상 Event를 클릭하여 Event 상세 화면으로 진입한 후 주소창에서 확인하실 수 있습니다. 해당 페이지의 주소는 https://console.luniverse.io/nft/events/{EventID} 형식으로 구성되므로, /events/ 이후의 값을 복사하여 API 요청시 사용해주세요.


passId는 어디서 확인할 수 있나요?

Pass ID는 Event 상세 화면 내 Pass 목록에서 실제 발행을 원하는 Pass를 클릭한 뒤 주소창에서 확인하실 수 있습니다. 해당 페이지 주소는 https://console.luniverse.io/nft-pass/passes/{PassID} 형식으로 구성되므로, /passes/ 이후의 값을 복사하여 API 요청시 사용해주세요.

Language
Authorization
Header
Click Try It! to start a request and see the response here!