Onboarding - OOH Seller

Maximise the power of your inventory with VIOOH

Connect your screens to our Adserver

Ad serving is the standard route between your screens and the VIOOH platform.

Every time that one of your screens has an ad to play, that you want to be serviced by the VIOOH platform, you will simply have to direct an Ad Request to us.

We will then retrieve the relevant information regarding this particular play, including notably the impression multiplier and the list of buyers and Deal IDs potentially interested by this play, before sending bid requests to all the relevant DSPs.

Once the auction winner is determined, we will then provide to you the ID of the winning creative.

You can decide how you want to sequence your Ad Requests, and the delay between the request you're sending to us and the physical play on the screen. The shorter this delay is, the more you will facilitate real-time targeting for buyers as well as amplification of DOOH with mobile and other techniques enabled by RTB.

You have 2 steps to follow:

  1. Syncing creatives
  2. Sending Ad requests

Syncing creatives

Many DOOH screens have low network connectivity, hence we provide a way for media owners to poll us to retrieve the approved creatives before, and sync them on the screens before the auction runs. By doing that you are ensuring that all winning creatives will properly play, as they will be already synchronised on your screens before.

To retrieve the manifest file, that will include the list of relevant creatives for a given screen as well as the links to download the image or video file, you simply have to hit a URL and specify in the path your asset UUID as well your market ID. You should be aware of this information already after performing the steps described in the "Sync your inventory" step.

Here's below the endpoint and parameters, as well as a sample of the response you will receive. You will find further details also on our API reference documentation https://docs.viooh.com/ad-controller#operation/getRootManifestByAssetId.

  "data": {
    "id": "string",
    "type": "string",
    "attributes": {
      "files": {
        "property1": {},
        "property2": {}
    "links": {
      "self": "string"


We recommend you to poll this get service for each screen at regular intervals, to ensure all your screens will be always up to date with the latest deal IDs and approved creatives.

Sending Ad Requests

This is when the magic happens!! Every time you have a free slot, and you want this airtime to be monetized through programmatic and our SSP, you simply have to direct an Ad Request to us.

The full process includes notably: receiving your ad request, retrieving the potential buyers and deal IDs, directing bid request to all DSPs and determining the winner, responding to your ad request with the winning creative. It can take between 1 to 5 seconds, hence we recommend you to direct the Ad Request to us at the start of the previous slot. For instance, if you have a slot #1 for a direct campaign with a length of 10 seconds, and the next slot #2 is expected to be monetized through us, you should direct the Ad Request to us when the first slot starts playing, which should leave more than enough time for us to respond with the winning creative.

Before sending Ad Requests to us, you will need to know 4 things:

  1. Your screen "Asset UUID"
  2. The play ID. This ID will be extremely important notably for reporting, as it will allow us to connect the dots with your proof of play data.
  3. The play duration
  4. Your market ID

You will find more information as usual on our API reference, and please find an example below https://docs.viooh.com/ad-server

Step #1: sending a post call with your Ad Request

  "asset_uuid": "string",
  "playId": "string",
  "playDurationMillis": 0,
  "market": "VIOOH_LOCAL"


Step #2: response sent by us, with the winning creative and deal ID

  "id": "string",
  "fileLocation": "string",
  "creativeType": "BANNER",
  "dealId": "string"

As you can see we are sending the creative ID but also the fileLocation. Which means you can choose between:

  1. Reading the creative ID and letting your player retrieve the file that would have been already stored on its disk after the "Syncing creatives" step described above
  2. Streaming the fileLocation in real-time, which would make the "Syncing creatives" step optional.

In case of any uncertainty regarding your players' connectivity, we recommend the first solution that would provide a stronger safety net and a guarantee that all winning creatives will be available in time.

NB: we recommend media owners to put in place a fallback mechanism on the player, which would allow the playing a default creative if:

  1. There is no have a winner on the auction
  2. The creative ID required hasn't been synced yet
  3. Other technical issues that might prevent the platform responding with the winning creative in time

Keep track of your progress

Mark as completed