# S2S API
# Integration Process
- To create an account, get in touch with your account manager.
- Once you have an account, our system will assign you with the following: sid, token, app_id, adslot_id.
- Please refer to the documentation below for the relevant integration method.
# API Request URL
- Testing URL:
https://use.xyz.svr-algorix.com/rtb/sa?sid=30012&token=10f0e186e95b3ee597804f65831e5359
- SG Endpoint URL:
https://apac.xyz.svr-algorix.com/rtb/sa?sid={YOUR_SID}&token={YOUR_TOKEN}
- US Endpoint URL:
https://use.xyz.svr-algorix.com/rtb/sa?sid={YOUR_SID}&token={YOUR_TOKEN}
- EUC Endpoint URL:
https://euc.xyz.svr-algorix.com/rtb/sa?sid={YOUR_SID}&token={YOUR_TOKEN}
# API Request Method
- Request Method: POST
- Header: Content-Type Value: application/json
# API Request Parameters
Parent Object | Object / Parameter | Type | Required | Description |
---|---|---|---|---|
id | string | Yes | Publisher request id | |
app | object | Yes | Object APP | |
app | app_id | string | Yes | APP ID, system assigned. |
app | app_bundle_id | string | Yes | A platform-specific application identifier intended to be unique to the app. com.bestai.scannerlite (for Android) 382201985 (for iOS) 12 (Roku store id, eg. Netflix) |
app | app_name | string | Yes | app name. |
app | store_url | string | Recommend | app store url. |
app | app_category | string | Recommend | String of IAB content categories that describe the current page or view of the app. Refer to list IAB Category Type |
site | object | No | Details via a Site object about the publisher’s website. | |
site | id | string | Yes | Site ID, system assigned. |
site | name | string | Yes | Site name. |
site | domain | string | Yes | Domain of the site (e.g., “algorix.co”). |
site | cat | string array | No | Array of IAB content categories of the site. Refer to list IAB Category Type |
site | sectioncat | string array | No | Array of IAB content categories that describe the current section of the site. Refer to list IAB Category Type |
site | pagecat | string array | No | Array of IAB content categories that describe the current page or view of the site. Refer to list IAB Category Type |
site | page | string | No | URL of the page where the impression will be shown. |
site | ref | string | No | Referrer URL that caused navigation to the current page. |
site | search | string | No | Search string that caused navigation to the current page. |
site | mobile | integer | No | Indicates if the site has been programmed to optimize layout when viewed on mobile devices, where 0 = no, 1 = yes. |
site | privacypolicy | integer | No | Indicates if the site has a privacy policy, where 0 = no, 1 = yes. |
site | keywords | string | No | Comma separated list of keywords about the site. |
adslot | object | Yes | Object Adslot | |
adslot | adslot_id | string | Yes | Adslot id, sys tem assigned. |
adslot | instl | int | Yes | 1 = the ad is interstitial or full screen, 0 = not interstitial. |
adslot | banner | object | No | Object Banner. |
adslot.banner | width | int | Yes | Exact width in device independent pixels. |
adslot.banner | height | int | Yes | Exact height in device independent pixels. |
adslot.banner | position | int | Yes | Ad position on screen. Refer to list Position |
adslot.banner | api | int array | Yes | List of supported API frameworks for this impression. Refer to List API Frameworks |
adslot.banner | battr | int array | Yes | Blocked creative attributes. Refer to List Creative Attributes |
adslot.banner | mimes | string array | Yes | Content MIME types supported e.g. ["image/jpeg"] |
adslot | native | object | No | Object Native. |
adslot.native | assets | array | Yes | Array assets for all you needed to generate the ad. Including Object title, Object img and Object data. |
adslot.native.assets | id | int | Yes | The id of asset for sorting all assets. which is marked by yourself. |
adslot.native.assets | required | int | Yes | Marking whether the asset you requested is required or not. where “1”= yes, “0” = no. |
adslot.native.assets | title | object | No | Object Title |
adslot.native.assets.title | len | int | No | The max length of title. |
adslot.native.assets | img | object | No | Object Img. |
adslot.native.assets.img | type | int | Yes | The type of image. where “1” = icon, “2” = logo, “3” = poster, “0” = known to be other. |
adslot.native.assets.img | width | int | Yes | The width of image. |
adslot.native.assets.img | height | int | Yes | The height of image. |
adslot.native.assets | data | object | No | Object data. The description of ad or button. |
adslot.native.assets.data | type | int | Yes | Data categories. Refer to list Assets Data Type |
adslot.native.assets.data | len | int | Yes | The max length of data. |
adslot | video | object | No | Object video |
adslot.video | mimes | string array | Yes | Content MIME types supported ( e.g. ["video/mp4"]) |
adslot.video | minduration | int | Recommend | Minimum video ad duration in seconds. |
adslot.video | maxduration | int | Recommend | Maximum video ad duration in seconds. |
adslot.video | protocols | int array | Yes | Array of supported video protocols. Refer to list Protocols |
adslot.video | w | int | Yes | Width of the video player in device independent pixels (DIPS). |
adslot.video | h | int | Yes | Height of the video player in device independent pixels (DIPS). |
adslot.video | start delay | int | Yes | Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. Refer to listStart Delay |
adslot.video | placement | int | Yes | Placement type for the impression. / 1 in-Stream 2 In-Banner 3 In-Article 4 In-Feed 5 Interstitial/Slider/Floating |
adslot.video | linearity | int | Yes | Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed. Refer to list Linearity |
adslot.video | skip | int | Yes | Indicates if the player will allow the video to be skipped,where 0 = no, 1 = yes. |
adslot.video | skipmin | int | Recommend | Videos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable. |
adslot.video | skipafter | int | Recommend | Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable. |
adslot.video | battr | int array | Yes | Blocked creative attributes. Creative Attributes |
adslot.video | minbirate | int | Recommend | Minimum bit rate in Kbps. |
adslot.video | maxbirate | int | Recommend | Maximum bit rate in Kbps. |
adslot.video | boxingallowed | int | Recommend | Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed, where 0 = no, 1 = yes. |
adslot.video | playbackmethod | int array | Yes | Playback methods that may be in use. If none are specified,any method may be used. Refer to List Playback Methods |
adslot.video | playbackend | int | Yes | The event that causes playback to end. Refer to List Playbackend |
adslot.video | pos | int | Yes | Ad position on screen. Refer to ListPosition |
adslot.video | companionad | Object array | Recommend | Array of Banner objects if companion ads are available |
adslot.video | companiontype | int array | Recommend | Supported VAST companion ad types. Refer to List Companion Types |
adslot.video | api | int array | Yes | List of supported API frameworks for this impression. Refer to List API Frameworks |
adslot.video | ext | Object | Yes | Object Ext |
adslot.video.ext | rewarded | bool | Yes | true = rewarded video false = other videos |
user | object | Recommend | Object User | |
user | user_id | string | Yes | The userid defined by the publisher which must uniquely identify a user. |
user | ip | string | Yes | IPv4 address closest to device. |
user | gender | int | Recommend | Gender, where “1” = male, “2” = female,“0” = known to be other. |
user | ext | Object | Recommend | Ext Object |
user.ext | consent | string | Recommend | if gdpr = 1, this string gives consent information of various vendors |
device | object | Yes | Object Device | |
device | user_agent | string | Yes | User Agent |
device | device_id | array | Yes | Array device id |
device.device_id | type | int | Yes | The of device id. where “1” = IMEI, “2” = MAC address, “0” = known t o be other. |
device.device_id | id | string | Yes | Value of id. |
device | advertising_id | object | Yes | Object advertising id |
device.advertising_id | type | int | Yes | Type of advertising id.where “4” = Android GAID, “5” = IOS IDFA, “0” = known to be other. |
device.advertising_id | id | string | Yes | Value of id. |
device | geo | object | Recommend | Object Geo |
device.geo | latitude | float | Recommend | Latitude |
device.geo | longitude | float | Recommend | Longitude |
device.geo | country | string | Recommend | Country code using ISO-3166-1-alpha-3 |
device.geo | region | string | Recommend | Region code using ISO-3166-2 |
device | device_type | int | Yes | Device type categories. Refer to listDevice Type |
device | language | string | Yes | Language. Refer to list Language |
device | os | int | Yes | Device operating system. Refer to list OS |
device | os_version | string | Yes | Device operating system version. |
device | brand | string | No | The brand of device. |
device | model | string | No | The model of device. |
device | screen_width | int | Recommend | Physical width of the screen in pixels. |
device | screen_height | int | Recommend | Physical height of the screen in pixels. |
device | screen_density | int | No | Screen size as pixels per linear inch. |
device | carrier_id | string | Yes | Carrier id. Mobile carrier as the concatenated MCC-MNC code (e.g., “310-005” identifies Verizon Wireless CDMA in the USA). Refer to list MCC & MNC Code |
device | wireless_network_type | int | Yes | Network conn ection type. w here “1” = WI FI, “2” = 2G, “ 3” = 3G, “4” = 4G, “5” = 5G, “0” = known to be other. |
regs | object | Yes | Object Regs. | |
regs | coppa | int | No | Flag indicating if this request is subject to the COPPA regulations established by the USA FTC, where 0 = no, 1 = yes. |
regs | gdpr | int | No | Flag indicatin g if this request is subject to the GDPR regulations established by the EU, where 0 = no, 1 = yes. |
regs | us_privacy | string | Recommend | Applicable to requests subject to CCPA regulations. Must follow the U.S. Privacy string format per IAB spec. This attribute is always passed when applicable to affected regions. |
bcat | string array | Recommend | Blocked advertiser categories using the IAB content categories. | |
badv | string array | Recommend | Block list of advertisers by their domains | |
bapp | string array | Recommend | Block list of applications by their platform-specific exchangeindependent application identifiers. On Android, these should be bundle or package names (e.g., com.foo.mygame). On iOS, these are numeric IDs. | |
tmax | int | Recommend | Maximum time in milliseconds the exchange allows for bids to be received including Internet latency to avoid timeout. | |
secure | int | No | Whether to use secure HTTPS 0 = No,1 = Yes. |
# API Request Sample
# Banner Request Sample
{
"id": "fgasikutgasurebuifgsiuafgisua",
"app": {
"app_id": "f1430206647be69f2d7c68fe6b578ec6Z6",
"app_bundle_id": "com.bestaix.scannerlite",
"app_name": "Text Scanner",
"store_url": "https://play.google.com/store/apps/details?id=com.bestai.TextScanner",
"app_category": "IAB20"
},
"adslot": {
"adslot_id": "171011",
"instl": 0,
"banner": {
"width": 320,
"height": 50,
"position": 1,
"mimes": ["image/jpeg","image/gif","image/png"],
"api":[3, 5],
"battr":[6, 7]
}
},
"user": {
"user_id": "dsygfyad",
"ip": "106.38.48.52",
"gender": 1
},
"device": {
"user_agent": "Mozilla/5.0 (Linux; U; Android 2.3.6; it-it; GT-S5570I Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 (Mobile; afma-sdk-a-v6.1.0),gzip(gfe)",
"device_id": [
{
"type": 1,
"id": "2536643785678345673845"
},
{
"type": 2,
"id": "5C-FF-35-0B-95-B5"
}
],
"advertising_id": {
"type": 4,
"id": "dfc59c16-4435-48cb-98a9-9bdd06108077"
},
"geo": {
"lat": 27.3333,
"lon": 88.6167,
"country": "IND"
},
"device_type": 1,
"os": 2,
"language": "CN",
"os_version": "9.0.1",
"brand": "xiaomi",
"model": "hongmi",
"screen_width": 640,
"screen_height": 1136,
"screen_density": 326,
"carrier_id": "460-000",
"wireless_network_type": 4
},
"regs": {
"coppa": 0,
"gdpr": 0,
"us_privacy": "1YN-"
},
"bcat": ["IAB8", "IAB26", "IAB9"],
"badv": ["explorescientificusa.com","www.explorescientificusa.com"],
"tmax": 200,
"secure": 1
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Native Request Sample
{
"id": "fgasikutgasurebuifgsiuafgisua",
"app": {
"app_id": "f1430206647be69f2d7c68fe6b578ec6Z6",
"app_bundle_id": "com.bestaix.scannerlite",
"app_name": "Text Scanner",
"store_url": "https://play.google.com/store/apps/details?id=com.bestai.TextScanner",
"app_category": "IAB20"
},
"adslot": {
"adslot_id": "171011",
"instl": 0,
"native": {
"plcmttype": 1,
"assets": [
{
"id": 1,
"required": 1,
"title": {
"len": 256
}
},
{
"id": 2,
"required": 1,
"img": {
"type": 1,
"width": 80,
"height": 80
}
},
{
"id": 3,
"required": 1,
"img": {
"type": 3,
"width": 1200,
"height": 627
}
},
{
"id": 4,
"required": 1,
"data": {
"type": 2,
"len": 256
}
}
]
}
},
"user": {
"user_id": "dsygfyad",
"ip": "106.38.48.52",
"gender": 1
},
"device": {
"user_agent": "Mozilla/5.0 (Linux; U; Android 2.3.6; it-it; GT-S5570I Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 (Mobile; afma-sdk-a-v6.1.0),gzip(gfe)",
"device_id": [
{
"type": 1,
"id": "2536643785678345673845"
},
{
"type": 2,
"id": "5C-FF-35-0B-95-B5"
}
],
"advertising_id": {
"type": 4,
"id": "dfc59c16-4435-48cb-98a9-9bdd06108077"
},
"geo": {
"lat": 27.3333,
"lon": 88.6167,
"country": "IND"
},
"device_type": 1,
"os": 2,
"language": "CN",
"os_version": "9.0.1",
"brand": "xiaomi",
"model": "hongmi",
"screen_width": 640,
"screen_height": 1136,
"screen_density": 326,
"carrier_id": "460-000",
"wireless_network_type": 4
},
"regs": {
"coppa": 0,
"gdpr": 0,
"us_privacy": "1YN-"
},
"bcat": ["IAB8", "IAB26", "IAB9"],
"badv": ["explorescientificusa.com","www.explorescientificusa.com"],
"tmax": 200,
"secure": 1
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# Video request sample
{
"id": "fgasikutgasurebuifgsiuafgisua",
"app": {
"app_id": "f1430206647be69f2d7c68fe6b578ec6Z6",
"app_bundle_id": "com.bestaix.scannerlite",
"app_name": "Text Scanner",
"store_url": "https://play.google.com/store/apps/details?id=com.bestai.TextScanner",
"app_category": "IAB20"
},
"adslot": {
"adslot_id": "171011",
"instl": 0,
"video": {
"mimes": ["video/mp4"],
"minduration": 0,
"maxduration": 30,
"protocols": [2, 3, 5, 6],
"w": 320,
"h": 480,
"startdelay": 0,
"placement": 5,
"linearity": 1,
"skip": 1,
"skipmin": 15,
"skipafter": 15,
"maxbitrate": 2730,
"boxingallowed": 0,
"playbackmethod": [1],
"playbackend": 1,
"pos": 7,
"companionad": [{
"w": 320,
"h": 480,
"id": "1"
}],
"companiontype": [1],
"ext": {
"rewarded": false
}
}
},
"user": {
"user_id": "dsygfyad",
"ip": "106.38.48.52",
"gender": 1
},
"device": {
"user_agent": "Mozilla/5.0 (Linux; U; Android 2.3.6; it-it; GT-S5570I Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 (Mobile; afma-sdk-a-v6.1.0),gzip(gfe)",
"device_id": [
{
"type": 1,
"id": "2536643785678345673845"
},
{
"type": 2,
"id": "5C-FF-35-0B-95-B5"
}
],
"advertising_id": {
"type": 4,
"id": "dfc59c16-4435-48cb-98a9-9bdd06108077"
},
"geo": {
"lat": 27.3333,
"lon": 88.6167,
"country": "IND"
},
"device_type": 1,
"os": 2,
"language": "CN",
"os_version": "9.0.1",
"brand": "xiaomi",
"model": "hongmi",
"screen_width": 640,
"screen_height": 1136,
"screen_density": 326,
"carrier_id": "460-000",
"wireless_network_type": 4
},
"regs": {
"coppa": 0,
"gdpr": 0,
"us_privacy": "1YN-"
},
"bcat": ["IAB8", "IAB26", "IAB9"],
"badv": ["explorescientificusa.com","www.explorescientificusa.com"],
"tmax": 200,
"secure": 1
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Response Parameters
Parent Object | Object / Parameter | Type | Required | Description |
---|---|---|---|---|
err_no | int | Yes | Error No. Refer to list Err No and Msg | |
err_msg | string | Yes | Error Message | |
data | id | string | Yes | Ad id |
data | ads | array | No | Array ads |
data.ads | crid | string | Yes | Creative id |
data.ads | cid | string | Yes | Campaign id |
data.ads | adomain | string array | Yes | Ad adomain |
data.ads | cat | string array | Yes | Ad categories |
data.ads | banner_ad | object | No | Object Banner |
data.ads.banner_ad | html_snippet | string | Yes | HTML snippet |
data.ads.banner_ad | width | int | Yes | Exact width in device independent pixels. |
data.ads.banner_ad | height | int | Yes | Exact height in device independent pixels. |
data.ads.banner_ad | imptrackers | array | Yes | Array impression tracker. |
data.ads.banner_ad | clicktrackers | array | Yes | Array click tracker. |
data.ads | native_ad | object | No | Object Native |
data.ads.native_ad | assets | array | Yes | Array assets |
data.ads.native_ad.assets | id | int | Yes | The id of asset for sorting all assets. which is marked by yourself. |
data.ads.native_ad.assets | required | int | Yes | Marking whether the asset you requested is required or not.where “1”= yes, “0” = no |
data.ads.native_ad.assets | title | object | No | Object Title |
data.ads.native_ad.assets.title | title | string | No | Title |
data.ads.native_ad.assets | img | object | No | Object Img |
data.ads.native_ad.assets.img | width | int | Yes | The width of image. |
data.ads.native_ad.assets.img | height | int | Yes | The height of image. |
data.ads.native_ad.assets.img | url | string | Yes | The url of image. |
data.ads.native_ad.assets | data | object | No | Object data. |
data.ads.native_ad.assets.data | value | string | Yes | The value of data. |
data.ads.native_ad | target_url | string | Yes | Target url(click url or tracking url) |
data.ads.native_ad | imptrackers | array | Yes | Array impression tracker. |
data.ads.native_ad | clicktrackers | array | Yes | Array click tracker. |
data.ads | video_ad | object | No | Object Video |
data.ads.video_ad | winnotice_url | string | Yes | winnotice url |
data.ads.video_ad | adm | string | Yes | Details for reference = "https://www.iab.com/wp-content/uploads/2015/06/VASTv3_0.pdf">vast 3.0 protocol |
# Banner Response Sample
{
"data": {
"ads": [
{
"crid": "12-2398",
"adomain": [
"www.svr-algorix.com"
],
"cat": [
"IAB1"
],
"banner_ad": {
"html_snippet": "<!DOCTYPE html> <html> <head> <title></title> <meta name='viewport' content='user-scalable=0, minimum-scale=1.0, maximum- scale=1.0'/> <style type='text/css'> body {margin: 0; overflow: hidden;} </style> </head> <body> <style>.im_1664_ads-lbl,.im_1664_ads-lbl img{position:absolute;bottom:0;right:0;pointer-events:none;z-index:1000000000000000}.im_1664_ads-lbl img{width:26px;height:16px}</style> <div class='im_1664_ads-lbl'><img src='http://i.l.inmobicdn.net/ifctpads/IFC/CCN/assets/AdsiconHDPI1472034285.png'></div> <style> .inmC { margin-left: auto; margin-right: auto; display: block; }</style> <a href='https://play.google.com/store/apps/details?id=com.offline.miniocr' target='_top' style='text-decoration:none;'> <img border='0' class='inmC' src='http://dev-report.svr-algorix.com/static/img/320_50.jpg' height='50' width='320' /> </a> <style>body{margin:0}</style> <img src='http://et-cn.w.inmobi.com/c.asm/C/t/ectjuimhah/1blu/w/4k/lx/m/r/0/0/ eyJVSUQiOiJGQzBGMzQ0NS0wRkNFLTQwRUUtODY0Ni0zQ0E4QkIyNjYzRUEiLCJJREEiOiJGQzBGMzQ0NS0wRkNFLTQwRUUtODY0Ni0zQ0E4QkIy NjYzRUEifQ~~/ca0d9776-0159-1000-ee66-38a46c1e0093/-1/411p/-1/0/0/40.71269989013672,74.00589752197266,0.0/13779426/NW/2t/0/api/3.0.0/dir/ Y29tLmlubW9iaS5kZW1vYXBw/ FvCTCRYAFta48rroVFcAAAAAAADwPzQAEhg4NUxNdTREejQ0MmxZS3lZSXpNWHVkMG4yZUZuVEUxZ0gzZ1haQzlzS3g2ZC9tM2Qwd0grc3hRPT0YB kJBTk5FUhwUABQCHBwW_7-36r-itPJrFtndsvyC1-PgIwAWxN7fpp2TiM- yARUAEgAAOQUiFAAWloqp6t9RKD1wZXJmLWFkcG9vbC1za3lob29rcHJvZDUwMDJfcGVyZl9oa2cxX3BlcmYtYWRwb29sX3NreWhvb2twcm9kFAQSJpr 5FhwVAgAsFQIAUwEm8JMJFQASGAUwLjA3NQA=/-1/AA==/7/844b2836?m=18' width='1' height='1' style='display:none;' /> </body></html><img src=\"https://apac-trk.svr-algorix.com/imp?&info=w4CM90WYmAjLw0TbmIDO5gjLw0TbiZSM9knYmETPmBnJOh0Q9MmJxADMyETPwZCNllTN5EWN4MmMhVjN2ITNiJzY2YDMxIWZjNWZhNWN50TYmgjMmRmNwADMlNzMzEWY5MWMyEDOllTZ3IGM0MGZycjY9Enc_w4nc&price=${AUCTION_PRICE}\" width=\"1\" height=\"1\" style=\"display:none;\">",
"img_url": "",
"width": 320,
"imptrackers": [
"http://apac-trk.svr-algorix.com/imp?&info==AjLw0TbmAjLw0TbiZCMwETP5JmJy0jZwZSPjZCMxkjM2ETPwZCNllTN5EWN4MmMhVjN2ITNiJzY2YDMxIWZjNWZhNWN50TYmcDZ4ATZ2YGNilTOidjZkFTYzQGZzUmM4ADO1M2NjVGZ9Enc_"
],
"clicktrackers": [
"http://apac-trk.svr-algorix.com/clk?&info==AjLw0TbmAjLw0TbiZCMwETP5JmJy0jZwZSPjZCMxkjM2ETPwZCNllTN5EWN4MmMhVjN2ITNiJzY2YDMxIWZjNWZhNWN50TYmcDZ4ATZ2YGNilTOidjZkFTYzQGZzUmM4ADO1M2NjVGZ9Enc_"
],
"height": 50
}
}
],
"id": "fgasikutgasurebuifgsiuafgisua"
},
"err_msg": "Success",
"err_no": 1000
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Native Response Sample
{
"data": {
"ads": [
{
"crid": "12-2398",
"adomain": [
"www.svr-algorix.com"
],
"cat": [
"IAB1"
],
"native_ad": {
"assets": [
{
"id": 1,
"title": {
"title": "The Vicious Cycle Of Vaginal Infections"
},
"required": 1
},
{
"img": {
"width": 50,
"url": "https://images2.zemanta.com/p/srv/sha/00/af/6c/28902411fa70b73aca75b2da2730553a99.jpg?w=75&h=75&fit=crop&crop=faces&fm=jpg",
"height": 50
},
"id": 2,
"required": 1
},
{
"img": {
"width": 600,
"url": "https://images2.zemanta.com/p/srv/sha/00/af/6c/28902411fa70b73aca75b2da2730553a99.jpg?w=75&h=75&fit=crop&crop=faces&fm=jpg",
"height": 280
},
"id": 3,
"required": 1
},
{
"data": {
"value": "Restore and maintain a healthy balance of good bacteria and yeast for a healthy vagina"
},
"id": 4,
"required": 1
}
],
"clicktrackers": [
"https://svr-algorix.com/track/url",
"https://apac-trk.svr-algorix.com/clk?&info=w4CM90WYmAjLw0TbmIDO5gjLw0TbiZSM9knYmETPmBnJOh0Q9MmJyADMyETPwZCNllTN5EWN4MmMhVjN2ITNiJzY2YDMxIWZjNWZhNWN50TYmAjNkZWO1cjN1cDOmJWZjJ2MjFGNwQzMzYjM5ETNidDM9Enc_w4nc&price=${AUCTION_PRICE}"
],
"target_url": "https://r1.zemanta.com/r/u1qm61onnbb4/b1_rubicon/478563/7124557/C4NAONQHHBYL3S7WLF4ZSZFV2GCZFYDDINNXKVCYIRNEUYD76UZIU4TKSAJW5I6DUMYFEUW4AAP7HS7NCZP73SQOS4HY3VM5P76JCBIBX2GK7HGI2H5D3ZW2WT7XPKB2JM3G5VQUBQZSLQEITY7G2Y3D4XR7PO5YSC7WMQPTQVI3VIVYDYVSUMEIHQFGKDQZ55VIVS7AH73YDIBYA4O7PS4QPYK2YTNWBJJR4FCXMHCWD2X2DGSBYZGUFRWXOMA7C4UUZN2X2HWAXIT4PAZN7EYS5M7JQC2MGYPXC4NIB7XX476P7JOKRDVAXQRZGBHPCFB2JID3ZUBK77TXGWWS2J5L32MWS2R3FGYIXFNUOCGWEXKX765X5OAA4HL35XPQWEBWX2JLNM4O7T6UJ2YCDTBDH5FXATJUOO2OI7SGHQKTZOCT2PKYMEHAURNFNYTQ5FZNIE5FTAIGGIXCOWIWKWZBPU/",
"imptrackers": [
"https://apac-trk.svr-algorix.com/imp?&info=w4CM90WYmAjLw0TbmIDO5gjLw0TbiZSM9knYmETPmBnJOh0Q9MmJyADMyETPwZCNllTN5EWN4MmMhVjN2ITNiJzY2YDMxIWZjNWZhNWN50TYmAjNkZWO1cjN1cDOmJWZjJ2MjFGNwQzMzYjM5ETNidDM9Enc_w4nc&price=${AUCTION_PRICE}"
]
}
}
],
"id": "fgasikutgasurebuifgsiuafgisua"
},
"err_msg": "Success",
"err_no": 1000
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Video Response Sample
{
"err_msg": "Success",
"err_no": 1000,
"data": {
"ads": [
{
"crid": "12-2398",
"adomain": [
"www.svr-algorix.com"
],
"cat": [
"IAB1"
],
"video_ad": {
"winnotice_url": "https://use-trk.svr-algorix.com/win?info===AZzR2ckNHZz1TYmlmJz0Te0FmJwIzM9gmJwgDN9cnJxIUQJ1zYhZSZtFmbfBHch1jbhZyMxADMz0DZpNnJxQjLwUjMuMzNuczM9AXa1ZSbus2bvJmchVWe51mLt92Y9QWdiZCMwUDM1cjM2UTM9QncmAjLw0TbhZCMuATPtZiM4kDOuATPtJmJx0TeiZiM9YGcmI1SV1zYmYzM1YTM9AnJlhTY1kTN0gDN0EDOykTYmhzM1QjMiZGZjhzM4QzM30TYmImZiZzYzkjMkFWOmNWZjlTY4EDN4kTMhZjY0QjYxMzY9Enc_==nc&price=${AUCTION_PRICE}",
"adm": "<VAST version=\"3.0\"><Ad><Wrapper><AdSystem>PubMatic</AdSystem><VASTAdTagURI><![CDATA[https://lyr.pubmatic.com/AdServer/layer?pubid=157941&nwid=&ts=1561014068&vdo=1&pimprid=bce9ed2d-2660-476c-ab2f-f330ad10b190&uimprid=B5CD58C7-6B0B-4313-8A51-73FF3EDF1461&a=${AUCTION_PRICE}&vdo=1&ucrid=17300671960036780932&t=PBYZW09U1FRTVE9PT0maWQ9MCZjaWQ9MTY3MzUmY2Y9MS4wMDAwMDAmeHByPTEuMDAwMDAwJmZwPTM2LjE0OTEmcHA9NC42MTU0MiZ0cD0wJnBlPTAuMDAwMDAwJnB1YmlkPTE1Nzk0MSZuYmY9MSZwZmVlPTI4JmNwPTYuNDEwMyZwMj0zOjAuMDAwMDAwJmNsZW49NTI5MyZjcj08VkFTVCB2ZXJzaW9uPSIyLjAiPgo8QWQgaWQ9IjY0NTQyNjEiPgo8V3JhcHBlcj4KPEFkU3lzdGVtPk1lZGlhTWF0aCBUMSBWQURTPC9BZFN5c3RlbT4KPFZBU1RBZFRhZ1VSST48IVtDREFUQVtodHRwczovL3Zhc3QubWF0aHRhZy5jb20vP2lkPTVhVzk1cTJqTHpFNUx5QXZXbFJWTWxreVRtMU9SR04wVFVSSmVrNVRNREJOYW1Sc1RGZEZNVmxxUlhST1YxVTBXVzFGTkU5SFZUTk9Na3BvTHpZM05qUXdOREF6TURFek56TTJPREkzTkRBdk5qUTFOREkyTVM4ME16RTJOakUwTHpNdmFHdEllSEEwUzFoSkxWRjZUR1ZhVjFOSWNtMWhkazR4VTE5Q1JFZFRXVXB4VDBVMFNWa3pOVU16UVM4eEx6TXZNQzgwTHpFd01qRTVNRFF2TWpnNE9UVXhPVFF4TkM4eU1EVXhNalF2TmpFNE9UY3lMemt2WW1zNk1UQTRORGMzTkN4aWF6b3hNRGcwTnpjMUxHSnJPalV3TWpnME5peGlhem8xTURJNE5EY3NZbXM2TlRBeU9EVXdMR0pyT2pVd01qZzFNeTh3TDFwSFdUQk9ha1YzVG1wUmRGbFhTVEJPVXpBd1dWUkJlVXhYU1hkT1IwVjBXVmRGTVZwRVRUTk5SRkV3VGtSYWFTOHdMekF2TUM4d0x6QXZOamMyTkRBME1ETXdNVE0zTXpZNE1qYzBNQzlsZDNJdk1DOHhOalV3TXk4eEx6VXhMekF2TVRjeUxqVTRMakUwTlM0MU5DOHdMakF3TUM4L0cwcWhfNmwwRWdybURyM01fWG0tMjY5MTlqYyZub2RlaWQ9MTM5OSZhdWN0aW9uaWQ9Njc2NDA0MDMwMTM3MzY4Mjc0MCZleGNoPXB1YiZzaWQ9NDMxNjYxNCZjaWQ9NjQ1NDI2MSZhY3Q9TGlJaUppUW9jSHhyUFN3dUpDTXFjSHhyS3k1d2ZHc2hJaW9xSkNNcWNIeHJPaXdrT1FzaVB3UWdQUU1pT1NRcmNIMCZncm91cD11cy1lYXN0JmJwPWRnX2JlamJiaSZwcm90b2NvbF92ZXJzaW9uPTEmYnV5ZXJDcmVhdGl2ZUlkPTY0NTQyNjEmY3ZpZD00JmFpZD02NzY0MDQwMzAxMzczNjgyNzQwJmFkdmVyaWQ9MjA1MTI0JmNkc3A9ZmFsc2Umb3B0b3V0PTAmbG10PTAmb2lkPTEwMDgxNiZjYWNoZUJ1c3Rlcj0xNTYxMDE0MDY4JnNraXBwYWJsZT0yJmNtcD02MTg5NzImc2VnX3NlbGY9Yms6MTA4NDc3NCxiazoxMDg0Nzc1LGJrOjUwMjg0Nixiazo1MDI4NDcsYms6NTAyODUwLGJrOjUwMjg1MyZhcHBfaWQ9Y29tLmxpbWUudmlkZW8ucGxheWVyJmFwcF9uYW1lPVBsYXllck9wZW5pbmdJbnRlclRpZXIyJnVhPU1vemlsbGEvNS4wJTIwJTI4TGludXglM0IlMjBBbmRyb2lkJTIwOC4xLjAlM0IlMjBMTS1RNzEwJTI4RkdOJTI5JTIwQnVpbGQvT1BNMS4xNzEwMTkuMDE5JTNCJTIwd3YlMjklMjBBcHBsZVdlYktpdC81MzcuMzYlMjAlMjhLSFRNTCUyQyUyMGxpa2UlMjBHZWNrbyUyOSUyMFZlcnNpb24vNC4wJTIwQ2hyb21lLzc0LjAuMzcyOS4xNTclMjBNbyZsYXRfbG9uZz0zNi4xNjU5MDElMkMtODYuNzg0NDAxJnV1aWQ9ZTU2Y2NmNDctMDIzNS00MjdlLWE1YjEtNWU4YmE4OGU3N2JhJm1kaWQ9ZTU2Y2NmNDctMDIzNS00MjdlLWE1YjEtNWU4YmE4OGU3N2JhJnNpdGVpZD0wJnBpZD0xNTc5NDEmaXA9MTcyLjU4LjE0NS41NCZwcm90PWh0dHBzJTNBJTJGJTJGJmNvdW50PTEmcHJpY2U9e1BTUE19XV0+PC9WQVNUQWRUYWdVUkk+CjxFcnJvcj48IVtDREFUQVtodHRwczovL2FrdHJhY2sucHVibWF0aWMuY29tL3RyYWNrP29wZXJJZD03JnA9MTU3OTQxJnM9NTU3MjI0JmE9MjE3MzkyMiZ3YT0yNDMmdHM9MTU2MTAxNDA2OCZ3Yz0xNjczNSZjcklkPTY0NTQyNjEmdWNyaWQ9MTczMDA2NzE5NjAwMzY3ODA5MzImaW1waWQ9QjVDRDU4QzctNkIwQi00MzEzLThBNTEtNzNGRjNFREYxNDYxJmFkdmVydGlzZXJfaWQ9NTk4MDkmZWNwbT02LjQxMDMwMCZlcj1bRVJST1JDT0RFXV1dPjwvRXJyb3I+CjxJbXByZXNzaW9uPjwhW0NEQVRBW2h0dHBzOi8vYWt0cmFjay5wdWJtYXRpYy5jb20vQWRTZXJ2ZXIvQWREaXNwbGF5VHJhY2tlclNlcnZsZXQ/b3BlcklkPTEmcHViSWQ9MTU3OTQxJnNpdGVJZD01NTcyMjQmYWRJZD0yMTczOTIyJmFkVHlwZT0xMyZhZFNlcnZlcklkPTI0MyZrZWZhY3Q9e1BTUE19JmtheGVmYWN0PXtQU1BNfSZrYWROZXRGcmVxdWVjeT0wJmthZHdpZHRoPTAma2FkaGVpZ2h0PTAma2Fkc2l6ZWlkPTk3JmtsdHN0YW1wPTE1NjEwMTQwNjgmaW5kaXJlY3RBZElkPTAmYWRTZXJ2ZXJPcHRpbWl6ZXJJZD0yJnJhbnJlcT0wLjEma3BibXRwZmFjdD17UFNQTX0mdGxkSWQ9NTg1NDYwNzQmcGFzc2JhY2s9MCZla2VmYWN0PXtQU1BNfSZla2F4ZWZhY3Q9e1BTUE19JmVrcGJtdHBmYWN0PXtQU1BNfSZzdnI9QklENDQwNjVVJmNySUQ9NjQ1NDI2MSZscHU9cGVyZmV0dGl2YW5tZWxsZS5jb20mdWNyaWQ9MTczMDA2NzE5NjAwMzY3ODA5MzImY2FtcGFpZ25JZD0xNjczNSZjcmVhdGl2ZUlkPTAmcGN0cj0wLjAwMDAwMCZ3RFNQQnlySWQ9MTAwODE2JndEc3BJZD0yNyZ3YklkPTQmd3JJZD0wJndBZHZJRD01OTgwOSZpc1JUQj0xJnJ0YklkPTJEMDIxRjdGLTBENjUtNDAxNi1COEI3LTk5MTBFOTIxQkZERCZpbXBySWQ9QjVDRDU4QzctNkIwQi00MzEzLThBNTEtNzNGRjNFREYxNDYxJm9pZD1CNUNENThDNy02QjBCLTQzMTMtOEE1MS03M0ZGM0VERjE0NjEmbW9iZmxhZz0xJmlzbW9iaWxlYXBwPTEmbW9kZWxpZD03Jm9zaWQ9MTgyJnVkaWR0eXBlPTEmY291bnRyeT1VUyZjbnRyeUlkPTIzMiZzZWM9MV1dPjwvSW1wcmVzc2lvbj4KPEltcHJlc3Npb24+PCFbQ0RBVEFbaHR0cHM6Ly9pbWFnZTgucHVibWF0aWMuY29tL0FkU2VydmVyL0ltZ1N5bmM/JmZwPTEmbXBjPTEwJnA9MTU3OTQxJmdkcHI9MCZnZHByX2NvbnNlbnQ9JnBtYz0tMSZwdT1odHRwcyUzQSUyRiUyRmltYWdlNC5wdWJtYXRpYy5jb20lMkZBZFNlcnZlciUyRlNQdWclM0ZwbWMlM0QtMSUyNnBhcnRuZXJJRCUzRDE1Nzk0MSUyNnBhcnRuZXJVSUQlM0QlMjhudWxsJTI5XV0+PC9JbXByZXNzaW9uPgo8SW1wcmVzc2lvbiAvPgo8Q3JlYXRpdmVzPgo8Q3JlYXRpdmUgaWQ9IjY0NTQyNjEiIC8+CjxDcmVhdGl2ZT4KPExpbmVhcj4KPFRyYWNraW5nRXZlbnRzPgo8VHJhY2tpbmcgZXZlbnQ9ImNyZWF0aXZlVmlldyI+PCFbQ0RBVEFbaHR0cHM6Ly9ha3RyYWNrLnB1Ym1hdGljLmNvbS90cmFjaz9vcGVySWQ9NyZwPTE1Nzk0MSZzPTU1NzIyNCZhPTIxNzM5MjImd2E9MjQzJnRzPTE1NjEwMTQwNjgmd2M9MTY3MzUmY3JJZD02NDU0MjYxJnVjcmlkPTE3MzAwNjcxOTYwMDM2NzgwOTMyJmltcGlkPUI1Q0Q1OEM3LTZCMEItNDMxMy04QTUxLTczRkYzRURGMTQ2MSZhZHZlcnRpc2VyX2lkPTU5ODA5JmVjcG09Ni40MTAzMDAmZT0xXV0+PC9UcmFja2luZz4KPFRyYWNraW5nIGV2ZW50PSJzdGFydCI+PCFbQ0RBVEFbaHR0cHM6Ly9ha3RyYWNrLnB1Ym1hdGljLmNvbS90cmFjaz9vcGVySWQ9NyZwPTE1Nzk0MSZzPTU1NzIyNCZhPTIxNzM5MjImd2E9MjQzJnRzPTE1NjEwMTQwNjgmd2M9MTY3MzUmY3JJZD02NDU0MjYxJnVjcmlkPTE3MzAwNjcxOTYwMDM2NzgwOTMyJmltcGlkPUI1Q0Q1OEM3LTZCMEItNDMxMy04QTUxLTczRkYzRURGMTQ2MSZhZHZlcnRpc2VyX2lkPTU5ODA5JmVjcG09Ni40MTAzMDAmZT0yXV0+PC9UcmFja2luZz4KPFRyYWNraW5nIGV2ZW50PSJtaWRwb2ludCI+PCFbQ0RBVEFbaHR0cHM6Ly9ha3RyYWNrLnB1Ym1hdGljLmNvbS90cmFjaz9vcGVySWQ9NyZwPTE1Nzk0MSZzPTU1NzIyNCZhPTIxNzM5MjImd2E9MjQzJnRzPTE1NjEwMTQwNjgmd2M9MTY3MzUmY3JJZD02NDU0MjYxJnVjcmlkPTE3MzAwNjcxOTYwMDM2NzgwOTMyJmltcGlkPUI1Q0Q1OEM3LTZCMEItNDMxMy04QTUxLTczRkYzRURGMTQ2MSZhZHZlcnRpc2VyX2lkPTU5ODA5JmVjcG09Ni40MTAzMDAmZT0zXV0+PC9UcmFja2luZz4KPFRyYWNraW5nIGV2ZW50PSJmaXJzdFF1YXJ0aWxlIj48IVtDREFUQVtodHRwczovL2FrdHJhY2sucHVibWF0aWMuY29tL3RyYWNrP29wZXJJZD03JnA9MTU3OTQxJnM9NTU3MjI0JmE9MjE3MzkyMiZ3YT0yNDMmdHM9MTU2MTAxNDA2OCZ3Yz0xNjczNSZjcklkPTY0NTQyNjEmdWNyaWQ9MTczMDA2NzE5NjAwMzY3ODA5MzImaW1waWQ9QjVDRDU4QzctNkIwQi00MzEzLThBNTEtNzNGRjNFREYxNDYxJmFkdmVydGlzZXJfaWQ9NTk4MDkmZWNwbT02LjQxMDMwMCZlPTRdXT48L1RyYWNraW5nPgo8VHJhY2tpbmcgZXZlbnQ9InRoaXJkUXVhcnRpbGUiPjwhW0NEQVRBW2h0dHBzOi8vYWt0cmFjay5wdWJtYXRpYy5jb20vdHJhY2s/b3BlcklkPTcmcD0xNTc5NDEmcz01NTcyMjQmYT0yMTczOTIyJndhPTI0MyZ0cz0xNTYxMDE0MDY4JndjPTE2NzM1JmNySWQ9NjQ1NDI2MSZ1Y3JpZD0xNzMwMDY3MTk2MDAzNjc4MDkzMiZpbXBpZD1CNUNENThDNy02QjBCLTQzMTMtOEE1MS03M0ZGM0VERjE0NjEmYWR2ZXJ0aXNlcl9pZD01OTgwOSZlY3BtPTYuNDEwMzAwJmU9NV1dPjwvVHJhY2tpbmc+CjxUcmFja2luZyBldmVudD0iY29tcGxldGUiPjwhW0NEQVRBW2h0dHBzOi8vYWt0cmFjay5wdWJtYXRpYy5jb20vdHJhY2s/b3BlcklkPTcmcD0xNTc5NDEmcz01NTcyMjQmYT0yMTczOTIyJndhPTI0MyZ0cz0xNTYxMDE0MDY4JndjPTE2NzM1JmNySWQ9NjQ1NDI2MSZ1Y3JpZD0xNzMwMDY3MTk2MDAzNjc4MDkzMiZpbXBpZD1CNUNENThDNy02QjBCLTQzMTMtOEE1MS03M0ZGM0VERjE0NjEmYWR2ZXJ0aXNlcl9pZD01OTgwOSZlY3BtPTYuNDEwMzAwJmU9Nl1dPjwvVHJhY2tpbmc+CjwvVHJhY2tpbmdFdmVudHM+CjxWaWRlb0NsaWNrcz4KPENsaWNrVHJhY2tpbmc+PCFbQ0RBVEFbaHR0cHM6Ly9ha3RyYWNrLnB1Ym1hdGljLmNvbS90cmFjaz9vcGVySWQ9NyZwPTE1Nzk0MSZzPTU1NzIyNCZhPTIxNzM5MjImd2E9MjQzJnRzPTE1NjEwMTQwNjgmd2M9MTY3MzUmY3JJZD02NDU0MjYxJnVjcmlkPTE3MzAwNjcxOTYwMDM2NzgwOTMyJmltcGlkPUI1Q0Q1OEM3LTZCMEItNDMxMy04QTUxLTczRkYzRURGMTQ2MSZhZHZlcnRpc2VyX2lkPTU5ODA5JmVjcG09Ni40MTAzMDAmZT05OV1dPjwvQ2xpY2tUcmFja2luZz4KPC9WaWRlb0NsaWNrcz4KPC9MaW5lYXI+CjwvQ3JlYXRpdmU+CjwvQ3JlYXRpdmVzPgo8RXh0ZW5zaW9ucz4KPEV4dGVuc2lvbj4KPE1ldGE+PCFbQ0RBVEFbbmFtZT1wbS1mb3JjZXBpeGVsO3Zlcj0xLjBdXT48L01ldGE+CjxQaXhlbCBsb2M9IjAiPgo8Q29kZSB0eXBlPSIxIj48IVtDREFUQVtodHRwczovL2Fkcy5wdWJtYXRpYy5jb20vQWRTZXJ2ZXIvanMvc2hvd2FkLmpzI1BJWCZwdGFzaz1EU1AmU1B1Zz0xJmZwPTEmbXBjPTEwJnU9JnA9MTU3OTQxJnM9NTU3MjI0JmQ9MiZjcD0wJnNjPTEmcnM9MCZvcz0xJmdkcHI9MCZnZHByX2NvbnNlbnQ9XV0+PC9Db2RlPgo8L1BpeGVsPgo8L0V4dGVuc2lvbj4KPC9FeHRlbnNpb25zPgo8L1dyYXBwZXI+CjwvQWQ+CjwvVkFTVD4K=]]></VASTAdTagURI><Impression/><Impression><![CDATA[https://use-trk.svr-algorix.com/imp?info===AZzR2ckNHZz1TYmlmJz0Te0FmJwIzM9gmJwgDN9cnJxIUQJ1zYhZSZtFmbfBHch1jbhZyMxADMz0DZpNnJxQjLwUjMuMzNuczM9AXa1ZSbus2bvJmchVWe51mLt92Y9QWdiZCMwUDM1cjM2UTM9QncmAjLw0TbhZCMuATPtZiM4kDOuATPtJmJx0TeiZiM9YGcmI1SV1zYmYzM1YTM9AnJlhTY1kTN0gDN0EDOykTYmhzM1QjMiZGZjhzM4QzM30TYmImZiZzYzkjMkFWOmNWZjlTY4EDN4kTMhZjY0QjYxMzY9Enc_==nc&price=${AUCTION_PRICE}]]></Impression><Impression><![CDATA[https://use-trk.svr-algorix.com/win?info===AZzR2ckNHZz1TYmlmJz0Te0FmJwIzM9gmJwgDN9cnJxIUQJ1zYhZSZtFmbfBHch1jbhZyMxADMz0DZpNnJxQjLwUjMuMzNuczM9AXa1ZSbus2bvJmchVWe51mLt92Y9QWdiZCMwUDM1cjM2UTM9QncmAjLw0TbhZCMuATPtZiM4kDOuATPtJmJx0TeiZiM9YGcmI1SV1zYmYzM1YTM9AnJlhTY1kTN0gDN0EDOykTYmhzM1QjMiZGZjhzM4QzM30TYmImZiZzYzkjMkFWOmNWZjlTY4EDN4kTMhZjY0QjYxMzY9Enc_==nc&price=${AUCTION_PRICE}]]></Impression><Creatives><Creative AdID=\"A188sKS9\"><Linear><TrackingEvents><Tracking event=\"start\"><![CDATA[https://trk.svr-algorix.com/vtrk?info===AZzR2ckNHZz1TYmlmJz0Te0FmJwIzM9gmJwgDN9cnJxIUQJ1zYhZSZtFmbfBHch1jbhZyMxADMz0DZpNnJxQjLwUjMuMzNuczM9AXa1ZSbus2bvJmchVWe51mLt92Y9QWdiZCMwUDM1cjM2UTM9QncmAjLw0TbhZCMuATPtZiM4kDOuATPtJmJx0TeiZiM9YGcmI1SV1zYmYzM1YTM9AnJlhTY1kTN0gDN0EDOykTYmhzM1QjMiZGZjhzM4QzM30TYmImZiZzYzkjMkFWOmNWZjlTY4EDN4kTMhZjY0QjYxMzY9Enc_==nc&vtype=start&price=${AUCTION_PRICE}]]></Tracking><Tracking event=\"firstQuartile\"><![CDATA[https://trk.svr-algorix.com/vtrk?info===AZzR2ckNHZz1TYmlmJz0Te0FmJwIzM9gmJwgDN9cnJxIUQJ1zYhZSZtFmbfBHch1jbhZyMxADMz0DZpNnJxQjLwUjMuMzNuczM9AXa1ZSbus2bvJmchVWe51mLt92Y9QWdiZCMwUDM1cjM2UTM9QncmAjLw0TbhZCMuATPtZiM4kDOuATPtJmJx0TeiZiM9YGcmI1SV1zYmYzM1YTM9AnJlhTY1kTN0gDN0EDOykTYmhzM1QjMiZGZjhzM4QzM30TYmImZiZzYzkjMkFWOmNWZjlTY4EDN4kTMhZjY0QjYxMzY9Enc_==nc&vtype=firstQuartile&price=${AUCTION_PRICE}]]></Tracking><Tracking event=\"midpoint\"><![CDATA[https://trk.svr-algorix.com/vtrk?info===AZzR2ckNHZz1TYmlmJz0Te0FmJwIzM9gmJwgDN9cnJxIUQJ1zYhZSZtFmbfBHch1jbhZyMxADMz0DZpNnJxQjLwUjMuMzNuczM9AXa1ZSbus2bvJmchVWe51mLt92Y9QWdiZCMwUDM1cjM2UTM9QncmAjLw0TbhZCMuATPtZiM4kDOuATPtJmJx0TeiZiM9YGcmI1SV1zYmYzM1YTM9AnJlhTY1kTN0gDN0EDOykTYmhzM1QjMiZGZjhzM4QzM30TYmImZiZzYzkjMkFWOmNWZjlTY4EDN4kTMhZjY0QjYxMzY9Enc_==nc&vtype=midpoint&price=${AUCTION_PRICE}]]></Tracking><Tracking event=\"thirdQuartile\"><![CDATA[https://trk.svr-algorix.com/vtrk?info===AZzR2ckNHZz1TYmlmJz0Te0FmJwIzM9gmJwgDN9cnJxIUQJ1zYhZSZtFmbfBHch1jbhZyMxADMz0DZpNnJxQjLwUjMuMzNuczM9AXa1ZSbus2bvJmchVWe51mLt92Y9QWdiZCMwUDM1cjM2UTM9QncmAjLw0TbhZCMuATPtZiM4kDOuATPtJmJx0TeiZiM9YGcmI1SV1zYmYzM1YTM9AnJlhTY1kTN0gDN0EDOykTYmhzM1QjMiZGZjhzM4QzM30TYmImZiZzYzkjMkFWOmNWZjlTY4EDN4kTMhZjY0QjYxMzY9Enc_==nc&vtype=thirdQuartile&price=${AUCTION_PRICE}]]></Tracking><Tracking event=\"complete\"><![CDATA[https://trk.svr-algorix.com/vtrk?info===AZzR2ckNHZz1TYmlmJz0Te0FmJwIzM9gmJwgDN9cnJxIUQJ1zYhZSZtFmbfBHch1jbhZyMxADMz0DZpNnJxQjLwUjMuMzNuczM9AXa1ZSbus2bvJmchVWe51mLt92Y9QWdiZCMwUDM1cjM2UTM9QncmAjLw0TbhZCMuATPtZiM4kDOuATPtJmJx0TeiZiM9YGcmI1SV1zYmYzM1YTM9AnJlhTY1kTN0gDN0EDOykTYmhzM1QjMiZGZjhzM4QzM30TYmImZiZzYzkjMkFWOmNWZjlTY4EDN4kTMhZjY0QjYxMzY9Enc_==nc&vtype=complete&price=${AUCTION_PRICE}]]></Tracking></TrackingEvents><VideoClicks><ClickTracking><![CDATA[https://use-trk.svr-algorix.com/clk?info===AZzR2ckNHZz1TYmlmJz0Te0FmJwIzM9gmJwgDN9cnJxIUQJ1zYhZSZtFmbfBHch1jbhZyMxADMz0DZpNnJxQjLwUjMuMzNuczM9AXa1ZSbus2bvJmchVWe51mLt92Y9QWdiZCMwUDM1cjM2UTM9QncmAjLw0TbhZCMuATPtZiM4kDOuATPtJmJx0TeiZiM9YGcmI1SV1zYmYzM1YTM9AnJlhTY1kTN0gDN0EDOykTYmhzM1QjMiZGZjhzM4QzM30TYmImZiZzYzkjMkFWOmNWZjlTY4EDN4kTMhZjY0QjYxMzY9Enc_==nc&price=${AUCTION_PRICE}]]></ClickTracking></VideoClicks></Linear></Creative></Creatives></Wrapper></Ad></VAST>"
},
"cid": "12"
}
],
"id": "c31b44b6a198418a9cecf9ad293c6bfb"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# MoPub Ad Tag
AlgoriX supports integration with MoPub as a Custom Network. If you’ve integrated the MoPub SDK already, you don’t need to write any extra code! Instead, you can place a Custom Network ad tag and target it to your existing inventory. AlgoriX ad tag has built in support for failing over to the next ad source.
# Step 1: Set up a Custom Network
- Go to Networks
- Add a New Network
- Custom JS Network
- Save Section
- Go to Network Detail Page
# Step 2: Create a New Order
- Click on the Orders tab in the header.
- Click the Create Order button.
- Enter a descriptive name for the order and set the Advertiser to “AlgoriX”.
# Step 3: Create a New Line Item
Use the following parameters in the Add a Line Item section.
- Type: “Network”
- Priority: 1
- Name: Descriptive label that contains the parameters of running this ad tag
- Network: “Custom Network”
- Name: “AlgoriX Banner”
- Custom HTML: Add the HTML tag provided by your AlgoriX account manager here.
- Set the Delivery Speed option to “Spread Evenly”.
- Leave other fields as their default values.
AlgoriX AdTag
Please contact your AlgoriX account manager to get your AlgoriX AdTag.
Waterfall Priority settings
We recommend publishers to refrain from running AlgoriX ad tag on the last position of the waterfall. As this may result in discrepancies in impression numbers recorded in the AlgoriX dashboard.
- Find the Ad Unit to which you connect the ad tag.
- Check the box under the AD UNITS column.
Ad Unit supported
AlgoriX ad tag supports Medium rectangle, Banner and Fullscreen ONLY as defined in MoPub platform.
- Remain it’s default value for GEO, connectivity and device targeting section.
- Configure any custom targeting in the Advanced Targeting sections.
- Click the Save and View button.
# DFP Ad Tag
Google Ad Manager is an ad server that can take your ad monetization one level up. If you’ve sign up for Google Ad Manager already, you can place AlgoriX tag as a third-party code and target it to your existing inventory. Also, if the AlgoriX network returns nothing, you can utilize passback tags to fill remnant ad inventories by passing down the ad requests to another ad networks.
# Step 1: Set up a new company
- Go to Admin
- Go to Companies
- Click the New Company button and select the 'Advertiser' option
- Enter the Name of the new company
- Click Save
# Step 2: Create New Order
- Go to Delivery
- Go to Orders
- Click the New Order
- Enter the Name of the new order
- Select Advertiser option
- Click Add Line Item button
# Step 3: Create New Line Item
- Select Display Ad
- Enter the Name of the new line item
- Select the priority you want from the drop-down menu Type
- In the Expected creatives, add the sizes of line items i.e. 320×50. You can add more than one size here
- Enter the Start time and End time to deliver ads
- Move to the Add Targeting, Click Inventory
- Include the ad inventories where you want to display targeted ads
- Please set other configuration items as needed
- Click Save
What is inventory?
You can find more details about Inventory on this page.
# Step 4: Create Ad Creative
- Go to creatives, Click ADD CREATIVE button
- Select the Target ad unit size from the drop-down menus
- Click 'Third party' button
- Enter the Name of the new creative
- Paste JavaScript code provided by AlgoriX.
- Click Save
AlgoriX AdTag
Please contact your AlgoriX account manager to get your AlgoriX AdTag.
WARNING
If you’re creating a new Line Item, you’ll have to Approve it. Otherwise, ads will not be served.
# GPT Passbacks
AlgoriX ad tag has built in support for GPT Passbacks.The publisher can pass an ad request back from a NoAd-response to DFP by the onErrFn function.
- Set up another ad unit of any other network in DFP
- Please make sure the macros which be used in the passback ad unit had been added
TIP
Please pay attention to the comment in below code.
Example:
function onErrFn() {
// TODO Handle not ad available
console.log("not ad available");
var googletag = undefined;
googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
(function () {
var gads = document.createElement("script");
gads.type = "text/javascript";
gads.onload = gads.onreadystatechange = function () {
if (gads.readyState && /loaded|complete/.test(gads.readyState)) {
gads.onload = gads.onreadystatechange = undefined;
}
var __googletag = document.createElement("script");
__googletag.innerHTML = [
"googletag.cmd.push(function () { googletag.defineSlot('",
// if AlgoriX network returns nothing,
// we'll pass down the ad requests to the ad network B
// another ad unit of ad network B in DFP.
// i.e: "/6355419/Travel/Europe/France/Paris"
"another ad unit of ad network B in DFP",
"', [",
"320, 50",
"],'",
"dojs644fcc755427439aa0f6e2fc4dbbaeef",
"').addService(googletag.pubads());",
// if any macro is used in the passback ad unit,
// you can use the setTargeting function to add it here
// i.e:
// "googletag.setTargeting('ADVERTISING_IDENTIFIER_PLAIN', '%%ADVERTISING_IDENTIFIER_PLAIN%%')",
"googletag.enableServices();googletag.display('",
"dojs644fcc755427439aa0f6e2fc4dbbaeef",
"');});"
].join("");
document.body.appendChild(__googletag);
}
gads.src = "https://securepubads.g.doubleclick.net/tag/js/gpt.js";
document.body.appendChild(gads);
})();
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Use ad unit of AlgoriX as GPT
If the primary network returns nothing and you want to pass down the ad requests to AlgoriX network, please remember to pass additional parameter ADVERTISING_IDENTIFIER_PLAIN by use setTargeting function.
Example:
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<div id="gpt-passback">
<script>
window.googletag = window.googletag || {cmd: []};
googletag.cmd.push(function() {
googletag.defineSlot('AlgoriX AdUnit', [300, 250], 'gpt-passback')
.addService(googletag.pubads())
// %%ADVERTISING_IDENTIFIER_PLAIN%% is a necessary parameter for AlgoriX tag
.setTargeting('ADVERTISING_IDENTIFIER_PLAIN', '%%ADVERTISING_IDENTIFIER_PLAIN%%');
googletag.enableServices();
googletag.display('gpt-passback');
});
</script>
</div>
2
3
4
5
6
7
8
9
10
11
12
13
14
# MAX Ad Tag
AlgoriX supports integration with AppLovin's MAX as a Custom Network. If you’ve integrated the MAX SDK already, you don’t need to write any extra code! Instead, you can place a Custom Network ad tag and target it to your existing inventory. AlgoriX ad tag has built in support for failing over to the next ad source.
The minimum supported Max SDK version is 11.0.0.
You can find more details about Max Js tag integration process on this page.
# Step 1: Set up on AlgoriX SSP
- Get in touch with your AlgoriX account manager to create account on AlgoriX SSP .
- Go to “Apps” to create app and ad placements
Instead of adding multiple apps, you only need to create one app on our dashboard. Thus it doesn’t matter what you fill for new app page. Just add one app and save.
Under this app, add different ad placements for your apps/ad unit at different price points. It’s recommended to name the adslot in format of “appname_OS_ad format_price point”
eg. Ocrscanner_IOS_320 * 50Banner_Low/Mid/High, Ocrscanner_And_320 * 50Banner_0.2/0.5/0.8
Because as suggested by Max, the JS Tag APP ID and Placement ID doesn’t need to be associated with the app you created on Max. One universal tag will work for all your apps, ad units with different price points on Max.
And by using relevant macros for accurate reporting, even though all the ad placements are created under one “app” level, our reports can still breakdown to the relevant bundle id/ad unit/ad placement id.
# Step 2: Set up a Custom Network
- Enter the network name and paste the AlgoriX ad tag in the Custom Network Tag field and Click ✓ Save
AlgoriX AdTag
AlgoriX ad tag supports Banner,Interstitial,MREC as defined in Max platform. Please contact your account manager to get your AlgoriX AdTag.
# Step 3: Enable the Custom Network
- Go to MAX > Mediation > Manage > Ad Units and select an ad unit where you want to add the AlgoriX network.
- Enter the Placement ID and CPM Price that you created in the AlgoriX SSP and set Country Targeting as needed
WARNING
Please make sure that the Placement ID is the same as the AdSlot ID of AlgoriX SSP
# Appendix
# IAB Category Type
value | Description |
---|---|
IAB1 | Arts & Entertainment |
IAB2 | Automotive |
IAB3 | Business |
IAB4 | Careers |
IAB5 | Education |
IAB6 | Family & Parenting |
IAB7 | Health & Fitness |
IAB8 | Food & Drink |
IAB9 | Hobbies & Interests |
IAB10 | Home & Garden |
IAB11 | Law, Gov’t & Politics |
IAB12 | News |
IAB13 | Personal Finance |
IAB14 | Society |
IAB15 | Science |
IAB16 | Pets |
IAB17 | Sports |
IAB18 | Style & Fashion |
IAB19 | Technology & Computing |
IAB20 | Travel |
IAB21 | Real Estate |
IAB22 | Shopping |
IAB23 | Religion & Spirituality |
IAB24 | Uncategorized |
IAB25 | Non-Standard Content |
IAB26 | Illegal Content |
# Protocols
The following table lists the options for the various bid response protocols that could be supported by an exchange.
value | Description |
---|---|
1 | VAST 1.0 |
2 | VAST 2.0 |
3 | VAST 3.0 |
4 | VAST 1.0 Wrapper |
5 | VAST 2.0 Wrapper |
6 | VAST 3.0 Wrapper |
7 | VAST 4.0 |
8 | VAST 4.0 Wrapper |
9 | DAAST 1.0 |
10 | DAAST 1.0 Wrapper |
# Start Delay
The following table lists the various options for the video or audio start delay. If the start delay value is greater than 0, then the position is mid-roll and the value indicates the start delay.
value | Description |
---|---|
> 0 | Mid-Roll (value indicates start delay in second) |
0 | Pre-Roll |
-1 | Generic Mid-Roll |
-2 | Generic Post-Roll |
# Linearity
The following table indicates the options for video linearity. “In-stream” or “linear” video refers to preroll, post-roll, or mid-roll video ads where the user is forced to watch ad in order to see the video content. “Overlay” or “non-linear” refer to ads that are shown on top of the video content. This OpenRTB table has values derived from the Inventory Quality Guidelines (IQG). Practitioners should keep in sync with updates to the IQG values.
value | Description |
---|---|
1 | Linear / In-Stream |
2 | Non-Linear / Overlay |
# Playback Methods
The following table lists the various playback methods.
value | Description |
---|---|
1 | Initiates on Page Load with Sound On |
2 | Initiates on Page Load with Sound Off by Default |
3 | Initiates on Click with Sound On |
4 | Initiates on Mouse-Over with Sound On |
5 | Initiates on Entering Viewport with Sound On |
6 | Initiates on Entering Viewport with Sound Off by Default |
# Playbackend
The following table lists the various modes for when playback terminates.
value | Description |
---|---|
1 | On Video Completion or when Terminated by User |
2 | On Leaving Viewport or when Terminated by User |
3 | On Leaving Viewport Continues as a Floating/Slider Unit until Video Completion or when Terminated by User |
# Position
value | Description |
---|---|
0 | Unknown |
1 | Above the Fold |
2 | DEPRECATED - May or may not be initially visible depending on screen size/resolution. |
3 | Below the Fold |
4 | Header |
5 | Footer |
6 | Sidebar |
7 | Full Screen |
# Device Type
value | Description |
---|---|
0 | unknown |
1 | Phone |
2 | Tablet |
3 | CTV |
4 | OTT |
5 | PC |
# Language
value | Description |
---|---|
zh | Chinese |
en | English |
ja | Japanese |
ko | Korean |
de | German |
fr | French |
pt | Portuguese |
it | ltalian |
# OS
value | Description |
---|---|
0 | Unknow |
1 | iOS |
2 | Android |
3 | Other(DEPRECATED) |
4 | Linux |
5 | MacOS |
6 | Windows |
11 | tvOS |
12 | Roku |
13 | Amazon |
14 | Microsoft |
15 | Samsung Smart TV |
16 | LG Smart TV |
17 | Sony Playstation |
18 | Vizio |
19 | Philips Smart TV |
50 | Tizen |
51 | KaiOS |
# Companion Types
value | Description |
---|---|
1 | Static Resource |
2 | HTML Resource |
3 | iframe Resource |
# API Frameworks
The following table is a list of API frameworks supported by the publisher.
value | Description |
---|---|
1 | VPAID 1.0 |
2 | VPAID 2.0 |
3 | MRAID-1 |
4 | ORMMA |
5 | MRAID-2 |
6 | MRAID-3 |
# Creative Attributes
The following table specifies a standard list of creative attributes that can describe an ad being served or serve as restrictions of thereof.
value | Description |
---|---|
1 | Audio Ad (Auto-Play) |
2 | Audio Ad (User Initiated) |
3 | Expandable (Automatic) |
4 | Expandable (User Initiated - Click) |
5 | Expandable (User Initiated - Rollover) |
6 | In-Banner Video Ad (Auto-Play) |
7 | In-Banner Video Ad (User Initiated) |
8 | Pop (e.g., Over, Under, or Upon Exit) |
9 | Provocative or Suggestive Imagery |
10 | Shaky, Flashing, Flickering, Extreme Animation, Smileys |
11 | Surveys |
12 | Text Only |
13 | User Interactive (e.g., Embedded Games) |
14 | Windows Dialog or Alert Style |
15 | Has Audio On/Off Button |
16 | Ad Provides Skip Button (e.g. VPAID-rendered skip button on pre-roll video) |
17 | Adobe Flash |
# Assets Data Type
value | Description |
---|---|
2 | The description of ad. |
12 | The description of click button. |
Other | Click for more |
# Err No and Msg
value | Description |
---|---|
1000 | Sucess |
1001 | Token error |
1010 | Request JSON Body cannot be parsed correctly |
1011 | Adslot obj has an error or doesn't exist |
1012 | User obj has an error or doesn't exist |
1013 | App obj has an error or doesn't exist |
1014 | Device obj has an error or doesn't exist |
1015 | Reg obj has an error or doesn't exist |
2001 | Have no ad |