# User Level Revenue API の概要

> Tapjoy Offerwall の User-Level Revenue API を使用して、ユーザー固有の収益を追跡し、アクションにつながる分析情報に基づいてアプリの収益化戦略を調整できます。

Tapjoy を使用すると、パブリッシャーは既存のオファーデータコールバックに加えて、User Level Ad Revenue API を介して Offerwall のユーザーレベルの広告収益データにアクセスできます。この API を使用すると、Amazon Web Services (AWS) S3 に保存されている CSV ファイルを介して、ユーザーレベルの広告収益レポートをモバイル測定パートナー (MMP) またはパブリッシャーパートナーが直接利用できるようになります。

リクエストを行うためには、ユーザーには関連する Tapjoy App ID (Tapjoy LTV ダッシュボードのアプリケーションに関連付けられているものと同じ) およびデータが必要とされる日付が必要になります。

この API を使用するには、MMP またはパートナーは Reporting API/Marketing API キーを使用して [Tapjoy OAuth エンドポイント](/grow/offerwall/monetization/api/api-authentication.md) にリクエストを行い、アクセストークンを受け取る必要があります。ユーザーはアクセストークンを使用して Tapjoy レポート API にリクエストを行い、AWS S3 のレポートを指す事前署名済み URL を受け取ります。事前署名された URL により、取得後 5 分間レポートにアクセスできます。最後に、AWS S3 のレポート URL へのリクエストでは、ユーザーレベルの広告収益データを含む CSV レポートが返されます。

## レポート API##report-api

エンドポイント: `https://api.tapjoy.com/api/client/publisher/apps/<app_id>/user_revenue_report`

Reporting API/Marketing API キーを使用して [OAuth](/grow/offerwall/monetization/api/api-authentication.md) 経由でアクセスできます。

必須パラメーター:

* パブリッシャーアプリ ID
* UTC の日付

使用可能な日付形式は mm/dd、mm/dd/yyyy、mm/dd/yy、dd-mm yyyy-mm-dd

静的レポートへの URL の配列を、5 分間有効な事前署名済み認証トークンとともに返します。

### リクエストの例##example-request

以下の例は、ユーザー収益レポートのリクエストに必要なヘッダーを示しています。

```curlrc
GET api/client/publisher/apps/<publisher_app_id>/user_revenue_report?date=<date> 
Host: api.tapjoy.com 
Authorization: Bearer <access_token_string> 
Accept: application/json
```

### レスポンスの例##example-response

### Success##success

リクエストが成功すると、S3 のレポート ファイルを指す事前署名された URL の配列が返されます。

```curlrc
{
	"urls": [
	"https://tapjoy.amazon.s3.com/data/report.csv.gz&key=secure"
  	  ]
}
```

### 失敗##failure

パブリッシャーのApp IDが見つからない場合、リクエストは404状態と説明エラー・メッセージを返します。

```curlrc

status 404 
{ 
	"reason":"ID を <publisher_app_id> 持つパブリッシャーアプリが見つかりません。"
}
```

## S3 API##s3-api

データ SLA - x 日目のデータ (x+1 日目の 01:00 UTC までに準備完了)

リテンション SLA - レポートは 14 日間利用可能 (x + 15 日目)

ユーザーレベルの収益レポートの CSV ファイルを返します。

### リクエストの例##example-request

以下の例は、事前署名された S3 URL からレポート ファイルをリクエストする方法を示しています。

```curlrc
GET /data/report.csv.gz&key=secure
Host: tapjoy.amazon.s3.com 
Accept: application/json
```

### レスポンスの例##example-response

### Success##success

以下の例は、成功した S3 リクエストの反応と、許可されていない、または見つからなかった条件のエラー応答を示しています。

1. **Success**

   ```curlrc

   status 200 
   { 
     CSV File
   }
   ```

2. **Failure**

   ```curlrc title="Failure"

   status 401 
   { 
     "error":"Unauthorized" 
   }

   status 404 
   { 
     "error":"見つかりません" 
   }
   ```

## フィールドの概要##fields-overview

以下の表は、レポートの各列が表す内容を示しています。

| フィールド                     | 説明                                                                               |
| ------------------------- | -------------------------------------------------------------------------------- |
| date\_id および report\_date | API リクエストのユーザー固有のレポート日付。レポート内のメトリクスは、この当該の日付のものになります                             |
| partner\_id               | これは Tapjoy 内部識別子です                                                               |
| app\_name と appkey        | アプリの名前と Tapjoy 識別子です                                                             |
| IDFA/IDFV/GAID            | プラットフォームに応じて、これらの列は識別子の値または UNKNOWN のいずれかになります                                   |
| device\_os\_version       | 関連するモバイルデバイスの OS バージョン                                                           |
| att\_status               | デバイスの iOS アプリ追跡透明度状態 (既知の場合)                                                     |
| publisher\_user\_id       | デバイスに関連付けられているパブリッシャー識別子 (使用可能な場合)                                               |
| ad\_unit                  | これは常に **offerwall** となり、MMP によって処理に使用されます                                        |
| placement                 | Tapjoy プレースメント名                                                                  |
| content\_card             | Tapjoy コンテンツカード名                                                                 |
| geoip\_country            | IP ルックアップで使用可能な場合、デバイスに関連付けられている国                                                |
| currency\_sale            | 値が **1** の場合は、関連するコンバージョンが発生したときに通貨セールが進行中でなかったことを示します。セールがあった場合は、通貨乗数の値になります    |
| conversion\_rate          | トランザクションに使用される交換レートです                                                            |
| impressions               | このデバイス ID に関連付けられた当該日のインプレッションの集計。これは、ユーザーがコンバージョンしたオファーをコンバージョンした日に視聴した回数を表します。 |
| publisher\_amount         | このデバイス ID に関連付けられた当該日の収益の集計                                                      |

## FAQ##faq

**Does this report include video revenue?:**いいえ。このレポートには Offerwall の広告収益のみが含まれます。ユーザーレベルの広告収益データが必要なパートナーは、メディエーターに、該当する API またはレポートへのアクセス方法を問い合わせてください。**How far back does this report look?:**パブリッシャーパートナーは、14 日間レポートにアクセスでき、毎日午前 1 時 (UTC) に前日のレポートが利用可能になります。**Why do some user level entries have zero values in the impression column but non-zero values for revenue?:**MR-CPE 製品の場合、インプレッションが表示されてから、マルチリワードファネルでイベントのコンバージョンが後で発生するまでに遅延 (数日から数週間) が生じることがよくあります。**What currency is my publisher revenue amount shown in?:**ドルで表示されています**Which MMPs are currently supporting the API?:**[Appsflyer](../../user-acquisition/mmp-integrations/appsflyer)**Why are there multiple results in the publisher\_user\_id or geoip\_countries column?:**ユーザーは、同じパブリッシャーアプリで異なる `publisher_user_ids` または `geoip_countries` を使用して、オファーの表示とコンバージョンを行うことができます。これらの ID は SDK の初期化時にパブリッシャーによって設定されるため、以下のようなことが起こる可能性があります。1) ユーザーは `publisher_user_id A` で接続します。
2) ユーザーにオファー A が表示されます。ビューレコードには `publisher_user_id A` が含まれます。
3) ユーザーは後から `publisher_user_id B` で接続します。
4) オファー A が再度表示されます。ビューレコードには `publisher_user_id B` が含まれます。
   5.ユーザーがコンバージョンします。コンバージョンレコードには `publisher_user_id B` が含まれます。同じことが `geoip_countries` にも起こる可能性があります。収益の水増しを避けるには、これらの値を 1 行にまとめる必要があります。
