Actions

PublicAPI

From SVG Media

Contents

Overview

Ecosystem.png
  • Monetize your apps with new NativeTarget Public API
  • Flexibility to choose various Ad Types- E-commerce Product Listing Ads and App Install ads
  • Flexibility to search product offers based on context , category and price
  • Best Ad served through Ad rankign engine "Equation", which generates highest eCPM for the publisher
  • Design your own Ad format based on your Apps ecosystem, font , layout and design

Newlogo.png

  • Contextual Ad serving
  • Product Listing Ads
  • Optimization Engine- "Equation"


Monetize

How monetization works ?

Integrate-SDK.png
Step 1

Register your app with TyrooCentral and manage Ad rules,Placements from the interface.

Decide-on-ad-platform.png
Step 2

Decide the Ad type ( Products & App Install) and Campaigns

User-views-the-ad.png
Step 3

Ads based on optimization algorithm and your preferences is served to the user. User views the Ad ,clicks on it and perform actions like Purchase or install.

You-earn-revenue.png
Step 4

Track your earnings from www.publisher.tyroocentral.com interface real time or integrate postbacks if you want to track it in your own platform.

Steps to Integrate

STEP 1:Register App on TyrooCentral

1.Go to TyrooCentral.com or click here
2.Login with your TyrooCentral username and password or Create Account
LoginSignup1.JPG
3.Click on Mobile Tab and click on the “Register New App” tab.
4.png
4.Fill app details and save.
5.png


Rules and Filters

When a publisher registers on the platform a default rule that contains all approved campaigns will be applied to that rule. The number of offers that will be returned is configured at rule level by filling appropriate value in the field "No of Ads".

One can also create custom rules to select the type (product/install) and also choose the particular offers. The custom rules will take priority over the default rule.


How to create a new Rule

A new rule can be created by clicking on the "Add Rule" button in the Manage Ad Rules tab.


Public API rule.JPG


On the displayed pop up, preferences can be chosen like whether you want to serve Install Ads, Product Listing Ads or both.


When Install Ad is selected , you can choose the following

  • Campaigns for which you want to serve the Ads
  • Campaign category
  • Language in which you want to serve the Ads


Install rule.JPG


When Product Ad is selected, you can choose the following

  • Campaigns for which you want to serve the Ads
  • Categories for which you want to serve the Ads.There are five level of categories available for selection. Let's say if you choose "Apparels & Accessories", then in the category level 2 dropdown, you can choose the next level in "Apparels & Accessories" category and similarly for the other category levels. In case nothing is selected , everything available in the drop down will be considered as selected.

Product rule.JPG




Activate/Deactivate the Rule

A rule can be activated or deactivated , by selecting the rule and clicking on the "Activate Rule" or "Deactivate Rule " button.


Activate Rule


Activaterule.PNG


Deactivate Rule


Deactivaterule.PNG



How to apply or remove a rule from an App

A rule can be applied or removed from Apps by selecting the rule and clicking on the "Apply to all Apps" or "Remove from all Apps button "


Apply to All Apps


Applytoapps.PNG


Remove from all Apps


Removeapps.PNG





View the Rules filters

View filters.PNG




View the Apps on which the the rule is applied

Viewapps.PNG


Filters

Using these filters you can filter the activated and deactivated rules.



Filter.png


Hashcode Generation for API Call

Hashcode is required for making any API call. Without proper hashcode , no response will be given by the API.The hashcode can be generated by clicking on the button "Generate Hashcode" as shown below. The generated hashcode has to be used while making a request from your side shown in section-


HASH1.jpg


HASH2.jpg


API Integration Process

How to call API

Below table list downs the various parameters that can be used while making a request. Some of the parameters are mandatory and some are recommended. However it is advised that even the recommended parameters should be filled while making a request.

Node Sub Node Sub Sub Node Data Type Mandatory/Recommended Applicable PLA/Instal Ads Description
ads Array List Contains the description about ads required through api
adViewId: String Mandatoryl App Install Get the id from Tyroo account manager
excludedCreatives: Array Not required App Install This contains the list of banner id's that you can exclude for App install Ads. If let's say the response is returning banner1,banner2,banner3 and you want to exclude a certain banner, then you can list the banner id for exclusion
sendRepeat: Boolean FALSE as mandatory for your case
size: String Mandatory Both Fill the number of Ads that you want in return. However this cannot exceed the number that has been applied at the "Rule Level- No of Ads". Please check the section -How to create_a_new_Rule for more information on No of Ads at Rule level.
startIndex: String Not required Both 0 (default for you). Let's say you have filled value 20 in the node 'size'. startIndex 0 means, the top 20 products will be returned. If the startIndex is 5, it means that product starting from 5th rank till 25th will be returned, total making it as 20 Ads
apiVersion: String Mandatory Both 3 (default for you)
deviceLanguage: String Recommended App Install language of the device if api is called from application only, Blank if api call is made from server
deviceX: String Not required App Install used for only app install ads . Width of the device if api call is made from application , 480 if made from server
deviceY: String Not required App Install used for only app install ads . Length of the device if api call is made from application , 782 if made from server
imageSizeId String Not required App Install Valid only for App Install offers. This needs to be filled in case you want the App install creative in certain specific sizes. For the values and the corresponding image size, please check this section Image sizes. In case you have filled values in the node "deviceX" and "deviceY", and imageSizeId as well, then imageSizeId will have preference
hashCode: String Mandatory Both This is a unique code for your authentication. Can get this from tyroocentral platform . Please check section "How to Create Rule" for more information on how to generate hashcode
isMobile: String Mandatory Both Value to be filled as 'true'
requestSource: String Mandatory Both Value should contain PUBLIC
gaid String Recommended Both Google Advertising identifier needs to be passed in this field for Android devices. This is mandatory for specific premium PLA campaigns. List can be found from the Publisher Account Manager. Even for other campaigns it is recommended, since the presence of this value leads to accuracy in validation and conversion attribution
idfa String Recommended Both Apple identifier needs to be passed in this field for iOS devices. This is mandatory for specific premium PLA campaigns. List can be found from the Publisher Account Manager. Even for other campaigns it is recommended, since the presence of this value leads to accuracy in validation and conversion attribution
androidId String Recommended Both Android id of device. This is mandatory for specific premium PLA campaigns whenever GAID is not passed. List can be found from the Publisher Account Manager. Even for other campaigns it is recommended, since the presence of this value leads to accuracy in validation and conversion attribution
contetxualTags String Not required Product Listing Ads Applicable only for Product Listing Ads. Free text can be passed like "Black formal shoes" and the response will return black formal shoes from across ecommerce players that has higher probability of being sold and generate high eCPM
minPrice String Not required Product Listing Ads This is the minimum price range for the SKU's that will be return products above or equal to the price. If nothing is filled then in that case , there is no lower bound for the SKU price.
maxPrice String Not required Product Listing Ads This is the maximum price range for the SKU's that will return product inclusive of the price point. If the value filled is 1000, then the products up to 1000 will be returned
currencyCode String Not required App Install Applicable only for App install offers. Currently only USD and INR is supported
affId String Recommended Both Affiliate id is the user id of the affiliate. Your integration head will provide you this id during integration.

Sample API request

For PLA

Get Method


http://api.tyroo.com/www/api/v3/API.php?requestParams={"ads":[{"adViewId":"1344","isAdWall":"false","sendRepeat":"false","size":"10","startIndex":"0"}],"apiVersion":"3","deviceLanguage":"en","deviceX":"1440","deviceY":"2392","directImageUrl":"1","gaid":"6a66b4d4-1210-46c9-9e80-02ff91e4abc8","androidId":"92070685b96bdaed","hashCode":"QEfsvw8LSjssGSpSPNb+SissH0v890dODTkiTAY+QO33OxEW","isMobile":"true","packageName":"009","contextualTags":"","subid1":"null","subid2":"null","subid3":"null","subid4":"null","subid5":"null","dynamicPlacement":"false","requestSource":"PUBLIC"}


For Install Ads

GET METHOD

http://api.tyroocentral.com/www/api/v3/API.php?requestParams={"ads":[{"sendRepeat":false,"size":"50","startIndex": "0" } ], "apiVersion": "3", "deviceLanguage": "en", "hashCode": "QEfsv0xCUzsmUwsPDLjOPkRASEOx6EdMC0EYWBQOEOvFOAtFQji6uQwRQzoUEjtBE7rxEDgWEQ24vg9EEwIURUBGPsG","isMobile":"true","requestSource":"PUBLIC"}

Making API request

Please use GET method to make API request (given as sample above). This helps us to track and route traffic well and minimizes delay in giving response.

API Response Parameters

Below table list downs the response parameters.Maximum of 200 products can be returned at one time.It is recommended that the API implementation is done client to server and not server to server, since the offers are returned based on users behavior and actions on past offers. Server to server call gives no information about user and hence the recommendations become generic which leads to poor clickthrough rates and conversions.


Nodes Sub Nodes Sub Sub Nodes Data App Install/Product Listing Ads Description
success Boolean Both true if the response contains ads , false otherwise
updatelist List Contains multiple nodes for different type of ads
imageattributes List List for various image based attributes
type String Both Type of the image either small or large
imageurl String Both Primary Image URL. Mandatory to use this url as the image url for the Ad
imageurl_2 String Product Listing Ads Deprecated, not to be used
imageurl_3 String Product Listing Ads Deprecated, not to be used
imageurl_4 String Product Listing Ads Deprecated, not to be used
imageurl_5 String Product Listing Ads Deprecated, not to be used
height integer App Install Height of the image (0 when not specified)
width integer App Install Width of the image (0 when not specified)
adwallappattributes List List for various app install based attributes
title String App Install Title for the advertisement
subtitle String App Install Subtitle for the advertisement
actiontype String App Install Action type for the advertisement ( click in general)
rating integer App Install Rating of the application
download integer App Install Downloads of the application
adwallproductattributes List List for various app product based attributes
name String Product Listing Ads Title of the product/SKU
actualprice String Product Listing Ads Actual price/MRP of the product
specialprice String Product Listing Ads Special price of the product after discount, if available, else it contains the MRP/actual price
discountpercent String Product Listing Ads Discount percentage available on the product. Lets say MRP is 1000 and discount percentage is 10 %, then this field will have value equal to 10
currency String Product Listing Ads ISO currency code for the product price
brand String Product Listing Ads Brand image url of the advertiser- Size 166 by 44 uo tp 20 KB
actiontype String Product Listing Ads Action type for the advertisement ( click in general)
title String Product Listing Ads Advertisement generic title
description String Product Listing Ads Description for the product/sku
cod String Product Listing Ads Cash on Delivery status for the SKU
productBrand String Product Listing Ads Brand of the product like, Nike, Puma etc.
gender String Product Listing Ads Gender for which the product is suitable, like Male, female
offers String Product Listing Ads Offers applicable on the product, any special offer available for the Product/SKU
emi String Product Listing Ads Available emi's on the product
deliveryTime String Product Listing Ads Delivery time for the product
productid String Product Listing Ads Product/SKU id of the product
agegroup String Product Listing Ads Age group for which the product/sku is suitable
color String Product Listing Ads Color of the product/sku
size String Product Listing Ads Size of the SKU/Product like Small, Medium, Large
likes String Product Listing Ads No of likes on the product
ratings String Product Listing Ads Rating of the product
cashback String Product Listing Ads Cashback available on the product/sku
placementid String Deprecated
adwallid String Deprecated
isWebView String Deprecated
htmlCode String Deprecated
bannerid String Both Unique id for the ad/creative id
offertype String Both Value contains 'App' for app install and 'product' for product ads
refreshtime integer Deprecated
targeturl String Both Click url to be used in case of PLA campaigns in generarl, irrespective of user is sent to App or m-website. Click url to be used in case of App install campaigns
targetUrlSDKappInst String Product Listing Ads Click url to be used in case app is installed on the users device . Only for PLA campaigns when traffic is sent inside App
targetUrlSDKappNotInst String Product Listing Ads Click url to be used in case app is not installed on the users device . Only for PLA campaigns when traffic is sent inside App
isCardView String Product Listing Ads Card view applicable for campaign or not. Card view gives more detailed information about the product/sku
productid String Product Listing Ads Unique id for the product
vendor String Product Listing Ads Advertiser name like Flipkart, Amazon
campaignname String Both Name of the campaign
campaignid integer Both Unique id for the campaign
pricing String App Install Payout to the publisher. Only for App install campaigns
adtype String Product Listing Ads AdType of the product (PLA for products)
applicationname String Both Application name of the advertiser
packagename String Both Package name of the application
os String App Install Application's os used only in case of app install
osInc String Product Listing Ads Os for which the campaign is valid. In case value returned is "null", it means no OS targeting is applicable
osExc String Product Listing Ads OS for which the campaign is invalid.In case value returned is "null", it means no OS targeting is applicable
category String Product Listing Ads Category of the campaign
startdate String Both Start date for the campaign
enddate String Both End date of the campaign
geoInc String Both Country,city, region in which the campaign is valid.In case value returned is "null", it means no geo targeting is applicable
geoExc String Both Country, city, region in which the campaign is invalid.In case value returned is "null", it means no geo targeting is applicable
trafficType String App Install Whether the campaign is (Incent,Non incent ,Incent / Non incent)
dailyGoal String Both Daily conversion goals
monthlyGoal String Both Monthly conversion goals
yearlyGoal String Both Yearly conversion goals
osVersion String Both Deprecated
user_share integer App Install Only for Incent App Install Offers

API JSON Sample Responses

The offertype will be product (for e-commerce product ads) OR app (for app install campaigns). This will help the publisher to distinguish between the ad types


Product Listing Ads Sample JSON Response


{ success: true,


updatelist: [

{


imageattributes: {

type: "small",

imageurl: "http://srv.tyroodr.com/www/delivery/imp_api.php?bannerid=17640394&affid=15927&productid=MACE7H9QVZGD9GBF&scale=0&requestSource=PUBLIC&requestId=57175e6678a16146114928657175e6678abe",

height: 0,

width: 0

},


adwallappattributes: {

title: "",

subtitle: "",

actiontype: ""

},


adwallproductattributes: {

name: "KolorEdge Back Cover + Screen Guard + 8GB Pen Drive For Asus Zenfone 5 A500CG - Sky Blue Combo Set",

actualprice: "925",

specialprice: "499",

discountpercent: "46",

currency: "INR",

brand: "http://rep.tyroodr.com/feedFolder/brandimages/Flipkart_flipkart_mobile_accessories.png",

actiontype: "click",

title: "flipkart_flipkart_mobile_accessories",

description: "Hard Plastic case with a firm grip, perfect fit design. Protect from impact, shock and scratches. Lightweight and durable. Easy to install and remove, durable & protects from accidental bumps. Shields your phone against daily wear and tear such as scratches and bumps.Its a Matte Finish case and have Smooth Feeling in Hands. Made from High Quality Polycarbonate.Precisely engineered includes custom cut-outs to fit your phone. Plug your charger cable or headset without removing the case. Easy installation just snap on your device without any tools. Very easy to take off no tools needed. Comes with the combo of Back cover , screen guard & 8gb Sandisk pen drive", cod: "true",

productBrand: "KolorEdge",

gender: "",

offers: "",

emi: "1",

deliveryTime: "",

productid: "MACE7H9QVZGD9GBF",

agegroup: "",

color: "[Sky Blue]",

size: "",

likes: "",

ratings: "",

cashback: ""

},

placementid: "smartAdWall",

adwallid: "9296",

isWebView: "false",

htmlCode: "",

bannerid: "17640394",

offertype: "product",

refreshtime: -1,

targeturl: "http://srv.tyroodr.com/www/delivery/ckt.php?bannerid=17640394&affid=15927&subid1=&subid2=&subid3=&subid4=&subid5=&productid=MACE7H9QVZGD9GBF&optionalParams=&requestId=57175e6678a16146114928657175e6678abe&requestSource=PUBLIC&ad_group_id=-15927&gaId=&IDFA=&dest=http://dl.flipkart.com/dl/koloredge-back-cover-screen-guard-8gb-pen-drive-asus-zenfone-5-a500cg-sky-blue-combo-set/p/itme7h9qwb2hrg5z?pid=MACE7H9QVZGD9GBF&affid=svgmedia&affExtParam1=15927%3B%%trackerId%%%3B%%cookieId%%%3B%%subId1%%%3B%%subId2%%%3B%%subId3%%%3B%%subId4%%%3B%%subId5%%%3B&affExtParam2=%%cookieId%%",

targetUrlSDKappInst: "http://srv.tyroodr.com/www/delivery/ckt.php?bannerid=17640394&affid=15927&subid1=&subid2=&subid3=&subid4=&subid5=&productid=MACE7H9QVZGD9GBF&optionalParams=&requestId=57175e6678a16146114928657175e6678abe&requestSource=PUBLIC&ad_group_id=-15927&gaId=&IDFA=&dest=http://dl.flipkart.com/dl/koloredge-back-cover-screen-guard-8gb-pen-drive-asus-zenfone-5-a500cg-sky-blue-combo-set/p/itme7h9qwb2hrg5z?pid=MACE7H9QVZGD9GBF&affid=svgmedia&affExtParam1=15927%3B%%trackerId%%%3B%%cookieId%%%3B%%subId1%%%3B%%subId2%%%3B%%subId3%%%3B%%subId4%%%3B%%subId5%%%3B&affExtParam2=%%cookieId%%",

targetUrlSDKappNotInst: "http://srv.tyroodr.com/www/delivery/ckt.php?bannerid=17640394&affid=15927&subid1=&subid2=&subid3=&subid4=&subid5=&productid=MACE7H9QVZGD9GBF&optionalParams=&requestId=57175e6678a16146114928657175e6678abe&requestSource=PUBLIC&ad_group_id=-15927&gaId=&IDFA=&dest=http://dl.flipkart.com/dl/koloredge-back-cover-screen-guard-8gb-pen-drive-asus-zenfone-5-a500cg-sky-blue-combo-set/p/itme7h9qwb2hrg5z?pid=MACE7H9QVZGD9GBF&affid=svgmedia&affExtParam1=15927%3B%%trackerId%%%3B%%cookieId%%%3B%%subId1%%%3B%%subId2%%%3B%%subId3%%%3B%%subId4%%%3B%%subId5%%%3B&affExtParam2=%%cookieId%%",

isCardView: 1,

productid: "MACE7H9QVZGD9GBF",

vendor: "flipkart com",

campaignname: "Flipkart Native PLA",

campaignid: "5149",

pricing: null,

adtype: "PLA",

applicationname: null,

packagename: null,

os: "Both",

osInc: null,

osExc: null,

category: "Fashion / Apparel / jewellery ecommerce",

startdate: "2015-02-26 18:30:00",

enddate: null,

geoInc: "IN",

geoExc: null,

trafficType: "NULL",

dailyGoal: "0",

monthlyGoal: "0",

yearlyGoal: "-1",

osVersion: null

},


}

App Install JSON Response

{

 "placementid": "adwall",
 "adwallid": "5457",
 "imageattributes": {
   "type": "small",
   "imageurl": "http:\/\/staging.tyroocentral.com\/www\/delivery\/avw.php?zoneid=5457&bannerid=17604454&groupid=2081&deviceX=768&deviceY=1184&isMobile=true&appid=&type=small&cb=INSERT_RANDOM_NUMBER_HERE&mobility=1ab2"
 },
 "adwallappattributes": {
   "title": "Jabong.com",
   "subtitle": "Experience the true joy of shopping with the new Jabong App",
   "actiontype": "click"
 },
 "bannerid": "17604454",
 "refreshtime": -1,
 "targeturl": "http:\/\/staging.tyroocentral.com\/www\/delivery\/ckt.php?bannerid=17604454&affid=1907&subid1=&subid2=&subid3=&subid4=&subid5=&optionalParams=",
 "vendor": "NewAdvertiser",
 "campaignname": "NewAdvertiser - Default Campaign",
 "campaignid": "990",
 "pricing": "INR 17",
 "adtype": "App",
 "applicationname": null,
 "packagename": null,
 "os": "Android",
 "category": "Internet",
 "startdate": "2014-08-19 00:00:00",
 "enddate": "2034-08-19 00:00:00",
 "adwallproductattributes": {
   "name": "",
   "actualprice": "",
   "specialprice": "",
   "discountpercent": "",
   "currency": "",
   "brand": "",
   "actiontype": "",
   "title": ""
 },
 "isWebView": "false",
 "htmlcode": "",
 "offertype": "app",
 "geoInc": "",          
 "geoExc": "",         
 "trafficType": "Non-Incent",  
 "dailyGoal": "0",          
 "monthlyGoal": "0",      
 "yearlyGoal": "-1",      
 "osVersion": ""       

}


Contextual Ad serving through API

This API can be used for contextual Ad serving. While making the API request once can fill free text in the request param- contextualTags . For example one can fill "Black Formal Shoes " and the API will return the best Black Formal Shoes across e-retail players, that can generate the highest revenue for you. Complex processing happens in backend using the engine "Euqation" to recommend the best product matching the given context.

One can fill the minimum and the maximum price range in which he want the products. If anyone wants to return product in the range of 100 to 200, then he can fill "100" in minPrice and "200" in maxPrice.


How to make API request for different Placements

There are certain cases , when different API request are to be made for getting response for three different placements inside the App for Ad serving. In this case little modification needs to be made in the requestParams.

Some additional steps needs to be done for this

1. Register the App www.tyroocentral.com

2. Create a Placement Id and attach the placement to the App and use the placement id in the adViewId field of requestParams.


Below requestParams needs to be passed for different different placement ids.


GET METHOD

http://api.tyroocentral.com/www/api/v3/API.php?requestParams={ "ads": [ { "adViewId": "797",

     "sendRepeat": false,     
     "size": "50",      
    "startIndex": "0"     }   ],
    "apiVersion": "3",  
   "deviceLanguage": "en",  
   "hashCode": "QEfsvwkYDw3fSj9WFPrvPkw+Uzz2+RhAQjkYUk1GPPPzSlBSUzzw+AZCTgQcTQY+QO33OxEQGAe6", 
   "isMobile": "true", 
  "packageName":"com.tyroocentral.demo3", 
  "requestSource": "SDK" 

}

List of Image sizes for App Install Ads

Creative Type Image Size Id Image Width Image Height
appicon 1 144 144
appicon 2 72 72
appicon 3 54 54
appicon 4 36 36
appicon 5 50 50
banner 6 640 100
banner 7 160 25
banner 8 240 38
banner 9 320 50
interstitial 10 640 960
interstitial 11 160 240
interstitial 12 240 360
interstitial 13 320 480

Appendix

refreshtime - field currently inactive

geoInc - blank when no Geo restrictions

geoExc - blank when no Geo restrictions

dailyGoal - 0: No goal set

monthlyGoal - 0: No goal set

yearlyGoal - -1: No goal set

osVersion - field currently inactive

Adtype - App : App install campaign ; Product - Product purchase campaign

packagename - App package name