리포팅 API 레퍼런스

먼저 싱글 리포팅 API 시작하기를 읽고 API의 기본 개념을 익히고 사용 사례에 적합한 쿼리를 찾는 것이 좋습니다 .

참고: SKAdNetwork API 참조, 광고 수익화 API 참조.

이 API는 싱귤러 고객(광고주)만 사용할 수 있습니다. 싱귤러 파트너인 경우, 파트너를 위한 리포팅 API를 참조하세요.

 

일반 정보

인증

모든 API 요청에는 API 키가 필요합니다. 키를 검색하려면 계정에 로그인하고 개발자 도구 > API 키로 이동하세요. 요청의 api_key 매개변수에 키를 삽입하거나 인증 HTTP 헤더 아래에 토큰을 제공할 수 있습니다.

요금 한도

단수 API의 기본 한도는 다음과 같습니다:

  • 비동기 보고서: 최대 100개의 비동기 보고서가 동시에 실행됩니다.
  • 동기 보고서: 최대 3개의 동기 보고서가 동시에 실행됩니다.
  • 단일 보고서 행 제한: 쿼리당 최대 20만 개의 행.
  • 일일 글로벌 행 제한: 하루에 최대 3백만 개의 행(모든 쿼리에서 공유).

Singular는 모든 고객에게 고품질의 서비스를 지속적으로 제공하기 위해 특정 엔드포인트에 대한 속도 제한을 조정할 수 있는 권리를 보유합니다. 기본 한도를 초과해야 하는 특별한 필요성이 있는 경우 당사에 문의하세요.

신고 API 엔드포인트 목록

다음 API 엔드포인트를 사용할 수 있습니다:

Create Async Report POST https://api.singular.net/api/v2.0/create_async_report Returns aggregated statistics.
Data Availability GET https://api.singular.net/api/v2.0/data_availability_status Before querying Create Async Report, use this endpoint to determine whether for a given day, data is available for each of your sources (data connectors).
Get Report Status GET https://api.singular.net/api/v2.0/get_report_status Returns the status of a given report.
Filters GET https://api.singular.net/api/v2.0/reporting/filters Returns all filtering options available for your reports.
Custom Dimensions GET https://api.singular.net/api/custom_dimensions Returns all the custom dimensions available for your reports.
Cohort Metrics GET https://api.singular.net/api/cohort_metrics Returns all the cohort metrics and cohort periods available for your reports.
Conversion Metrics GET https://api.singular.net/api/conversion_metrics Returns all the conversion metrics available for your reports.

비동기 보고서 엔드포인트 만들기

POST https://api.singular.net/api/v2.0/create_async_report

사용법

이 엔드포인트는 Singular에서 리포팅 데이터를 가져오는 기본 엔드포인트입니다. 이 엔드포인트는 사용자가 지정한 보고 차원, 메트릭, 날짜 및 기타 세부 정보를 기반으로 비동기 보고서 쿼리를 생성하고 보고서 ID를 반환합니다. 다음 단계는 보고서 상태 가져오기 엔드포인트를쿼리하여 보고서가 완료된 시점을 확인하고 다운로드 URL을 가져오는 것입니다.

Screen_Shot_2020-07-01_at_0.17.35.png

자세히 알아보려면 단일 보고서 API 가이드의 쿼리 프로세스섹션을 참조하세요.

제한 사항

  • 하루 동안의 API 요청에는 반환되는 행 수에 대한 제한이 없습니다.
  • 단일 요청은 최대 30일까지 쿼리할 수 있으며 최대 100,000개의 레코드를 쿼리할 수 있습니다. 100,000개 이상의 레코드를 쿼리하는 요청은 성공하지 못하며 추가 필터링이 필요합니다.
  • 일별 또는 주별 데이터 풀을 위해 API와 통합할 때는 일반적으로 여러 날에 걸친 쿼리를 하루로 분할하고 전체 기간에 걸쳐 반복하는 것이 좋습니다.

샘플 쿼리

import requests
  url = "https://api.singular.net/api/v2.0/create_async_report"
  query_params = {"api_key": "<API KEY>"}
  payload = {
    "dimensions":"app,source,os,country_field",
    "metrics": "custom_impressions,custom_clicks,custom_installs",
    "start_date":"2020-01-01",
    "end_date": "2020-01-01",
    "time_breakdown": "all",
    "format": "csv",
    "country_code_format": "iso"
  }
  response = requests.post(url=url, params=query_params, data=payload)
  print(response.text)

쿼리 매개변수

파라미터 형식 설명 예제
Basic Parameters
api_key String API key provided in the Singular console  
start_date Date    
end_date Date    
time_breakdown String Results breakdown by 'day', 'week', 'month' or 'all', which aggregated data over the entire time period  
Field Selection Parameters
dimensions String A comma-separated list of dimensions. See API Report Types for the list of dimensions available based on the type of data you are looking for. See Metrics and Dimensions for more information about each dimension.  
metrics String A comma-separated list of metrics. See API Report Types for the list of metrics available based on the type of data you are looking for. See Metrics and Dimensions for more information about each metric.  
cohort_metrics String A comma-separated list of cohort metrics by name (see What are cohort metrics?). Cohort metrics include any post-conversion events you have defined in the Events page. To retrieve a list of all the available cohort metrics in your account, use the Cohort Metrics endpoint. 'cohort_metrics': '815782610a1ddf,revenue'
cohort_periods String A comma-separated list of cohort periods (see What are cohort metrics?). To retrieve a list of the available cohort periods, use the Cohort Metrics endpoint. 'cohort_periods': '7d,14d,ltv'
Filtering Parameters
app String A comma-separated list of app names to filter the query results by. To retrieve a list of app names, use the Filters endpoint. 'app': 'my_app1,my_app2'
Source String A comma-separated list of ad networks (and other  sources) to filter by. To retrieve a list of ad network names, use the Filters endpoint. 'source': 'facebook,adwords'
filters JSON A JSON list of filter objects where each contains a dimension, operator, and value(s). Use this parameter to apply more advanced filtering. Note that if you specify more than one filter they will be applied with an AND relation. To retrieve a full list of dimensions you can filter by and their potential values, use the Filters endpoint. 'filters': '[{"dimension": "os", "operator": "in","values": [1, 4]}, {"dimension": "source", "operator": "not in", "values": ["adwords"]}]'
Formatting Parameters
format String The format in which the query results will be delivered. Options: "json" (default) or "csv". 'format':'csv'
country_code_format String Either "iso3" (default) or "iso"  
display_alignment Boolean

When set to "true", results will include an alignment row to account for any difference between campaign and creative statistics.

See Why do the creative metrics contain negative values?

 
display_unenriched
Boolean

When set to "true", results will contain the unenriched data.

See Why are there missing (N/A) values in the report?

"display_unenriched":true

샘플 출력

{
      "status": 0,
      "substatus": 0,
      "value": {
          "report_id": "5cfdb747dd464cd09a9c463e5be9691f"
      }
  }

사용 가능한 차원 및 지표

각 필드에 대한 설명은 메트릭 및 차원 용어집을 참조하세요.

네트워크 데이터

네트워크 차원
기본 차원(모든 네트워크에서 사용할 수 있어야 함):

app
source
adn_campaign_id
adn_campaign_name
adn_campaign_url
data_connector_id
data_connector_source_name
data_connector_username
data_connector_timestamp_utc


선택적 추가 차원(지원 여부는 네트워크에 따라 다름):

os
platform
country_field
region_field
city_field
dma_id_field
dma_name_field
adn_sub_adnetwork_name
adn_account_id
adn_account_name
adn_sub_campaign_id
adn_sub_campaign_name


키워드 및/또는 퍼블리셔 분석(지원 여부는 네트워크에 따라 다르며, 크리에이티브 분석과 동일한 쿼리에서 가져올 수 없음):

keyword_id
keyword
publisher_id
publisher_site_id
publisher_site_name


크리에이티브 분석(네트워크에 따라 지원 여부가 다르며, 일반적으로 키워드/퍼블리셔와 동일한 쿼리로 가져올 수 없음):

creative_type
adn_creative_id
adn_creative_name
creative_url
creative_image
creative_text
creative_width
creative_height
creative_is_video
asset_id
asset_name


캠페인 속성(자세히 알아보기):

bid_type
bid_strategy
bid_amount
campaign_objective
standardized_bid_type
standardized_bid_strategy
original_bid_amount
campaign_status
min_roas
original_metadata_currency


사용자 지정 차원:

이러한 기본 네트워크 차원을 기반으로 사용자지정 차원을 정의한 경우 해당 ID를 사용하여 해당 차원을 가져올 수 있습니다. 사용자 지정 차원 엔드포인트를사용하여 계정에 정의된 모든 사용자 지정 차원과 해당 ID를 가져올 수 있습니다.
네트워크 메트릭
기본 메트릭:

adn_cost
adn_original_cost
adn_original_currency
adn_impressions
adn_clicks
adn_installs


사용자 지정 지표:


조직에서 특별한 사용자 지정 메트릭(단수 지원팀에서 만든)을 사용하는 경우에는 API의 메트릭 이름이 소문자로 되어 있으며 공백은 밑줄로 바뀝니다. 예: 웹 플랫폼의 사용자 지정 메트릭 1 = API의 custom_metric_1.

트래커 데이터

트래커 차원
기본 차원(모든 네트워크에서 사용할 수 있어야 함):

app
source
tracker_campaign_id


선택적 추가 차원(트래커에 따라 지원 여부가 달라짐):

tracker_campaign_name
os
platform
country_field


사용자 지정 차원:

이러한 기본 트래커 차원을 기반으로 사용자정의 차원을 정의한 경우, 해당 ID를 사용하여 해당 차원을 가져올 수 있습니다. 사용자 지정 차원 엔드포인트를사용하여 계정에 정의된 모든 사용자 지정 차원과 해당 ID를 가져올 수 있습니다.
트래커 메트릭
기본 메트릭:

tracker_impressions
tracker_clicks
tracker_installs
tracker_conversions
tracker_reengagements
daily_active_users


코호트 지표:

revenue
original_revenue


사용할 수 있는 코호트 메트릭의 전체 목록은 코호트 메트릭 엔드포인트를 참조하세요. 자세한 내용은 코호트 메트릭이란무엇인가요?

코호트 애널리틱스에는 CPE 및 CPI와 같은 비율 기반 계산이 포함된다는 점에 유의하세요. API 보고서에서는 이러한 지표를 사용하지 않는 것이 좋습니다(자세히 알아보기).


이벤트:

정의한 모든 이벤트에대한 통계를 가져올 수 있습니다. 단, 단수 앱에 정의된 이벤트 이름을 사용하는 대신 코호트 애널리틱스 엔드포인트에서 얻을 수 있는 이벤트의 자동 생성 ID를 사용해야 한다는 점에 유의하세요.

사용자 지정 지표:

조직에서 특별한 사용자 지정 메트릭(Singular 지원팀에서 생성)을 사용하는 경우 API의 메트릭 이름은 소문자로 표시되며 공백은 밑줄로 바뀝니다. 예: 웹 플랫폼의 사용자 지정 메트릭 1 = API의 custom_metric_1.

결합된 데이터

차원
기본 차원(모든 네트워크 및 트래커에서 사용할 수 있어야 함):

app
source
unified_campaign_id
unified_campaign_name


선택적 추가 차원(지원 여부는 네트워크/트래커에 따라 다름):

os
platform
country_field
adn_sub_adnetwork_ name
adn_account_id
adn_account_name
sub_campaign_id
sub_campaign_name


키워드 및/또는 퍼블리셔 분석(지원 여부는 네트워크/트래커에 따라 다르며, 크리에이티브 분석과 동일한 쿼리에서 가져올 수 없음):

keyword_id
keyword
publisher_id
publisher_site_id
publisher_site_name


크리에이티브 분석(네트워크에 따라 지원 여부가 다르며, 싱귤러 어트리뷰션 서비스 사용자만 사용 가능):

creative_type
adn_creative_id
adn_creative_name
creative_url
creative_image
creative_text
creative_width
creative_height
creative_is_video
asset_id
asset_name


사용자 지정 차원:

이러한 기본 차원을 기반으로 사용자지정 차원을 정의한 경우, 해당 ID를 사용하여 해당 차원을 가져올 수 있습니다. 사용자 지정 차원 엔드포인트를사용하여 계정에 정의된 모든 사용자 지정 차원과 해당 ID를 가져올 수 있습니다.
메트릭
기본 메트릭:

adn_cost
adn_original_cost
adn_original_currency
custom_impressions
custom_clicks
custom_installs
tracker_conversions
tracker_reengagements
daily_active_users


동영상 크리에이티브 및 동영상 기반 캠페인에 대한 지표입니다:

video_views
video_views_25pct
video_views_50pct
video_views_75pct
completed_video_views
completed_video_view_rate


코호트 지표:

revenue
original_revenue


사용할 수 있는 코호트 메트릭의 전체 목록은 코호트 메트릭 엔드포인트를 참조하세요. 자세한 내용은 코호트 메트릭이란무엇인가요?

코호트 애널리틱스에는 CPE 및 CPI와 같은 비율 기반 계산이 포함된다는 점에 유의하세요. API 보고서에서는 이러한 지표를 사용하지 않는 것이 좋습니다(자세히 알아보기).


이벤트:

정의한 모든 이벤트에대한 통계를 가져올 수 있습니다. 단, 단수 앱에 정의된 이벤트 이름을 사용하는 대신 코호트 애널리틱스 엔드포인트에서 얻을 수 있는 이벤트의 자동 생성 ID를 사용해야 한다는 점에 유의하세요.

사용자 지정 지표:

조직에서 특별한 사용자 지정 메트릭(Singular 지원팀에서 생성)을 사용하는 경우 API의 메트릭 이름은 소문자로 표시되며 공백은 밑줄로 바뀝니다. 예: 웹 플랫폼의 사용자 지정 메트릭 1 = API의 custom_metric_1.

참고:

  • Singular는 가능한 한 가장 높은 수준의 세분성을 제공하려고 노력하지만, 모든 네트워크와 트래커가 모든 세분성을 지원하는 것은 아닙니다. Singular가 각 소스에서 가져오는 데이터에 대한 자세한 내용은 데이터 커넥터 상세정보를 참조하세요.
  • 광고 네트워크에서 보고하는 노출 수, 클릭 수, 인스톨 수 등의 통계는 트래커에서 보고하는 통계와 일치하지 않을 수 있습니다.
  • 크리에이티브 수준의 통합 보고서는 싱귤러의 어트리뷰션 서비스 사용자만 이용할 수 있습니다.
  • 커스텀 지표는 크리에이티브 분류에 사용되지 않을 수있습니다. 커스텀 지표의 내용에 따라(즉, 트래커 지표가 포함된 계산을 기반으로 하는 경우) 크리에이티브별로 분류된 보고서에 포함할 경우 '끊어진 행'이 표시될 수 있습니다.

데이터 가용성 엔드포인트

GET https://api.singular.net/api/v2.0/data_availability_status

사용법

이 엔드포인트는 주어진 날짜에 대해 각 소스 또는 데이터 커넥터에서 데이터를 사용할 수 있는지 여부를 반환합니다.

일일 보고서를 실행하기 전에 이 엔드포인트를 사용하여 어제 데이터가 이미 사용 가능한지 여부를 확인하는 것이 좋습니다.

샘플 쿼리(Python)

import requests
url = "https://api.singular.net/api/v2.0/data_availability_status" queryparams = { "api_key":"<API_KEY>", "expanded":"true", "format": "json", "data_date":"2021-02-01", "display_non_active_sources":"true" } response = requests.get(url=url, params=queryparams)

쿼리 매개변수

파라미터 형식 설명
api_key String API key provided in the Singular console.
expanded
Boolean Set to "true" to get the results for each data connector including the data_connector_id field. Then when you run a report in the Create Async Report endpoint, you can filter the results by data_connector_id. Default is "false" for backward compatibility.
format String Output format: "json" or "csv".
data_date Date The day to check data availability for.
display_non_active_sources Boolean [Optional] Set to "true" to include non-active data connectors (data connectors that haven't had data in the last 30 days) in the check.

샘플 출력(확장된 경우=true)

{
      "status": 0, 
      "substatus": 0, 
      "value": {
          "is_all_data_available": false,
          "data_connectors": [{
              "data_connector_id": "dgd7934875", 
              "data_connector_source_name": "Vungle", 
              "data_connector_username": "ua@mycompany.com", 
              "is_active_last_30_days": true, 
              "is_available": true, 
              "is_empty_data": false, 
              "last_updated_utc": "2021-02-08T10:10:07", 
              "data_connector_timestamp_utc": "2021-02-08T10:10:07", 
              "status": "data populated"
          }, {
              "data_connector_id": "youi293478", 
              "data_connector_source_name": "IronSource", 
              "data_connector_username": "ua@mycompany.com", 
              "is_active_last_30_days": true, 
              "is_available": false, 
              "is_empty_data": "N/A", 
              "last_updated_utc": "N/A", 
              "data_connector_timestamp_utc": "N/A", 
              "status": "data not populated"
          }]
      }
  }

출력 파라미터

파라미터 포맷 설명
is_all_data_available Boolean True if there is data available from all data connectors for the given date. Otherwise false.
data_connectors
  An array containing a JSON object for each of your data connectors.
Parameters per Data Connector
data_connector_id
String A unique identifier for the data connector. You can use this identifier to filter your reports in Create Async Report.
is_available Boolean True if there is data from the specific data connector for the given date.
data_connector_timestamp_utc Timestamp The date and time in which data was last pulled from this data connector for the given date. Use this field if you are auditing historical data and want to see if Singular has fresher data than the one you currently have in your BI platform.
is_empty_data Boolean True if data was pulled successfully from the specific data connector, but the data is empty (all zeros or N/A values). False if data was pulled and contains actual values. Note that if data has not been pulled yet, this field contains "N/A".
status String

Additional information about the status of the data. Possible values:

  • "Data Populated"
  • "Data not Populated": No data yet, but no known issues either.
  • "Login Error": Singular couldn’t pull the data because there is a problem with the credentials.
  • "Setup" or "Not configured": The data connector for this source has not been set up, or there is a problem with the configuration.
  • "Disabled": The data connector has been manually disabled.
is_active_last_30_days Boolean True if this data connector had non-empty data at least once in the last 30 days.
last_updated_utc Timestamp The latest time in which data was saved in the Singular database for this data connector. Note: There may be a gap of up to several hours from the moment in which the data is pulled through the data connector to the time it is saved in the database.

샘플 출력("확장" 매개변수가 포함되지 않았거나 false로 설정된 경우)

#
{'is_all_data available': false,
  'data_sources': [
  {'username': u'facebook@singular.net',
   'status': 'data populated',
   'is_empty_data': false,
   'is_active_last_30_days': true,
   'last_updated_utc': '2018-05-03T10:12:18'
   'source': u'Facebook',
   'is_available': true},
   {'username': u'vungle@singular.net',
   'status': 'data populated',
   'is_empty_data': true,
   'is_active_last_30_days': true,
   'last_updated_utc': '2018-05-03T10:12:18'
   'source': u'Vungle',
   'is_available': true},
   {'username': u'applovin@singular.net',
   'status': 'data not populated',
   'is_empty_data': N/A,
   'is_active_last_30_days': true,
   'last_updated_utc': N/A
   'source': u'Applovin',
   'is_available': false}
  ]}

출력 파라미터

파라미터 포맷 설명
is_all_data_available Boolean True if there is data from all data connectors for the given date. Otherwise false.
is_available Boolean True if there is data from the specific data connector for the given date. Otherwise false.
is_empty_data Boolean True if data was pulled successfully from the specific source, but the data is empty (all zeros or "N/A" values).
status String Additional information about the status of the data. The possible values are:
  • "Data Populated"
  • "Data not Populated": No data yet, but no known issues either.
  • "Login Error": Singular couldn’t pull the data because there is a problem with the credentials.
  • "Setup" or "Not configured": The data connector for this source has not been set up, or there is a problem with the configuration.
  • "Disabled": The data connector has been manually disabled.
See I queried the data availability endpoint and data is missing for one or more networks. What should I do?
is_active_last_30_days Boolean True if data was non-zeroes for at least one day in the last 30 days. Otherwise false.
last_updated_utc Timestamp The latest time in which data was saved in the Singular database for this data connector. Note: There may be a gap of up to several hours from the moment in which the data is pulled through the data connector to the time it is saved in the database.

보고서 상태 엔드포인트 가져오기

GET https://api.singular.net/api/v2.0/get_report_status

사용법

이 엔드포인트는 비동기 보고서 만들기엔드포인트를 사용하여 생성된 특정 보고서의 상태를 반환합니다. 보고서 실행이 완료된 경우 엔드포인트는 다운로드 URL도 반환합니다.

Screen_Shot_2020-07-01_at_0.17.35.png

보고서가 실패한 경우 엔드포인트는 문제를 해결하는 데 사용할 수 있는 오류 메시지를 반환합니다( 오류 코드표와 API FAQ 및 문제해결 가이드 참조).

자세히 알아보려면 단일 보고서 API 가이드의 쿼리 프로세스섹션을 참조하세요.

중요:

  • 보고서를 완료하는 데 최대 몇 분 정도 걸릴 수 있습니다.
  • 보고서당 10초에 한 번 이상 보고서 상태 엔드포인트를 쿼리하지 마세요.
  • 시간 제한을 설정하세요. 드물지만 보고서가 '대기 중' 또는 '시작됨' 상태로 멈출 수 있습니다. 30분 후에도 상태가 "완료됨" 또는 "실패됨"이 아닌 경우 보고서를 다시 제출하는 것이 좋습니다(그러면 쿼리할 새 보고서 ID가 제공됨).

샘플 쿼리

import requests
  url = "https://api.singular.net/api/v2.0/get_report_status"
  querystring = {
    "report_id":"5cfdb747dd45be9691f",
    "api_key": "<API KEY>"
  }
  response = requests.get(url=url, params=querystring)
  print(response.text)

쿼리 매개변수

파라미터 형식 설명
api_key String API key provided in the Singular console
report_id String A Report ID returned by the Create Async Report endpoint.

샘플 출력

{
    "status": 0,
    "substatus": 0,
    "value": {
        "status": "DONE",
        "url_expires_in": 3600,
        "generated_url_time_in_utc": "2018-05-13T08:26:18.457690+00:00",
        "url_expired_time_in_utc": "2018-05-13T09:26:18.457690+00:00",
        "download_url": "https://singular-reports-results.s3.amazonaws.com/singular/xxxxxxxxx",
        "report_id": "5cfdb747dd45be9691f"
    }
  }

출력 매개변수

출력 파라미터 포맷 설명
status String Possible values:
  • "QUEUED": The report is still waiting in the queue.
  • "STARTED": The report is running.
  • "DONE": The report is ready. See the download_URL parameter for the URL from which you can download the report file.
  • "FAILED": The report failed to complete. Read the attached error message and check the Error Codes table and the API FAQ and Troubleshooting page for assistance.
generated_url_time_in_utc Timestamp  
url_expires_in Integer Seconds until the download URL expires.
url_expired_time_in_utc Timestamp  
download_url URL  
report_id String  

엔드포인트 필터

GET https://api.singular.net/api/v2.0/reporting/filters

사용법

이 헬퍼 엔드포인트를 사용하여 보고서를 필터링할 수 있는 최신 차원 목록과 각 차원에 사용할 수 있는 값을 검색합니다.

샘플 쿼리

import requests
  url = "https://api.singular.net/api/v2.0/reporting/filters"
  params = {'api_key': "<API KEY>"}
  result = requests.get(url=url, params=params)
  print result.json()

쿼리 매개변수

매개변수 형식 설명
api_key String API key provided in the Singular console

샘플 출력

{
    "status": 0,
    "substatus": 0,
    "value": {
      "dimensions": [
        {
          "name": "os",
          "display_name": "OS",
          "values": [
              {"name": 4, "display_name": "Android"},
              {"name": 1, "display_name": "iOS"}
            ],
        },
        {
          "name": "source",
          "display_name": "Source",
          "values": [{"name": "adwords", "display_name": "AdWords"}]
        }
      ]
    }
  }

사용자 지정 차원 엔드포인트

GET https://api.singular.net/api/custom_dimensions

사용법

이 엔드포인트를 사용하여 계정에 대해 구성된 모든 사용자 정의 차원의 ID를 검색합니다. 그런 다음 비동기 보고서 만들기 엔드포인트를 쿼리할 때 기본 차원 대신 또는 기본 차원에 추가하여 사용자 지정 차원 ID를 사용할 수 있습니다.

사용자 지정 차원과 그 생성 방법에 대해 자세히 알아보려면 사용자 지정 차원 FAQ를 참조하세요.

샘플 쿼리

import requests
  url = "https://api.singular.net/api/custom_dimensions"
  params = {'api_key': "<API KEY>"}
  result = requests.get(url=url, params=params)
  print result.json()

쿼리 매개변수

파라미터 형식 설명
api_key String API key provided in the Singular console

샘플 출력

{
    "status": 0,
    "substatus": 0,
    "value": {
      "custom_dimensions": [
        {"display_name": "Channel Type", "id": "e471cb6b83684532e5e83cd"},
        {"display_name": "Region", "id": "1dcfdb1ad861fba4b098e2"}
      ]
    }
  }

코호트 지표 엔드포인트

GET https://api.singular.net/api/cohort_metrics

사용법

이 엔드포인트를 사용하여 계정에 사용할 수 있는 모든 코호트 지표와 코호트 기간을 검색하세요. 여기에는 추적하도록 Singular를 구성한 모든 인앱 이벤트가 포함됩니다( 이벤트 FAQ 참조). 그런 다음 비동기 보고서 만들기 엔드포인트에서 쿼리를 실행할 때 이러한 메트릭과 기간을 지정할 수 있습니다.

비동기 보고서 만들기 쿼리에서는 '표시 이름'이 아닌 지표의 '이름'을 사용해야 한다는 점에 유의하세요.

샘플 쿼리

import requests
  url = "https://api.singular.net/api/cohort_metrics"
  params = {'api_key': "<API KEY>"}
  result = requests.get(url=url, params=params)
  print result.json()

쿼리 매개변수

파라미터 형식 설명
api_key String API key provided in the Singular console

샘플 출력

{
      "status": 0,
      "substatus": 0,
      "value": {
          "metrics": [
              {"display_name": "ROI","name": "roi"},
              {"display_name": "Revenue","name": "revenue"}
          ],
          "periods": ["1d","3d","5d","7d","14d","30d","actual"]
      }
  }

출력 매개변수

출력 파라미터 포맷 설명
display_name String The name of the metric as it appears in the Singular platform.
name String The identifier of the metric for use in API queries.
periods Array All the cohort periods supported for your account. For more information, see What are cohort metrics and cohort periods?

전환 지표 엔드포인트

GET https://api.singular.net/api/conversion_metrics

사용법

이 엔드포인트를 사용하여 계정에 사용할 수 있는 모든 전환 이벤트를 검색합니다. 그런 다음 비동기 보고서 만들기 엔드포인트에서 쿼리를 실행할 때 이러한 이벤트를 지표로 지정할 수 있습니다.

비동기 보고서 만들기 쿼리에서는 '표시 이름'이 아닌 지표의 '이름'을 사용해야 한다는 점에 유의하세요.

샘플 쿼리

import requests
  url = "https://api.singular.net/api/conversion_metrics"
  params = {'api_key': "<API KEY>"}
  result = requests.get(url=url, params=params)
  print result.json()

쿼리 매개변수

파라미터 형식 설명
api_key String API key provided in the Singular console

샘플 출력

{
    "status": 0, 
    "substatus": 0, 
    "value": {
      "metrics": [
        {"display_name": "5-second video view", "name": "87dfg34453hsfg6f"}, 
        {"display_name": "5-second video view CPE", "name": "87dfg34453hsfg6fCPE"},   
        {"display_name": "Sign up", "name": "iuq353fidr76w846fha"}, 
        {"display_name": "Sign up CPE", "name": "iuq353fidr76w846fhaCPE"}, 
        {"display_name": "Post engagement", "name": "b59cje9fcgw0th"}, 
        {"display_name": "Post engagement CPE", "name": "b59cje9fcgw0thCPE"},
      ]
    }
  }

출력 매개변수

출력 파라미터 포맷 설명
display_name String The name of the conversion event as configured in the Events page.
name String The auto-generated identifier of the event - use this identifier in your report query.

오류 코드

Singular는 표준 HTTP 응답 코드를 사용하여 API 요청의 성공 또는 실패를 나타냅니다. 일반적으로 200 코드는 성공, 4xx 범위의 코드는 제공된 정보에 따라 실패한 오류(예: 필수 매개변수 생략), 5xx 코드는 기타 문제를 나타냅니다.

참고: 리포팅 API FAQ 및 문제 해결하기

코드 오류 텍스트 추가 정보
400 An invalid timestamp was given. The timestamp must be of the format: YYYY-MM-DD hh:mm:ss. Specify timestamps as in the following example: 2018-01-01 00:00:01
400 An invalid date was given. The date must be of the format: YYYY-MM-DD. Specify dates as in the following example: 2018-01-20
400 An invalid date range was given. End date must be later than start date.  
400 An invalid time breakdown was given. The time breakdown parameter is either missing in your query or isn't one of the supported options: "day", "week", "month", or "all".
400 An invalid filter was given. Use the Filters endpoint to get the list of filters you can use in your queries.
400 At least one metric must be used. Include at least one metric in your query.
400 The requested data set includes publisher dimensions and extends beyond a single day. Please run single day queries with publisher dimensions. Reports broken down by publisher include large volumes of data. To run these reports, limit them to one day.
400 An invalid result format was given. Please select between JSON and CSV.  
400 An invalid country_code_format was given. Please use "iso3" or "iso".  
400 The request contains invalid dimensions: One or more dimensions you requested in the query are either deprecated or invalid. If you used custom dimensions, double-check that they are available (using the custom dimensions endpoint) and make sure you used the dimension IDs (rather than their display names).
400 The request contains duplicate fields: [list]  
400 The request contains invalid metrics: One or more metrics you requested in the query are either deprecated or invalid. If you used cohort metrics or conversion events, double-check that they are available (using the cohort metrics and conversion events endpoints) and make sure you used the metric names (rather than their display names).
400 The request contains invalid cohort periods: Use the cohort metrics endpoints to check which cohort periods are available for your account.
400 We could not find cohort periods for the following cohort metrics: . Add cohort periods for your cohort metrics.
400 The request contains dimensions from an old API version: . Please use dimensions from the v2 API endpoint only. The request included dimensions from multiple API versions, which is not supported.
400 The request is missing the following parameter: .  
401 An invalid API Key was given. The API key is either missing or invalid. To get your API key, log into your Singular account and go to Developer Tools > API Keys.
401 The provided API key has been previously deactivated. Please contact your administrator. You are using an API key that belonged to a deactivated user. To get your API key, log into your Singular account and go to Developer Tools > API Keys.
403 The provided API key does not have permissions to view the field:
The API key provided does not have permissions to view a dimension or metric you requested. Contact your organization's administrator to make sure you have the permissions you need.
403 The request is denied access. Please contact your administrator. The request is denied. Contact your organization's administrator for further information.
404 Report ID is not found. Please correct it or create a new report. Double-check that you used the Report ID returned from the Create Async Report endpoint. If the error persists, create a new report.
404 Report ID was created with a different key. Please use the same key when requesting status. To query for a report status, you must use the same API key you used to generate the report.
405 METHOD NOT ALLOWED You are probably using GET instead of POST or vice versa in your http request.
429 Query quota is exceeded: only <> reports are currently allowed. The following report IDs are active: . You have exceeded the amount of async reports you are permitted to run at the same time. Wait for your previous requests to complete.
429 Too many requests. Only <> requests per second is currently allowed. You have exceeded the rate limit. Wait for your previous requests to complete.
500 The request has failed due to an internal error. Typically, this just means you should retry your API call. See What should I do if I get a 500 error?