物理アイテム付きNFTの作成から発送

具体的な流れ
1.アイテム作成時に物理アイテム付き NFT を選択

Item.type === 'nftWithPhysicalProduct'
となり、通常のアイテムと区別することができます。
2. ユーザーの手元に渡ったアイテムから配送先情報を入力できる UI を準備し、sdk.registerItemShippingInfo
を用いて配送先情報を登録します
ユーザーがアイテムに紐づく NFT を手に入れる(オークションに勝ち引き出すなど)と、Item.buyerAddress
に所有者のアドレスが入ります。
そのアドレスとウォレットのアドレスを比較して、Item
の所有者であることを判定することができます。
または、sdk.getTokensByAddress
を用いることでも取得することができます。Token
は、Items
から発行された NFT です。Token
に紐づくItem
は、
Token.item
に入っています。
実装例

// 保存するボタンを押した時に以下を実行
sdk.registerItemShippingInfo({
itemId,
shippingInfo: {...},
})
3. ユーザーに配送先情報を確認させる
ユーザーが配送先情報を入力したアイテムは、sdk.getItemShippingInfo
を用いることで配送先情報を取得できます。
ユーザーに情報を確認させる UI などで使えます。
実装例

// 確認ボタンを押した時に以下を実行
sdk.getItemShippingInfo({
itemId,
})
4. 管理画面から配送先情報を確認しフィジカルアイテムを発送

発送ボタンにより、アイテムを発送済みにすることができます。発送済みにするとItem.physicalOrderStatus === shipped
になります