チュートリアル
この項の目的
このシステムの使用イメージを理解していただくことを目的とします。
基本的な購入までの API アクセスフローを示します。
本 API は大きく分けて 3 段階のフローが存在します。
購入の準備
ガチャを購入するにあたり、ガチャはビーコンもしくはエリアと紐づいている場合があります。この場合、ユーザはビーコンもしくはエリアを発見することでガチャの購入を行うことができます。
ユーザはビーコンから特定の番号を取得してサーバに見つけたことをリクエストします。
サーバ側はユーザが見つけたビーコンを元にユーザがアクセス可能なガチャを特定します。
ユーザのサインアップ
ユーザはそれぞれの認証方法に基づいてユーザが作成されます。サインアップをしていない状態でもガチャ情報を取得することは可能です。
チェックイン(オプション)
ガチャの設定で、Bluetoothビーコンの発見やGPSによる購入制限を設定することができます。ユーザはチェックインを行うことでガチャを購入する権利を一時的に得ることができます。
準備中
ビーコンの発見
ユーザがそのビーコンを見つけたことをサーバにリクエストします。これにより一定期間、そのビーコン情報に紐づいたガチャ等を見つけることが可能になります。
エリアの発見
ユーザがそのエリアを見つけたことをサーバにリクエストします。これにより一定期間、そのエリア情報に紐づいたガチャ等を見つけることが可能になります。
チェックインのセッションには有効期限が存在しています。有効期限が切れた場合、ユーザは購入権限を失うため再度チェックイ ンを行うことで再度権限を得ることができます。
ガチャ商品の購入
ユーザは自身の端末からデジタルガチャにアクセスして商品を購入します。
ガチャ一覧の取得
ユーザの認証方式からアクセスできるガチャの一覧を取得します。
ガチャ詳細・商品情報の取得
ユーザはガチャを選択して任意のガチャ詳細ページに遷移します。ここでは商品一覧情報を取得することを想定しています。
GET /api/v1/gachas/:gacha_id/prizes
ガチャ注文の作成
ユーザが任意の回数のガチャ商品を購入するため注文を作成します。未決済の注文はユーザにつき、一つまで存在します。未決済の注文が既に存在する場合は前回の注 文は削除され、新しい注文が作成されます。
POST /api/v1/gachas/:gacha_id/orders
決済の完了
未決済状態の注文を決済済みにします。
GET /api/v1/orders/:order_id/payment
注文状況・抽選結果の確認
決済完了後に注文の状態が更新されていることを確認します。決済済みのステータスの場合、抽選結果も表示されます。
商品の引き渡し
ユーザは商品購入後にスタッフ等を通して商品を受け取ります。引き渡し方法は二つ存在します。引き渡し方法はガチャの設定ごとに設定できます。ユーザが選べるといった形を想定したものではありません。