どのようにお手伝いできますか?

アドネットワーク向けアプリ一覧API

  • 更新

概要:アドネットワークは、自社の連携パートナーアカウントに紐づくアプリのメタデータ(アプリに関する情報)を取得できます。

アプリ一覧取得API

以下では、このAPIを使用するために必要な情報を説明します。

アプリ一覧取得APIの基本仕様

区分 項目 説明
リクエスト HTTPメソッド GET
パス https://hq1.appsflyer.com/api/mng/apps
Authorizationヘッダー 
 レスポンス 取得結果 JSON形式で返されます。
リクエスト数の上限
  • 1分あたり20リクエスト
  • 1日あたり100リクエスト
取得レコード数の上限 1リクエストあたり1,000件。取得対象が1,000件を超える場合は、本記事で説明するページネーションを使用して、後続のページを取得してください。

APIリクエスト

APIリクエストには、メソッド、パス、必須のcapabilitiesパラメータ、および任意のページネーション用パラメータを指定します。トークンはAuthorizationヘッダーに指定します。 

メソッド

GET https://hq1.appsflyer.com/api/mng/apps?capabilities={capabilities} 

アプリ一覧の取得に必要なパラメータ

クエリパラメータ 説明
capabilities

対象の権限または連携設定が有効なアプリの一覧と件数を取得するには、capabilitiesパラメータに以下のいずれかの値を指定します。 

指定する値 種類 説明
protect_360 レポートのアクセス権限 アドネットワーク向けProtect360ローデータレポートを取得できます。
cost  連携 InCost API経由でコストデータを取得できるよう、アプリの設定が有効になっています。

例:Protect360レポートAPIのアクセス権限があるアプリの一覧を取得する場合は、capabilities=protect_360を指定します。

ページネーションの仕組み

このAPIでは、データを複数のページに分けて取得するページネーションが常に適用されます。 

ページネーションの基本仕様: 

  • 1回のリクエスト(1ページ)で、最大1,000件のレコードが返されます。
  • JSONレスポンスには、ページネーションに関する以下のキーが含まれます。
    • meta.total_items:すべてのページを合わせた、取得対象のレコード数です。指定したcapabilitiesに該当する権限または連携設定が有効なアプリの数を表します。
    • ページネーション用のリンクには、以下のキーが含まれます。後述のJSON例も参照してください。
      • links.prev:前のページがある場合に、そのページの取得に使用したリクエストを示します。
      • links.self:現在のJSON(ページ)の取得に使用したリクエストを示します。
      • links.next:次のページを取得するためのリクエストを示します。 nextキーがない場合は、最後のページです。 

 ページネーションは、以下のいずれかの方法で制御します。

  • [推奨]JSON内のリンクを使用する:links.nextキーがある場合は、その値を使用して次のページを取得するリクエストを作成します。 links.nextキーを含まないJSONが返されるまで、この処理を繰り返します。
  • limitパラメータとoffsetパラメータをtotal_itemsキーと組み合わせて使用し、プログラム側でページネーションを制御します。

ページネーション用リンクのJSON例

  • 以下の例は、最初のリクエストの結果を示したものです。2回目のリクエストに対応し、dataセクションには2件のレコードが含まれています(dataセクションの表示は省略)。 
  • 取得対象のレコード数は、全部で6件です。
  • links.nextキーには、次のページの5件目と6件目のレコードを取得するためのリクエストが含まれています。 
{                                                                                         
    "data": {[...]},   
    "meta": {
        "total_items": 6
    },
    "links": {
        "prev": "https://hq1.appsflyer.com/api/mng/apps?capabilities=protect_360&offset=0&limit=2",
        "self": "https://hq1.appsflyer.com/api/mng/apps?capabilities=protect_360&offset=2&limit=2",
        "next": "https://hq1.appsflyer.com/api/mng/apps?capabilities=protect_360&offset=4&limit=2"
    }
}

ページネーション用のパラメータ(任意)

クエリパラメータ 説明
limit

1回の呼び出しで返されるレコード数。

  • 最大:1,000件
  • limitを指定しない場合、自動的に1,000が設定されます。
  • 例:limit=2
  • 必須:いいえ
offset

取得を開始するレコードの位置。レコードの位置は0から数えます。 

  • offsetを指定しない場合、自動的に0が設定されます。
  • 例:offset=2
  • 必須:いいえ
 

JSONレスポンス

キー 説明
id アプリID。例:id123456789、com.myapp.com
type 常にappが返されます。 
name アプリ名
platform iOSまたはAndroid
currency 広告主が設定したアプリごとの通貨コード。
time_zone 広告主が設定したアプリごとのタイムゾーン。
total_items 指定したcapabilitiesに該当する、アドネットワークが利用可能なアプリの数。
links

ページネーション用の情報(パラメータのセクションで説明)。

  • prev:前のページの取得に使用したリクエスト
  • self:現在のページの取得に使用したリクエスト
  • next:次のページを取得するためのリクエスト

アプリ一覧取得のcurlリクエスト例とレスポンス

curlリクエスト

以下は、任意のページネーション用パラメータも含めた、リクエスト全体の例です。 


curl --location --request GET 'https://hq1.appsflyer.com/api/mng/apps?capabilities=protect_360&limit=1000&offset=0' \
-H 'Authorization: Bearer {API V2.0 token available to the admin in the dashboard.}' \

JSONレスポンス

{
    "data": [
        {
            "id": "com.appsflyer.xpend_qa1",
            "type": "app",
            "attributes": {
                "name": "com.appsflyer.xpend_qa1",
                "platform": "android",
                "currency": "USD",
                "time_zone": "UTC"
            }
        },
        {
            "id": "com.abc.app",
            "type": "app",
            "attributes": {
                "name": "com.abc.app",
                "platform": "android",
                "currency": "USD",
                "time_zone": "UTC",
                "enable_retargetting": true
            }
        },
        {
            "id": "com.xyz.app",
            "type": "app",
            "attributes": {
                "name": "com.xyz.app",
                "platform": "android",
                "currency": "JPY",
                "time_zone": "UTC"
            }
        }
    ],
    "meta": {
        "total_items": 3
    },
    "links": {
        "self": "https://hq1.appsflyer.com/api/mng/apps?capabilities=protect_360&offset=0&limit=1000"
           }
}

HTTPレスポンスコード

コード  メッセージ 説明とトラブルシューティング
200 OK 正常なデータが返されました。
200 OK

症状:データが返されない。

対処方法:認証トークンがBearer認証のヘッダーに含まれていることを確認してください。

400 Bad request
  • JSONに含まれるメッセージを確認してください。
  • 空のJSONが返される場合:無効な権限または連携の種類が指定されています。
401 Unauthorized

メッセージ:認証トークンの形式が正しくありません。

正しいトークンを使用していることを確認してください。トークンは700文字以上である必要があります。

404 Not found
  • ネットワークやファイアウォールに関する問題に対処してください。 
  • AppsFlyerのIPアドレスが許可リストに登録されていることを確認してください。
  • 最新のトークンを使用していることを確認してください。
  • データが見つからない場合:指定した権限または連携の種類(capabilities)は有効ですが、その権限が付与されたアプリが見つかりませんでした。 
429 Too many requests リクエスト数の上限を超えています。