adjust-icon

ディープリンクジェネレーター API

ディープリンクジェネレーターAPIを使用して、アプリ用の短いおよび長いディープリンクを個別または一括で作成できます。これらのカスタマイズされたディープリンクは、さまざまなプラットフォームでユーザー体験を向上させます。

事前準備

はじめに、以下の設定手順をご覧ください。

ご利用の条件

  • ディープリンクジェネレーターAPIは、TrueLink CoreまたはEnterpriseのパッケージにご契約のお客様にご利用いただけます。
  • ディープリンクジェネレーターAPIを使用して作成されたリンクは、 Campaign Labに表示されません。
  • ディープリンクジェネレーターAPIを使用して作成されたショートリンクのTTL(有効期間)は120日です。

要件

  1. 管理者、編集者およびカスタムの編集者のアクセス権限

  2. iOSアプリとAndroidアプリに同じブランドドメインを設定していること。

  3. ディープリンクを生成するには、有効なカスタムリンクトークンが必要です。

  4. Adjust SDKを更新して、短縮リンクを解決すること。

  5. データレジデンシーを設定している場合、iOSアプリとAndroidアプリで同じ地域を使用していることを確認してください。

レート制限

全てのお客様が最適なパフォーマンスで公正に利用できるよう、ディープリンクジェネレーター APIでは以下のレート制限が適用されます。

  1. ショートリンク作成リクエストの上限(アプリ単位):

    • 単一アプリのショートリンクを作成する場合、1秒あたり最大50件です。
    • 複数のリンク作成を一括でリクエストする場合、2秒あたり最大100件です。
  2. 全てのリンク作成および更新操作に対する上限(アカウント単位):

    • 単一アカウント内の全アプリからのリクエストが対象となり、1秒あたり最大200件です。

これらの上限のいずれかを超えた場合、APIは429 Too Many Requestsというステータスを返します。このレスポンスを受け取ったら、レート制限期間がリセットされるまで待機してからリクエストを再試行する必要があります。

特にスループットの高い使用状況で上限に達しないようにするため、以下を実装することをお勧めします。

  • エクスポネンシャルバックオフ(再試行するたびに待機時間を指数関数的に延ばすリトライ戦略)に基づく自動再試行ロジックにより、再試行までの待機時間が徐々に延長されます。
  • グローバルに同時実行を制御して、以下の例のように同時リクエスト数を効果的に制限します。
    • asyncio.Semaphore (Python)
    • async-sema (Node.js)
    • java.util.concurrentSemaphore(Java)

サービスへのアクセスを継続し、スロットリングを回避するには、レート制限に適切に対応することが重要です。

認証

ディープリンクジェネレーターは、ベアラートークンを使用して認証します。ディープリンクジェネレーターAPIへの各リクエストには、Adjust APIトークンをAuthorizationヘッダーに必ず含める必要があります。

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

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

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

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

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では 長いリンクを無制限に生成 できますが、生成可能な ショートリンク の数はご契約プランの条件によって異なります。

  • 使用量にカウントされるのは、 一意のショートリンク のみです。同じパラメーターセットが複数回送信された場合でも、使用量から 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 allocated
X-ShortLink-Quota-Remaining: 86129 # Remaining short link generations
X-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 available
X-Contract-End-Date: 2025-12-31 # Contract expiration date
X-Contract-Start-Date: 2024-12-31 # Contract start date

単一のディープリンクを生成

この操作では、シングルプラットフォーム、マルチプラットフォーム、または複合アプリ設定のために、長いディープリンクまたはショートディープリンクを生成できます。単一のディープリンクを動的に作成する必要がある場合は、これを使用します。

APIプロトコル

エンドポイント: https://automate.adjust.com/engage/deep-links

メソッド: POST

リクエストボディ: リンク生成ペイロード

レスポンス: ディープリンクオブジェクトまたは エラーレスポンス

シングルプラットフォームアプリ

リクエスト - cURL
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
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
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
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"
}
]
}

この操作を行うと、以前に生成されたショートリンクの有効期限やリダイレクトパラメーターなど、以前に生成されたショートリンクに関するメタデータを取得できます。これを使用して、ショートリンクの状態を確認または検証することが可能です。

エンドポイント: https://automate.adjust.com/engage/deep-links/short-link?short_token={short_token}&app_token={app_token}

メソッド: GET

レスポンス: ショートトークンのメタデータ

リクエスト - cURL
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"
}

この操作を使用して、既存のショートリンクのリダイレクト先(長いリンク)を更新します。ショートリンク自体は 変更されません

エンドポイント: https://automate.adjust.com/engage/deep-links/{short_token}

メソッド: PUT

リクエストボディ: リンク生成ペイロード

レスポンス: 成功時に、HTTP 204 No Contentを返します。

リクエスト - cURL
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_urlBooleanリンクを短縮する必要があるかどうかを示す。デフォルトはtrueです。
short_tokenStringカスタムのショートトークン。このパラメーターを使用して、定義済みの値を持つショートリンクを生成します。例えば、campaign2026を渡した場合、結果のリンクはexample.go.link/campaign2026になります。トークンは、1つのブランドドメイン内で一意である必要があります。
campaignStringカスタムのキャンペーン名。このパラメーターを使用して、カスタムリンクの値をオーバーライドします。
adgroupStringカスタムのアドグループ名。このパラメーターを使用して、カスタムリンクの値をオーバーライドします。
creativeStringカスタムのクリエイティブ名このパラメーターを使用して、カスタムリンクの値をオーバーライドします。
deep_link_pathStringユーザーが遷移するiOSのアプリ内の遷移先を指定。シングルプラットフォームアプリにはこれを使用してください。
ios_deep_link_pathStringユーザーが遷移するiOSのアプリ内の遷移先を指定。マルチプラットフォームのiOSアプリまたは複合リンクにはこれを使用してください。
android_deep_link_pathStringユーザーが遷移するiOSのアプリ内の遷移先を指定。マルチプラットフォームのiOSアプリまたは複合リンクにはこれを使用してください。
fallbackStringオフプラットフォームユーザーのランディングページ。fallback URLを指定する場合は、redirect_macosredirect_windowsを指定することをお勧めします。
redirectStringAdjustのデフォルトのリダイレクトをオーバーライドするリダイレクトURL。
redirect_iosStringiOSアプリに対してのみ、AdjustのデフォルトリダイレクトをオーバーライドするリダイレクトURL。マルチプラットフォームのiOSアプリまたは複合リンクにはこれを使用してください。
redirect_androidStringAndroidアプリに対してのみ、AdjustのデフォルトのリダイレクトをオーバーライドするリダイレクトURL。マルチプラットフォームのAndroidアプリまたは複合リンクにはこれを使用してください。
redirect_macosStringmacOSのAdjustのデフォルトリダイレクトを上書きするリダイレクトURL。`fallback` を指定する場合は、macOSユーザー向けにfallbackを指定することをお勧めします。
redirect_windowsStringWindows向けのAdjustのデフォルトリダイレクトをオーバーライドするリダイレクトURL。fallbackを指定する場合は、Windowsユーザー向けにこのパラメーターを指定することを推奨します。
labelStringリンクにカスタムデータを追加します。このパラメーターを使用して、ユーザーがアプリからショートリンクを共有した際に自動入力される一意のユーザー紹介IDを追加できます。
og_titleStringリンクのソーシャル共有プレビューのタイトル。
og_descriptionStringリンクのソーシャル共有プレビューの説明。
og_imageStringソーシャル共有プレビューに使用する、200 x 200 ピクセル以上のJPGまたはPNG形式の画像のURLを指定。
パラメーターデータタイプ説明
url*String最終リンク:ショートまたは長いリンク
long_url*String対応する長いリンク

ショートトークンメタデータ

パラメーターデータタイプ説明
created_at*StringISO形式のdatetimeオブジェクト
expires_at*Stringショートリンクの有効期限終了日を持つISO形式のdatetimeオブジェクト
updated_atString直近のリンク更新日を持つISO形式のdatetimeオブジェクト
token*Stringトークン
ulink*Stringブランドドメイン
url*String完全な長いリンク

使用量データ

パラメーターデータタイプ説明
limit*Integer割り当てられたショートリンクの合計使用量
remaining*Integer残りのショートリンクの生成数
contract_status*String現在の契約状況。「active」、「inactive」のいずれか。契約が終了している場合、または契約情報がまだ利用できない場合は”inactive”が返されます。
contract_start_dateStringISO dateオブジェクト。契約開始日。
contract_end_dateStringISO dateオブジェクト。契約有効期限。

エラーレスポンス

パラメーターデータタイプ説明
error_code*Stringエラーコード: request_errorauth_errorvalidation_errorservice_error
error_desc*String読み取り可能なエラーの内容
error_desc_detailsArrayその他のメタデータ