Deals

Overview

BrightRoll DSP supports the following types of deals:

Shared Deals For these deals, publishers offer supply on an exchange to all interested buyers. If an advertiser line targets a shared deal and wins, then the winning shared deal ID is captured for deal ID reporting.

Spot Buy Deals For these deals, publishers offer supply to a single buyer, or a limited number of specific buyers. If an advertiser line targets a spot buy deal and wins, then the winning spot buy deal ID is captured for deal ID reporting.

Endpoint

https://dspapi.admanagerplus.yahoo.com/traffic/deals

Fields

The Deal object contains the following fields:

Name Description Type Add Update
id ID of the deal. integer N/A Required
name Name of the deal. text Required Required
status

Current status of the deal.

  • ACTIVE - Active.
  • INACTIVE - Inactive
text Required Required
exchangeId Exchange ID. Refer to Exchanges. integer Required Required
exchangeDealId Unique ID for the deal on the exchange. text Required Required
description Deal description. text Required Required
reservePrice Acceptable reserve price for the deal. float Optional Optional
spotbuy Indicates that the deal is a spot buy. When spotbuy is false, the deal is considered to be a Shared Deal. If spotbuy is true, you must specify at least one advertiser in the accounts array and also ensure that accountIsExcluded is set to false. boolean Required Optional
accountIsExcluded

For shared deals, there are two ways to specify which advertisers have access to the deal:

  • true - means all advertisers except those specified in the accounts field have access.
  • false - means only advertisers specified in the accounts field have access

For Spot Buy deals, only valid value for this field is false.

boolean Required Required
accounts Array of Advertiser IDs that can target this deal. To remove existing value, pass an empty array in the PUT call. array Optional Optional

Read Deal (Single)

To retrieve data for a specific Deal, make a GET call with the id parameter.

GET https://dspapi.admanagerplus.yahoo.com/traffic/deals/{id}
Name Description Type Required?
id Deal ID integer Y

The response will be the Deal associated with the given ID.

Example Request

GET https://dspapi.admanagerplus.yahoo.com/traffic/deals/1

Example Response

{
  "response": {
    "status": "ACTIVE",
    "id": 1,
    "name": "Test_Deal",
    "exchangeId": 4,
    "exchangeDealId": "123",
    "description": "Test deal",
    "reservePrice": 0.43,
    "spotbuy": false,
    "accountIsExcluded": false,
    "accounts": [
      1
    ]
  },
  "errors": null,
  "timeStamp": "2017-04-12T04:49:06Z"
}

Read Deals (Filtered)

To retrieve a filtered list of Deals, make a GET call with the supported query parameters.

GET https://dspapi.admanagerplus.yahoo.com/traffic/deals?page={page}&limit={limit}&sort={sort}&dir={dir}&query={query}
Name Description Type Required?
page Page number integer N
limit Total number of items to return. Maximum allowed value is 100. integer N
sort Column to sort by text N
dir Sort direction. Valid values: asc, desc text N
query Search term. Use url encoding conventions (i.e. a space should be replaced with a + or %20). text N

The response will be a list of matching Deals.

Example Request

GET https://dspapi.admanagerplus.yahoo.com/traffic/deals?page=1&limit=2

Example Response

{
  "response": [
   {
      "id": 1,
      "name": "Test_Deal_1",
      "exchangeId": 1,
      "exchangeDealId": "1",
      "description": "A deal description",
      "reservePrice": 0,
      "status": "ACTIVE",
      "accountIsExcluded": false,
      "accounts": []
    },
    {
      "id": 2,
      "name": "Test_Deal_2",
      "exchangeId": 1,
      "exchangeDealId": "2",
      "description": "A deal description",
      "reservePrice": 0,
      "status": "INACTIVE",
      "accountIsExcluded": false,
      "accounts": []
    }
  ],
  "errors": null,
  "timeStamp": "2017-04-12T04:49:06Z"
}

Update Deal

To update an existing Deal, make a PUT call with a payload body and id parameter. The response will be the updated Deal.

Partial update is supported; fields that are either not passed or passed as null will be ignored during update.

PUT https://dspapi.admanagerplus.yahoo.com/traffic/deals/{id}
Name Description Type Required?
id Deal ID integer Y

Example Request

PUT https://dspapi.admanagerplus.yahoo.com/traffic/deals/1

Example Payload

{
  "name": "Auto_Deal-TEST",
  "exchangeDealId": "1",
  "description": "A deal description",
  "exchangeId": 3,
  "status": "ACTIVE",
  "accountIsExcluded": false
}

Example Response

{
  "response": {
    "status": "ACTIVE",
    "id": 1,
    "name": "Auto_Deal-TEST",
    "exchangeId": 3,
    "exchangeDealId": "1",
    "description": "A deal description",
    "spotbuy": true,
    "accountIsExcluded": false,
    "accounts": [
      1
    ]
  },
  "errors": null,
  "timeStamp": "2017-04-12T04:49:06Z"
}

Create Shared Deal

To create a new Shared Deal, make a POST call with a payload body. spotbuy must be set to false. The response will be the newly created Deal.

Example Request

POST https://dspapi.admanagerplus.yahoo.com/traffic/deals

Example Payload

{
  "name": "Test_Deal",
  "exchangeDealId": "1",
  "description": "A new deal description",
  "reservePrice": 1,
  "exchangeId": 3,
  "spotbuy": false,
  "status": "ACTIVE",
  "accountIsExcluded": false,
  "accounts": [
    1, 2
  ]
}

Example Response

{
  "response": {
    "status": "ACTIVE",
    "id": 1,
    "name": "Test_Deal",
    "exchangeId": 3,
    "exchangeDealId": "1",
    "description": "A new deal description",
    "reservePrice": 1,
    "spotbuy": false,
    "accountIsExcluded": false,
    "accounts": [
      1,
      2
    ]
  },
  "errors": null,
  "timeStamp": "2017-04-12T04:49:06Z"
}

Create Spot Buy Deal

To create a new Spot Buy Deal, make a POST call with the Deal object payload. spotbuy must be set to true and you must provide at least one account/advertiser ID in the accounts array. The response will be the newly created Deal.

Example Request

POST https://dspapi.admanagerplus.yahoo.com/traffic/deals

Example Payload

{
  "name": "Test_Deal",
  "exchangeDealId": "1",
  "description": "A deal description",
  "reservePrice": 1,
  "exchangeId": 3,
  "spotbuy": true,
  "status": "ACTIVE",
  "accountIsExcluded": false,
  "accounts": [
    1,
    2,
    3
  ]
}

Example Response

{
  "response": {
    "status": "ACTIVE",
    "id": 1,
    "name": "Test_Deal",
    "exchangeId": 3,
    "exchangeDealId": "1",
    "description": "A deal description",
    "reservePrice": 1,
    "spotbuy": true,
    "accountIsExcluded": false,
    "accounts": [
      1,
      2,
      3
    ]
  },
  "errors": null,
  "timeStamp": "2017-04-12T04:49:06Z"
}

Delete Deal

Deal deletion is not supported by the API.