ClickShield Reports API (1.0.0-beta)

Authentication

bearer_auth

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

basic_auth

Your basic authentication is your username and password in https://clickshield.24metrics.com. Add Authorization: Basic <base64 encoded text> where the encoded text is username:password. For example, Authorization: Basic dXNlckBmb28uY29tOm9wZW4gc2VzYW1l is based on user@foo.com:open sesame credentials.

Security Scheme Type HTTP
HTTP Authorization Scheme basic

reports

Get aggregated click reports

Get aggregated result of clicks total, revenue and payout. Use the filter and group_by parameters to narrow down the result by specific attributes.

Authorizations:
path Parameters
org
required
string

The organization ID

query Parameters
object
Example: filter[city]=Berlin&filter[integration_id]=id1&filter[rejection]=DUPLICATE_IP,VPN

Aggregate the data (total, sum, revenue) by specific attributes. If the value starts with !, for example: filter[city]=!Berlin, this is equivalent to city IS NOT Berlin

group_by
Array of strings
Default: ["date","integration_id","rejection"]
Items Enum: "date" "integration_id" "advertiser" "network" "offer_id" "publisher" "sub_id" "rejection" "country" "city" "isp" "proxy_type" "browser_name" "os_name" "device_type"
Example: group_by=date&group_by=country

Group the aggregated data (total, sum, revenue) by specific attributes.

sort
Array of strings
Default: ["date"]
Items Enum: "date" "total" "revenue" "payout" "integration_id" "advertiser" "network" "offer_id" "publisher" "sub_id" "country" "rejection" "city" "isp" "proxy_type" "browser_name" "os_name" "device_type" "-date" "-total" "-revenue" "-payout" "-integration_id" "-advertiser" "-network" "-offer_id" "-publisher" "-sub_id" "-rejection" "-city" "-isp" "-proxy_type" "-browser_name" "-os_name" "-device_type"
Example: sort=date&sort=offer_id

Sort the aggregated data by attributes.

page[size]
number [ 1 .. 500 ]
Default: 100

A limit on the number of objects to be returned, between 1 and 500.

page[before]
string

A cursor to use in pagination. page[before] is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with cur_abcd, your subsequent call can include page[before]=cur_abcd in order to fetch the previous page of the list.

page[after]
string

A cursor to use in pagination. page[after] is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with cur_abcd, your subsequent call can include page[after]=cur_abcd in order to fetch the next page of the list.

relative_date
string
Default: "Today"
Enum: "Today" "Yesterday" "LastWeek" "ThisMonth" "ThisYear"
Example: relative_date=Today

A relative date range for the report, such as Today or LastWeek. For an exact range, use start_date and end_date instead.

DateTime (string) or Date (string) or DateYear (string)

The start date for the report. Must be used together with end_date. This parameter is incompatible with relative_date.

DateTime (string) or Date (string) or DateYear (string)

The end date for the report. Must be used together with start_date. This parameter is incompatible with relative_date.

date_resolution
string
Default: "daily"
Enum: "hourly" "daily" "monthly" "yearly"
Example: date_resolution=daily

Change the time format of the date attribute resolution. date_resolution must only be used if date is included in group_by or if group_by is not used. For hourly, you can only get the data within 7 days. E.g. only use relative_date=ThisWeek

include_meta
boolean
Default: false

Include the data metadata in the result. This is primarily useful for getting the pagination cursor for each data.

Responses

Response samples

Content type
application/json
Example
{
  • "meta":
    {
    • "total": 2
    },
  • "links":
    {
    • "next": "cur_eyJvYmplY3QiOnsiZGF0ZSI6IjIwMjAtMDMtMDEiLCJyZWplY3Rpb24iOiJWUE4iLCJpbnRlZ3JhdGlvbl9pZCI6InRlc3QiLCJvZmZlcl9ncm91cF9pZCI6Im9nIiwiYWR2ZXJ0aXNlciI6ImFkdmVydGlzZXJfMSIsIm5ldHdvcmsiOiJuZXQiLCJvZmZlcl9pZCI6Im9mZmVyXzEiLCJwdWJsaXNoZXIiOiJwdWJsaXNoZXJfMSIsInN1Yl9pZCI6InN1Yl8xIiwiY291bnRyeSI6Ikdlcm1hbnkiLCJjaXR5IjoiQmVybGluIiwiaXNwIjoiVm9kYWZvbmUiLCJwcm94eV90eXBlIjoiVlBOIiwiYnJvd3Nlcl9uYW1lIjoiQnJvd3NlckNocm9tZSIsIm9zX25hbWUiOiJPU2lPUyIsImRldmljZV90eXBlIjoiRGV2aWNlUGhvbmUifSwib2JqZWN0X3F1ZXJ5X29wdGlvbiI6eyJmaWx0ZXJzIjp7ImludGVncmF0aW9uX2lkIjp7IkVxdWFsVmFsdWVzIjpbInRlc3QiXSwiTm90RXF1YWxWYWx1ZXMiOm51bGx9fSwic29ydF9ieSI6W3siTmFtZSI6ImRhdGUiLCJJc0Rlc2NlbmRpbmciOmZhbHNlfV0sImZyb21fZGF0ZSI6IjIwMjAtMDMtMDEiLCJ0b19kYXRlIjoiMjAyMC0wMy0wNSIsImRhdGVfcmVzb2x1dGlvbiI6ImRhaWx5In19"
    },
  • "data":
    [
    • {
      • "id": "org1",
      • "date": "2020-03-01",
      • "total": 25,
      • "revenue": 5,
      • "payout": 5,
      • "rejection": "DUPLICATE_CLICK",
      • "integration_id": "test",
      • "offer_group_id": "og",
      • "advertiser": "advertiser_1",
      • "network": "net",
      • "offer_id": "offer_1",
      • "publisher": "publisher_1",
      • "sub_id": "sub_1",
      • "country": "Japan",
      • "city": "Tokyo",
      • "isp": "NTT",
      • "proxy_type": "PublicProxy",
      • "browser_name": "BrowserChrome",
      • "os_name": "OSAndroid",
      • "device_type": "DevicePhone",
      • "meta":
        {
        • "page":
          {
          • "cursor": "cur_eyJvYmplY3QiOnsiZGF0ZSI6IjIwMjAtMDMtMDEiLCJyZWplY3Rpb24iOiJEVVBMSUNBVEVfQ0xJQ0siLCJpbnRlZ3JhdGlvbl9pZCI6InRlc3QiLCJvZmZlcl9ncm91cF9pZCI6Im9nIiwiYWR2ZXJ0aXNlciI6ImFkdmVydGlzZXJfMSIsIm5ldHdvcmsiOiJuZXQiLCJvZmZlcl9pZCI6Im9mZmVyXzEiLCJwdWJsaXNoZXIiOiJwdWJsaXNoZXJfMSIsInN1Yl9pZCI6InN1Yl8xIiwiY291bnRyeSI6IkphcGFuIiwiY2l0eSI6IlRva3lvIiwiaXNwIjoiTlRUIiwicHJveHlfdHlwZSI6IlB1YmxpY1Byb3h5IiwiYnJvd3Nlcl9uYW1lIjoiQnJvd3NlckNocm9tZSIsIm9zX25hbWUiOiJPU0FuZHJvaWQiLCJkZXZpY2VfdHlwZSI6IkRldmljZVBob25lIn0sIm9iamVjdF9xdWVyeV9vcHRpb24iOnsiZmlsdGVycyI6eyJpbnRlZ3JhdGlvbl9pZCI6eyJFcXVhbFZhbHVlcyI6WyJ0ZXN0Il0sIk5vdEVxdWFsVmFsdWVzIjpudWxsfX0sInNvcnRfYnkiOlt7Ik5hbWUiOiJkYXRlIiwiSXNEZXNjZW5kaW5nIjpmYWxzZX1dLCJmcm9tX2RhdGUiOiIyMDIwLTAzLTAxIiwidG9fZGF0ZSI6IjIwMjAtMDMtMDUiLCJkYXRlX3Jlc29sdXRpb24iOiJkYWlseSJ9fQ=="
          }
        }
      },
    • {
      • "id": "org1",
      • "date": "2020-03-01",
      • "total": 50,
      • "revenue": 5,
      • "payout": 5,
      • "rejection": "NONE",
      • "integration_id": "test",
      • "offer_group_id": "og",
      • "advertiser": "advertiser_1",
      • "network": "net",
      • "offer_id": "offer_1",
      • "publisher": "publisher_1",
      • "sub_id": "sub_1",
      • "country": "Japan",
      • "city": "Tokyo",
      • "isp": "NTT",
      • "proxy_type": "PublicProxy",
      • "browser_name": "BrowserChrome",
      • "os_name": "OSAndroid",
      • "device_type": "DevicePhone",
      • "meta":
        {
        • "page":
          {
          • "cursor": "cur_eyJvYmplY3QiOnsiZGF0ZSI6IjIwMjAtMDMtMDEiLCJyZWplY3Rpb24iOiJOT05FIiwiaW50ZWdyYXRpb25faWQiOiJ0ZXN0Iiwib2ZmZXJfZ3JvdXBfaWQiOiJvZyIsImFkdmVydGlzZXIiOiJhZHZlcnRpc2VyXzEiLCJuZXR3b3JrIjoibmV0Iiwib2ZmZXJfaWQiOiJvZmZlcl8xIiwicHVibGlzaGVyIjoicHVibGlzaGVyXzEiLCJzdWJfaWQiOiJzdWJfMSIsImNvdW50cnkiOiJVbml0ZWQgU3RhdGVzIiwiY2l0eSI6Ik5ldyBZb3JrIiwiaXNwIjoiVmVyaXpvbiIsInByb3h5X3R5cGUiOiJOb3RQcm94eSIsImJyb3dzZXJfbmFtZSI6IkJyb3dzZXJTYWZhcmkiLCJvc19uYW1lIjoiT1NBbmRyb2lkIiwiZGV2aWNlX3R5cGUiOiJEZXZpY2VQaG9uZSJ9LCJvYmplY3RfcXVlcnlfb3B0aW9uIjp7ImZpbHRlcnMiOnsiaW50ZWdyYXRpb25faWQiOnsiRXF1YWxWYWx1ZXMiOlsidGVzdCJdLCJOb3RFcXVhbFZhbHVlcyI6bnVsbH19LCJzb3J0X2J5IjpbeyJOYW1lIjoiZGF0ZSIsIklzRGVzY2VuZGluZyI6ZmFsc2V9XSwiZnJvbV9kYXRlIjoiMjAyMC0wMy0wMSIsInRvX2RhdGUiOiIyMDIwLTAzLTA1IiwiZGF0ZV9yZXNvbHV0aW9uIjoiZGFpbHkifX0="
          }
        }
      }
    ]
}

The Reports Model

id
string

The ClickShield organization id.

DateTime (string) or Date (string) or DateYear (string)
total
number >= 1

The total count of rejected or non-rejected requests.

revenue
number >= 0
payout
number >= 0
rejection
string (Rejection)
Enum: "NONE" "VPN" "BOT" "OLD_BROWSER" "OLD_OS" "LANGUAGE" "ISP" "DEVICE_OS" "DEVICE_ID" "GEO" "DUPLICATE_CLICK" "DUPLICATE_IP" "REFERER" "IP_RANGE" "PARAMETER" "CONVERSION_REJECTION_THRESHOLD" "CLICK_REJECTION_THRESHOLD"

A rejection reason. NONE means not rejected.

integration_id
string

The ClickShield integration id.

offer_group_id
string

If the offer_id is a ClickShield offer, this is its offer group object id.

offer_id
string

The offer or product that is requested by the user.

advertiser
string

The advertiser from the HTTP request parameter.

network
string

The network from the HTTP request parameter.

publisher
string

The publisher from the HTTP request parameter.

sub_id
string

The sub_id from the HTTP request parameter.

country
string

The user's IP country.

city
string

The user's IP city.

isp
string

The user's IP Internet service provider.

proxy_type
string (ProxyType)
Enum: "NotProxy" "VPN" "TOR" "DataCenterHostingProvider" "SearchEngineBot" "PublicProxy" "WebProxy"

The user's IP proxy category.

browser_name
string

The browser used by the user.

os_name
string

The operating system used by the user.

object (ReportsMeta)
{
  • "id": "string",
  • "date": "string",
  • "total": 1,
  • "revenue": 0,
  • "payout": 0,
  • "rejection": "NONE",
  • "integration_id": "string",
  • "offer_group_id": "string",
  • "offer_id": "string",
  • "advertiser": "string",
  • "network": "string",
  • "publisher": "string",
  • "sub_id": "string",
  • "country": "string",
  • "city": "string",
  • "isp": "string",
  • "proxy_type": "NotProxy",
  • "browser_name": "string",
  • "os_name": "string",
  • "meta":
    {
    • "page":
      {
      • "cursor": "string"
      }
    }
}