Actuals Report

    Actuals Report provides customization features for the metrics and data you intend to analyze.

    Using the various data fields provided by Airbridge, you can customize the report in all forms such as subdividing data into specific criteria, adding metrics on granular criteria, or applying filters.


    Request Report

    POST

    https://api.airbridge.io/reports/api/v7/apps/{app_name}/actuals/query

    Request Actuals Report.

    Request

    Headers

    Accept-Language
    string

    You can specify the language to use for API requests and result returns. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. You can get it by checking out .

    Path Params

    app_name
    Requiredstring

    Airbridge App Name. (Unique ID)

    Body Params

    from
    Requiredstring

    The start date of the report data to request.

    • The date must be in the format 'YYYY-MM-DD'

    • This date must correspond with the timezone set in the Airbridge app. 

    • The system only accepts dates within the 365 days preceding the current date. Future dates are not permitted.

    to
    Requiredstring

    The end date of the report data to request.

    • The date must be in the format 'YYYY-MM-DD'

    • This date must correspond with the timezone set in the Airbridge app.

    • The system only accepts dates up the current date. The time period available for querying is up to 92 days.

    groupBys
    Requiredstring[]

    Report "Group By".

    'Group By' is necessary when seeking a more detailed view in reports. This specification will allow reports to be grouped according to desired criteria. Refer to the 'Report GroupBys' for a comprehensive list of available options.

    The maximum threshold is 10.

    metrics
    Requiredstring[]

    Report "Metrics".

    Various ad performance data can be examined through metrics. Refer to the 'Report Metrics' for a comprehensive list of available options.

    The maximum threshold is 20.

    filters
    Requiredobject[]

    The filter for providing 'group by' items.

    sorts
    Requiredobject[]

    Sort report data by 'Group By' or 'Metric'.

    option
    object
    Request
    12345
    curl -X POST 'https://api.airbridge.io/reports/api/v7/apps/{app_name}/actuals/query' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}' \
      -d '{"from":"2022-11-04","to":"2022-11-11","groupBys":["event_source","event_type","event_category"],"metrics":["app_events"],"filters":[{"dimension":"channel","filterType":"IN","values":["App"]}],"sorts":[{"fieldName":"event_type","isAscending":true}]}'
    Payload
    123456789101112131415161718192021222324252627
    {
      "from": "2022-11-04",
      "to": "2022-11-11",
      "groupBys": [
        "event_source",
        "event_type",
        "event_category"
      ],
      "metrics": [
        "app_events"
      ],
      "filters": [
        {
          "dimension": "channel",
          "filterType": "IN",
          "values": [
            "App"
          ]
        }
      ],
      "sorts": [
        {
          "fieldName": "event_type",
          "isAscending": true
        }
      ]
    }

    Response

    200SUCCESS

    task.status

    #{"style":{"minWidth":"130px"}}

    PENDING

    Data aggregation is in preparation.

    RUNNING

    Data is being aggregated.

    SUCCESS

    The aggregation is completed and returns the result.

    FAILURE

    The request has failed.

    CANCELED

    The request has been canceled.

    404ERROR

    Response
    123456
    {
      "task": {
        "status": "RUNNING",
        "taskId": "5e286bd4-b4b1-4c04-8f6a-670dc7ce637d"
      }
    }

    Get Report

    GET

    https://api.airbridge.io/reports/api/v7/apps/{app_name}/actuals/query/{task_id}

    Request status

    The status of an asynchronous request can be checked with task.status in the API request result.

    #{"style":{"minWidth":"130px"}}

    PENDING

    Data aggregation is in preparation.

    RUNNING

    Data is being aggregated.

    SUCCESS

    The aggregation is complete and returns the result.

    FAILURE

    The request has failed.

    CANCELED

    The request has been canceled.

    Response Notification

    If certain data was removed or masked during aggregation (masking), refer to the the reason in notification[0].code.

    #{"style":{"minWidth":"310px"}}

    MEDIA_PARTNER_DATA_FILTERED_BY_CHANNEL

    The media partner requesting the data has not been granted the permission to view them.

    AGG_DATA_MASKING_BY_FACEBOOK

    The data has been removed according to Meta's privacy compliance policies.

    EXCEEDED_LIMIT_ON_MAX_ROW_COUNT

    The result has exceeded the maximum data value (10,000 rows per report). It is recommended that data is extracted using Raw Data Export.

    SAN_PERIOD_LIMIT

    The data has been removed according to Self-Attribution Networks' compliance policies. For example, removed data from 175 days ago that was attributed to Meta.

    Request

    Headers

    Accept-Language
    string

    You can specify the language to use for API requests and result returns. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. You can get it by checking out .

    Path Params

    app_name
    Requiredstring

    Airbridge App Name. (Unique ID)

    task_id
    Requiredstring

    The task_id returned by the result of the 'Request Report' API.

    Query Params

    skip
    number

    The number of objects to be skipped.

    The default is 0.

    size
    number

    A limit on the number of objects to be returned.

    The default is 100.

    keyword
    string

    The keywords to filter on GroupBy in the results.

    viewFormat
    boolean

    The format type used by the dashboard to represent values for the Actuals Report.

    If it set true, the values are express in "Number + α" format.

    Request
    1234
    curl -X GET 'https://api.airbridge.io/reports/api/v7/apps/{app_name}/actuals/query/{task_id}' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'

    Response

    200SUCCESS

    Returns the result when data aggregation is complete. If status is SUCCESS, sends it to actuals with data, metadata, messages, etc.

    200SUCCESS

    The asynchronous request is being processed.

    The API can be polled periodically to see the results, and the status of the request can be checked with task.status.

    Response
    123456789101112131415161718192021222324252627282930313233343536373839404142434445
    {
      "task": {
        "status": "SUCCESS",
        "taskId": "5e286bd4-b4b1-4c04-8f6a-670dc7ce637d",
        "endedAt": "2022-10-01T00:00:00+00:00"
      },
      "actuals": {
        "data": {
          "rows": [
            {
              "values": {
                "app_installs": {
                  "value": 100,
                  "isMasked": false,
                  "viewFormat": "{value}"
                }
              },
              "groupBys": [
                "<groupBy>"
              ]
            },
            {
              "values": {
                "app_installs": {
                  "value": 13,
                  "isMasked": true,
                  "viewFormat": "{value} +α"
                }
              },
              "groupBys": [
                "<groupBy>"
              ]
            }
          ]
        },
        "metadata": {
          "rowCount": 2
        }
      },
      "pagination": {
        "hasNext": true,
        "totalCount": 200
      },
      "notifications": []
    }

    Get Metadata (GroupBy)

    GET

    https://api.airbridge.io/dataspec/v2/apps/{app_name}/actual-report/fields

    Gets a list of available report groupbys. [Note]

    Request

    Headers

    Accept-Language
    string

    You can specify the language to use for API requests and result returns. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. You can get it by checking out .

    Path Params

    app_name
    Requiredstring

    Airbridge App Name. (Unique ID)

    Request
    1234
    curl -X GET 'https://api.airbridge.io/dataspec/v2/apps/{app_name}/actual-report/fields' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'

    Response

    200SUCCESS

    404ERROR

    There is an error in the field provided, or there is no such resource.

    Response
    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
    {
      "data": [
        {
          "fields": [
            {
              "key": "event_date",
              "name": "Event Date",
              "example": "2019-05-31",
              "description": "이벤트 발생 날짜와 시간 (YYYY-MM-DD)",
              "serveToFilter": true
            },
            {
              "key": "event_year",
              "name": "Event Year",
              "example": "2019",
              "description": "이벤트 발생 년도",
              "serveToFilter": true
            },
            {
              "key": "event_month",
              "name": "Event Month",
              "example": "04",
              "description": "이벤트 발생 월",
              "serveToFilter": true
            }
          ],
          "groupName": "Event Datetime",
          "parentGroupName": null
        },
        {
          "fields": [
            {
              "key": "event_source",
              "name": "Event Source",
              "example": "App",
              "description": "Event가 발생한 소스",
              "serveToFilter": true
            },
            {
              "key": "event_type",
              "name": "Event Type",
              "example": "Impression",
              "description": "Event 타입",
              "serveToFilter": true
            },
            {
              "key": "event_category",
              "name": "Event Category",
              "example": "Move to App Store (Link)",
              "description": "Event 카테고리",
              "serveToFilter": true
            }
          ],
          "groupName": "Event Hierarchy",
          "parentGroupName": null
        },
        {
          "fields": [
            {
              "key": "channel",
              "name": "Channel",
              "example": "moloco",
              "description": "Touchpoints 와 Conversion이 발생한 Channel\n",
              "serveToFilter": true
            },
            {
              "key": "campaign",
              "name": "Campaign",
              "example": "2018_summer_campaign",
              "description": "Touchpoints 와 Conversion이 발생한 Campaign \n(SAN Publisher 대시보드에서 입력한 값 또는 Tracking Link의 캠페인 파라미터 값)",
              "serveToFilter": true
            }
          ],
          "groupName": "Touchpoint",
          "parentGroupName": null
        }
      ]
    }

    Get Metadata (Metric)

    GET

    https://api.airbridge.io/dataspec/v2/apps/{app_name}/actual-report/metrics

    Query the available report metrics. [Note]

    Request

    Headers

    Accept-Language
    string

    You can specify the language to use for API requests and result returns. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. You can get it by checking out .

    Path Params

    app_name
    Requiredstring

    Airbridge App Name. (Unique ID)

    Request
    1234
    curl -X GET 'https://api.airbridge.io/dataspec/v2/apps/{app_name}/actual-report/metrics' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'

    Response

    200SUCCESS

    404ERROR

    There is an error in the field you entered, or there is no such resource.

    Response
    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
    {
      "data": [
        {
          "fields": [
            {
              "key": "touchpoints_impression_click",
              "name": "Touchpoints (Impression+click)",
              "description": "Impression 수와 Click 수의 합"
            },
            {
              "key": "impressions",
              "name": "Impressions",
              "description": "Impression 수"
            },
            {
              "key": "clicks",
              "name": "Clicks",
              "description": "Click 수"
            }
          ],
          "groupName": "Touchpoint",
          "parentGroupName": "Touchpoint"
        },
        {
          "fields": [
            {
              "key": "app_events",
              "name": "Events (App)",
              "description": "앱에서 발생한 이벤트 수"
            },
            {
              "key": "app_event_value",
              "name": "Event 값 (App)",
              "description": "앱에서 발생한 이벤트 값의 합"
            }
          ],
          "groupName": "App Event",
          "parentGroupName": "App"
        },
        {
          "fields": [
            {
              "key": "app_installs",
              "name": "Installs (App)",
              "description": "Install 수"
            },
            {
              "key": "app_first_installs",
              "name": "First Installs (App)",
              "description": "최초로 설치된 Install 수"
            }
          ],
          "groupName": "App Install",
          "parentGroupName": "App"
        },
        {
          "fields": [
            {
              "key": "app_sign_up",
              "name": "회원가입 (App)",
              "description": "앱에서 발생한 회원가입 이벤트 수"
            },
            {
              "key": "app_sign_in",
              "name": "로그인 (App)",
              "description": "앱에서 로그인 이벤트 수"
            },
            {
              "key": "app_sign_out",
              "name": "로그아웃 (App)",
              "description": "앱에서 로그아웃 이벤트 수"
            }
          ],
          "groupName": "App Standard Event",
          "parentGroupName": "App"
        }
      ]
    }

    Was this page helpful?

    Have any questions or suggestions?