ディープリンクジェネレーターAPIを使用して、アプリ用の短いおよび長いディープリンクを個別または一括で作成できます。これらのカスタマイズされたディープリンクは、さまざまなプラットフォームでユーザー体験を向上させます。
事前準備
はじめに、以下の設定手順をご覧ください。
ご利用の条件
- ディープリンクジェネレーターAPIは、TrueLink CoreまたはEnterpriseのパッケージにご契約のお客様にご利用いただけます。
- ディープリンクジェネレーターAPIを使用して作成されたリンクは、 Campaign Labに表示されません。
- ディープリンクジェネレーターAPIを使用して作成されたショートリンクのTTL(有効期間)は120日です。
要件
-
管理者、編集者およびカスタムの編集者のアクセス権限。
-
iOSアプリとAndroidアプリに同じブランドドメインを設定していること。
- iOSアプリの場合、ブランドドメインを関連ドメイン(Associated Domain)として追加するようにしてください。これにより、ドメインがユニバーサルリンクとして設定されるようになります。
- Androidアプリの場合、ブランドドメインをAndroid アプリリンク(Android App Link)として定義するようにしてください。
-
ディープリンクを生成するには、有効なカスタムリンクトークンが必要です。
- 単一アプリ(シングルプラットフォームまたはマルチプラットフォーム双方とも):Campaign Labでカスタムリンクを作成し、単一のリンクトークンを取得します。
- 複数のアプリの場合、次の2つのオプションから選択できます。
- Campaign Labで複合カスタムリンクを作成します。これにより、複数のアプリ向けに単一のリンクトークンが生成されます。詳細は、プラットフォーム固有のリンクトークンをご覧ください。
- 既存のカスタムリンクを2つ使用して、それらのトークンをアンダースコア(
_
)で次のようにつなぎます:linkTokenA_linkTokenB
-
Adjust SDKを更新して、短縮リンクを解決すること。
-
データレジデンシーを設定している場合、iOSアプリとAndroidアプリで同じ地域を使用していることを確認してください。
レート制限
全てのお客様が最適なパフォーマンスで公正に利用できるよう、ディープリンクジェネレーター APIでは以下のレート制限が適用されます。
-
ショートリンク作成リクエストの上限(アプリ単位):
- 単一アプリのショートリンクを作成する場合、1秒あたり最大50件です。
- 複数のリンク作成を一括でリクエストする場合、2秒あたり最大100件です。
-
全てのリンク作成および更新操作に対する上限(アカウント単位):
- 単一アカウント内の全アプリからのリクエストが対象となり、1秒あたり最大200件です。
これらの上限のいずれかを超えた場合、APIは429 Too Many Requestsというステータスを返します。このレスポンスを受け取ったら、レート制限期間がリセットされるまで待機してからリクエストを再試行する必要があります。
特にスループットの高い使用状況で上限に達しないようにするため、以下を実装することをお勧めします。
- エクスポネンシャルバックオフ(再試行するたびに待機時間を指数関数的に延ばすリトライ戦略)に基づく自動再試行ロジックにより、再試行までの待機時間が徐々に延長されます。
- グローバルに同時実行を制御して、以下の例のように同時リクエスト数を効果的に制限します。
asyncio.Semaphore
(Python)async-sema
(Node.js)java.util.concurrent
のSemaphore
(Java)
サービスへのアクセスを継続し、スロットリングを回避するには、レート制限に適切に対応することが重要です。
認証
ディープリンクジェネレーターは、ベアラートークンを使用して認証します。ディープリンクジェネレーターAPIへの各リクエストには、Adjust APIトークンをAuthorization
ヘッダーに必ず含める必要があります。
自社でシングルサインオン(SSO)を有効にしている場合は、 Adjustの担当者またはsupport@adjust.comにお問い合わせください。APIトークンの取得方法についてサポートいたします。
SSO以外のアカウントの場合、APIガイドはユーザーの プロフィール に表示されます。トークンを確認するには、以下の手順に従ってください。
- アカウント(ユーザー)アイコンを選択します。
- アカウント設定(Account Settings) を選択します。
- マイプロフィール(My Profile) を選択します。
- APIトークン が ユーザー情報(User details) に表示されます。コピーボタンを選択して、トークンをクリップボードにコピーします。
Adjust APIトークンをリセットする
Adjust APIトークンはいつでもリセットできます。トークンをリセットすると、古いトークンは無効になります。Adjust APIトークンをリセットした場合、使用中の古いトークンを新しいトークンに置き換える必要があります。無効になったトークンを使用したリクエストは、Adjustによって拒否されます。
Adjust APIトークンをリセットする方法:
- アカウント(ユーザー)アイコンを選択します。
- アカウント設定(Account Settings) を選択します。
- マイプロフィール(My Profile) を選択します。
- APIトークン が ユーザー情報(User details) に表示されます。
- APIトークンをリセットする(Reset API token) を選択します。
- 表示されたモーダルにアカウントのパスワードを入力し、 リセット を選択してAPIトークンをリセットします。画面の右上に確認メッセージが表示されます。
- APIトークン の横にあるコピーボタンを選択して、トークンをクリップボードにコピーします。
使用量と使用方法
ディープリンクジェネレーターAPIでは 長いリンクを無制限に生成 できますが、生成可能な ショートリンク の数はご契約プランの条件によって異なります。
- 使用量にカウントされるのは、 一意のショートリンク のみです。同じパラメーターセットが複数回送信された場合でも、使用量から 1回 だけ引かれます。
- ショートリンクの使用量は、ご契約プランに定められています。
- 使用上限に達したり、契約の有効期限が切れたりすると、
shorten_url
パラメーターの値に関わらずAPIは 自動的にフォールバックして長いリンクを生成するようになります 。
現在の使用量に関する情報をリクエスト
次のリクエストを実行して、現在の使用量に関する情報を取得します。レスポンスはリアルタイムで反映されます。
エンドポイント: https://automate.adjust.com/engage/deep-links/quota
メソッド: GET
レスポンス: 使用量情報(Quota Data)
レスポンスヘッダー
各APIレスポンスには、ショートリンクの使用量と契約状況をリアルタイムに表示するためのヘッダーが含まれています。
X-ShortLink-Quota-Limit: 100000 # Total short link quota allocatedX-ShortLink-Quota-Remaining: 86129 # Remaining short link generationsX-Contract-Status: active # Current contract status. One of: "active", "inactive". "inactive" is returned when the contract has ended or the contract information is not yet availableX-Contract-End-Date: 2025-12-31 # Contract expiration dateX-Contract-Start-Date: 2024-12-31 # Contract start date
単一のディープリンクを生成
この操作では、シングルプラットフォーム、マルチプラットフォーム、または複合アプリ設定のために、長いディープリンクまたはショートディープリンクを生成できます。単一のディープリンクを動的に作成する必要がある場合は、これを使用します。
APIプロトコル
エンドポイント: https://automate.adjust.com/engage/deep-links
メソッド: POST
リクエストボディ: リンク生成ペイロード
レスポンス: ディープリンクオブジェクトまたは エラーレスポンス
例
シングルプラットフォームアプリ
curl --location 'https://automate.adjust.com/engage/deep-links' \--header 'Content-Type: application/json' \--header 'Authorization: Bearer adjustApiToken' \--data '{ "link_token": "1c52mluz", "redirect": "https://example.com/redirect", "fallback": "https://example.com/fallback", "deep_link_path": "/custom-path" }'
{"url": "https://example.go.link/fryYl"}
マルチプラットフォームアプリ
curl --location 'https://automate.adjust.com/engage/deep-links' \--header 'Content-Type: application/json' \--header 'Authorization: Bearer adjustApiToken' \--data '{ "link_token": "2d41nkvy", "redirect": "https://example.com/redirect", "fallback": "https://example.com/fallback", "android_deep_link_path": "/custom-path", "redirect_macos": "https://www.example.com/redirectmacos" }'
{ "url": "https://example.go.link/jlbKj" }
複合リンク
curl --location 'https://automate.adjust.com/engage/deep-links' \--header 'Content-Type: application/json' \--header 'Authorization: Bearer adjustApiToken' \--data '{ "link_token": "1c2n7ybx_1cjet4nl", "redirect": "https://example.com/redirect", "fallback": "https://example.com/fallback", "ios_deep_link_path": "/custom-path-ios", "android_deep_link_path": "/custom-path-android", "redirect_macos": "https://www.example.com/redirectmacos" }'
{"url": "https://example.go.link/6JtQx"}
ディープリンクを一括で生成
この操作を使用すると、1つのリクエストで複数のディープリンクを生成できます。さまざまなアプリタイプに対して、長いリンクとショートリンクの両方をサポートしています。一括生成を使用すると、パフォーマンスを最適化し、リクエストの負担を減らしながら、最大100のリンクを一度に作成することができます。
APIプロトコル
エンドポイント: https://automate.adjust.com/engage/deep-links/bulk
メソッド: POST
リクエストボディ:
パラメーター | データタイプ |
---|---|
data* | 配列[リンク生成ペイロード] |
レスポンス:
パラメーター | データタイプ |
---|---|
data* | 配列[ディープリンク または エラーレスポンス] |
例
curl --location 'https://automate.adjust.com/engage/deep-links/bulk' \--header 'Content-Type: application/json' \--header 'Authorization: Bearer adjustApiToken' \--data '{"data": [ { "link_token": "1doptv0c", "redirect": "https://example.com/redirect", "fallback": "https://example.com/fallback", "campaign": "custom-campaign" }, { "link_token": "ERRORDATA" }, { "link_token": "1df3xslh_1dsykkaa", "redirect": "https://example.com/redirect", "fallback": "https://example.com/fallback", "ios_deep_link_path": "/custom-path-ios", "android_deep_link_path": "/custom-path-android" }, { "link_token": "1dzwtdjt", "redirect": "https://example.com/redirect", "fallback": "https://example.com/fallback", "android_deep_link_path": "/custom-path" } ]}'
{ "data": [ { "url": "https://example.go.link/4IlkC" }, { "error_code": "service_error", "error_desc": "[ERROR MESSAGE]" }, { "url": "https://example.go.link/6KnoE" }, { "url": "https://example.go.link/5JmnD" } ]}
ショートリンクデータを取得
この操作を行うと、以前に生成されたショートリンクの有効期限やリダイレクトパラメーターなど、以前に生成されたショートリンクに関するメタデータを取得できます。これを使用して、ショートリンクの状態を確認または検証することが可能です。
APIプロトコル
エンドポイント: https://automate.adjust.com/engage/deep-links/short-link?short_token={short_token}&app_token={app_token}
メソッド: GET
レスポンス: ショートトークンのメタデータ
例
curl --location --request GET 'https://automate.adjust.com/engage/deep-links/short-link?short_token=4IlkC&app_token=zgvhg75bw83k' \--header 'Content-Type: application/json' \--header 'Authorization: Bearer adjustApiToken'
{ "created_at": "2025-03-19T13:31:31Z", "expires_at": "2025-10-08T17:04:24.201134367Z", "token": "4IlkC", "ulink": "example", "url": "https://example.go.link/?adj_t=1g41cvql_1gb5zq24&adj_fallback=https%3A%2F%2Fexample.com%2Ffallback-1&adj_redirect=https%3A%2F%2Fexample.com%2Fredirect"}
ショートリンクターゲットを更新
この操作を使用して、既存のショートリンクのリダイレクト先(長いリンク)を更新します。ショートリンク自体は 変更されません 。
APIプロトコル
エンドポイント: https://automate.adjust.com/engage/deep-links/{short_token}
メソッド: PUT
リクエストボディ: リンク生成ペイロード
レスポンス: 成功時に、HTTP 204 No Content
を返します。
例
curl --location --request PUT 'https://automate.adjust.com/engage/deep-links/4IlkC' \--header 'Content-Type: application/json' \--header 'Authorization: Bearer adjustApiToken' \--data '{ "link_token": "1doptv0c", "redirect": "https://example.com/new-redirect", "fallback": "https://example.com/new-fallback", "deep_link_path": "/new-custom-path"}'
204 No Content
データモデル
リンク生成ペイロード
パラメーター | データタイプ | 説明 |
---|---|---|
link_token * | String | カスタムリンクのリンクトークン。単一トークン、またはlinkTokenA_linkTokenB の形で複数のトークンを組み合わせることもできます。 |
shorten_url | Boolean | リンクを短縮する必要があるかどうかを示す。デフォルトはtrue です。 |
short_token | String | カスタムのショートトークン。このパラメーターを使用して、定義済みの値を持つショートリンクを生成します。例えば、campaign2026 を渡した場合、結果のリンクはexample.go.link/campaign2026 になります。トークンは、1つのブランドドメイン内で一意である必要があります。 |
campaign | String | カスタムのキャンペーン名。このパラメーターを使用して、カスタムリンクの値をオーバーライドします。 |
adgroup | String | カスタムのアドグループ名。このパラメーターを使用して、カスタムリンクの値をオーバーライドします。 |
creative | String | カスタムのクリエイティブ名このパラメーターを使用して、カスタムリンクの値をオーバーライドします。 |
deep_link_path | String | ユーザーが遷移するiOSのアプリ内の遷移先を指定。シングルプラットフォームアプリにはこれを使用してください。 |
ios_deep_link_path | String | ユーザーが遷移するiOSのアプリ内の遷移先を指定。マルチプラットフォームのiOSアプリまたは複合リンクにはこれを使用してください。 |
android_deep_link_path | String | ユーザーが遷移するiOSのアプリ内の遷移先を指定。マルチプラットフォームのiOSアプリまたは複合リンクにはこれを使用してください。 |
fallback | String | オフプラットフォームユーザーのランディングページ。fallback URLを指定する場合は、redirect_macos とredirect_windows を指定することをお勧めします。 |
redirect | String | AdjustのデフォルトのリダイレクトをオーバーライドするリダイレクトURL。 |
redirect_ios | String | iOSアプリに対してのみ、AdjustのデフォルトリダイレクトをオーバーライドするリダイレクトURL。マルチプラットフォームのiOSアプリまたは複合リンクにはこれを使用してください。 |
redirect_android | String | Androidアプリに対してのみ、AdjustのデフォルトのリダイレクトをオーバーライドするリダイレクトURL。マルチプラットフォームのAndroidアプリまたは複合リンクにはこれを使用してください。 |
redirect_macos | String | macOSのAdjustのデフォルトリダイレクトを上書きするリダイレクトURL。`fallback` を指定する場合は、macOSユーザー向けにfallback を指定することをお勧めします。 |
redirect_windows | String | Windows向けのAdjustのデフォルトリダイレクトをオーバーライドするリダイレクトURL。fallback を指定する場合は、Windowsユーザー向けにこのパラメーターを指定することを推奨します。 |
label | String | リンクにカスタムデータを追加します。このパラメーターを使用して、ユーザーがアプリからショートリンクを共有した際に自動入力される一意のユーザー紹介IDを追加できます。 |
og_title | String | リンクのソーシャル共有プレビューのタイトル。 |
og_description | String | リンクのソーシャル共有プレビューの説明。 |
og_image | String | ソーシャル共有プレビューに使用する、200 x 200 ピクセル以上のJPGまたはPNG形式の画像のURLを指定。 |
ディープリンク
パラメーター | データタイプ | 説明 |
---|---|---|
url * | String | 最終リンク:ショートまたは長いリンク |
long_url * | String | 対応する長いリンク |
ショートトークンメタデータ
パラメーター | データタイプ | 説明 |
---|---|---|
created_at * | String | ISO形式のdatetimeオブジェクト |
expires_at * | String | ショートリンクの有効期限終了日を持つISO形式のdatetimeオブジェクト |
updated_at | String | 直近のリンク更新日を持つISO形式のdatetimeオブジェクト |
token * | String | トークン |
ulink * | String | ブランドドメイン |
url * | String | 完全な長いリンク |
使用量データ
パラメーター | データタイプ | 説明 |
---|---|---|
limit * | Integer | 割り当てられたショートリンクの合計使用量 |
remaining * | Integer | 残りのショートリンクの生成数 |
contract_status * | String | 現在の契約状況。「active」、「inactive」のいずれか。契約が終了している場合、または契約情報がまだ利用できない場合は”inactive”が返されます。 |
contract_start_date | String | ISO dateオブジェクト。契約開始日。 |
contract_end_date | String | ISO dateオブジェクト。契約有効期限。 |
エラーレスポンス
パラメーター | データタイプ | 説明 |
---|---|---|
error_code * | String | エラーコード: request_error 、auth_error 、validation_error 、 service_error |
error_desc * | String | 読み取り可能なエラーの内容 |
error_desc_details | Array | その他のメタデータ |