adjust-icon

딥링크 생성기 API

딥링크 생성기 API를 사용하여 앱에 대한 긴/단축 딥링크를 개별 또는 일괄로 생성할 수 있습니다. 이러한 맞춤형 딥링크는 다양한 플랫폼에서 사용자 경험을 향상시킵니다.

시작에 앞서

시작하기 전에 알아야 할 사항은 다음과 같습니다.

가용성

  • 딥링크 생성기 API에 액세스하려면 TrueLink Core 또는 Enterprise 패키지를 사용해야 합니다.
  • 딥링크 생성기 API를 사용하여 생성된 링크는 Campaign Lab에 표시되지 않습니다.
  • 딥링크 생성기 API로 생성된 단축 링크의 TTL(time-to-live)은 120일입니다.

요구 사항

  1. 관리자, 편집자 또는 사용자 지정 편집자 권한.

  2. iOS와 Android 앱에 대해 동일한 브랜드 도메인을 설정합니다.

    • iOS 앱의 경우 브랜드 도메인을 Associated Domain으로 추가하시기 바랍니다. 이렇게 하면 도메인이 유니버셜 링크로 구성되도록 설정됩니다.
    • Android 앱의 경우 브랜드 도메인을 Android 앱 링크로 정의하시기 바랍니다.
  3. 딥링크를 생성하려면 유효한 커스텀 링크 토큰이 필요합니다.

  4. 단축 링크 해석을 위해 Adjust SDK를 업데이트 하시기 바랍니다.

  5. 데이터 레지던시를 설정한 경우, iOS와 Android 앱에 동일한 지역을 사용해야 합니다.

속도 제한

모든 클라이언트에서 최적의 성능과 공정한 사용을 보장하기 위해 딥링크 생성기 API는 다음과 같은 속도 제한을 적용합니다.

  1. 앱당 단축 링크 생성 제한은 다음과 같습니다.

    • 단일 앱 기준 초당 최대 50건의 단축 링크 생성 요청이 가능합니다.
    • 대량 링크 생성은 2초당 최대 100건을 요청할 수 있습니다.
  2. 계정당 모든 링크 생성 제한 및 업데이트 작업 제한은 다음과 같습니다.

    • 단일 계정 내 모든 앱에서 초당 최대 200건 요청이 가능합니다.

이러한 제한 중 하나라도 초과하면 API는 429 Too Many Requests 상태로 응답합니다. 이 응답을 받은 후 요청을 재시도하기 전에 속도 제한 창이 재설정될 때까지 기다려야 합니다.

특히 처리량이 많은 환경에서 이러한 제한에 도달하지 않기 위해 다음을 구현할 것을 권장합니다.

  • 재시도 간 지연을 점진적으로 늘리는 지수 백오프 전략을 사용하는 자동 재시도 로직
  • 동시 요청 수를 효과적으로 제한하기 위한 글로벌 동시성 제어는 다음과 같습니다.
    • asyncio.Semaphore - Python
    • async-sema - Node.js
    • java.util.concurrentSemaphore - Java

적절한 속도 제한 관리는 서비스 액세스를 중단 없이 유지하고 스로틀링을 방지하는 데 필수적입니다.

인증

딥링크 생성기 API는 인증을 위해 베어러 토큰을 사용합니다. 반드시 딥링크 생성기 API에 대한 각 요청과 함께 Authorization 헤더에 Adjust API 토큰을 포함해야 합니다.

Single Sign-On (SSO)를 활성화한 경우, Adjust 담당자에게 연락하거나 support@adjust.com 으로 이메일을 보내 API를 찾는 데 도움을 받으시기 바랍니다.

비 SSO 계정의 경우, API는 사용자의 프로필 에서 확인하실 수 있습니다. Adjust API 토큰을 확인하려면 다음 단계를 따르시기 바랍니다.

  1. 계정(사용자) 아이콘을 선택합니다.
  2. 계정 설정 을 선택합니다.
  3. 내 프로필 탭을 선택합니다.
  4. API 토큰사용자 세부 사항 과 함께 표시됩니다. 시스템 클립보드에 토큰을 복사하기 위해 복사를 선택합니다.

Adjust API 토큰 재설정

Adjust API 토큰은 언제든지 재설정할 수 있습니다. 토큰을 재설정하면 이전의 토큰은 무효화됩니다. Adjust API 토큰을 재설정한 경우 기존 토큰이 사용되는 모든 곳에서 교체해야 합니다. 무효화된 토큰에 대한 요청은 Adjust에 의해 거부됩니다.

Adjust API 토큰 재설정:

  1. 계정(사용자) 아이콘을 선택합니다.
  2. 계정 설정 을 선택합니다.
  3. 내 프로필 탭을 선택합니다.
  4. API 토큰사용자 세부 사항 과 함께 표시됩니다.
  5. API 토큰 재설정 을 선택합니다.
  6. 모달에 계정 비밀번호를 입력한 후 API 토큰 재설정을 위해 재설정 을 선택합니다. 화면 우측 상단에 확인 메시지가 나타납니다.
  7. 시스템 클립보드에 API 토큰 을 복사하기 위해 복사를 선택합니다.

할당량 및 사용량

딥링크 생성기 API를 사용하면 긴 링크를 무제한 으로 생성할 수 있으며, 단축 링크 의 수는 계약 조건에 따라 다릅니다.

  • 고유 단축 링크 만 할당량 계산에 포함됩니다. 동일한 파라미터 세트가 여러 번 전송되는 경우 할당량은 한 번 만 줄어듭니다.
  • 단축 링크 할당량은 계약서에 명시되어 있습니다.
  • 할당량이 소진되거나 계약이 만료되면 API는 shorten_url 파라미터 값과 관계없이 자동으로 긴 링크를 생성 합니다.

현재 할당량 정보 요청

다음 요청을 실행하여 현재 할당량 잔액을 조회합니다. 응답은 실시간으로 잔액을 반영합니다.

엔드포인트: https://automate.adjust.com/engage/deep-links/quota

호출하여 트래킹할 수 있습니다: GET

응답: 할당량 데이터

응답 헤더

대부분의 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"}

딥링크 일괄 생성

이 작업을 통해 단일 요청에서 여러 개의 딥링크를 생성할 수 있습니다. 다양한 앱 유형에 긴 링크와 단축 링크 모두를 지원합니다. 한 번에 최대 100개의 링크를 생성할 때 일괄 생성을 사용하여 성능을 최적화하고 요청 오버헤드를 줄일 수 있습니다.

API 프로토콜

엔드포인트: https://automate.adjust.com/engage/deep-links/bulk

호출하여 트래킹할 수 있습니다: POST

요청 본문:

파라미터데이터 유형
data*Array[링크 생성 페이로드]

응답:

파라미터데이터 유형
data*Array[딥링크 또는 오류 응답]

요청 - 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이 됩니다. 토큰은 하나의 브랜드 도메인 내에서 고유한 상태여야 합니다.
campaignString캠페인의 커스텀 이름입니다. 이 파라미터를 사용하여 커스텀 링크의 값을 재정의합니다.
adgroupString광고그룹의 커스텀 이름입니다. 이 파라미터를 사용하여 커스텀 링크의 값을 재정의합니다.
creativeString크리에이티브의 커스텀 이름입니다. 이 파라미터를 사용하여 커스텀 링크의 값을 재정의합니다.
deep_link_pathString사용자를 이동시킬 인앱 목적지를 지정합니다. 단일 플랫폼 앱에 사용하시기 바랍니다.
ios_deep_link_pathString사용자를 이동시킬 iOS 인앱 목적지를 지정합니다. 멀티 플랫폼 iOS 앱 또는 복합 링크에 사용하시기 바랍니다.
android_deep_link_pathString사용자를 이동시킬 Android 인앱 목적지를 지정합니다. 멀티 플랫폼 Android 앱 또는 복합 링크에 사용하시기 바랍니다.
fallbackString오프 플랫폼 사용자를 위한 랜딩 페이지입니다. fallback URL을 지정할 때 redirect_macosredirect_windows 또한 함께 지정할 것을 권장합니다.
redirectStringAdjust의 기본 리다이렉트를 재정의하기 위한 리다이렉트 URL입니다.
redirect_iosStringiOS 앱에 대해서만 Adjust의 기본 리다이렉트를 재정의하기 위한 리다이렉트 URL입니다. 멀티 플랫폼 iOS 앱 또는 복합 링크에 사용하시기 바랍니다.
redirect_androidStringAndroid 앱에 대해서만 Adjust의 기본 리다이렉트를 재정의하기 위한 리다이렉트 URL입니다. 멀티 플랫폼 Android 앱 또는 복합 링크에 사용하시기 바랍니다.
redirect_macosStringmacOS에 대한 Adjust의 디폴트 리다이렉트를 오버라이드하기 위한 리다이렉트 URL. fallback을 지정할 때 macOS 사용자에 대해 이 파라미터를 설정하는 것을 권장합니다.
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 날짜/시간 객체
expires_at*String단축 링크 만료일의 ISO 날짜/시간 객체
updated_atString마지막 링크 업데이트의 ISO 날짜/시간 객체
token*String토큰
ulink*String브랜드 도메인
url*String전체 긴 링크

할당량 데이터

파라미터데이터 유형설명
limit*Integer총 단축 링크 할당량입니다
remaining*Integer남은 단축 링크 생성 횟수입니다
contract_status*String현재 계약 상태입니다. ‘active’, ‘inactive’ 중 하나. ‘inactive’는 계약 종료되었거나 계약 정보를 아직 이용할 수 없는 경우 반환됩니다.
contract_start_dateStringISO 날짜 객체입니다. 계약 시작일입니다.
contract_end_dateStringISO 날짜 객체입니다. 계약 만료일입니다.

오류 응답

파라미터데이터 유형설명
error_code*String오류 코드: request_error, auth_error, validation_error, service_error
error_desc*String읽을 수 있는 오류 설명
error_desc_detailsArray추가적인 메타데이터