REST API 仕様書 0.0.1
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}'はユーザーが購入条件を満たさないため購入できません。 | リクエストされた商品は対象ユーザーが購入条件を満たさないため購入できない。 |