logo

概要

PMPで発行されるNFTは、種類を意味するアセットと、実際に口座で保管されるトークンという2つの概念で成り立っています。
まず、特定のNFTを他と区別するためのデータ群(画像や名前など)としてアセットが存在し、それを実際に口座間で取引できるよう具象化したものがトークンです。
通販で喩えると、カタログなどで他と比較しながら選ばれる注文商品がアセットで、実際に送られてくる製造番号を振られた完成品がトークンに当たります。
ここでは、アセット・トークンそれぞれの管理機能について述べます。

新規NFTの登録

※2023/07現在、諸事情によりコンテンツ向け管理ツールは非公開状態となっております。公開まで今しばらくお待ちいただきますよう、お願い申し上げます。また、公開までの間は弊社担当プロデューサーに直接お問い合わせください。
新しいNFTを発行したい場合、まずNFTの性質を定義したデータ群であるアセットの新規登録が必要になります。
管理ツールの「アセット情報」メニューから「アセット一覧」ページに遷移し、「新規登録」ボタンを押して必要なデータを登録してください。
登録された新規アセットは、「アセット一覧」ページから参照できるようになり、詳細ボタンを押した遷移先の「アセット詳細」ページにて、登録データを全て確認できます。
また所定の審査を経たあと、承認済みステータスに更新されます。
承認済みステータスになったアセットは、発行上限数を超過しない範囲でトークン発行することが可能になり、また公開日時以降マケプレのカタログページに表示されます。
なお、アセットのデータを編集することは、基本的にできません。十分に注意してデータを登録するよう、よろしくお願いします。

トークンの発行

※2023/07現在、諸事情によりコンテンツ向け管理ツールは非公開状態となっております。公開まで今しばらくお待ちいただきますよう、お願い申し上げます。また、公開までの間は弊社担当プロデューサーに直接お問い合わせください。
トークンを発行したいアセットの「アセット詳細」ページから実施します。
「トークン発行」ボタンを押すと、発行数量と発行先口座を指定できますので、適切な値を入力して発行を開始してください。

トークンの状態確認

管理ツールの「トークン情報一覧」ページから「トークン情報」を選択し確認してください。
トークンステータスは以下のとおりです。

トークンの配布

※2023/07現在、諸事情によりコンテンツ向け管理ツールは非公開状態となっております。公開まで今しばらくお待ちいただきますよう、お願い申し上げます。また、公開までの間は弊社担当プロデューサーに直接お問い合わせください。
指定のユーザーに特定のトークンを配布したい場合は、NFT移転APIを用います。
配布したいトークンをCONTENTS_DEFAULT(出庫用口座)に保管した状態で、このAPIをリクエストしてください。
複数のユーザーへ配布する場合も、その件数分だけリクエストいただいて問題ありません。
なお、移転1件毎にプラットフォーム利用料が掛かり、CONTENTS_DEPOSIT(入庫用口座)から徴収されます。
配布結果は、管理ツールの「コンテンツ内配布履歴」ページから確認できます。
メニューの「コンテンツ内配布履歴」を選択してください。

引き換えコードによるトークンの交換

※2023/07現在、諸事情によりコンテンツ向け管理ツールは非公開状態となっております。公開まで今しばらくお待ちいただきますよう、お願い申し上げます。また、公開までの間は弊社担当プロデューサーに直接お問い合わせください。
不特定のユーザーにトークン配布を行う機能です。
CONTENTS_PROMOTION(プロモーションNFT口座)に保管されているNFTトークンと1対1で紐づく引き換えコードを生成し、トークン毎個別のトークン交換ページでトークンを配布することができます。
たとえば、NFTトークンのGiveaway(無料プレゼント)企画を行いたい場合は、プレゼントしたいユーザーにトークン交換ページのURLとコードの組を伝えてください。
トークン交換ページでは、PMIDアカウントを持っていなければ新規登録、持っていればログインして引き換えコードを入力すると、対応するNFTトークンがユーザー口座へ移転されます。
この機能を利用する際は、管理ツールの「引き換えコード設定」メニューを選択してください。

トークンのバーン

ユーザーまたはコンテンツが所有するトークンを廃棄し、永久的に利用不可とする機能です。
バーンは、該当トークンのステータスが所有の場合のみ可能であり、その他のステータス(出品中、貸出中、貸出申請中、トランザクション待ち、ロック中)のトークンには実施できません。
ユーザーの所持しているNFTトークンのバーンを要求したとき、ユーザーが承認するまでの間は必要に応じてコンテンツ側でキャンセルすることが可能です。
適宜、バーンされたトークンの状況のみを確認することも可能です。

提供API

NFT移転API

CONTENTS_DEFAULTから指定のユーザー口座へ特定のNFTを移転させるAPIです。
移転1件毎にプラットフォーム利用料が掛かり、CONTENTS_DEPOSITから徴収されます。
このAPIはNFTの移転のみを担っているため、移転に際してユーザーへ対価の支払いを求める場合は、別途それ用の処理を実装してください。
共通部以外の各パラメータの意味合いは以下の表を参照してください。

リクエスト

パラメータ名
内容
uid
移転先のユーザーのPMIDです。
condition_id
運営側が管理ツールから閲覧するコンテンツ内配布履歴に記載される文字列データです。 ユーザーから見られることはないので、指定する内容は自由に決めていただいて構いません。 ただし、履歴を仕分けするような際は、この値を用いることになる点はご留意願います。 配布理由毎にユニークな文字列(何らかのID)が指定されることを強く推奨します。
asset_id
移転するNFTのアセットIDです。
serial_no
移転するNFTトークンのシリアルです。
for_sale
NFT移転時のロイヤリティと販売手数料の有無を制御するためのオプションパラメータです。 真偽値を取り、デフォルトはtrueになります。 trueが指定された場合は、アセットの設定値に従ったDEPがコンテンツ口座から徴収され、ロイヤリティや販売手数料が該当ユーザーへ自動で支払われます。 falseが指定された場合は、コンテンツ口座からの徴収も、ユーザーへの支払いもスキップされます。

レスポンス

特に返却されるデータはありません。
resultの結果コードが0になっていれば成功です。

バーン要求API

ユーザーが所有するトークンを永久的に利用不可能とするAPIです。
API実行時にバーン承認ページのURLが払い出されレスポンスとして返ります。
ゲーム内にて上記URLへの導線を用意し、ユーザーがそのページにて承認することでバーンが確定します。
共通部以外の各パラメータの意味合いは以下の表を参照してください。

リクエスト

パラメータ名
内容
condition_id
運営側が管理ツールから閲覧するバーン履歴に記載される文字列データです。 ユーザーから見られることはないので、指定する内容は自由に決めていただいて構いません。 ただし、履歴を仕分けするような際は、この値を用いることになる点はご留意願います。 配布理由毎にユニークな文字列(何らかのID)が指定されることを強く推奨します。
asset_id
移転するNFTのアセットIDです。
serial_no
移転するNFTトークンのシリアルです。
uid
NFTを所持するユーザーのPMIDです。
redirect_url
バーン実行またはキャンセル後にユーザがリダイレクトするコンテンツのURLです。

レスポンス

パラメータ名
内容
nft_burn_request_id
バーンリクエストごとに払い出されるIDです。 バーンの進行状況を取得したり、バーンの承認ページを失効するために用います。
status
バーンの進行状況を示すステータスです。REQUESTED(バーン要求)になっていることが期待されます。 もし、それ以外の値になっていた場合は障害の可能性が高いため、個別にお問い合わせいただけると幸いです。
user_burn_url
ユーザに表示させるバーン承認画面のURLです。

コンテンツ口座用バーンAPI

コンテンツが所有するトークンを永久的に利用不可能とするAPIです。
共通部以外の各パラメータの意味合いは以下の表を参照してください。

リクエスト

パラメータ名
内容
condition_id
運営側が管理ツールから閲覧するバーン履歴に記載される文字列データです。 ユーザーから見られることはないので、指定する内容は自由に決めていただいて構いません。 ただし、履歴を仕分けするような際は、この値を用いることになる点はご留意願います。 配布理由毎にユニークな文字列(何らかのID)が指定されることを強く推奨します。
asset_id
移転するNFTのアセットIDです。
serial_no
移転するNFTトークンのシリアルです。

レスポンス

パラメータ名
内容
nft_burn_request_id
バーンリクエストごとに払い出されるIDです。 バーンの進行状況を取得するために用います。

バーン要求キャンセルAPI

バーン要求APIで払い出された承認ページを失効させるAPIです。
キャンセルAPIのリクエストが成功すると、対象の承認ページでユーザーがバーンを承認することはできなくなります。

リクエスト

パラメータ名
内容
nft_burn_request_id
キャンセルしたいバーンのIDを指定します。 バーン要求APIのレスポンスに含まれる nft_burn_request_id の値をそのまま指定してください。

レスポンス

パラメータ名
内容
nft_burn_request_id
バーンのIDです。リクエスト時に指定したものと同じ値になっていることが期待されます。 もし、それ以外の値になっていた場合は障害の可能性が高いため、個別にお問い合わせいただけると幸いです。
status
バーンの進行状況を示すステータスです。CANCELED(キャンセル済み)になっていることが期待されます。 もし、それ以外の値になっていた場合は障害の可能性が高いため、個別にお問い合わせいただけると幸いです。

バーン結果確認API

NFTのバーン状況を取得するAPIです。

リクエスト

パラメータ名
内容
nft_burn_request_id
結果を取得したいバーンのIDを指定します。

レスポンス

パラメータ名
内容
nft_burn_request_id
バーンのIDです。リクエスト時に指定したものと同じ値になっていることが期待されます。 もし、それ以外の値になっていた場合は障害の可能性が高いため、個別にお問い合わせいただけると幸いです。
status
バーンの進行状況を示すステータスです。 詳細は次項以降の記載内容を確認してください。

バーンのステータス

ステータス
説明
REQUESTED
バーン要求が実行され、ユーザーによる承認待ちの状態です。 引き続きステータス監視を実施してください。
ACCEPTED
ユーザーによるバーン承認またはコンテンツ側からのバーン仮実行が実施された状態です。 この段階だとブロックチェーンへの取り込みまでは完了していませんが、内部処理的にはバーンが確定しており、口座の所持情報などからも指定のNFTは消失しているので、バーン完了としてステータス監視は終了して構いません。
CANCELED
コンテンツ側により承認待ちのバーン要求がキャンセルされた状態です。 バーンはキャンセルされているので、ステータス監視は終了して構いません。
TX_WAITING
ブロックチェーンへの取り込み処理中の状態です。
COMPLETED
ブロックチェーンへの取り込みが完了した状態です。

状態遷移図

stateDiagram-v2 [*] --> REQUESTED : api/burn/nft/user REQUESTED --> ACCEPTED : ユーザーによる承認 [*] --> ACCEPTED : api/burn/nft/contents REQUESTED --> CANCELED : api/burn/nft/user/cancel CANCELED --> [*] ACCEPTED --> TX_WAITING : 定期バッチ処理 TX_WAITING --> COMPLETED : ブロックチェーンへの取り込み完了 COMPLETED --> [*]

提供 Notaku