REST API 仕様書 v1
REST API仕様書(暫定案)
Rev. 0.0.1
以下は暫定案です。
なお、すでにAPIのご準備がある場合は、ご準備いただいたものを使用可能です。
目次
目次1. 共通仕様1.1. 全般1.2. リクエスト仕様1.3. 正常レスポンス1.4. エラーレスポンス2. API2.1. アイテム購入可能チェック(GET/check)2.1.1. リクエスト2.1.2. レスポンス(正常時)2.1.3. レスポンス(リクエストエラー)2.1.4. レスポンス(認証エラー)2.1.5. レスポンス(リソースエラー)2.2. アイテム購入実績登録(POST/register)2.2.1. リクエスト2.2.2. レスポンス(正常)2.2.3. レスポンス(リクエストエラー)2.2.4. レスポンス(認証エラー)2.2.5. レスポンス(処理不能エラー)
1. 共通仕様
1.1. 全般
| ホスト | <パブリッシャー任意> |
| プロトコル | HTTPS |
| 文字コード | UTF-8 |
1.2. リクエスト仕様
■リクエストヘッダー
| キー | 値 | 内容 |
| authorization | bearer [ACCESS_TOKEN] | 認証情報 |
| content-type | application/json | コンテンツタイプ |
■リクエストパラメータ
| キー | 値 | 内容 |
■リクエストボディー
| キー | 値 | 内容 |
1.3. 正常レスポンス
■レスポンスヘッダー
| キー | 値 |
| HTTPステータス | 200 |
| content-type | application/json |
■レスポンスボディ
| キー | 値 | 内容 |
| result_code | PUBxxxx | 結果コード |
| message | xxxxxxx | メッセージ |
1.4. エラーレスポンス
■レスポンスヘッダー
| キー | 値 |
| HTTPステータス | 400 以降 |
| content-type | application/json |
■レスポンスボディ
| キー | 値 | 内容 |
| result_code | PUBxxxx | エラーコード |
| message | xxxxxxx | エラーメッセージ |
2. API
2.1. アイテム購入可能チェック(GET/check)
購入ユーザーが指定のゲーム内アイテムの購入可能がどうか確認を行う
2.1.1. リクエスト
■リクエスト
| エンドポイント | /check |
| メソッド | GET |
■リクエストパラメータ
| キー | 設定値 | 内容 |
| game | ゲームID | パブリッシャーが指定するゲームタイトルのユニークID |
| user | ゲーム内ユーザーID | 購入ユーザーが指定したゲーム内のユーザーID |
| item | ゲーム内アイテムID | パブリッシャーが指定するゲーム内課金アイテムのユニークID |
■リクエストサンプル
GET /check?game=9nuKfGCi&user=XQagx3e6&item=8gvyzdur
2.1.2. レスポンス(正常時)
■レスポンスヘッダー
| キー | 値 |
| HTTPステータス | 200 |
| content-type | application/json |
■想定レスポンスボディー
| result_code | message | 内容 |
| PUB0000 | OK | リクエストされた商品は購入可能である |
| PUB2003 | 商品ID'${item}'は販売不可のため購入できません。 | リクエストされた商品はパブリッシャーの制限により購入できない |
| PUB2004 | 商品ID'${item}'はユーザーが購入条件を満たさないため購入できません。 | リクエストされた商品は対象ユーザーが購入条件を満たさないため購入できない |
2.1.3. レスポンス(リクエストエラー)
■レスポンスヘッダー
| キー | 値 |
| HTTPステータス | 400 |
| content-type | application/json |
■想定レスポンスボディー
| result_code | message | 内容 |
| PUB1000 | パラメータ'${param}'が指定されていません。 | 必須パラメータが指定されていない |
| PUB1001 | パラメータ'${param}'の値が不正です。 | 設定しているパラメータの値が正しくない |
2.1.4. レスポンス(認証エラー)
■レスポンスヘッダー
| キー | 値 |
| HTTPステータス | 401 |
| content-type | application/json |
■想定レスポンスボディー
| result_code | message | 内容 |
2.1.5. レスポンス(リソースエラー)
■レスポンスヘッダー
| キー | 値 |
| HTTPステータス | 404 |
| content-type | application/json |
■想定レスポンスボディー
| result_code | message | 内容 |
| PUB2000 | 指定されたユーザーは無効です。 | 該当するユーザーが存在しない。 |
| PUB2001 | ゲームID'${game}'は無効です。 | 該当するゲームが存在しない。 |
| PUB2002 | 商品ID'${item}'は無効です。 | 該当する商品が存在しない。 |
2.2. アイテム購入実績登録(POST/register)
購入ユーザーの指定のゲーム内アイテムの購入実績を登録する
2.2.1. リクエスト
■リクエスト
| エンドポイント | /register |
| メソッド | POST |
■リクエストパラメータ
| キー | 設定値 | 内容 |
| game | ゲームID | パブリッシャーが指定するゲームタイトルのユニークID |
| user | ゲーム内ユーザーID | 購入ユーザーが指定したゲーム内のユーザーID |
| item | ゲーム内アイテムID | パブリッシャーが指定するゲーム内課金アイテムのユニークID |
■リクエストサンプル
POST /register?game=9nuKfGCi&user=XQagx3e6&item=8gvyzdur
2.2.2. レスポンス(正常)
■レスポンスヘッダー
| キー | 値 |
| HTTPステータス | 200 |
| content-type | application/json |
■想定レスポンスボディー
| result_code | message | 内容 |
| PUB0000 | OK | 購入実績は正常に登録された。 |
2.2.3. レスポンス(リクエストエラー)
■レスポンスヘッダー
| キー | 値 |
| HTTPステータス | 400 |
| content-type | application/json |
■想定レスポンスボディー
| result_code | message | 内容 |
| PUB1000 | パラメータ'${param}'が指定されていません。 | 必須パラメータが指定されていない |
| PUB1001 | パラメータ'${param}'の値が不正です。 | 設定しているパラメータの値が正しくない |
2.2.4. レスポンス(認証エラー)
■レスポンスヘッダー
| キー | 値 |
| HTTPステータス | 401 |
| content-type | application/json |
■想定レスポンスボディー
| result_code | message | 内容 |
2.2.5. レスポンス(処理不能エラー)
■レスポンスヘッダー
| キー | 値 |
| HTTPステータス | 422 |
| content-type | application/json |
■想定レスポンスボディー
| result_code | message | 内容 |
| PUB2000 | 指定されたユーザーは無効です。 | 該当するユーザーが存在しない。 |
| PUB2001 | ゲームID'${game}'は無効です。 | 該当するゲームが存在しない。 |
| PUB2002 | 商品ID'${item}'は無効です。 | 該当する商品が存在しない。 |
| PUB2003 | 商品ID'${item}'は販売不可のため購入できません。 | リクエストされた商品はパブリッシャーの制限により購入できない。 |
| PUB2004 | 商品ID'${item}'はユーザーが購入条件を満たさないため購入できません。 | リクエストされた商品は対象ユーザーが購入条件を満たさないため購入できない。 |