- 印刷する
- PDF
Server to Server の設定
- 印刷する
- PDF
Classic/VPC環境で利用できます。
アイテム支給やログイン検証のために、サーバからサーバへとリクエストを送信するように設定する方法を説明します。
決済アイテム支給のリクエスト
Webフックで HTTPリクエストを送信し、決済またはクーポンの使用によるアイテム支給を行うように設定できます。
アイテム支給のために Webフックで HTTPリクエストを送信するように設定する方法は、以下のとおりです。
- 管理者アカウントでダッシュボードにログインします。
- プロジェクトの設定 > 一般メニューを順にクリックします。
- Webhook領域の決済アイテム(サービス) または クーポンアイテム(サービス) の入力欄に、以下のガイドを参照して HTTP/ HTTPS URLリクエストを入力します。
- 決済後のアイテム支給は、決済後のリクエストおよびレスポンスをご参照ください。
- クーポン使用後のアイテム支給は、クーポン使用後のリクエストおよびレスポンスをご参照ください。
- テストユーザーにアイテムを支給する場合は、(テストユーザー) 表示のある入力欄にリクエストを入力します。
- [変更] ボタンをクリックします。
決済後のリクエストおよびレスポンス
以下の表およびコードを参照して HTTPリクエストおよびレスポンスを設定します。
- リクエスト
https://{domain}? userId={uuid}&orderId={orderId}&projectId={projectId}&platform={platform}&productId={productId}&store={store}&payment={payment}&transactionId={transactionId}&gamepotOrderId={gamepotOrderId}&uniqueId={uniqueId}&tp={tp}
属性 タイプ 最大長さ 説明 userId
String
128 ユーザー ID transactionId
String
512 注文番号(GPA-xxxx-xxxx-) store
String
64 ストア情報( apple
,google
,one
)projectId
String
128 プロジェクト ID productId
String
256 Google/Apple/ONE Storeに登録されている商品 ID platform
String
128 運用プラットフォーム情報( android
,ios
)payment
String
64 決済方法 uniqueId
String
512 Unique id(purchase apiの呼び出し時に入力した uniqueId
)gamepotOrderId
String
512 GAMEPOT Order ID serverId
String
- serverId(purchase apiの呼び出し時に入力した serverId
)playerId
String
- playerId(purchase apiの呼び出し時に入力した playerId
)tp
Integer
- 1: テスト決済
0: 一般決済etc
String
- etc(purchase apiの呼び出し時に入力した etc
)
- レスポンス
{ "status": 1, "message" : "" }
属性 タイプ 説明 status
Integer
結果値 0
: 失敗、1
: 成功message
String
エラー内容
プレゼントするおよびクーポン使用後のリクエストとレスポンス
以下の表およびコードを参照して HTTPリクエストおよびレスポンスを設定します。
リクエスト
https://{domain}? userId={userId}&projectId={projectId}&platform={platform}&store={store}&userData={userData}&itemId=[{itemData}, {itemData}, ...]
属性 タイプ 最大長さ 説明 userId
String
128 ユーザー ID(ダッシュボードでゲーム > プレゼントする > 対象の値が全体の場合は、 all
)projectId
String
128 プロジェクト ID platform
String
128 運用プラットフォーム情報( android
,ios
)store
String
64 ストア情報( apple
,google
,one
)title
String
- ダッシュボード > ゲーム > プレゼントする > タイトルに入力した値 content
String
- ダッシュボード > ゲーム > プレゼントする > 説明に入力した値 target
String
- GAMEPOTダッシュボード > ゲーム > プレゼントする > 対象値 - 全体: all / ユーザー ID: user expireMs
String
- ダッシュボード > ゲーム > プレゼントする > 満了日に入力した値の Timestamp(GMT+9) userData
String
- クライアント SDKクーポン APIの呼び出し時に2個目のパラメータに入力した値、またはダッシュボード > ゲーム > プレゼントする > UserDataに入力した値 itemId
Array
- itemData Array - itemData(JSON) {"item_id" : String, "store_item_id" : String, "count" : Number}
item_id
: ダッシュボードゲーム > アイテムで作成したアイテム項目の固有 IDstore_item_id
: 支給するアイテム IDcount
: 支給するアイテム数レスポンス
{ "status": 1, "message" : "" }
属性 タイプ 説明 status
Integer
結果値 0
: 失敗、1
: 成功message
String
エラー内容
ログイン検証のリクエスト(任意)
会員がログイン完了後に取得した情報を用いて、GAMEPOTサーバにログイン検証をリクエストできます。
ログイン検証は1段階の GAMEPOTのトークン検証、2段階のソーシャルメディアのアカウント検証の順で行われます。 2段階の検証手続で検証に失敗した場合は、GAMEPOTの利用停止機能が動作し、そのアカウントが利用停止処理されます。
1段階の GAMEPOTのトークン検証機能を同期処理しないでください。 1段階のトークン検証機能を同期処理する場合は、ネットワーク通信に遅延が発生する可能性が非常に高く、これにより会員が正常にゲームをプレイできないことがあります。 そのため、1段階のトークン検証機能を非同期に処理し、その後の過程で利用停止機能が適用されるように実装します。
- 管理者アカウントでダッシュボードにログインします。
- プロジェクトの設定 > 一般メニューを順にクリックし、Auth Key領域に各開発コンソールで取得した IDとキー値を入力します。
- 2段階の検証手続および利用停止機能を使用したくない場合は、この手続を省略してください。
- 以下のリクエスト、レスポンスおよびエラーコードを参照してログイン検証をリクエストします。
リクエスト、レスポンスおよびエラーコード
以下の表およびコードを参照してログイン検証リクエスト、レスポンスおよびエラーコードを設定します。
リクエスト
POST url : https://gamepot.apigw.ntruss.com/gpapps/v1/loginauth Header : 'content-type: application/json' data: { "projectId": {GamePot SDKの projectId}, "memberId": {GamePot SDKの memberid(ユーザー ID)}, "token": {GamePot SDKの Token}, "remoteip": {ログインしたアカウントの IPアドレス情報}, "platform": "" }
属性 タイプ 最大長さ 説明 projectId
String
128 GAMEPOT SDKのプロジェクト ID memberId
String
128 GAMEPOT SDKのユーザー ID token
String
2048 GAMEPOT SDKの Token remoteip
String
- ログインしたアカウントの IPアドレス情報 (例: XXX.XXX.XXX.XXX) platform
String
- pcプラットフォームを使用する場合にのみ pcに設定
- レスポンス
{ "status": 1, "message" : "" }
属性 タイプ 説明 status
Integer
結果値 1
: 成功
失敗は以下のエラーコードを参照message
String
エラー内容
- エラーコード
コード 説明 0
bodyに抜け漏れデータがある場合。
HTTPリクエスト時にprojectId
,memberId
,token
をすべて入力したか確認-1
Token検証失敗。
Tokenが改ざんされた場合-2
MemberId検証失敗。
Tokenのユーザー ID情報と bodyのユーザー ID情報が一致しない場合-3
Token期限切れ。
SDK login apiが成功した時刻とその Authentication checkをリクエストした時刻の間に60分以上の差が生じた場合
外部決済
外部決済との連携のためにサーバ間のリクエストを設定できます。
その機能を使用する前に、必ず NAVERクラウドプラットフォームに詳しい使用方法についてお問い合わせください。
リクエスト、レスポンスおよびエラーコード
リクエスト
POST url : https://gamepot.apigw.ntruss.com/gpapps/v2/thirdparty/purchase Header : 'content-type: application/json' Header : 'x-api-key: xxxxxxxxxxx' data: { "projectId": "e948e5bc-dccd-4729-b9b0-b547ae34b85d", "store": "tpay", "productId": "purchase_001", "transactionId": "t-123412812-sadl-2384-75847", "memberId":"89a907ed-0e1d-42fb-ae4d-75e95581220d", "currency": "KRW", "price":1000, "paymentId": "prepaid", "uniqueId": "" }
ヘッダ タイプ 必須 説明 x-api-key
String
必須 GAMEPOTで発行する認証キー 属性 タイプ 最大長さ 説明 projectId
String
128 GAMEPOT SDKのプロジェクト ID store
String
64 決済ストア productId
String
256 決済したアイテム ID transactionId
String
512 決済の固有 ID memberId
String
128 GAMEPOT SDKのユーザー ID currency
String
64 決済通貨 price
Number
- 決済金額 paymentId
String
64 決済手段 uniqueId
String
512 ゲーム内決済の固有 ID
- レスポンス
{ "status": 1, "message" : "" }
属性 タイプ 説明 status
Integer
結果値 1
: 成功
失敗は以下のエラーコードを参照message
String
エラー内容
- エラーコード
コード 説明 -1
bodyに抜け漏れデータがある場合。
HTTPリクエスト時にprojectId
,transactionId
,productId
,store
,memberId
をすべて入力したか確認-2
price
の値がnumber
タイプではない場合-3
projectId
がない場合-4
プロジェクトがそのAPIに対応しない場合。
GAMEPOTにお問い合わせ-5
transactionId
が既に存在する場合-6
DBエラー。
GAMEPOTにお問い合わせ