DOOH endpoints
Adhese has 3three endpoints in place for DOOH integrations:
- Assets Download Endpoint (aka Headsup request)
https://headsup-[customer].adhese.org/api/headsup/download-list/sl[positioncode] - Playlist Endpoint with a limited
amountnumber of ads
https://ads-[customer].adhese.com/m/stack/sl[positioncode]?max_ads=[amount] - Playlist Endpoint with unlimited amount of ads
https://ads-[customer].adhese.com/e/stack/sl[positioncode]
The headsup endpointHeadsup and theUnlimited unlimitedPlaylist playlistendpoints endpoint need tomust be enabled by Adhese support before they can be used.
Assets download endpoint
TheTo "Use in headsup file" setting needs to be enabled on format level to make sureensure the assets become available in the response.response, Thisthe action"Use in heads-up file" setting must be enabled on the format level. All admin users can beperform performedthis action in the Adhese UI by all admin users.UI.
https://headsup-[customer].adhese.org/api/headsup/download-list/sl[positioncode]
Parameters | Value | Required |
customer | The name of your Adhese account | Yes |
position code | The code of the position you wish to request: [location code]-[format code]. This value is always prefixed by 'sl'. | Yes |
The headsup endpoint returns all the materials for the campaigns running on the requested DOOH position. The JSON response consists of an array "media" whichthat canmay be empty or filledpopulated with severalmultiple "ad"ad objectsobjects, depending on the amountnumber of active campaigns.
An example response:
{
"media":[
{
"ad":{
"id":"https://pool-demo.adhese.com/pool/lib/562_2nd_1.mp4",
"mime":"video/mp4",
"curl":"https://pool-demo.adhese.com/pool/lib/562_2nd_1.mp4",
"filesize": 15470592,
"checksum":"071f717962db99cc137d138696d33209f2e4818d42a54f70dfa6606eeb1b640b"
}
},
{
"ad":{
"id":"https://pool-demo.adhese.com/pool/lib/560_2nd_1.mp4",
"mime":"video/mp4",
"curl":"https://pool-demo.adhese.com/pool/lib/560_2nd_1.mp4",
"filesize": 15470592,
"checksum":"4e78745a33518ff22c1c9f39852a49c1c0fadd0adf722e3394ad1215d5e5ff5b"
}
},
{
"ad":{
"id":"https://pool-demo.adhese.com/pool/lib/561_2nd_1.mp4",
"mime":"video/mp4",
"curl":"https://pool-demo.adhese.com/pool/lib/561_2nd_1.mp4",
"filesize": 6582272,
"checksum":"64d2eab6d51b208c0cec3fc4d64c53381e5d41ae2a1d4c5b7704b1818bdb6158"
}
}
]
}
Playlist endpoint
With an amount limit
https://ads-[customer].adhese.com/m/stack/sl[positioncode]/pi[playerid]?max_ads=[amount]
Parameters | Value | Required |
customer | The name of your Adhese account | Yes |
position code | The code of the position you wish to |
Yes |
max_ads | The maximum |
Yes |
player ID | The ID of the player. |
No |
The playlist endpoint returns a subset of DOOH campaigns running onat the requested DOOH position. The JSON response consists of an array "ads" which can be empty or filledpopulated with severalmultiple objects depending on the amountnumber of active campaigns.
The max_ads parameter defines the maximum amountnumber of returned ads is defined by the max_ads parameter.ads. A separate configuration on the adserver can be activated to make sureensure this value never goes aboveexceeds a specific limit.
A player ID can be provided in the request as an optional parameter.parameter in the request. This ID can be used for severala number of purposes:
- Targeting campaigns on specific players
- Creating reports on player level
ServerServer-side mapping of additional data. This data is then available for targeting&and reporting
The structure of the JSON object that is returned for each campaign needs tomust be configured in the adserver by use ofusing an advar template.
An example response:
{
"ads":[
{
"id":"https://pool-demo.adhese.com/pool/lib/562_2nd_1.mp4",
"dur":28.07,"prio":15,
"booking_prio":0,
"publisher":"1",
"key":"",
"proofOfPlay":"https://ads-demo.adhese.com/track/3474/sl357/tlnone/piplayer_id/A2?1746011926824",
"error":"https://ads-demo.adhese.com/track/3474-PLAY_ERROR_[ERRORCODE]/sl357/tlnone/piplayer_id/A2/?1746011926824",
"frequency":"1;1;1",
"starttime":"0:00",
"stoptime":"not set"
},
{
"id":"https://pool-demo.adhese.com/pool/lib/561_2nd_1.mp4",
"dur":11.45,"prio":15,
"booking_prio":0,
"publisher":"1",
"key":"",
"proofOfPlay":"https://ads-demo.adhese.com/track/3444/sl357/tlnone/piplayer_id/A2?1746011926824",
"error":"https://ads-demo.adhese.com/track/3444-PLAY_ERROR_[ERRORCODE]/sl357/tlnone/piplayer_id/A2/?1746011926824",
"frequency":"2;1;1",
"starttime":"not set",
"stoptime":"not set"
},
{
"id":"https://pool-demo.adhese.com/pool/lib/560_2nd_1.mp4",
"dur":18.85,"prio":15,
"booking_prio":0,
"publisher":"1",
"key":"",
"proofOfPlay":"https://ads-demo.adhese.com/track/3455/sl357/tlnone/piplayer_id/A2?1746011926824",
"error":"https://ads-demo.adhese.com/track/3455-PLAY_ERROR_[ERRORCODE]/sl357/tlnone/piplayer_id/A2/?1746011926824",
"frequency":"2;1;1",
"starttime":"not set",
"stoptime":"not set"
}
]
}
Without an amount limit
https://ads-[customer].adhese.com/e/stack/sl[positioncode]/pi[playerid]
Parameters | Value | Required |
customer | The name of your Adhese account | Yes |
position code | The code of the position you wish to request: [location code]-[format code]. This value is always prefixed by 'sl'. | Yes |
player ID | The ID of the player. Value needs to be prefixed by a |
No |
The response for the playlist endpoint without a limit is identical asto the one with a limit. YouHowever, you will however receive all available ads insteadrather of onlythan a subset.