Follow

Server 2 Server (S2S) API Integration

 
Did you know? 
Publishers using the AerServ SDK have seen a 795% improvement in Fill Rate and 286% more Revenue when compared to S2S connections. Try the SDK >>

 

 

This document describes how you can send server-side ad requests for your mobile application or mobile website to retrieve display/banner ad units. The AerServ ad server is accessible via a simple HTTP request with GET parameters, and will return a response in an easy to use JSON format.

The AerServ Server-to-Server API makes it simple and easy for publishers to connect with our platform and retrieve display/banner ads outside of SDK libraries. To integrate with AerServ through our Server-to-Server API, follow the integration process and technical specifications below.

 

First Steps


    • The first step is to get an aerBanner PLC. This link describes how to obtain one.
    • Then set up a server-side connection to the AerServ API to request and retrieve display/banner ad units using the Test banner PLC listed in the 'Testing' section below.
    • Once the server-side connection is setup and you are able to request and retrieve ads you are good to go live. When you go live make sure to switch out the test PLC with the aerBanner PLC you created in the first step.

 

API Overview


The AerServ Server-to-Server API is designed to be a simple and flexible way to request display/banner ad units for any mobile device. The API accepts simple GET requests, with optional and required parameters in the query string portion of the URL. The parameters must be encoded as key/value pairs using standard HTTP URL-encoding principles.

 

Basic Ad Request


The AerServ server-to-server API endpoint is: http://ads.aerserv.com/as/ 

The basic format of a display/banner server-to-server API request is:

http://ads.aerserv.com/as/?plc=[PLACEMENT]&key=3&appname=[APP_NAME]&siteurl=[APP_STORE_URL]&appversion=[APP_VERSION]&cb=
[CACHEBUSTER]&network=[NETWORK_CONNECTION]&dnt=[DO_NOT_TRACK]&adid=[UNHASHED_APPLE_IDFA_OR_GOOGLE_ADVERTISING_ID]&lat=
[LATITUDE]&long=[LONGITUDE]&ip=[DEVICE_IP_ADDRESS]&make=[DEVICE_MAKE]&model=[DEVICE_MODEL]&os=[DEVICE_OS]&osv=
[DEVICE_OS_VERSION]&type=[DEVICE_TYPE]&ua=[ENCODED_USER_AGENT]&carrier=[CELL_CARRIER]&locationsource=
[LAT_LONG_SOURCE_ORIGINATION]&carrier=[CELL_CARRIER]&dw=[DEVICE_SCREEN_WIDTH]&dh=[DEVICE_SCREEN_HEIGHT]

 The text surrounded by brackets [ ] in the example above, is just a placeholder and should be replaced with values prior to sending the request to AerServ.

 

Ad Request Parameters:


 

DESCRIPTION
EXAMPLE
REQUEST KEY
EXAMPLE VALUE
MOBILE
WEB
IN-APP
DATA
TYPE
Placement ID (PLC) plc - the PLC number sets the width and height 1000308  Required  Required  Integer
Type of Response

key

 3 for JSON Required   Required Integer 
Application Name

appname - encoded

 AerServ Test App N/A   Required String (encoded)
App Store URL siteurl - encoded

 https://play.google.com/store/apps/details?id=com.aerifymedia.jokeapp&hl=en

 N/A   Required String (encoded)
App Bundle ID

bundleid

 com.aerserv.www  N/A   Required String (encoded)
App Domain appdomain  www.aerserv.com  N/A   Required String (encoded)
Application Version

appversion - leave blank if not available

1.0  N/A    Optional String
CacheBuster

cb

 123456789 Required  Required   Integer
Connection Type

network

 type of network - wifi or network  Optional   Optional  String
Do Not Track dnt  0=tracking allowed, 1=do not track   Optional  Required  Boolean
Unhashed Apple IDFA or Android/Google Advertising Id
Note: this field is for the Advertising ID only, do not send the older Android ID through this field. If a request only has the older Android ID, do not send it in the request.  
 adid bbd606b1-32ab-4a1e-b2aa-5771ad804430 N/A   Required  String 
Device ID Type inttype  

1 - Mobile/Tablet

2 - Personal Computer

3 - Connected TV

 Optional    Optional  Integer
Lat lat  33.58   Optional  Required  Float
Long  long  117.73   Optional  Required  Float
Page URL  url http://www.aerserv.com
encode the value
 Required  N/A String (encoded)
IP Address  ip  123.456.78.9  Required  Required  String
Device Make  make  Apple  Required  Required  String
Device Model  model iPhone4   Required  Required  String
Operating System  os  iOS  Required  Required  String
Operating System Version  osv  7.1  Required  Required String 
Device Type type  phone  Optional  Optional  String
User Agent  ua

Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B)

encode the value 
Required   Required  String (encoded)
Location Source Origination of GPS data locationsource  Value: 1 or 2
1 = GPS
2 = Derived from IP  
 Optional  Optional  Integer
Cell Carrier  carrier  Verizon  Optional Optional   String
Device Screen Width  dw  320 Optional   Optional  Integer
Device Screen Height  dh  480  Optional  Optional  Integer
Gender gender male Optional Optional String
Age age 22 Optional Optional Integer
Year of Birth yob 1985 Optional Optional Integer

 

Request Requirements:

    • All values passed in the request to AerServ should be URL encoded
    • All values passed (ie IP, User Agent) need to be from the client and not the server
    • The placeholder text (ie [APP_STORE_URL]) should always be removed from the request.
    • If an optional parameter (such as 'Application Version' for In App) does not have a value then the parameter name should still be sent with a blank value
    • Sending as much data as possible, including the optional parameters, can improve the fill rate
    • A User Agent must be sent in the headers of the request in order for a valid response to be returned
    • If sending an IP through the ad request parameter (i.e. http://ads.aerserv.com/as/?plc=[PLACEMENT]&key=3&ip=xxx.xx.xxx), make sure the same IP value in the ad request parameter is contained in the request headers for the IP

  

A sample In App HTML request with the values inserted would look like the following:

http://ads.aerserv.com/as/?plc=1000308&key=3&appversion=1.0&cb=123456789&network=wifi&dnt=
1&adid=bbd606b1-32ab-4a1e-b2aa-5771ad804430&inttype=1&ip=123.456.78.9&make=Apple&model=iPhone4&
os=iOS&osv=7.1&locationsource=1&type=phone&ua=Mozilla%2F5.0%20
(Linux%3B%20Android%204.0.4%3B%20Galaxy%20Nexus%20Build%2FIMM76B)

 

 

A sample Mobile Web HTML request with the values inserted would look like the following:

http://ads.aerserv.com/as/?plc=1000308&key=3&cb=123456789&inttype=1&ip=123.456.78.9&make=
Apple&model=iPhone4&os=iOS&osv=7.1&type=phone&ua=Mozilla%2F5.0%20
(Linux%3B%20Android%204.0.4%3B%20Galaxy%20Nexus%20Build%2FIMM76B)
 

Ad Response Formats


The response returned from the AerServ server-to-server display/banner API with a key value of '3' will be JSON.

 

An example of a JSON response is below: 

{"size":["320x50"],
"id":["18719911d18a741431f1ac5c16f5930998b4a"], "content":"<a href=\"https://ads.aerserv.com/cl/
?&plc=1000308&iline=1000266&icid=1000270&wp=1000&rid=ba47e47d-9677-468e-8946-640f29c34625&ntid=18
&adsid=1000313&asplcid=1000310&xch=7&rd=http://www.aerserv.com\" target=\"_blank\"><img src=\
"http://production.cdn.aerserv.com/img/1000270.jpg?1400868487\" width=\"320\" height=\"50\"
border=\"0\" />", "tracker" : "http://127.0.0.1/as/ev/?plc=1002620&iline=1001090&icid=1001001
&wp=0&rid=2c1bdec6-f237-4294-b245-20a6b4bfcd13&ntid=18&adsid=1003981&asplcid=1003361&xch=7&pubprice=0
&buyer=Aerify&ad_source_priority=10&ev=1", "creative_id" : "1007352", "ad_source_name" :
"Publisher Ad Source Name", "publisher_cpm" : 3, "impression_events" :
["http://www.example.com/tracker/impression"]}

 

      • The 'size' element in the JSON is the size of the ad unit
      • The 'id' element in the JSON is a unique ID for this ad request
      • The 'content' element in the JSON is the actual banner/display content which can be rendered
      • The 'tracker' element in the JSON is the impression tracking pixel. The publisher needs to fire this URI when the ad markup is delivered to the page or app in order for AerServ to record it as an impression. The publisher can include it in an html <img> tag and append it to the end of the ad 'content'/'markup' code (see example below).
      • The 'creative_id' element in the JSON is the ID for the creative in the ad which can be used to track the creative and report issues with it to AerServ. The value is a string.
      • The 'ad_source_name' element in the JSON is the name of the ad source that provided the ad 
      • The 'publisher_cpm' element in the JSON is the CPM price paid to the publisher for this ad
      • The 'impression_events' element in the JSON is the tracking pixel for when the ad actually renders/displays on the page. If the publisher has the capability, they need to fire this URI when the ad renders/displays on the page or app. This URI should only fire when the ad is actually displayed on the page and not when the ad code is delivered to the page (the tracker element above is to be fired when the ad code is delivered to the page). If the publisher is not able to fire this URI when the ad actually renders/displays, then they can ignore this field. Regardless of whether the publisher has the ability to fire this URL or not they should still fire the 'tracker' element.

  

Testing


When testing the display/banner server-to-server API, PLC 1000308 can be used to return a test house ad to verify your setup is correct and working properly:

http://ads.aerserv.com/as/?plc=1000308&key=3appname=[APP_NAME]&siteurl=[APP_STORE_URL]&appversion
=[APP_VERSION]&cb=[CACHEBUSTER]&network=[NETWORK_CONNECTION]&dnt=[DO_NOT_TRACK]&adid=
[UNHASHED_APPLE_IDFA_OR_GOOGLE_ADVERTISING_ID]&ip=[DEVICE_IP_ADDRESS]&make=[DEVICE_MAKE]
&model=[DEVICE_MODEL]&os=[DEVICE_OS]&osv=[DEVICE_OSV]&type=[DEVICE_TYPE]&ua=[ENCODED_USER_AGENT]
&carrier=[CELL_CARRIER]&locationsource=[LAT_LONG_SOURCE_ORIGINATION]&carrier=[CELL_CARRIER]
&locationsource=[LAT_LONG_SOURCE_ORIGINATION]&carrier=[CELL_CARRIER]&dw=[DEVICE_SCREEN_WIDTH]
&dh=[DEVICE_SCREEN_HEIGHT]

 

Error Responses


If no ad can be found a HTTP 200 response will be returned with empty JSON as follows:

{"error" : "No ads available"}

If the server times out (error code is 408) before an ad can be retrieved, then the following JSON will be returned:

{"error" : "408"} 

 

 

 
Did you know? 
Some AerServ publishers have seen a 795% Higher Fill Rate and 286% Higher Revenue with the AerServ SDK than with an S2S connection. Try the SDK >>

 

This document describes how you can send server-side ad requests for your mobile application or mobile website to retrieve mobile video ad units. The AerServ ad server is accessible via a simple HTTP request with GET parameters, and will return a response a VAST XML ad unit with JSON.

The AerServ Server-to-Server API makes it simple and easy for publishers to connect with our platform and retrieve video ads outside of SDK libraries. To integrate with AerServ through our Server-to-Server API, follow the integration process and technical specifications below.

 

First Steps


    • The first step is to get an aerVideo PLC. This link describes how to obtain one.
    • The next step is to setup a server-side connection to the AerServ API to request and retrieve video ad units using the Test video PLC listed in the 'Testing' section below.

    • Once the server-side connection is setup and you are able to request and retrieve ads you are good to go live. When you go live make sure to switch out the test PLC with the aerVideo PLC you created in the first step.

 

API Overview


The AerServ Server-Server API is designed to be a simple and flexible way to request mobile video ad units for any mobile device. The API accepts simple GET requests, with optional and required parameters in the query string portion of the URL. The parameters must be encoded as key/value pairs using standard HTTP URL-encoding principles.

 

Basic Ad Request


The AerServ server-to-server API endpoint is: http://ads.aerserv.com/as/ 

The basic format of a video server-to-server API request is:

http://ads.aerserv.com/as/?plc=[PLACEMENT]&key=3&appname=[APP_NAME]&siteurl=[APP_STORE_URL]&appversion=[APP_VERSION]&cb=
[CACHEBUSTER]&network=[NETWORK_CONNECTION]&dnt=[DO_NOT_TRACK]&adid=[UNHASHED_APPLE_IDFA_OR_GOOGLE_ADVERTISING_ID]&lat=
[LATITUDE]&long=[LONGITUDE]&ip=[DEVICE_IP_ADDRESS]&make=[DEVICE_MAKE]&model=[DEVICE_MODEL]&os=[DEVICE_OS]&osv=
[DEVICE_OS_VERSION]&type=[DEVICE_TYPE]&ua=[ENCODED_USER_AGENT]&carrier=[CELL_CARRIER]&locationsource=
[LAT_LONG_SOURCE_ORIGINATION]&dw=[DEVICE_SCREEN_WIDTH]&dh=[DEVICE_SCREEN_HEIGHT]&vpw=[VIDEO_PLAYER_WIDTH]
&vph=[VIDEO_PLAYER_HEIGHT]

The text surrounded by brackets [ ] in the example above, is just a placeholder and should be replaced with values prior to sending the request to AerServ.

 

Ad Request Parameters:


 

DESCRIPTION
EXAMPLE
REQUEST KEY
EXAMPLE VALUE
MOBILE
WEB
IN-APP
DATA
TYPE
Placement ID (PLC) plc - the PLC number sets the width and height 1000308  Required  Required  Integer
Type of Response

key

 3 for JSON Required   Required Integer 
Application Name

appname - encoded

 AerServ Test App N/A   Required String (encoded)
App Store URL siteurl - encoded

 https://play.google.com/store/apps/details?id=com.aerifymedia.jokeapp&hl=en

 N/A   Required String (encoded)
App Bundle ID

bundleid

 com.aerserv.www  N/A   Required String (encoded)
App Domain appdomain  www.aerserv.com  N/A   Required String (encoded)
Application Version

appversion - leave blank if not available

1.0  N/A    Optional String
CacheBuster

cb

 123456789 Required  Required   Integer
Connection Type

network

 type of network - wifi or network  Optional   Optional  String
Do Not Track dnt  0=tracking allowed, 1=do not track   Optional  Required  Boolean
Unhashed Apple IDFA or Android/Google Advertising Id
Note: this field is for the Advertising ID only, do not send the older Android ID through this field. If a request only has the older Android ID, do not send it in the request.  
 adid bbd606b1-32ab-4a1e-b2aa-5771ad804430 N/A   Required  String 
Device ID Type inttype  

1 - Mobile/Tablet

2 - Personal Computer

3 - Connected TV

 Optional    Optional  Integer
Lat lat  33.58   Optional  Required  Float
Long  long  117.73   Optional  Required  Float
Page URL  url http://www.aerserv.com
encode the value
 Required  N/A String (encoded)
IP Address  ip  123.456.78.9  Required  Required  String
Device Make  make  Apple  Required  Required  String
Device Model  model iPhone4   Required  Required  String
Operating System  os  iOS  Required  Required  String
Operating System Version  osv  7.1  Required  Required String 
Device Type type  phone  Optional  Optional  String
User Agent  ua

Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B)

encode the value 
Required   Required  String (encoded)
Location Source Origination of GPS Data locationsource  Value: 1 or 2
1 = GPS
2 = Derived from IP  
 Optional  Optional  Integer
Cell Carrier  carrier  Verizon  Optional Optional   String
Device Screen Width  dw  320 Optional   Optional  Integer
Device Screen Height  dh  480  Optional  Optional  Integer
Video Player Width  vpw  320 Optional   Optional  Integer
Video Player Height  vph  480  Optional  Optional  Integer
Gender gender male Optional Optional String
Age age 22 Optional Optional Integer
Year of Birth yob 1985 Optional Optional Integer

  

Request Requirements:

    • All values passed in the request to AerServ should be URL encoded
    • All values passed (ie IP, User Agent) need to be from the client and not the server
    • The placeholder text should always be removed from the request
    • If a parameter (such as 'Application Version' for In App) does not have a value then the parameter name should still be sent with a blank value
    • Sending as much data as possible, including the optional parameters, can improve the fill rate
    • A User Agent must be sent in the headers of the request in order for a valid response to be returned
    • If sending an IP through the ad request parameter (i.e. http://ads.aerserv.com/as/?plc=[PLACEMENT]&key=3&ip=xxx.xx.xxx), make sure the same IP value in the ad request parameter is contained in the request headers for the IP

  

A sample In App request with the values inserted would look like the following:

http://ads.aerserv.com/as/?
plc=1000596&key=3&appname=AerServ%20Test%20App&siteurl=http%3A%2F%2Faerserv.com&bundleid=
com.aerserv.www&appdomain=www.aerserv.com&appversion=1.0&cb=123456789&network=wifi&dnt=1&
adid=bbd606b1-32ab-4a1e-b2aa-5771ad804430&lat=33.58&long=117.73&ip=123.456.78.9&make=
Apple&model=iPhone4&os=iOS&osv=7.1&type=phone&ua=Mozilla%2F5.0%20
(Linux%3B%20Android%204.0.4%3B%20Galaxy%20Nexus%20Build%2FIMM76B)
&carrier=Verizon&locationsource=1

  

A sample Mobile Web request with the values inserted would look like the following:

http://ads.aerserv.com/as/?
plc=1000596&key=3&url=www.aerserv.com&cb=123456789&ip=123.456.78.9&make
=Apple&model=iPhone4&os=iOS&osv=7.1&type=phone&ua=Mozilla%2F5.0%20
(Linux%3B%20Android%204.0.4%3B%20Galaxy%20Nexus%20Build%2FIMM76B)

  

Ad Response Formats


The response returned from the AerServ server-to-server video API with a key value of '3' will be JSON.

 

An example of a JSON response is below: 

{
  "size" : "",
  "id" : "e58b2bbc-9cd0-4c1b-9372-39e9b5c757db",
  "content" : "<!--?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?-->AerServ<![CDATA[null]]><![CDATA[http://debug.aerserv.com/sybok/vast_error?pubid=183&appid=796&plc=1000596&iline=1000565&icid=1000545&wp=3000&rid=e58b2bbc-9cd0-4c1b-9372-39e9b5c757db&ntid=18&adsid=1000650&asplcid=1000613&pubprice=1000&pinned=false&xcid=&erc=[ERRORCODE]]]><![CDATA[http://events.aerserv.com/as/ev/?pubid=183&appid=796&plc=1000596&iline=1000565&icid=1000545&wp=3000&rid=e58b2bbc-9cd0-4c1b-9372-39e9b5c757db&ntid=18&adsid=1000650&asplcid=1000613&pubprice=1000&pinned=false&xcid=&ev=25&campaignid=1209&vc_user_id=236A005B-700F-4889-B9CE-999EAB2B605P]]><![CDATA[http://events.aerserv.com/as/ev/?pubid=183&appid=796&plc=1000596&iline=1000565&icid=1000545&wp=3000&rid=e58b2bbc-9cd0-4c1b-9372-39e9b5c757db&ntid=18&adsid=1000650&asplcid=1000613&pubprice=1000&pinned=false&xcid=&ev=18&campaignid=1209&vc_user_id=236A005B-700F-4889-B9CE-999EAB2B605P]]><![CDATA[http://sync.tidaltv.com/genericusersync.ashx?dpid=asrev]]><![CDATA[https://adrta.com/i?clid=ars&paid=ars&dvid=v&caid=1209&plid=1000545&publisherId=183&kv2=&kv3=236A005B-700F-4889-B9CE-999EAB2B605P&kv4=184.189.200.163&kv11=e58b2bbc-9cd0-4c1b-9372-39e9b5c757db&kv1=320x480&pricePaid=3000&kv12=1000596&kv5=2&kv23=&kv18=&kv21=&kv24=Mobile_App]]>00:00:15.015<![CDATA[http://events.aerserv.com/as/ev/?pubid=183&appid=796&plc=1000596&iline=1000565&icid=1000545&wp=3000&rid=e58b2bbc-9cd0-4c1b-9372-39e9b5c757db&ntid=18&adsid=1000650&asplcid=1000613&pubprice=1000&pinned=false&xcid=&ev=3&campaignid=1209&vc_user_id=236A005B-700F-4889-B9CE-999EAB2B605P]]><![CDATA[http://events.aerserv.com/as/ev/?pubid=183&appid=796&plc=1000596&iline=1000565&icid=1000545&wp=3000&rid=e58b2bbc-9cd0-4c1b-9372-39e9b5c757db&ntid=18&adsid=1000650&asplcid=1000613&pubprice=1000&pinned=false&xcid=&ev=2&campaignid=1209&vc_user_id=236A005B-700F-4889-B9CE-999EAB2B605P]]><![CDATA[http://events.aerserv.com/as/ev/?pubid=183&appid=796&plc=1000596&iline=1000565&icid=1000545&wp=3000&rid=e58b2bbc-9cd0-4c1b-9372-39e9b5c757db&ntid=18&adsid=1000650&asplcid=1000613&pubprice=1000&pinned=false&xcid=&ev=5&campaignid=1209&vc_user_id=236A005B-700F-4889-B9CE-999EAB2B605P]]><![CDATA[http://events.aerserv.com/as/ev/?pubid=183&appid=796&plc=1000596&iline=1000565&icid=1000545&wp=3000&rid=e58b2bbc-9cd0-4c1b-9372-39e9b5c757db&ntid=18&adsid=1000650&asplcid=1000613&pubprice=1000&pinned=false&xcid=&ev=4&campaignid=1209&vc_user_id=236A005B-700F-4889-B9CE-999EAB2B605P]]><![CDATA[http://events.aerserv.com/as/ev/?pubid=183&appid=796&plc=1000596&iline=1000565&icid=1000545&wp=3000&rid=e58b2bbc-9cd0-4c1b-9372-39e9b5c757db&ntid=18&adsid=1000650&asplcid=1000613&pubprice=1000&pinned=false&xcid=&ev=6&campaignid=1209&vc_user_id=236A005B-700F-4889-B9CE-999EAB2B605P]]><![CDATA[http://www.aerserv.com]]><![CDATA[http://events.aerserv.com/as/ev/?pubid=183&appid=796&plc=1000596&iline=1000565&icid=1000545&wp=3000&rid=e58b2bbc-9cd0-4c1b-9372-39e9b5c757db&ntid=18&adsid=1000650&asplcid=1000613&pubprice=1000&pinned=false&xcid=&ev=7&campaignid=1209&vc_user_id=236A005B-700F-4889-B9CE-999EAB2B605P]]><![CDATA[http://d3tplke66d0j4g.cloudfront.net/video/1000545.mp4]]><![CDATA[aerMarket network for PLC 1000596]]></AerServAdSource></Extension><Extension type=\"Value\"><AerServPublisherPrice price=\"0.001\" pricingModel=\"per\"/></Extension></Extensions></InLine></Ad></VAST>",
  "tracker" : "http://events.aerserv.com/as/ev/?pubid=183&appid=796&plc=1000596&iline=1000565&icid=1000545&wp=3000&rid=e58b2bbc-9cd0-4c1b-9372-39e9b5c757db&ntid=18&adsid=1000650&asplcid=1000613&pubprice=1000&pinned=false&xcid=&ev=22&campaignid=1209&vc_user_id=236A005B-700F-4889-B9CE-999EAB2B605P",
  "creative_id" : "1000545",
  "ad_source_name" : "Publisher Ad Source Name",
  "publisher_cpm" : 5,
  "impression_events" : [""]
}

 

      • The 'size' element in the JSON is the size of the ad unit - it may be blank
      • The 'id' element in the JSON is a unique ID for this ad request
      • The 'content' element in the JSON is the actual video VAST XML to be sent to the video player
      • The 'tracker' element in the JSON is impression tracking pixel. This tracking pixel is already contained within the VAST XML so you do not need to use this field.
      • The 'creative_id' element in the JSON is the ID for the creative in the ad which can be used to track the creative and report issues with it to Aerserv. The value is a string.
      • The 'ad_source_name' element in the JSON is the name of the ad source that provided the ad 
      • The 'publisher_cpm' element in the JSON is the CPM price paid to the publisher for this ad
      • The 'impression_events' element in the JSON is the tracking pixel for when the ad actually renders/displays on the page. This field can be ignored for video.

  

Testing


When testing the video server-to-server API, PLC 1000596 can be used to return a test house ad to verify your setup is correct and working properly:

http://ads.aerserv.com/as/?plc=1000596&key=3&appname=[APP_NAME]&siteurl=[APP_STORE_URL]&appversion=[APP_VERSION]&cb=
[CACHEBUSTER]&network=[NETWORK_CONNECTION]&dnt=[DO_NOT_TRACK]&adid=[UNHASHED_APPLE_IDFA_OR_GOOGLE_ADVERTISING_ID]&ip=
[DEVICE_IP_ADDRESS]&make=[DEVICE_MAKE]&model=[DEVICE_MODEL]&os=[DEVICE_OS]&osv=[DEVICE_OSV]&type=[DEVICE_TYPE]&ua=
[ENCODED_USER_AGENT]&carrier=[CELL_CARRIER]&locationsource=[LAT_LONG_SOURCE_ORIGINATION]&carrier=[CELL_CARRIER]&locationsource=
[LAT_LONG_SOURCE_ORIGINATION]&dw=[DEVICE_SCREEN_WIDTH]&dh=[DEVICE_SCREEN_HEIGHT]

 

Error Responses


If no ad can be found a HTTP 200 response will be returned with empty JSON as follows:

{"error" : "No ads available"}

If the server times out (error code is 408) before an ad can be retrieved, then the following JSON will be returned:

{"error" : "408"} 

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments