招待コードに基づくマッチング
 ユーザー招待は、ユーザーが招待コードを発行して他のユーザーをゲームに招待し、その行為に対して開発者から報酬を受け取ることを可能にする機能です。ユーザー招待APIは、ゲームが招待コードを発行し、招待を受け入れたユーザーをマッチングすることを可能にするAPIです。
  Warning
 すべてのAPIに対してAuthorization Headerは必須ではありません。ただし、セキュリティ上の理由から、Hive認証キーを使用し、ゲームサーバーからAPIを直接呼び出すことをお勧めします。
   使い方
  - Hiveコンソール > プロモーション > ユーザー招待 > 登録招待キャンペーンで、招待コード発行タイプのcampaignを作成します。
- 招待キャンペーン情報を取得し、有効なキャンペーンIDをゲームサーバーに保存します。
- ユーザー招待ページで、受け取った招待者情報と上記で保存したキャンペーンIDを呼び出しパラメータとして渡して、招待コードを発行します。
- 招待者の情報(player_idなど)と、招待者が受け取った招待コードを呼び出しパラメータとして渡し、マッチングリクエストを行います。
- 報酬状況を確認して、ユーザー招待ページで報酬受け取りの進捗を表示します。
準備
 招待コード関連のAPIを使用するには、以下の項目を準備する必要があります。
  - 認証ヘッダーで使用するHive認証キー: Hive Console > App Center > Project Management > アプリを検索して選択 > ゲームの詳細 > 基本情報 > Hive認証キー
- server_id: Hive Console > App Center > Project Management > アプリを検索して選択 > ゲームの詳細 > ゲームサーバー
- 招待キャンペーン: キャンペーンを作成して招待コードタイプを発行 Hive Console > Promotion > User Invitation > 招待キャンペーン登録
キャンペーン情報取得
 Hiveコンソールで作成された招待キャンペーン情報を取得しています。アクティブで利用可能な招待キャンペーン情報のみが取得されます。キャンペーンに設定された報酬情報もレスポンスに含まれます。
 APIリクエスト仕様
 リクエストURL
    | 環境 | URL | 
    | 商業用 | https://promotion.qpyou.cn/ua/inviteCode/campaign | 
  | サンドボックス | https://sandbox-promotion.qpyou.cn/ua/inviteCode/campaign | 
  
 リクエストメソッドとデータ形式
    | アイテム | 説明 | 
    | HTTPメソッド | POST | 
  | Content-Type | application/json | 
  
 ヘッダー
    | フィールド名 | 説明 | タイプ | 必須 | 
    | Authorization | Bearer 認証を通じた certificationKeyの有効性チェック | 文字列 | N | 
  
 リクエストボディ
    | フィールド名 | 説明 | タイプ | 必須 | 
    | gameindex | ユニークなゲーム番号 | 整数 | Y | 
  
 コールの例
 curl -L -v -X POST --location "http://sandbox-promotion.qpyou.cn/ua/inviteCode/campaign" \
        -H "Content-Type: application/json" \
        -d '{
        "gameindex": 539
        }'
APIレスポンス仕様
 応答
    | フィールド名 | 説明 | タイプ | 必須 | 
    | result_code | レスポンスコード | 整数 | Y | 
  | result_message | レスポンスメッセージ | 文字列 | Y | 
  | campaign_list | 招待コードキャンペーンリスト | 配列 | Y | 
  | ㄴ id | プロモーションキャンペーンID | 整数 | N | 
  | ㄴ title | キャンペーンタイトル | 文字列 | N | 
  | ㄴ rewards | 報酬リスト | 配列 | N | 
  | ㄴㄴ reward_id | 報酬ID | 整数 | N | 
  | ㄴㄴ description | 報酬の説明 | 文字列 | N | 
  | ㄴㄴ reward_type | 報酬タイプ   action: アクション報酬  goal: 目標達成報酬  | 文字列 | N | 
  | ㄴㄴ action_type | アクションタイプ   match: マッチング  cpi: インストール  cpa: 特定のアクションを達成  | 文字列 | N | 
  | ㄴㄴ cpa_code | CPAユニーク番号   アクションタイプがcpaの場合は有効な値を提供してください cpaでない場合はNullを提供してください | 整数 | N | 
  | ㄴㄴ goal | 目標金額 | 整数 | N | 
  | ㄴㄴ limit | 報酬の制限 | 整数 | N | 
  
 応答例
 {
    "campaign_list": [
    {
        "id": "19",
            "title": "초대 코드 발급_행동_설치(초대 2, 수락 3, 제한 2)",
            "rewards": [
        {
            "reward_id": 33,
                "description": "행동_설치(초대 2, 수락 3, 제한 2)",
                "reward_type": "action",
                "action_type": "cpi",
                "cpa_code": null,
                "goal": 1,
                "limit": 2
        }
      ]
    }
  ],
    "result_code": 200,
    "result_message": "Success"
}
招待コードを取得
 ユーザーはキャンペーンで招待コードを受け取ることができます。各キャンペーンは1つの招待コードのみを発行できます。招待者に報酬を与えるためには、招待者がアクセスしたサーバーIDを提供する必要があります。
 APIリクエスト仕様
 リクエストURL
    | 環境 | URL | 
    | 本番 | https://promotion.qpyou.cn/ua/inviteCode/getCode | 
  | サンドボックス | https://sandbox-promotion.qpyou.cn/ua/inviteCode/getCode | 
  
 リクエストメソッドとデータ形式
    | アイテム | 説明 | 
    | HTTPメソッド | POST | 
  | コンテンツタイプ | application/json | 
  
 ヘッダー
    | フィールド名 | 説明 | タイプ | 必須 | 
    | Authorization | Bearer 認証を通じた certificationKeyの有効性チェック | 文字列 | N | 
  
 リクエストボディ
    | フィールド名 | 説明 | タイプ | 必須 | 
    | gameindex | ユニークなゲーム番号 | 整数 | Y | 
  | campaign_id | 招待コードキャンペーンのユニーク番号 | 整数 | Y | 
  | player_id | Hive Authentication v4によって管理されるPlayerID | 文字列 | Y | 
  | server_id | ゲームサーバーのユニークID | 文字列 | Y | 
  
 呼び出し例
 curl -L -v -X POST --location "http://sandbox-promotion.qpyou.cn/ua/inviteCode/getCode" \
    -H "Content-Type: application/json" \
    -d '{
          "gameindex" : 539,
          "campaign_id": 19,
          "player_id" : 12341234,
          "server_id" : "kr"
        }'
APIレスポンス仕様
 応答
    | フィールド名 | 説明 | タイプ | 必須 | 
    | result_code | レスポンスコード | 整数 | Y | 
  | result_message | レスポンスメッセージ | 文字列 | Y | 
  | invite_code | 発行された招待コード | 文字列 | Y | 
  
 レスポンスの例
 {
  "invite_code": "ESOJ0TOC",
  "result_code": 200,
  "result_message": "Success"
}
招待コードの一致
 招待者と受取人をマッチさせるために招待コードを入力してください。報酬の濫用を防ぐために、マッチングリクエストを行う前にゲームサーバーで受取人のアカウント情報を確認することをお勧めします。マッチング報酬はキャンペーンごとに一度だけ付与されます。
 APIリクエスト仕様
 リクエストURL
    | 環境 | URL | 
    | 商業用 | https://promotion.qpyou.cn/ua/inviteCode/companion | 
  | サンドボックス | https://sandbox-promotion.qpyou.cn/ua/inviteCode/companion | 
  
 リクエストメソッドとデータ形式
    | アイテム | 説明 | 
    | HTTPメソッド | POST | 
  | コンテンツタイプ | application/json | 
  
 ヘッダー
    | フィールド名 | 説明 | タイプ | 必須 | 
    | Authorization | Bearer 認証を通じた certificationKeyの有効性チェック | 文字列 | N | 
  
 リクエストボディ
    | フィールド名 | 説明 | タイプ | 必須 | 
    | gameindex | ユニークなゲーム番号 | 整数 | Y | 
  | invite_code | 発行された招待コード | 文字列 | Y | 
  | player_id | Hive認証v4によって管理されるプレイヤーID | 文字列 | Y | 
  | server_id | ゲームサーバーのユニークID | 文字列 | Y | 
  
 呼び出し例
 curl -L -v -X POST --location "http://sandbox-promotion.qpyou.cn/ua/inviteCode/companion" \
    -H "Content-Type: application/json" \
    -d '{
          "gameindex" : 539,
          "invite_code" :"ESOJ0TOC",
          "player_id" : 234234,
          "server_id" : "kr"
        }'
APIレスポンス仕様
 応答
    | フィールド名 | 説明 | タイプ | 必須 | 
    | result_code | レスポンスコード | 整数 | Y | 
  | result_message | レスポンスメッセージ | 文字列 | Y | 
  | detail | 発行された招待コード | 配列 | Y | 
  | ㄴㄴmatched | マッチングステータス | ブール | Y | 
  | ㄴㄴreason | マッチング失敗の理由 | 文字列 | Y | 
  
 応答の例
 {
  "detail": {
    "matched": true,
    "reason": "Both matching and rewards were successful"
  },
  "result_code": 200,
  "result_message": "Success"
}
報酬ステータスを確認
 招待コードの報酬ステータスを確認しています。
 APIリクエスト仕様
 リクエストURL
    | 環境 | URL | 
    | 本番 | https://promotion.qpyou.cn/ua/inviteCode/progress | 
  | サンドボックス | https://sandbox-promotion.qpyou.cn/ua/inviteCode/progress | 
  
 リクエストメソッドとデータ形式
    | アイテム | 説明 | 
    | HTTPメソッド | POST | 
  | コンテンツタイプ | application/json | 
  
 ヘッダー
    | フィールド名 | 説明 | タイプ | 必須 | 
    | Authorization | Bearer認証を通じて certificationKeyの有効性を確認 | 文字列 | N | 
  
 リクエストボディ
    | フィールド名 | 説明 | タイプ | 必須 | 
    | gameindex | ユニークなゲーム番号 | 整数 | Y | 
  | invite_code | 発行された招待コード | 文字列 | Y | 
  
 呼び出し例
 curl -L -v -X POST --location "http://sandbox-promotion.qpyou.cn/ua/inviteCode/progress" \
        -H "Content-Type: application/json" \
        -d '{
          "gameindex" : 539,
          "invite_code" :"ESOJ0TOC"
        }'
APIレスポンス仕様
 応答
    | フィールド名 | 説明 | タイプ | 必須 | 
    | result_code | レスポンスコード | 整数 | Y | 
  | result_message | レスポンスメッセージ | 文字列 | Y | 
  | progress_list | 報酬進捗状況のリスト(報酬進捗履歴がない場合は空の配列が返されます) | 配列 | Y | 
  | ㄴ reward_id | 報酬ID | 整数 | N | 
  | ㄴ reward_type | 報酬タイプ   action: アクション報酬  goal: 目標達成報酬  | 文字列 | N | 
  | ㄴ action_type | アクションタイプ   match: マッチング  cpi: インストール  cpa: 特定のアクションの達成  | 文字列 | N | 
  | ㄴ count | 与えられた報酬の数 | 整数 | N | 
  | ㄴ max_reward | 最大報酬制限 | 整数 | N | 
  | ㄴ goal_progress | 目標達成状況   報酬タイプが「目標達成報酬」の場合に使用  目標(goal)が達成されたときに報酬が与えられます  | 整数 | N | 
  | ㄴ goal | 目標数 | 整数 | N | 
  | ㄴ goal_achieved | 達成された目標の数 | 整数 | N | 
  
 レスポンス例
 {
  "progress_list": [
    {
      "reward_id": 19,
      "reward_type": "action",
      "action_type": "match",
      "count": 1,
      "max_reward": 1,
      "goal_progress": 0,
      "goal_achieved": 0
    },
    {
      "reward_id": 20,
      "reward_type": "goal",
      "action_type": "cpi",
      "count": 2,
      "max_reward": 2,
      "goal_progress": 1,
      "goal": 3,
      "goal_achieved": 2
    }
  ],
  "result_code": 200,
  "result_message": "Success"
}