logo

概要

PMPでは、1人のユーザー当たり1つのID(PlayMining ID/PMID)を発行し、そこに全ての情報を紐付ける形で、データを集約管理してます。
これにより、各ユーザーに関する情報(以下のようなユーザーアクティビティ)を、管理ツールからPMIDで照会することが可能になっています。
  • DEPやNFTの移転
  • PlayMining NFTでの取引
  • 各コンテンツ内での購入
ただし、PMIDの発行に当たって、ユーザーには自分のアカウントへのログイン認証で用いるメールアドレスとパスワードを設定いただいてます。
このメールアドレスとパスワードによる認証は、PMP全体の統一規格とさせていただいておりますため、コンテンツへのログイン機能の開発においても、独自システムを準備するのではなく、PMP側が提供するログインシステムのご利用と繋ぎ込みをお願いしてます。

サービス利用の流れ

本サービスはPMPの基本機能に当たるため、特に利用申請などは必要ありません。
PMP側が提供するログインシステムと繋ぎ込んでアカウントを管理いただければ、自動でユーザーアクティビティがロギングされ、管理ツールから閲覧できます。
また、一部のユーザー情報はAPIからも取得可能です。(詳しくは後述の提供APIを参照)
コンテンツ内での画面表示や報酬付与の判定などに必要な場合は、これをご利用ください。

提供API

ユーザステータス取得API

PMPではユーザーの認証状況に応じて、PlayMiner Rankというステータスを定義しております。これは、そのステータス情報を取得するためのAPIです。
PlayMiner Rankには以下の3段階が存在し、ステータス毎に取引口座の付与やサービス利用の制限などが行われます。
  • Apprentice(Tier1)
  • Auctioneer(Tier2)
  • Connoisseur(Tier3)
()内の記載は、ステータス名が冗長なため使われている内部呼称です。
共通部以外の各パラメータの意味合いは以下の表を参照してください。(レスポンス側は本体がdataオブジェクトになるので、その中身について記載しています。)

リクエスト

パラメータ名
内容
uid
情報を取得したいユーザーのPMIDです。

レスポンス

パラメータ名
内容
tier
PlayMiner Rankの内部呼称に対応する数字(TierXのX)です。
口座が付与されていないユーザーにはDEPやNFTを報酬として送ることができないなど、ユーザーステータスに従ってコンテンツ内の一部機能が動作しないことなども考えられます。
最初に必ずこのステータスを確認し、必要に応じてユーザーの利用を制限してください。

ユーザーステータス一覧

ステータス
説明
Apprentice(Tier1)
ユーザーアカウントが作成された状態です。 本人確認が全く取られていないため、ユーザー口座は作成されていません。 このため、DEPやNFTの移転は実施できません。
Auctioneer(Tier2)
ユーザー口座が作成された状態です。 ユーザー間の取引を除いて、DEPやNFTの移転が実施できます。 よって、マーケットで一次流通(運営出品)のNFTを購入したり、コンテンツ側から報酬としてDEPやNFTを受け取ることが可能です。
Connoisseur(Tier3)
本人確認が完了した状態です。 ユーザー間でのDEP送金や、マーケットでのユーザー間取引など、これまで制限を受けていた機能すべてが開放されます。

ユーザーステータス遷移図

stateDiagram-v2 s1 : Apprentice(Tier1) s2 : Auctioneer(Tier2) s3 : Auctioneer(Tier2) [*] --> s1 : 新規登録 s1 --> s2 : SMS認証 s2 --> s3 : KYC完了 s3 --> [*]
Image without caption

DEP所持情報取得API

指定ユーザーが所持しているDEPの情報を返します。
ユーザーが所持しているDEPは、オークションへの入札などでロック中のものと、自由に利用可能なものの2種類の残高が存在します。
当然コンテンツ内で利用可能なのは後者の残高になるため、コンテンツ内にユーザーのDEP残高を表示する場合は、後者の値を採用することが推奨されます。
共通部以外の各パラメータの意味合いは以下の表を参照してください。(レスポンス側は本体がdataオブジェクトになるので、その中身について記載しています。)

リクエスト

パラメータ名
内容
uid
情報を取得したいユーザーのPMIDです。

レスポンス

パラメータ名
内容
balance
指定のユーザーが所持しているDEP残高の総額です。
locked_balance
ユーザーが所持しているDEPのうち、オークションへの入札などでロック中(利用が制限されている)ものの残高です。
available_balance
ユーザーが所持しているDEPのうち、自由に利用可能な残高です。

ログインシステムについて

ユーザーは以下のようなフローでコンテンツへログインすることになります。
--- title: ログインのユーザーフロー --- flowchart TD game(["コンテンツ画面"]) --> commonlogin{PMP共通ログイン画面} commonlogin -- 新規登録 --> register["「PlayMining IDを作成」をクリック"] commonlogin -- パスワード設定/変更 --> changePassword["「パスワードを忘れた場合はこちら」をクリック"] commonlogin -- ログイン --> login["メールアドレス/パスワードを入力"] register --> inputmail["メールアドレスを入力"] inputmail -- ワンタイムコードが書かれたメールを受信 --> inputOnetimeCodeForRegister["ワンタイムコードと設定するパスワードを入力"] inputOnetimeCodeForRegister --> complete["処理完了"] changePassword --> inputmail login -- ワンタイムコードが書かれたメールを受信 --> inputOnetimeCodeForLogin["ワンタイムコードを入力"] inputOnetimeCodeForLogin --> complete complete --> redirect["コンテンツ画面にリダイレクト"] commonlogin -- PMPにログイン済み --> redirect
Image without caption
具体的な実装方法については、「ユーザーにログインしてもらう」をご参照ください。

提供 Notaku