adjust-icon

アプリオートメーションAPI

アプリオートメーションAPIを使用して、プログラムによってアプリを大規模に作成、アップデート、管理できます。このAPIを使用すると、テンプレートアプリから設定を複製してアプリの設定を自動化できるため、複数のアプリケーションを管理する際に手動で作業を繰り返す必要がなくなります。

事前準備

事前準備として、以下の内容をご確認ください。

ご利用の条件

  • アプリオートメーションAPIは、この機能が利用可能なアカウントで使用できます。ご希望の場合は、担当のテクニカルアカウントマネージャーにお問い合わせください。
  • このAPIを使用する前に、アカウントに テンプレートアプリ を設定する必要があります。担当のテクニカルアカウントマネージャーが設定をサポートします。

要件

  1. Adjustの管理者または編集者のアクセス権限
  2. 有効なAdjust APIトークン。詳細については認証ガイドをご覧ください。
  3. アカウントに設定されたテンプレートアプリトークン。このアプリは、新規または既存のアプリに設定をコピーするためのソースとして機能します。

ベースURL

すべてのAPIリクエストは次に送信する必要があります。

ベースURL
https://automate.adjust.com/app-automation

認証

アプリオートメーションAPIにアクセスするには、Authorizationヘッダーを介してAdjustのAPIトークン(ベアラートークン)を提供する必要があります。

自社でシングルサインオン(SSO)を有効にしている場合は、 Adjustの担当者またはsupport@adjust.comにお問い合わせください。APIトークンの取得方法についてサポートいたします。

SSO以外のアカウントの場合、APIガイドはユーザーの プロフィール に表示されます。トークンを確認するには、以下の手順に従ってください。

  1. アカウント(ユーザー)アイコンを選択します。
  2. アカウント設定(Account Settings) を選択します。
  3. マイプロフィール(My Profile) を選択します。
  4. APIトークンユーザー情報(User details) に表示されます。コピーボタンを選択して、トークンをクリップボードにコピーします。

Adjust APIトークンをリセットする

Adjust APIトークンはいつでもリセットできます。これを行うと、リセット前のトークンが無効になります。無効なトークンが付与されたリクエストはAdjustに拒否されるため、使用しているトークンをすべて更新してください。

Adjust APIトークンをリセットする方法:

  1. アカウント(ユーザー)アイコンを選択します。
  2. アカウント設定(Account Settings) を選択します。
  3. マイプロフィール(My Profile) を選択します。
  4. APIトークンユーザー情報(User details) に表示されます。
  5. APIトークンをリセットする(Reset API token) を選択します。
  6. 表示されたモーダルにアカウントのパスワードを入力し、 リセット を選択してAPIトークンをリセットします。画面の右上に確認メッセージが表示されます。
  7. APIトークン の横にあるコピーボタンを選択して、トークンをクリップボードにコピーします。

ユースケース

アプリオートメーションAPIはが最も役立つのは、多数のアプリケーションを管理する場合です。新しいアプリをそれぞれ手動で設定するには、大きな負担が伴います。このAPIを使用すると、以下のように作業を最小に抑制します。

  1. 大量にアプリを作成 :テンプレートアプリから設定を複製し、単一のAPIリクエストで新しいアプリを複数作成します。すべてのパートナー連携、イベント、アトリビューション設定、その他の設定が自動的にコピーされます。
  2. 既存アプリをアップデート :テンプレートアプリをアップデートし、移行をトリガーすることで、複数のアプリ全体に設定変更を適用します。
  3. イベントをプログラムで管理 :ダッシュボードを使用せずに、単一または複数のアプリにまたがるイベントを作成および更新できます。
  4. SDKシグネチャーを設定 :Androidアプリの証明書フィンガープリントを自動的に設定し、シグネチャーの適用を管理します。
  5. 計測操作ステータス :設定の移行を処理するバックグラウンドジョブの進捗を監視します。

仕組み

アプリオートメーションAPIでは、 テンプレートアプリ を採用しています。

  1. テンプレートアプリを設定 :テクニカルアカウントマネージャーと協力して、アカウントにテンプレートアプリを設定します。テンプレートアプリには、他のアプリに適用するためのすべての設定が含まれます。

  2. アプリを作成またはアップデート :アプリの詳細を含むPOSTリクエストを/appエンドポイントに送信します。APIは以下を実行します。

    • アプリが存在しない場合は新規作成
    • テンプレートアプリから設定をコピーするためのバックグラウンドジョブをキューに入れる
    • 実行状況をトラッキングするためのチケットトークンを返す
  3. 進捗をトラッキング/statusエンドポイントを使用して、チケットトークンで設定の移行ステータスを確認できます。

  4. 設定をオーバーライド :ほとんどの設定はテンプレートから継承されますが、override_settingsまたはchannel_setupにアプリ固有の値を渡してアプリを個別にカスタマイズできます。

利用可能なエンドポイント

エンドポイント説明
POST /appテンプレートアプリの設定を使用して新しいアプリを作成するか、既存のアプリをアップデート
POST /app/{app_token}アプリ名、ストアID、またはバンドルIDを更新
GET /appストアIDとプラットフォームごとにアプリの詳細を取得
GET /app/{app_token}アプリトークンでアプリ情報を取得
GET /app/{app_token}/settingsセクションごとに詳細なアプリ設定を取得
GET /apps/listアカウント内のすべてのアプリをリスト表示
GET /status/{ticket_token}バックグラウンドジョブのステータスを確認
POST /events1つまたは複数のアプリ用イベントを作成または更新
GET /settings/csvアプリ設定をCSV形式でエクスポート
POST /app/{app_token}/secrets/revoke_outdated古いSDKシークレットの無効化
POST /app/{app_token}/secrets/{secret_id}/revoke特定のSDKシークレットの無効化
POST /app/{app_token}/secrets/{secret_id}/reactivate無効なSDKシークレットを再有効化

アプリのセクション

アプリを作成またはアップデートする際に、テンプレートアプリから移行する設定セクションを指定することができます。セクションを指定しない場合、全てのセクションがデフォルトで移行されます。

セクション説明
app_infoアプリの基本情報
attribution_privacy_modelアトリビューションのプライバシーモデル設定(iOSのみ)
attribution_settingsクリックおよびインプレッションのアトリビューション期間とリアトリビューション設定
callbacksサーバーコールバックURL
csv_upload_settingsクラウドストレージアップロードの設定
eventsイベントの定義と設定
external_data_forwarding収益とパラメーターの転送設定
fraud_prevention_settings不正防止の設定
partnersパートナーモジュールの設定とイベント連携
purchase_verification購入認証の設定
signatureAndroid証明書のフィンガープリントとシグネチャーの適用
sdk_secretsSDKシークレットの設定
skad_networkSKAdNetwork v3の設定(iOSのみ)
skad_network_v4SKAdNetwork v4の設定(iOSのみ)
preview_link_settingsソーシャル共有プレビューの設定
s2sサーバー間セキュリティの設定
trackersトラッカー(リンク)の設定

クイックスタート

1.最初のアプリを作成する

POSTリクエストを送信し、テンプレートに基づいて新しいアプリを作成します。

リクエスト - cURL
curl --location 'https://automate.adjust.com/app-automation/app' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "My New App",
"bundle_id": "com.example.myapp",
"store_id": "com.example.myapp",
"platform": "android"
}'
レスポンス
{
"adjust_app_token": "abc123xyz",
"name": "My New App",
"bundle_id": "com.example.myapp",
"store_id": "com.example.myapp",
"ticket_token": "e5b07bb3-b5f3-40a8-8a2d-197d30b6beff",
"sk_app_id": null
}

2.移行ステータスを確認する

レスポンスのticket_tokenを使用してステータスを確認します。

リクエスト - cURL
curl --location 'https://automate.adjust.com/app-automation/status/e5b07bb3-b5f3-40a8-8a2d-197d30b6beff' \
--header 'Authorization: Bearer {your-adjust-api-token}'
レスポンス
{
"status": "completed",
"kind": "migration",
"result": {
"events": { "successes": ["purchase", "registration"], "failures": [] },
"partners": { "successes": ["facebook", "google"], "failures": [] }
}
}

3.アプリの詳細を取得する

移行が完了したら、アプリの詳細を取得します。

リクエスト - cURL
curl --location 'https://automate.adjust.com/app-automation/app/abc123xyz' \
--header 'Authorization: Bearer {your-adjust-api-token}'
レスポンス
{
"name": "My New App",
"store_id": "com.example.myapp",
"platform": "android",
"adjust_app_token": "abc123xyz",
"additional_info": { "overrides": {} },
"channel_setup": {
"facebook": { "app_id": "123456789" }
}
}

エラー処理

APIは標準のHTTPステータスコードとJSONエラーのレスポンスを返します。

ステータスコード説明
200リクエストが成功しました
400不正なリクエスト:リクエストパラメーターを確認してください
401無許可:APIトークンが無効または見つかりません
403禁止:このリソースへのアクセス権限がありません
422検証エラー:リクエストボディに無効なデータが含まれています
500内部サーバーエラー
エラーレスポンスの形式
{
"error_code": "validation_error",
"error_desc": "Human-readable error description",
"error_desc_details": [
{ "loc": ["body", "platform"], "msg": "field required" }
]
}

エラーコード

エラーコード説明
request_error一般的なリクエストエラー
auth_error認証に失敗しました
validation_errorリクエストの検証に失敗しました
service_error内部サービスエラー