Getting Started
GeoSpot Media (GSM) Console is accessible through both APIs as well as the user interface. GSM exposes RESTful API endpoints to interact with the platform. This documentation talks about GSM API’s and how to use them in detail
If you have a question please reach out to us via support@geospotmedia.com
Authentication
POST https://api-console.geospotmedia.com/v1/authentication/token
GSM API supports standard OAuth with password grant type. You can use your username and password to get an access token by making a simple POST request like the following:
Sample Request
POST https://api-console.geospotmedia.com/v1/authentication/token
// cURL
curl -X POST \
'https://api-console.geospotmedia.com/v1/authentication/token' \
-H 'authorization: Basic ' \
-H 'content-type: application/x-www-form-urlencoded' \
-d 'grant_type=password&username=&password='
grant_type | password |
username | email you use while logging into the GSM Console |
password | your GSM Conole password |
Header | pass the authorization: Basic header by deriving values from base64 encode of string <API_Key>:<API_Secret_Key>. |
To get your API Key and API Secret Key, please click on the top right corner of the interface (as shown below) and click on API Integration to find your API Key and generate your Secret Key
The response to the authentication call is an OAuth token which should be included in the header calls of all future requests as Authorization: Bearer …. (By default the token gets expired in 30 mins)
If your token expires, you will need to implement the OAuth refresh token flow by making the authentication call again and using the newly issued OAuth token for subsequent requests.
Auth Request
curl -X POST \
'https://api-console.geospotmedia.com/v1/authentication/token' \
-H 'authorization: Basic ' \
-H 'content-type: application/x-www-form-urlencoded' \
-d 'grant_type=password&username=&password='
Response
{"access_token":ACCESS_TOKEN,"expires_in":"1799","scope":""}
How to make subsequent calls
Once you get the authentication token, you are required to pass this token as the bearer token in your HTTP headers. A sample to list campaigns has been shown here
Sample Response
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/campaigns?page=1&per_page=25?' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Error codes
We support standard HTTP error codes.
In the case of an authentication failure, you will receive one of the following “Authentication error” errors
a. Incorrect username/password– Invalid login credentials
b. Invalid Access Token – Invalid API Key.
Supported Parameters
GSM reporting API allows you to create, update, view and delete your campaign’s performance reports
Supported metrics, filters, and group_by parameters are listed below
Metrics
Metrics | Description |
wins | Total count of auctions won |
impressions | Total count of ad-impressions served |
clicks | Total count of clicks |
conversions | Total count of conversions as defined by a conversion_object |
unique_users | Total count of unique_users who did a conversion action. Defined as part of conversion_object |
ct_installs (deprecated) | Total count of click-through attributed installs |
vt_installs (deprecated) | Total count of view-through attributed installs |
installs | Total number of installs. Value will change based on selected attribution sources (default: mmp) and attribution type( default: Total). See below for more details |
win_rate | Value between 0 – 1. Multiply by 100 to get the number in percentage. Win Rate is calculated as Wins/Bids. |
ctr | Value between 0 – 1. Multiply by 100 to get the number in percentage. CTR is calculated as clicks/impressions |
conversion_rate | Value between 0 – 1. Multiply by 100 to get the number in percentage. Conversion rate is calculated as installs/clicks |
video_start | Total count of video start events |
video_first_quartile | Total count of video first quartile events |
video_midpoint | Total count of video midpoint events |
video_third_quartile | Total count of video third quartile events |
video_complete | Total count of video complete events |
advertiser_ecpm | Effective cost per thousand impressions |
advertiser_ecpc | Effective cost per click |
advertiser_ecpi | Effective cost per install |
advertiser_ecpa | Effective cost per Conversion action as defined by conversion object |
Filters
Filters | Description | Sample/ Supported Values |
tag | Array of tags created by the user. | Sample Value-
Retargeting, |
line_item_id | Array of line item id’s. Also represented in the UI as Orders | Sample Value- 104669 |
campaign_id | Array of unique campaign id’s | Sample Value- 138939. Please refer to Campaigns |
deal_id | Array of unique deal id’s | Sample Value- 2349 |
creative_id | Array of unique creative ids | Sample Value- 50279679. Please refer to Creatives |
exchange_id | Array of programmatic exchange id’s | Please refer to Exchanges |
app_object_id | Array of unique advertiser app object id’s | Sample Value – [10, 12]. Please refer to App Objects |
site_object_id | Array of unique advertiser website object id’s | Sample Value – [11, 13]. Please refer to Site Objects |
app_id | Array of publisher app ids: Unique GSM specific id for every publisher app per exchange | Sample Value- 63webhaubwajhb27820 |
app_bundle_id | Array of publisher app bundle ids: Unique appstore/playstore bundle ID for publisher app | Sample Value- com.forthblue.pool |
user_country_id | Array of country ids: GSM specified ID’s for every country | Please refer to Countries |
manufacturer_id | Array of manufacturer ids: Unique ID for device manufacturers | Please refer to Manufacturers (Device) |
traffic_type | Type of traffic on which campaign served. | Supported Value-
InAPP, |
connection_type | Type of user connection. | Supported Values-
Carrier Network, |
Group By
Field | Description | Sample/ Supported Values |
year | calendar year | Sample Value- 2019 |
month | calendar month | Supported Values- 1, 2,12 |
day | calendar date | Sample Value- 21 March 2019 |
line_item_name | Name of line items. Line items are represented as Orders in the UI | Sample Value- Test Order |
line_item_id | ID of line items. Line items are represented as Orders in the UI | Sample Value- 104669 |
campaign_name | Name of the campaigns | Sample Value- Test Campaign |
campaign_id | Unique ID of the campaign | Sample Value- 138939 |
dealid | Unique PMP deal id’s | Sample Value- 2349 |
campaign_type | Optimization algorithm that the campaign is using. | Supported Values- CPM, CPC, CPI |
creative_name | Creative name in the platform | Sample Value- Test Creative |
creative_id | Unique ID per creative | Sample Value- 50279679 |
creative_type | Type/format of creative | Supported Values- Image, HTML, Native, Video |
is_ssl | Specify whether creative’s click and impression URL were secure URLs or not | Supported Values-
0 – Non-Secure |
video_duration | Length of video file. Example: 15sec, 30sec, 45sec | Sample Value- 15, 29, 30 |
video_resume | Total count of video resume events | Sample Value- 139282 |
exchange_name | Name of programmatic exchanges integrated with GSM Platform | Please refer to Exchanges |
exchange_id | Unique ID for programmatic exchanges on GSM platform | Please refer to Exchanges |
app_name | Exchange specific publisher app name. Same app might have different names across exchanges | Sample Value- Pool Billiards Pro |
app_id | Exchange specific Unique ID for publisher apps. Same app will have different app_id across exchanges | Sample Value- 3b01c74ab91c8f7f78caae7c38428434 |
app_bundle_id | Playstore/App store bundle id/app id for the publisher app | com.king.candycrushsaga |
app_object_name | Advertiser app name in Playstore / AppStore | Sample Value – Angry Birds 2 |
site_object_name | Advertiser site URL | Sample Value – https://www.amazon.com/ |
app_object_store_id | Advertiser app’s android package Name / iOS App ID | Sample Value –
880047117 |
user_country_id | List of GSM specific Country ID’s | Please refer to Countries |
country | List of Country names | Please refer to Countries |
country_code | Alpha-3 digit ISO country code for every country | Sample Value- RUS for Russia |
traffic_type | Type of traffic on which campaign served | Supported Value-
InAPP |
os_name | Name of the user’s device operating system | Please refer to OS- Operating System |
os_version_name | Operating system version of user’s device | Please refer to OS Version |
manufacturer_name | Device’s manufacturer name | Please refer to Manufacturers (Device) |
manufacturer_id | GSM specific unique ID of device manufacturers | Please refer to Manufacturers (Device) |
connection_type | Type of user connection | Supported Values-
Carrier Network, |
advertiser_name | Advertiser name in GSM Platform | Sample Value- Test Advertiser |
advertiser_id | Advertiser ID in GSM Platform | Sample Value- 12274 |
Attribution Sources
Title | Description |
mmp | Values based on MMP attribution. For instance, the install count based on MMP attribution |
self | Values based on Self-attribution. For instance, the install count based on Self-attribution |
assisted | Difference between MMP and Self assisted attribution numbers for a given metric. Represented as percentage |
Attribution Types
Title | Description |
click | Attribution values based on last Click attribution |
view | Attribution values based on last view attribution |
total | Sum of Click through (CT) and View through (VT) attribution |
Create New Report
POST https://api-console.geospotmedia.com/v1/reports
o access your campaign performance data via reporting API, you can create a report with necessary parameters as defined below. Please note, once a report is created, you can re-use the same report to fetch the latest data. For instance, if you create a report for the duration as “Last 7 days”, this will be a rolling window and will always fetch last 7 days data depending on when you query the report
Parameters for Creating New Report
Parameter | Format | Required/ Optional | Description |
advertiser_id | int | required | Unique ID per advertiser |
name | string | required | Name of the report. |
report_type_id | string | required | Only supported value is rtb |
date_macro | string | optional | Select a specific day or range of days. Supported Values –
today |
start_date | YYYY-MM-DD | required | Start date of the report, e.g.: 2019-01-01 |
end_date | YYYY-MM-DD | required | End date of reports, e.g.: 2019-01-31 |
time_zone_id | int | required | Get report data as per a specific time_zone selected. Refer to Timezone |
metrics | array of string | required | Array of supported metrics. Please refer to Supported Parameters |
filters | JSON Object | optional | JSON object with key as reporting filter property and value as array of filter values. Please refer to Supported Parameters |
group_by | array of string(required) | required | List of dimensions to group by. Please refer to Supported Parameters |
attribution_sources | array of strings | optional | Values –
mmp |
attribution_types | array of strings | optional | Values –
click |
Sample Request
curl -X POST \
'https://api-console.geospotmedia.com/v1/reports' \
-d '{
"report" : {
"name":"test_report",
"report_type_id":"rtb",
"time_zone_id":11,
"metrics":["wins","impressions","clicks"],
"filters":{"campaign_id":[108996]},
"group_by":["day","campaign_id"],
"date_macro":"last_seven_days",
"start_date":"2019-04-19",
"end_date":"2019-04-25",
"attribution_sources":["mmp", "self"],
"attribution_types":["click","view"]
}
}' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"id":2641,
"advertiser_id":10928,
"name":"Report 1",
"start_date":"2019-04-19",
"end_date":"2019-04-25",
"date_macro":"last_seven_days",
"time_zone_id":11,
"metrics":[
"wins",
"impressions",
"clicks"
],
"filters":{
"campaign_id":[
108996
]
},
"group_by":[
"day",
"campaign_id"
],
"attribution_types":[
"click",
"view"
],
"attribution_sources":[
"mmp",
"self"
],
"created_at":"2019-04-24T21:45:33.000Z",
"last_updated_at":null,
"time_zone_name":"(GMT+00:00) UTC"
}
List Reports
GET https://api-console.geospotmedia.com/v1/reports
Use this API to get a list of all the existing reports or search for a specific report.
See below for supported fields and param
Field | Param | Required/ Optional | Description |
advertiser_id | int | required |
Unique ID per advertiser account |
q | string | optional |
Search query parameter. Returns results for a specific report. If no value is specified, then all reports data will be returned |
page | int | optional |
Returns page number. If nothing is selected, by default it will fetch 1 page |
per_page | int | optional |
Set number of rows per page. Default Value- 20 entries |
sort_field | string | optional |
Field to use for sort by function |
sort_direction | asc/desc | optional |
Show results in ascending or descending order.Default value -‘desc’ order |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/reports?q=Report_test_&page=1&per_page=25&report_type%5B%5D=rtb&sort_direction=desc&sort_field=id' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"id":2635,
"advertiser_id":10298,
"report_type_id":"rtb",
"name":"Report_test",
"start_date":"2019-01-01",
"end_date":"2019-01-31",
"date_macro":"last_month",
"time_zone_id":11,
"created_at":"2019-01-03T10:46:44.000Z",
"time_zone_name":"(GMT+00:00) UTC"
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":1
}
}
Update Existing Report
PUT https://api-console.geospotmedia.com/v1/reports/:id
You can update an already existing report. All the parameters which are used while creating a report can be updated and modified
Parameters for Updating Existing Report
Field | Param | Required/ Optional | Description |
advertiser_id | int | required | Unique ID per advertiser account |
name | string | required | Name of the report |
report_type_id | string | required | Only supported value is rtb |
date_macro | string | optional | Select specific day or range of days. Supported Values – today yesterday last_three_days last_seven_days this_month last_month |
start_date | YYYY-MM-DD | required | Start date of report eg: 2019-01-01 |
end_date | YYYY-MM-DD | required | End date of report eg: 2019-01-31 |
metrics | array of string | required | Array of supported metrics. Please refer to Supported Parameters |
filters | JSON Object/Hash | optional | JSON object with key as reporting filter property and value as an array of filter values. Please refer to Supported Parameters |
group_by | array of string | required | List of dimensions to group by. Please refer to Supported Parameters |
Sample Request
curl -X PUT \
'https://api-console.geospotmedia.com/v1/reports/:id' \
-d '{
"id": 2641,
"name": "Report 1",
"report_type_id": "rtb",
"time_zone_id": 11,
"metrics": [
"wins",
"impressions",
"clicks",
"win_rate",
"advertiser_spend"
],
"filters": {
"campaign_id": [
108996,
108997
]
},
"group_by": [
"day",
"line_item_id",
"campaign_id"
],
"attribution_sources":[
"mmp",
"assisted"
],
"attribution_types":[
"click",
"total"
],
"date_macro": "last_seven_days",
"start_date": "2019-04-19",
"end_date": "2019-04-25"
}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"id":2641,
"advertiser_id":10298,
"name":"Report 1",
"start_date":"2019-04-19",
"end_date":"2019-04-25",
"date_macro":"last_seven_days",
"time_zone_id":11,
"metrics":[
"wins",
"impressions",
"clicks",
"win_rate",
"advertiser_spend"
],
"filters":{
"campaign_id":[
108996,
108997
]
},
"group_by":[
"day",
"line_item_id",
"campaign_id"
],
"attribution_sources":[
"mmp",
"assisted"
],
"attribution_types":[
"click",
"total"
],
"created_at":"2019-04-24T21:45:33.000Z",
"last_updated_at":null,
"time_zone_name":"(GMT+00:00) UTC"
}
Show Report
GET https://api-console.geospotmedia.com/v1/reports/:id
Use this API to get the report’s metadata and query parameters like report filters, metrics, group_by etc
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/reports/2641' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"id":2641,
"advertiser_id":10298,
"name":"Report 1",
"start_date":"2019-04-19",
"end_date":"2019-04-25",
"date_macro":"last_seven_days",
"time_zone_id":11,
"metrics":[
"wins",
"impressions",
"clicks",
"installs",
"win_rate",
"ctr",
"conversion_rate",
"advertiser_ecpm",
"advertiser_ecpi",
"advertiser_ecpc",
"advertiser_spend",
"advertiser_margin",
"advertiser_margin_per"
],
"filters":{
"campaign_id":[
108996,
108997
]
},
"group_by":[
"day",
"line_item_id",
"campaign_id"
],
"attribution_types":[
"click",
"view"
],
"attribution_sources":[
"mmp",
"self"
],
"created_at":"2019-04-24T21:45:33.000Z",
"last_updated_at":null,
"time_zone_name":"(GMT+00:00) UTC"
}
Report Results
GET https://api-console.geospotmedia.com/v1/reports/:report_id/report_results
Returns results of a specific report. You should pass the report_id in the sample request to fetch the results for a specific report. To know your report_id, please refer toList Reports(idin show reports is a synonym for report_id)
See below for supported fields and param
Field | Param | Required/ Optional | Description |
page | int | optional | Returns page number. Default Value- 1 |
per_page | int | optional | Set number of rows per page. Default Value- 20 |
sort_field | string | optional | Field to use for sort by function. |
sort_direction | asc/desc | optional | Show results in ascending or descending order.Default value -‘desc’ order |
start_date | YYYY-MM-DD | optional | The start date of a specific report can be changed while viewing the report results. eg: 2019-01-01 |
end_date | YYYY-MM-DD | optional | The end date of a specific report can be changed while viewing the report results. eg: 2019-03-01 |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/reports/2641/report_results?end_date=2019-03-01&page=1&per_page=25&sort_direction=desc&start_date=2019-03-01' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"day":"2019-03-01",
"wins":"601373",
"impressions":"332826",
"clicks":"60000000",
"installs":{
"click":{
"mmp":"87550",
"self":"90000"
},
"view":{
"mmp":"90000",
"self":"96000"
}
},
"win_rate":0.548,
"ctr":180.2744,
"conversion_rate":{
"click":{
"mmp":"0.0015",
"self":"0.0012"
}
}
"advertiser_ecpm":278.02,
"advertiser_ecpi":1.06,{
"click":{
"mmp":1.60,
"self":1.20
},
"view":{
"mmp":1.40,
"self":1.10
}
},
"advertiser_ecpc":0,
"advertiser_spend":92532.26
}
],
"headers":[
"day",
"wins",
"impressions",
"clicks",
"installs",
"win_rate",
"ctr",
"conversion_rate",
"advertiser_ecpm",
"advertiser_ecpi",
"advertiser_ecpc",
"advertiser_spend",
"advertiser_margin",
"advertiser_margin_per"
]
}
Delete Report
DELETE https://api-console.geospotmedia.com/v1/reports/:id
Sample Request
curl -X DELETE \
'https://api-console.geospotmedia.com/v1/reports/2641' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
204 (No Content)
Reporting API Meta Data
App Objects
GET https://api-console.geospotmedia.com/v1/meta/app_objects
Returns a list of app object names and app object ID’s. If no specific search query is specified, returns all app objects.
Field | Param | Required/ Optional | Description |
q | string | optional | Search query parameter. Returns result for a specific app name. If no value is specified, then all app objects are returned |
per_page | int | optional | Number of rows per page. Default Value- 30 entries |
page | int | optional | Returns page number. Default Value- 1 page |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/app_objects?page=1&per_page=25&q=Billionaire' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"id":10,
"type":"AppObject",
"name":"Stark",
"os_id":12,
"store_app_id":"1098617974",
"store_app_url":"https://itunes.apple.com/us/app/Stark/id1098617974",
"icon_url":"https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/66/d2/5a/66d25acc-f0f2-6a0c-f672-602e9a0aed5e/source/512x512bb.jpg",
"rating":"4.5",
"ad_domain":"http://www.stark.com/"
},
{
"id":4,
"type":"AppObject",
"name":"Stark",
"os_id":11,
"store_app_id":"com.stark.casino.texas",
"store_app_url":"https://play.google.com/store/apps/details?id=com.stark",
"icon_url":"https://lh3.googleusercontent.com/S9spm5iwnJcbBTCdubC9SHXTrsYsJdumWBuVRaAYXcKu9-4m5VMTWuw4knsay_HrC_k=s180",
"rating":"4.46",
"ad_domain":"http://www.stark.com/"
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":2
}
}
Campaigns
GET https://api-console.geospotmedia.com/v1/meta/campaigns
Field | Param | Required/ Optional | Description |
q | string | optional | Search query parameter. Returns result for a specific campaign. If no value is specified, then all campaigns data will be returned |
per_page | int | optional | Number of rows per page. Default Value- 30 entries |
page | int | optional | Returns page number. Default Value- 1 page |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/campaigns?page=1&per_page=25&q=FR_android_banner_CPI_BU' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"status":"running",
"id":139199,
"name":"FR_android_banner",
"detail_id":139199,
"is_active":true,
"order_active":true,
"has_running_creatives":true,
"creative_statuses":[
"running",
"running",
"running"
],
"start_time":"2019-05-22T16:01:34.000Z",
"end_time":"2038-01-01T00:00:00.000Z",
"cap_type":"none",
"budget_cap_amount":null,
"budget_cap_interval":null,
"objective_cap_amount":null,
"objective_cap_interval":null,
"cloned_from":138841,
"creative_type":"image",
"total_budget":null,
"billing_type":null,
"billing_price":0.0,
"updated_at":"2019-05-22T15:16:42.000Z",
"created_at":"2019-05-22T15:16:42.000Z",
"tags":[
{
"id":40,
"name":"autoblacklistOFF"
},
{
"id":42,
"name":"Explore"
},
{
"id":33,
"name":"User_acquisition"
}
],
"app_group_id_whitelist":null,
"app_group_id_blacklist":null,
"max_bid":4.0,
"day_budget":60,
"campaign_type":"cpi",
"modified_by":{
"id":2375,
"first_name":"Mr",
"last_name":"API",
"email":"mr.api@geospotmedia.com",
"company":"GSM",
"time_zone":"UTC",
"status":"active",
"created_at":"2019-04-15T10:33:38.000Z",
"system_role":"account_manager",
"external":false,
"registered_at":"2019-04-15",
"role":null
},
"created_by":{
"id":2375,
"first_name":"Mr",
"last_name":"API",
"email":"mr.api@geospotmedia.com",
"company":"GSM",
"time_zone":"UTC",
"status":"active",
"created_at":"2019-04-15T10:33:38.000Z",
"system_role":"account_manager",
"external":false,
"registered_at":"2019-04-15",
"role":null
},
"advertiser":{
"id":12209,
"name":"Stark",
"created_at":"2019-02-20T12:04:52.000Z",
"status":"active",
"rtb_margin":"0.0",
"advertiser_office_id":2,
"conversion_objects":[
],
"s2s_enabled":true,
"mobile_object_enabled":false,
"advertiser_api_key":{
"id":2848,
"api_key":"e59413db1cb4e10582e0282829989fd889a8d39a",
"api_secret":null,
"advertiser_id":12209,
"created_at":"2019-02-20T12:04:53.000Z",
"updated_at":"2019-02-20T12:04:53.000Z"
}
},
"enterprise":{
"id":10049,
"name":"GSM",
"created_at":"2018-12-05T15:23:14.000Z"
},
"geolocations":[
]
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":1
}
}
Countries
GET https://api-console.geospotmedia.com/api/v1/meta/countries
Returns a list of country names and country id’s. If no specific search query is specified, returns all countries.
Field | Param | Required/ Optional | Description |
q | string | optional | Search query parameter. Returns result for a specific country. If no value is specified, then all countries data will be returned |
per_page | int | optional | Number of rows per page. Default Value- 30 entries |
page | int | optional | Returns page number.Default Value- 1 page |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/countries?page=1&per_page=25&q=germ' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"id":93,
"name":"Germany"
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":1
}
}
Creatives
GET https://api-console.geospotmedia.com/v1/meta/creatives
Returns a list of creative names and other attributes. If no specific search query is specified, returns all creatives.
Field | Param | Required/ Optional | Description |
q | string | optional | Search query parameter. Returns result for a specific creative. If no value is specified, then all creative data will be returned |
per_page | int | optional | Number of rows per page. Default Value- 30 entries |
page | int | optional | Returns page number.Default Value- 1 page |
advertiser_id | int | required | Advertiser ID of the user |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/creatives?page=1&per_page=25&q=germ&advertiser_id=10001' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"id":50266969,
"name":"CL_Native_test1",
"type":"native",
"created_at":"2019-02-18T05:09:37.000Z",
"campaigns_count":1,
"height":null,
"width":null,
"preview":"",
"size":null,
"click_url":"https://www.test.com",
"pixel_url":null,
"tracking_url":null,
"title":"",
"rating":null,
"description":"",
"call_to_action":"",
"icon_mime":"image/",
"main_mime":"image/",
"app_url":"",
"icon_image":"",
"icon_width":null,
"icon_height":null,
"main_image":"",
"main_width":null,
"main_height":null
},
{
"id":50210107,
"name":"CL_Native_test2",
"type":"native",
"created_at":"2018-05-04T07:17:31.000Z",
"campaigns_count":5,
"height":627,
"width":1200,
"preview":"https://advert-creatives.s3.amazonaws.com/assets/6f3b26fd-4d32-4659-bb47-0851f28563b.jpeg",
"size":96431,
"click_url":"https://www.starktest.com/en",
"pixel_url":null,
"tracking_url":null,
"title":"Your Favorite App",
"rating":"4.5",
"description":"Satisfy your hunger",
"call_to_action":"Order Now",
"icon_mime":"image/png",
"main_mime":"image/jpeg",
"app_url":"",
"icon_image":"https://advert-creatives.s3.amazonaws.com/assets/794667e7-4daa-4d54-92f8-16567acc9cc.png",
"icon_width":80,
"icon_height":80,
"main_image":"https://advert-creatives.s3.amazonaws.com/assets/6f3b26fd-4d32-4659-bb47-0851f28563b.jpeg",
"main_width":1200,
"main_height":627
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":2
}
}
Exchanges
GET https://api-console.geospotmedia.com/v1/meta/exchanges
Returns a list of exchanges (SSP’s) names and id’s. If no specific search query is specified, returns all exchanges.
Field | Param | Required/ Optional | Description |
q | string | optional | Search query parameter. Returns result for a specific exchange (SSP). If no value is specified, then all exchanges data will be returned |
creative_types | string | optional | Supported Values- |
advertiser_id | int | optional | Unique ID per advertiser account |
per_page | int | optional | Number of rows per page. Default Value- 30 |
page | int | optional | Returns page number.Default Value- 1 page |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/exchanges?page=1&per_page=25&q=MoPub' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"id":23,
"name":"MoPub",
"type":"public",
"status":"enabled",
"bids_url":null,
"events_url":null,
"creative_types":[
{
"type":"image"
}
]
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":1
}
}
Device Type
GET https://api-console.geospotmedia.com/v1/meta/device_types
Returns a list of device types (like phone, tablet, ipad) and id’s. If no specific search query is specified, returns all device types.
Field | Param | Required/ Optional | Description |
q | string | optional | Search query parameter. Returns result for a specific device type. If no value is specified, then all device types are returned |
per_page | int | optional | Number of rows per page. Default Value- 30 |
page | int | optional | Returns page number. Default Value- 1 page |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/device_types?page=1&per_page=25&q=pho' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"id":11,
"device_type_id":4,
"name":"Phone"
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":1
}
}
Orders
GET https://api-console.geospotmedia.com/v1/meta/line_items
Returns a list of order names and other attributes. If no specific search query is specified, returns all order details
Field | Param | Required/ Optional | Description |
q | string | optional | Search query parameter. Returns result for a specific order. If no value is specified, then all orders data will be returned |
per_page | int | optional | Number of rows per page. Default Value- 30 entries |
page | int | optional | Returns page number.Default Value- 1 page |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/line_items?page=1&per_page=25&q=CC_iOS_UK_WL' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"id":104897,
"name":"CC_iOS_UK_WL",
"start_time":"2019-04-29T00:00:00.000Z",
"end_time":null,
"day_budget":10000,
"total_budget":100000,
"hasoffers_offer_id":null,
"timezone":11,
"impression_cap_count":null,
"impression_cap_days":null,
"is_active":true,
"advertiser_id":12251,
"billing_type":null,
"billing_price":null,
"country_ids":[
245
],
"os_ids":[
12
],
"os_version_ids":null,
"conversion_object_id":null,
"block_installed_devices":0,
"advertiser_mobile_object":null,
"mobile_object":null
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":1,
"available_metrics":[
"installs",
"spend"
]
}
}
Manufacturers
GET https://api-console.geospotmedia.com/v1/meta/manufacturers
Returns a list of device manufacturers like Apple, Samsung etc. If no specific search query is specified, returns all device manufacturers.
Field | Param | Required/ Optional | Description |
q | string | optional | Search query parameter. Returns result for a specific manufacturer. If no value is specified, then all manufacturers data is returned |
per_page | int | optional | Number of rows per page. Default Value- 30 |
page | int | optional | Returns page number. Default Value- 1 page |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/manufacturers?page=1&per_page=25&q=Apple' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"id":1000,
"name":"Apple"
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":1
}
}
Operating System
Returns a list of operating systems and their corresponding id’s. If no specific search query is specified, returns all operating system.
GET https://api-console.geospotmedia.com/v1/meta/os
Field | Param | Required/ Optional | Description |
q | string | optional | Search query parameter. Returns result for a specific Operating system. If no value is specified, then all operating system’s data will be returned |
per_page | int | optional | Number of rows per page. Default Value- 30 |
page | int | optional | Returns page number. Default Value- 1 page |
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/os?page=1&per_page=25&q=ios' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"id":12,
"name":"iOS"
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":1
}
}
OS Version
Returns a list of OS version names ( example iOS-10.0) and id’s. If no specific search query is specified, returns all OS versions.
GET https://api-console.geospotmedia.com/v1/meta/os_versions
Field | Param | Required/ Optional | Description |
q | string | optional | Search query parameter. Returns result for a specific operating system version. If no value is specified, then all os versions data will be returned |
per_page | int | optional | Number of rows per page. Default Value- 30 |
page | int | optional | Returns page number. Default Value- 1 page |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/os_versions?page=1&per_page=25&q=iOS-1' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"id":28,
"os_id":12,
"name":"iOS-1.0",
"alternate_names":"1.0,1.0.0",
"created_at":"2016-06-23T11:16:36.000Z",
"version_number":1.0
},
{
"id":72,
"os_id":12,
"name":"iOS-10.0",
"alternate_names":"10.0,10.0.0,10.0.1,10.0.2,10_0,10_0_1,10_0_2,10.0.3,10.0.2.,10.0.3,10.0.3.,10.0.1,10.0.1.,10_0_3,10",
"created_at":"2016-08-23T07:41:10.000Z",
"version_number":10.0
},
{
"id":74,
"os_id":12,
"name":"iOS-10.1",
"alternate_names":"10.1,10.1.1,10.1.1.,10_1_1,10.1.0,10_1",
"created_at":"2016-12-23T15:59:14.000Z",
"version_number":10.1
},
{
"id":75,
"os_id":12,
"name":"iOS-10.2",
"alternate_names":"10.2,10.2.1,10.2.0,10_2,10_2_1,10.2.2",
"created_at":"2016-12-23T15:59:15.000Z",
"version_number":10.2
},
{
"id":76,
"os_id":12,
"name":"iOS-10.3",
"alternate_names":"10.3,10.3.0,10.3.2,10.3.3,10.3.1,10_3_2,10_3_3,10_3_1,10_3",
"created_at":"2016-12-23T15:59:16.000Z",
"version_number":10.3
},
{
"id":77,
"os_id":12,
"name":"iOS-11.0",
"alternate_names":"11_0,11.0,11.0.0,11.0.1,11.0.2,11.0.3,11_0_1,11_0_2,11_0_3,11",
"created_at":"2017-10-31T09:55:48.000Z",
"version_number":11.0
},
{
"id":78,
"os_id":12,
"name":"iOS-11.1",
"alternate_names":"11.1,11.1.0,11_1,11.1.1,11.1.2,11_1_2,11_1_1",
"created_at":"2017-10-31T10:00:09.000Z",
"version_number":11.1
},
{
"id":79,
"os_id":12,
"name":"iOS-11.2",
"alternate_names":"11.2,11.2.0,11.2.5,11.2.2,11.2.1,11_2_2,11_2_1,11_2_5,11_2,11.2.6,11_2_6",
"created_at":"2017-10-31T10:00:10.000Z",
"version_number":11.2
},
{
"id":81,
"os_id":12,
"name":"iOS-11.3",
"alternate_names":"11.3,11.3.0,11_3,11.3.1,11_3_1,11.1.3",
"created_at":"2018-02-19T10:58:56.000Z",
"version_number":11.3
},
{
"id":82,
"os_id":12,
"name":"iOS-11.4",
"alternate_names":"11.4,11.4.0,11_4,11.4.1,11.4.4,11_4_1",
"created_at":"2018-04-18T05:39:52.000Z",
"version_number":11.4
},
{
"id":83,
"os_id":12,
"name":"iOS-12.0",
"alternate_names":"12.0.1,12.0,12_0,12,12.0.0,12_0_1",
"created_at":"2018-10-25T08:38:03.000Z",
"version_number":12.0
},
{
"id":85,
"os_id":12,
"name":"iOS-12.1",
"alternate_names":"12_1,12_1_2,12_1_3,12_1_1,12.1.0,12.1.2,12.1,12.1.1,12.1.3,12.1.4,12_1_4",
"created_at":"2019-01-16T09:53:13.000Z",
"version_number":12.1
},
{
"id":86,
"os_id":12,
"name":"iOS-12.2",
"alternate_names":"12.2.0,12_2,12.2",
"created_at":"2019-03-07T06:25:52.000Z",
"version_number":12.2
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":13
}
}
Site Objects
GET https://api-console.geospotmedia.com/v1/meta/site_objects
Field | Param | Required/ Optional | Description |
q | string | optional | Search query parameter. Returns result for a specific site object. If no value is specified, then all site objects data will be returned |
per_page | int | optional | Number of rows per page. Default Value- 30 |
page | int | optional | Returns page number. Default Value- 1 page |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/site_objects?page=1&per_page=25&q=gsm' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"id":14,
"type":"SiteObject",
"name":"https://geospotmedia.com/",
"ad_domain":"geospotmedia.com"
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":1
}
}
Timezone
Returns a list of time zones name and id’s. If no specific search query is given, returns all timezones.
GET https://api-console.geospotmedia.com/v1/meta/time_zones
Field | Param | Required/ Optional | Description |
q | string | optional | Search query parameter. Returns result for a specific timezone. If no value is specified, then all timezone data will be returned |
country_id | int | optional | GSM specific unique ID for each country |
per_page | int | optional | Number of rows per page. Default Value- 30 |
page | int | optional | Returns page number. Default Value- 1 page |
Sample Request
curl -X GET \
'https://api-console.geospotmedia.com/v1/meta/time_zones?page=1&per_page=25&q=pacific' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN'
Sample Response
{
"data":[
{
"id":12,
"name":"Pacific/Samoa",
"display_name":"(GMT-11:00) American Samoa"
},
{
"id":13,
"name":"Pacific/Kwajalein",
"display_name":"(GMT-11:00) International Date Line West"
},
{
"id":14,
"name":"Pacific/Midway",
"display_name":"(GMT-11:00) Midway Island"
},
{
"id":15,
"name":"Pacific/Honolulu",
"display_name":"(GMT-10:00) Hawaii"
},
{
"id":138,
"name":"Pacific/Guam",
"display_name":"(GMT+10:00) Guam"
},
{
"id":142,
"name":"Pacific/Port_Moresby",
"display_name":"(GMT+10:00) Port Moresby"
},
{
"id":147,
"name":"Pacific/Auckland",
"display_name":"(GMT+12:00) Auckland"
},
{
"id":148,
"name":"Pacific/Fiji",
"display_name":"(GMT+12:00) Fiji"
},
{
"id":150,
"name":"Pacific/Fiji",
"display_name":"(GMT+12:00) Marshall Is."
},
{
"id":151,
"name":"Pacific/Auckland",
"display_name":"(GMT+12:00) Wellington"
},
{
"id":153,
"name":"Pacific/Apia",
"display_name":"(GMT+13:00) Samoa"
},
{
"id":154,
"name":"Pacific/Fakaofo",
"display_name":"(GMT+13:00) Tokelau Is."
}
],
"meta":{
"current_page":1,
"total_pages":1,
"total_entries":12
}
}
Should you have any questions regarding the use of APIs, please feel free to write to support@geospotmedia.com