[NEW] Singular 링크 (트래킹 링크) API

이 기능은 엔터프라이즈 고객에게 제공되는 기능입니다.

신규 Singular 링크 API를 사용하여 신규 Singular 링크를 생성하거나 기존의 Singular 링크를 조회할 수 있습니다.

API를 활용한 링크 생성의 메인 플로우

Screen_Shot_2023-01-31_at_13.23.43.png

API를 통해 Singular 링크를 생성하기 위해서는 다음을 따르세요.

1

Get Apps를 호출하여 Singular 링크를 만들고 싶은 앱의 app_id와 app_site_id를 가져오세요.

2

Singular 링크를 생성하고 싶은 광고 매체 파트너를 가져오려면 Get Configured Partners를 호출 시 partner_id를 입력합니다. 

팁: 이전 단계에서 가져온 app_site_id를 파라미터로 사용하여 파트너 정보를 조회할 수 있습니다.

3 Get Link Domains를 호출하여 링크에 사용할 수 있는 subdomains과 dns_zones를 가져옵니다.
4 선택 사항으로, 링크를 생성하려는 파트너에 대한 정보 - 동일한 링크에 여러 OS를 지원하는지, 리인게이지먼트를 지원하는지, CTV를 지원하는지 - 을 가져오려면 Get All Partners를 호출합니다. 해당 쿼리를 partner_id로 필터할 수 있습니다.
5

전 단계에서 가져온 app_id, app_site_id, partner_id, subdomain, dns_zone를 사용하여 Create Link를 호출합니다.

참고: 파트너가 여러 OS에 대해 동일한 링크 사용을 지원하는 경우, 동일한 해당 Singular 링크에 Android와 iOS의 링크 데스티네이션을 입력할 수 있습니다. 지원하지 않는 경우, 각 OS에 대한 링크를 따로 생성합니다.   

파트너가 리인게이지먼트나 CTV를 지원한다면, Singular 링크에서 이 옵션들에 true로 설정할 수 있습니다.  

Singular 링크 API 개요

엔드포인트

다음은 활용할 수 있는 API 엔드포인트들입니다. 

주요 엔드포인트
Create Link POST https://api.singular.net/api/v1/singular_links/links  
View Links GET
보조 엔드포인트
Get Apps GET https://api.singular.net/api/v1/singular_links/apps Create Link 또는 View Links를 호출하기 전에 필요한 정보를 가져올 때 사용합니다.
Get Configured Partners GET https://api.singular.net/api/v1/singular_links/configured_partners
Get Link Domains GET https://api.singular.net/api/v1/singular_links/domains Create Link를 호출하기 전에 필요한 정보를 가져올 때 사용합니다.
Get All Partners GET https://api.singular.net/api/v1/singular_links/all_partners 각 파트너가 지원하는 옵션에 대해 알고 싶은 경우 사용합니다. 

인증

모든 Singular API 호출에는 Singular API 키가 필요합니다. 키를 가져오려면, Singular 웹 앱에 로그인 후 Developer Tools > Reporting API Keys로 이동합니다.

Authorization HTTP header에 API 키를 입력합니다. (코드 예시 참고)

제한 사항

이 API 엔드포인트들에 대한 요청을 가져오는 URL의 길이는 최대 8000자까지입니다. 최대 길이를 초과하는 URL은 에러 메시지를 초래합니다.

링크 생성

POST https://api.singular.net/api/v1/singular_links/links

활용 방법

매체별 신규 링크를 생성할 경우 이 API 엔드포인트를 사용합니다. 링크가 생성되면, 이 링크를 해당 매체와 캠페인의 트래킹 링크로 사용할 수 있습니다. 

자세한 내용은, Singular 링크 생성하기와 Singular 링크 FAQ의 나머지 내용을 참고.

참고:

  • Singular 웹 앱에서 Singular Links를 확인할 때, API로 만들어진 링크가 기본 설정으로써 보여지지는 않습니다. Show API links 토글 버튼을 누르면 API로 생성한 링크들이 표시됩니다.
  • 이 링크와 보유하고 있는 링크를 볼 때 사용하는 엔드포인트 URL이 동일하지만, GET 요청 대신 POST 요청을 사용합니다.

샘플 쿼리

Pythoncurl
import requests
import json

url = "https://api.singular.net/api/v1/singular_links/links"

api_key = <...> # Retrieve API Key from Singular web app at Developer Tools > Reporting API Keys

params = json.dumps({
  "app_id": <APP_ID>, # From Get Apps call
  "partner_id": <PARTNER_ID>, # From Get Configured Partners call
  "link_type": "partner",
  "tracking_link_name": "my tracking link",
  "link_subdomain": "<SUBDOMAIN>", # From Get Link Domains call
  "link_dns_zone": "sng.link",
  "destination_fallback_url": "https://www.example.com/",
  "android_redirection": {
    "app_site_id": <APP_SITE_ID>, # From Get Apps call
    "destination_url": "https://play.google.com/store/apps/details?id=com.my.app",
    "destination_deeplink_url": "https://www.example.com/",
    "destination_deferred_deeplink_url": "https://www.example.com/"
  }
})

response = requests.post(url, data=params, headers={'Authorization':api_key})

쿼리 파라미터

파라미터 설명
필수 파라미터
app_id 생성하려는 링크의 앱 ID를 의미합니다. 앱 목록을 확인하려면, Get Apps 엔드포인트를 사용합니다.  
partner_id 링크를 생성하려는 파트너 매체의 ID입니다. 특정 앱에 관하여 구성한 파트너 목록을 확인하려면, Get Configured Partners를 사용합니다.  
link_type "partner"로 type을 설정합니다. "커스텀(custom)" 링크를 위한 옵션은 곧 출시됩니다. (자세한 내용은 매체 vs. 커스텀 링크의 차이점을 참고)
tracking_link_name 후에 Singular 리포트에서 Singular 링크 확인을 위해 명명한 이름을 의미합니다. 대부분의 고객은 캠페인 명 또는 해당 캠폐인 명의 여러 이름을 사용합니다. 해당 tracking_link_name은 Singular 리포트에 "Tracker Name"으로 표시됩니다.
link_dns_zone Singular 트래킹 링크는 다음의 구조를 갖습니다. https://[SUBDOMAIN].[DNS_ZONE]/[PARAMETERS]
여기서 DNS zone은 "sng.link"입니다.
link_subdomain Singular 트래킹 링크는 [SUBDOMAIN]이 고객에 의해 결정되는 다음의 구조를 갖습니다.
https://[SUBDOMAIN].[DNS_ZONE]/[PARAMETERS]
구성된 서브 도메인의 목록을 확인하려면, Get Link Domains를 호출합니다.
destination_fallback_url 딥링크 동작이 실패하는 경우 유저를 데려가는 데스티네이션을 의미합니다. 일반적으로, 유저가 앱에서 고객의 광고를 클릭하면, 딥링크를 통해 앱의 특정한 화면으로 데려가는 게 목적이지만, 유저가 앱을 인스톨하지 않았다면 앱을 다운로드하도록 앱 스토어로 리다이렉션하는 게 목적입니다.  
android_redirection

다음은 Android 디바이스에서 링크가 이동시켜야 하는 위치를 명시하는 파라미터를 포함한 오브젝트들입니다.

  • app_site_id
  • destination_url
  • destination_deeplink_url (선택 사항이며, 기본 설정으로 적용되어 있지 않음)
  • destination_deferred_deeplink_url (선택 사항이며, 기본 설정으로 적용되어 있지 않음)

참고: android_redirection 또는 ios_redirection를 반드시 지정합니다. 매체가 한 Singular 링크에 여러 OS를 지원하는 경우에만, 두 OS를 같이 지정할 수 있습니다. 

ios_redirection

iOS 디바이스에서 링크가 이동시켜야 하는 위치를 명시하는 파라미터를 포함한 오브젝트는 다음과 같습니다.

  • app_site_id
  • destination_url
  • destination_deeplink_url (선택 사항이며, 기본 설정으로 적용되어있지 않음)
  • destination_deferred_deeplink_url (선택 사항이며, 기본 설정으로 적용되어있지 않음)

참고: android_redirection 또는 ios_redirection를 반드시 지정합니다. 매체가 한 Singular 링크에 여러 OS를 지원하는 경우에만, 두 OS를 같이 지정할 수 있습니다.

선택 파라미터
enable_reengagement 리인게이지먼트 캠페인에 속하는 경우 이 링크를 true로 설정합니다. (리인게이지먼트 FAQ를 참고) 모든 파트너가 이 옵션을 지원하지는 않습니다. Get All Partners 쿼리와 파트너 ID를 활용하면 특정 파트너가 무엇을 지원하는지 확인할 수 있습니다. 
click_deterministic_window

결정론적 어트리뷰션(deterministic)을 활용하는 클릭 스루에 대한 어트리뷰션 윈도우입니다. 각 앱 사이트와 파트너에 대한 기본 설정은 Partner Configuration 페이지에 설정되어있으며, 0~30일을 지정할 수 있습니다. 
click_probabilistic_window

확률론적 어트리뷰션(probabilistic)을 활용하는 클릭 스루에 대한 어트리뷰션 윈도우입니다. 각 앱 사이트와 파트너에 대한 기본 설정은 Partner Configuration 페이지에 설정되어있으며, 0~24 시간을 지정할 수 있습니다.
View_deterministic_window

결정론적 어트리뷰션(deterministic)을 활용하는 뷰 스루(노출)에 대한 어트리뷰션 윈도우입니다. 각 앱 사이트와 파트너에 대한 기본 설정은 Partner Configuration 페이지에 설정되어있으며, 0~24 시간을 지정할 수 있습니다.
view_probabilistic_window

확률론적 어트리뷰션(probabilistic)을 활용하는 뷰 스루(노출)에 대한 어트리뷰션 윈도우입니다. 기본 설정은 8시간이며, 0~24 시간을 지정할 수 있습니다. 
click_reengagement_window

리인게이지먼트 캠페인의 클릭 스루에 관한 어트리뷰션 윈도우입니다. 파트너당 기본 설정 세트가 존재하며, 다른 값으로 지정할 수 있습니다. 이 값은 enable_reengagementtrue로 설정된 경우에만 관련이 있는 값입니다.
enable_ctv

CTV 캠페인 지원을 원하는 경우 true로 설정합니다. 이 값은 매체 파트너가 CTV 캠페인을 지원하는 경우에만 관련이 있는 값입니다. 파트너에 따라, enable_ctv의 기본 설정 값은 true가 됩니다.

샘플 아웃풋

JSON
{
  "tracking_link_id": "<...>",
  "tracking_link_name": "jr us and ca spring 2022",
  "click_tracking_link": "https://mysubdomain.sng.link/<...>/<...>?idfa=$IDA&and5=$UDID&aifa=$GPID&s=$SITE_APP_ID&psid=$SITE_APP_ID&psn=$SITE_NAME&cl=impId&pcrn=$CREATIVE_NAME&pcrid=$CREATIVE_ID&pcid=$CAMPAIGN_ID&pc=$CAMPAIGN_ID&pcn=$CAMPAIGN_NAME&pscid=$ADGROUP_ID&cr=$CREATIVE_ID&andi1=$O1&pscn=$ADGROUP_NAME&impid=$IMP_ID&pshid=$BLINDED_SITE_ID",
  "impression_tracking_link": "https://i.sng.link/<...>/<...>?idfa=$IDA&and5=$UDID&aifa=$GPID&s=$SITE_APP_ID&psid=$SITE_APP_ID&psn=$SITE_NAME&cl=impId&pcrn=$CREATIVE_NAME&pcrid=$CREATIVE_ID&pcid=$CAMPAIGN_ID&pc=$CAMPAIGN_ID&pcn=$CAMPAIGN_NAME&pscid=$ADGROUP_ID&cr=$CREATIVE_ID&andi1=$O1&pscn=$ADGROUP_NAME&impid=$IMP_ID&pshid=$BLINDED_SITE_ID",
  "extra_info": [
    "partner's default value was used, instead of given argument enable_ctv",
    "partner's default value was used, instead of given argument enable_reengagement"
  ]
}

아웃풋 파라미터

Singular 링크가 성공적으로 생성되었다면, 응답에는 다음 파라미터들이 포함됩니다:

파라미터 설명
tracking_link_id 트래킹 링크의 internal ID이며, 이는 트래킹 링크 URL에도 포함됩니다.      
tracking_link_name 직접 명명한 트래킹 링크 명입니다.  
click_tracking_link 클릭 스루 캠페인에 대한 트래킹 링크 URL 입니다. 해당 URL에는 링크가 제공될 때 매체 파트너에 의해 실제 값들과 교환되는 매크로를 포함합니다.   
impression_tracking_link 지원되는 경우, 뷰 스루 캠페인에 대한 트래킹 링크 URL을 의미합니다. 
extra_info 링크가 성공적으로 생성되었다 하더라도, Singular에서 경고 또는 설명이 있을 수 있습니다. 이는 모두 extra_info에 수집됩니다.

에러 메시지

구성 문제로 인해 링크가 성공적으로 생성되지 않았다면, 해당 문제에 관해 설명하는 메시지를 받게 됩니다. 해당 이슈를 고친 후, Create Link를 다시 한번 호출합니다. 

에러 메시지 참고
app_site_id does not exist  
Partner x is not configured for app y  
Link_domain not defined  
<attribution_window> value not supported 어트리뷰션 윈도우 중 하나에 지원되지 않는 값을 설정했다는 의미입니다.
Partner does not support multiple OSs per link 하나의 트래킹 링크에 여러 OS를 지원하지 않는 매체 파트너에 Android와 iOS 리디렉션 값 모두를 설정했다는 의미입니다.
Partner X does not allow tracking links Facebook과 Google과 같은 자가 기여 네트워크(SANs)들은 트래킹 링크를 지원하지 않으므로 해당 파트너들에 대한 Singular 링크 생성을 지원하지 않는다는 의미입니다. 

링크 조회

GET https://api.singular.net/api/v1/singular_links/links

활용 방법

보유하고 있는 Singular 링크에 대한 세부 사항을 확인하려면 이 엔드포인트를 활용합니다.  

app_id, app_site_id, partner_id, tracking_link_id에 따라 요청을 필터할 수 있습니다. 이 ID들을 가져오려면, Get Apps와 Get Configured Partners 엔드포인트를 호출합니다.

참고: 이 엔드포인트는 링크를 새로 생성할 때 사용하는 엔드포인트(URL)와 동일하나, POST 요청 대신 GET 요청을 사용합니다.  

샘플 쿼리

Pythoncurl
import requests

url = "https://api.singular.net/api/v1/singular_links/links"
api_key = <...> # Retrieve API Key from Singular web app at Developer Tools > Reporting API Keys
        
# All the parameters are optional. They are used to filter the list of links
params = {
    "link_type": "partner",
    "partner_id": "<...>",
    "app_id": "<...>",
    "app_site_id": "<...>",
    "tracking_link_id": "abcde"
}

response = requests.get(url=url, params=params, headers={'Authorization':api_key})

쿼리 파라미터

파라미터 설명
link_type [선택 사항] 원 링크 유형으로만 보려면, "custom", "partner", "mobile_web_to_app"을 입력합니다.
partner_id [선택 사항] 특정 파트너에 대해 구성한 링크들만 보려면, 해당 파트너에 관한 Singular internal ID를 입력합니다.
app_id [선택 사항] 특정 앱에 대해 구성한 링크들만 보려면, 해당 앱에 관한 Singular internal ID를 입력합니다.
app_site_id [선택 사항] 특정 앱 사이트에 대해 구성한 링크들만 보려면, 해당 앱 사이트에 관한 Singular internal ID를 입력합니다.
tracking_link_id [선택 사항] 특정 Singular 링크에 관한 세부 사항만 보려면, 해당 링크의 ID를 입력합니다. 이 ID는 트래킹 링크 URL에서 찾을 수 있습니다:
https://myapp.sng.link/sdfsdf/abcde?...

샘플 출력

해당 출력은 필터 파라미터들과 일치하는 모든 Singular 링크의 배열을 포함합니다. (필터 파라미터를 전혀 입력하지 않았다면, 이 출력은 보유한 모든 Singular 링크를 표시합니다. 

JSON
[
  {
    'tracking_link_id': '<...>',
    'tracking_link_name': 'My App Android Summer 22',
    'click_tracking_link': 'https://myapp.sng.link/<...>/<...>?idfa={IDFA}&aifa={IDFA}&did={DID}&ip={IP}&pcrn={AD_NAME}&pcid={CAMPAIGN_ID}&pcn={CAMPAIGN_NAME}&pcrid={AD_ID}&pshid={APP_ID}',
    'impression_tracking_link':'https://myapp.sng.link/<...>/<...>?idfa={IDFA}&aifa={IDFA}&did={DID}&ip={IP}&pcrn={AD_NAME}&pcid={CAMPAIGN_ID}&pcn={CAMPAIGN_NAME}&pcrid={AD_ID}&pshid={APP_ID}',
    'created_utc': 'Tue, 23 Aug 2022 12:22:58 GMT',
    'modified_utc': 'Thu, 24 Nov 2022 11:13:41 GMT',
    'link_type': 'partner',
    'partner_id': <...>,
    'app_id': <...>,,
    'android_redirection': {
      'app_site_id': <...>,
      'destination_url': 'https://play.google.com/store/apps/details?id=...',
      'destination_deeplink_url': None,
      'destination_deferred_deeplink': None
    },
    'destination_fallback_url': 'https://www.mywebsite.com',
    'click_deterministic_window': '7 Days',
    'view_deterministic_window': '24 Hours',
    'enable_reengagement': False,
    'enabled_ctv': False,
  },
  ...
]

출력 파라미터

다음은 링크당 파라미터들의 배열입니다.

파라미터 설명
일반 파라미터
tracking_link_id 트래킹 링크의 고유 식별자입니다. 
tracking_link_name 링크가 생성됐을 때 주어진 이름입니다. 
click_tracking_link 클릭 스루에 대한 트래킹 링크 URL입니다.  
impression_tracking_link 뷰 스루에 대한 트래킹 링크 URL입니다. 
created_utc 링크가 생성되었을 때의 UTC 타임스템프입니다. 
modified_utc 링크가 마지막으로 변경되었을 때의 UTC 타임스템프입니다. 
link_type 링크 유형 중 "partner" 또는 "custom"를 의미합니다.
partner_id 파트너 고유의 Singular internal ID를 의미합니다.  
app_id 앱의 Singular internal ID를 의미합니다.
링크 데스티네이션
android_redirection

다음 파라미터들을 포함하는 오브젝트입니다.

  • app_site_id
  • Destination_url
  • Destination_deeplink_url
    (기본 설정으로 NULL이 적용되며, 필수가 아닙니다.)
  • Destination_deferred_deeplink_url
    (기본 설정으로 NULL이 적용되며, 필수가 아닙니다.)
ios_redirection

다음 파라미터들을 포함하는 오브젝트입니다.

  • app_site_id
  • Destination_url
  • Destination_deeplink_url
    (기본 설정으로 NULL이 적용되며, 필수가 아닙니다.)
  • Destination_deferred_deeplink_url
    (기본 설정으로 NULL이 적용되며, 필수가 아닙니다.)
destination_fallback_url 유저의 딥링크 작동이 실패할 경우 유저를 이동시키는 데스티네이션을 의미합니다. 일반적으로, 유저가 앱에서 고객의 광고를 클릭하면, 딥링크를 통해 앱의 특정한 화면으로 이동시키는 게 목적이지만, 유저가 앱을 인스톨하지 않았다면 앱을 다운로드하도록 앱 스토어로 리다이렉션하는게 목적입니다.  
선택 기능 사항
enable_reengagement 리인게이지먼트/리타깃팅 캠페인에 사용된 링크인 경우 True로 표시됩니다. 
enabled_ctv CTV 캠페인을 지원하는 링크인 경우 True입니다.
어트리뷰션 윈도우 설정
click_deterministic_window 클릭 스루 캠페인에서 결정론적 메서드를 통해 어트리뷰션되었을 때, 링크에 대한 어트리뷰션 윈도우를 의미합니다. (예시, 클릭에 사용된 디바이스 ID와 앱 인스톨에 사용된 디바이스 ID를 매칭하는 경우)  
click_probabilistic_window 클릭 스루 캠페인에서 확률론적 메서드를 통해 어트리뷰션되었을 때, 링크에 대한 어트리뷰션 윈도우를 의미합니다. (예시, 디바이스 위치, OS 등)
View_deterministic_window 뷰 스루 캠페인에서 결정론적 메서드를 통해 어트리뷰션되었을 때, 링크에 대한 어트리뷰션 윈도우를 의미합니다. (예시, 클릭에 사용된 디바이스 ID를 앱 인스톨에 사용된 디바이스 ID와 매칭)
view_probabilistic_window 뷰 스루 캠페인에서 확률론적 메서드를 통해 어트리뷰션되었을 때, 링크에 대한 어트리뷰션 윈도우를 의미합니다. (예시, 디바이스 위치, OS 등)
click_reengagement_window 클릭 스루 리인게이지먼트 캠페인에 대한 어트리뷰션 윈도우입니다. 이 파라미터는 Singular 링크에서 리인게이지먼트 활성화가 포함된 경우에만 포함됩니다. 

앱 정보 조회

GET https://api.singular.net/api/v1/singular_links/apps

활용 방법

Singular에 구성된 모든 앱 사이트 목록을 가져오려면 이 엔드포인트를 활용합니다. (앱과 앱 사이트의 차이점은 무엇인가요?를 참고)

샘플 쿼리

Pythoncurl
import requests

url = "https://api.singular.net/api/v1/singular_links/apps"
api_key = <...> # Retrieve API Key from Singular web app at Developer Tools > Reporting API Keys

response = requests.get(url=url, headers={'Authorization': api_key})

샘플 아웃풋

JSON
{
  'available_apps': [
    {
      'app_site_id': <...>,
      'app_platform': 'ios',
      'app_store_url': 'https://itunes.apple.com/us/app/…',
      'site_public_id': '<...>',
      'app_id': <...>,
      'app': 'My App'
    },
    {
      'app_site_id': <...>,
      'app_platform': 'android',
      'app_store_url': 'https://play.google.com/store/apps/details?id=...',
      'site_public_id': 'com.rovio.baba',
      'app_id': <...>,
      'app': 'My App'
    }
  ]
}

아웃풋 파라미터

해당 응답은 앱 사이트의 배열과 각 앱 사이트에 대한 파라미터들입니다.  

파라미터 설명
app_site_id 앱 사이트에 대한 Singular의 internal ID입니다. (app + OS + 번들 ID) (앱과 앱 사이트에 대한 차이점은 무엇인가요? 을 참고)
app_platform 앱 사이트에 대해 정의된 플랫폼을 의미합니다. 예시, iOS.
app_store_url Google Play 또는 Apple App Store에서의 앱 URL입니다.  
site_public_id Apple App Store 또는 Google Play에서의 앱 ID입니다. (앱과 앱 사이트의 차이점은 무엇인가요?를 참고) 웹 사이트의 경우, 웹 사이트 URL을 의미합니다. 
app_bundle_id 앱의 내부 식별자를 의미합니다. 예시, "com.myapp".
app_id Singular에서 앱의 internal ID를 의미합니다.
app Apps 페이지에 설정되어있는 앱 이름을 의미합니다.

파트너 정보 조회

GET https://api.singular.net/api/v1/singular_links/configured_partners

활용 방법

각 앱 사이트들에 대해 구성한 파트너(광고 매체) 목록을 가져오세요. 해당 요청을 특정 앱 사이트와 파트너로 필터할 수 있습니다. 

참고: 해당 목록은 Singular 링크를 지원하지 않는 Facebook, Google Ads, 타 자가 기여 네트워크(SANs)를 포함하지 않습니다

샘플 쿼리

Pythoncurl
import requests        
        
url = "https://api.singular.net/api/v1/singular_links/configured_partners"
api_key = <...> # Retrieve API Key from Singular web app at Developer Tools > Reporting API Keys
        
params = {
  # The app sites for which you want to see which partners are configured
  "app_site_id": "<APP_SITE_ID1>,<APP_SITE_ID2>",

  # Optional filtering parameter
  "partner_id": "<PARTNER_ID1>,<PARTNER_ID2>" 
}

response = requests.get(url=url, params=params, headers={'Authorization': api_key})

쿼리 파라미터

파라미터 설명
app_site_id [선택 사항] 목록을 필터할 수 있는 파라미터로, 앱 사이트 ID 또는 콤마로 분리한 앱 사이트 ID 들의 목록입니다.  
partner_id [선택 사항] 목록을 필터할 수 있는 파라미터로, 파트너 ID 또는 콤마로 분리한 파트너 ID 들의 목록입니다. 

샘플 아웃풋

다음은 app_site_id = "22334"로 필터한 요청의 샘플 아웃풋입니다. 이 앱 사이트는 두 파트너로 구성되어 있습니다. 

JSON
{
  'available_partners': [
    {
      'app_site_id': <...>,
      'app_id': <...>,
      'singular_partner_display_name':'AdWords',
      'singular_partner_id':<...>
    },
    {
      'app_site_id': <...>,
      'app_id': <...>,
      'singular_partner_display_name':'SplitMetrics',
      'singular_partner_id':<...>,

    }
  ] 
}

아웃풋 파라미터

다음은 앱 사이트 배열과 앱 사이트 당 파라미터들입니다.

파라미터 설명
app_site_id 앱 사이트에 관한 Singular의 internal ID
app_id 앱에 관한 Singular internal ID
singular_partner_display_name Singular에서의 파트너 명 (예시, "IronSource")
singular_partner_id 파트너에 대한 Singular internal ID

전체 파트너 조회

GET https://api.singular.net/api/v1/singular_links/all_partners

활용 방법

고객에게 구성되어있는 파트너들에 대한 상세 내역을 가져오는데 활용할 수 있습니다.

특정 파트너들에 대한 세부 정보를 가져오도록 파트너 ID나 여러 파트너 ID를 통해 요청을 필터할 수 있습니다. 

참고: 해당 목록은 Singular 링크를 지원하지 않는 Facebook, Google Ads, 자가 기여 네트워크(SANs)와 같은 파트너들을 포함하지 않습니다.  

샘플 쿼리

Pythoncurl
import requests        

url = "https://api.singular.net/api/v1/singular_links/all_partners"
api_key = <...> # Retrieve API Key from Singular web app at Developer Tools > Reporting API Keys

params = {
  #Optional: filter to see specific partner(s)
  "partner_id": "<PARTNER_ID1>,<PARTNER_ID2>" 
}

response = requests.get(url=url, params=params, headers={'Authorization':api_key})

쿼리 파라미터

파라미터 설명
singular_partner_id [선택 사항] 상세 내용을 표시하기 위해 콤마로 구분한 파트너 ID 목록 

샘플 아웃풋

JSON
{
  'partners': [
    {
      'singular_partner_id': <...>,
      'singular_partner_display_name': 'One Network',
      'support_multiple_os': True,
      'support_reengagement': True,
      'support_ctv': False,
    },
    {
      'singular_partner_id': <...>,
      'singular_partner_display_name': 'Other Network',
      'support_multiple_os': False,
      'support_reengagement': True,
      'support_ctv': True,
    },

    ...
         
  ]
}

아웃풋 파라미터

다음은 파트너 배열과 각 파트너 당 파라미터들입니다.

파라미터 설명
singular_partner_id 파트너에 대한 Singular internal ID입니다.
singular_partner_display_name Singular에서의 파트너 명입니다. (예시, "IronSource")
support_multiple_os 파트너가 iOS 데스티네이션과 Android 데스티네이션을 동일한 트래킹 링크에 지원하는 경우 True입니다. 파트너가 지원하는 경우, 두 OS에 대한 캠페인에 하나의 Singular 링크를 생성할 수 있습니다.  
support_reengagement 파트너가 리인게이지먼트 링크를 지원하는 경우 True입니다. 파트너가 지원하는 경우, 리인게이지먼트 링크로 표시된 Singular 링크를 생성할 수 있고 리타깃팅 캠페인에 사용할 수 있습니다. 
support_ctv 파트너가 CTV를 제공하면 True입니다. 파트너가 지원하는 경우, CTV가 활성화된 링크들을 생성할 수 있습니다. 

링크 도메인 목록 조회

GET https://api.singular.net/api/v1/singular_links/domains

활용 방법

Singular 링크 도메인의 목록을 가져오세요. Singular 트래킹 링크는 고객이 선택한 [SUBDOMAIN]과 DNS 구간이 "sng.link"인 다음의 구조를 갖습니다.

https://[SUBDOMAIN].sng.link/[PARAMETERS]

Singular 링크를 생성할 때, 링크 URL에 사용되는 서브 도메인과 DNS 구간을 명시합니다. 

팁: 링크 도메인들은 Attribution > Manage Links의 Singular Web에 생성되어 있습니다. 어떤 Singular 링크든  생성하기 전에 적어도 한 도메인 이상은 정의합니다.

샘플 쿼리

Pythoncurl
import requests        

url = "https://api.singular.net/api/v1/singular_links/domains"
api_key = <...> # Retrieve API Key from Singular web app at Developer Tools > Reporting API Keys

response = requests.get(url=url, headers={'Authorization': api_key})

샘플 아웃풋

이 요청은 고객이 생성한 Singular 링크 목록을 반환합니다. 

JSON
{
  'available_domains': [
    {
      'subdomain': 'myorg',
      'dns_zone': 'sng.link'
    }, 
    {
      'subdomain': 'awesomeapp',
      'dns_zone': 'sng.link'
      }
  ]
}

아웃풋 파라미터

파라미터 설명
subdomain 서브 도메인명을 의미하며, 예를 들면 고객명이 될 수 있습니다. dns_zone과 함께, 이는 Singular 링크의 도메인을 생성하는 데 사용됩니다.
dns_zone "sng.link"