Get advertiser company by ID
| advertiserCompanyId required | integer Example: 10 The ID of the advertiser company you want to fetch |
{- "id": 0,
- "name": "string",
- "active": true,
- "externalId": "string",
- "subsystemExternalIds": {
- "ADVENDIO_ACCOUNT_NUMBER": "12345678",
- "ADVENDIO_ID": "0000p00001qwLI4AAM"
}
}Get a list of active advertiser companies based on the type for campaign creation/modification
| type required | string (AdvertiserCompanyType) Enum: "ADVERTISER" "INVOICE" "INTERMEDIARY" "MEDIA" The type of the advertiser companies you want to fetch. Currently only [ADVERTISER,INVOICE] are allowed. |
| advertiserCompanyId | integer Example: advertiserCompanyId=102 The id of the advertiser you want to filter this list on |
[- {
- "id": 0,
- "name": "string",
- "active": true,
- "externalId": "string",
- "subsystemExternalIds": {
- "ADVENDIO_ACCOUNT_NUMBER": "12345678",
- "ADVENDIO_ID": "0000p00001qwLI4AAM"
}
}
]Get a list of advertiser companies based on the type for campaign filtering. Only values used in campaigns visible to the users are returned
| type required | string (AdvertiserCompanyType) Enum: "ADVERTISER" "INVOICE" "INTERMEDIARY" "MEDIA" The type of the advertiser companies you want to fetch. Currently only [ADVERTISER,INVOICE] are allowed. |
| includeInactive | boolean Specify if inactive entities should be included in the result. If parameter not specified, then only active entities will be returned |
[- {
- "id": 0,
- "name": "string",
- "active": true,
- "externalId": "string",
- "subsystemExternalIds": {
- "ADVENDIO_ACCOUNT_NUMBER": "12345678",
- "ADVENDIO_ID": "0000p00001qwLI4AAM"
}
}
]Get a list of bookings. Requires filtering on at least one of the ID properties (campaign, booking or creative) or on the search parameter.
| campaignId | integer >= 1 Example: campaignId=1 The ID of the campaign(s) you want to fetch bookings for (multiple allowed). |
| bookingIds | Array of integers Example: bookingIds=13679,13681 Comma-separated list of booking IDs to filter the results. |
| creativeId | integer Example: creativeId=303 Filter bookings linked to a specific creative (multiple allowed). |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=10 Pagination property to limit the number of results. |
| offset | integer >= 0 Default: 0 Example: offset=0 Pagination property to offset the results. |
| search | string Example: search=pepsi%20max An url-encoded search string to apply to the list of bookings (ignoring case, on id and name) |
| status | Array of strings (BookingStatus) Items Enum: "ACTIVE" "PAUSED" "STOPPED" Example: status=ACTIVE,PAUSED Filter applied to one or more booking statuses |
| sortField | string (BookingSortFields) Enum: "INTERNAL_ID" "NAME" "STATUS" "START_DATE" "END_DATE" Example: sortField=INTERNAL_ID Field that results should be sorted on |
| sortDirection | string (SortDirection) Enum: "ASC" "DESC" Example: sortDirection=ASC Sort direction to be applied |
[- {
- "internalId": 0,
- "name": "string",
- "status": "ACTIVE",
- "lifetimeStatus": "INCOMPLETE",
- "positionId": 0,
- "positionName": "string",
- "formatId": 0,
- "formatName": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "creationDate": "2019-08-24T14:15:22Z",
- "activeDays": [
- "MONDAY"
], - "lastEditedDate": "2019-08-24T14:15:22Z",
- "deliveryFactors": {
- "unit": "IMPRESSIONS",
- "volume": 10000,
- "pricingType": "CPM",
- "price": 15.99,
- "budget": 4999.99,
- "currency": "USD",
- "cpcOptimized": false
}, - "creativeCount": 0,
- "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "userFrequencies": [
- {
- "impressionsAmount": 5000,
- "expiryInSeconds": 86400
}
], - "pacing": "string",
- "deliveryParameter": 0.42,
- "comment": "Example comment",
- "rtbEnabled": true,
- "deliveryMultiples": "string",
- "isBookedOnChannel": true,
- "excludePositionIds": [
- 0
], - "excludePublicationIds": [
- 0
], - "targetExpressions": {
- "property1": [
- {
- "id": 0,
- "type": "SIMPLE"
}
], - "property2": [
- {
- "id": 0,
- "type": "SIMPLE"
}
]
}
}
]Create a booking
| campaignId | integer |
| name | string |
| startDate | string <date-time> |
| endDate | string <date-time> |
| activeDays | Array of strings or null (DayOfWeek) Enum: "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY" "SUNDAY" |
object or null (DeliveryFactors) | |
object (MediaProductDto) | |
Array of objects (TargetWithValueIds) | |
Array of objects (PeriodicalCapping) | |
Array of objects (DeliveryConstraint) | |
| pacing | string or null Enum: "EVEN" "FRONTLOADED" "AS_FAST_AS_POSSIBLE" "SHARE_OF_VOICE" "ROTATION" |
| deliveryParameter | number or null Float value. Required when pacing is set to "SHARE_OF_VOICE", otherwise to be left empty. |
| comment | string |
| priorityId | integer |
| rtbEnabled | boolean Default: false |
| deliveryMultiples | string or null Enum: "ALL_TOGETHER" "ONE_AT_A_TIME" "EXCLUSIVE_ON_CAMPAIGN" "FREE" "EXCLUSIVE_ON_CREATIVE" |
| excludePositionIds | Array of integers or null List of position IDs to exclude from this booking |
| excludePublicationIds | Array of integers or null List of publication IDs to exclude from this booking |
{- "campaignId": 5,
- "name": "My First Booking",
- "startDate": "2024-01-01T17:56:59Z",
- "endDate": "2024-01-10T10:00:00Z",
- "activeDays": [
- "MONDAY"
], - "deliveryFactors": {
- "unit": "IMPRESSIONS",
- "volume": 10000,
- "pricingType": "CPM",
- "price": 15.99,
- "budget": 4999.99,
- "currency": "USD",
- "cpcOptimized": false
}, - "mediaProduct": {
- "positionId": 0,
- "formatId": 0
}, - "targeting": [
- {
- "targetId": 0,
- "targetValueIds": [
- 0
], - "targetValueExpressions": [
- {
- "id": 0,
- "type": "SIMPLE"
}
]
}
], - "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "userFrequencies": [
- {
- "impressionsAmount": 5000,
- "expiryInSeconds": 86400
}
], - "pacing": "string",
- "deliveryParameter": 0,
- "comment": "Example comment",
- "priorityId": 0,
- "rtbEnabled": false,
- "deliveryMultiples": "string",
- "excludePositionIds": [
- 0
], - "excludePublicationIds": [
- 0
]
}{- "internalId": 0,
- "name": "string",
- "status": "ACTIVE",
- "lifetimeStatus": "INCOMPLETE",
- "positionId": 0,
- "positionName": "string",
- "formatId": 0,
- "formatName": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "creationDate": "2019-08-24T14:15:22Z",
- "activeDays": [
- "MONDAY"
], - "lastEditedDate": "2019-08-24T14:15:22Z",
- "deliveryFactors": {
- "unit": "IMPRESSIONS",
- "volume": 10000,
- "pricingType": "CPM",
- "price": 15.99,
- "budget": 4999.99,
- "currency": "USD",
- "cpcOptimized": false
}, - "creativeCount": 0,
- "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "userFrequencies": [
- {
- "impressionsAmount": 5000,
- "expiryInSeconds": 86400
}
], - "pacing": "string",
- "deliveryParameter": 0.42,
- "comment": "Example comment",
- "rtbEnabled": true,
- "deliveryMultiples": "string",
- "isBookedOnChannel": true,
- "excludePositionIds": [
- 0
], - "excludePublicationIds": [
- 0
], - "targetExpressions": {
- "property1": [
- {
- "id": 0,
- "type": "SIMPLE"
}
], - "property2": [
- {
- "id": 0,
- "type": "SIMPLE"
}
]
}
}| bookingId required | integer Example: 10 The ID of the booking you want to get |
{- "internalId": 0,
- "name": "string",
- "status": "ACTIVE",
- "lifetimeStatus": "INCOMPLETE",
- "positionId": 0,
- "positionName": "string",
- "formatId": 0,
- "formatName": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "creationDate": "2019-08-24T14:15:22Z",
- "activeDays": [
- "MONDAY"
], - "lastEditedDate": "2019-08-24T14:15:22Z",
- "deliveryFactors": {
- "unit": "IMPRESSIONS",
- "volume": 10000,
- "pricingType": "CPM",
- "price": 15.99,
- "budget": 4999.99,
- "currency": "USD",
- "cpcOptimized": false
}, - "creativeCount": 0,
- "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "userFrequencies": [
- {
- "impressionsAmount": 5000,
- "expiryInSeconds": 86400
}
], - "pacing": "string",
- "deliveryParameter": 0.42,
- "comment": "Example comment",
- "rtbEnabled": true,
- "deliveryMultiples": "string",
- "isBookedOnChannel": true,
- "excludePositionIds": [
- 0
], - "excludePublicationIds": [
- 0
], - "targetExpressions": {
- "property1": [
- {
- "id": 0,
- "type": "SIMPLE"
}
], - "property2": [
- {
- "id": 0,
- "type": "SIMPLE"
}
]
}
}| bookingId required | integer Example: 10 The ID of the booking you want to update |
The booking to update
| campaignId | integer |
| name | string |
| startDate | string <date-time> |
| endDate | string <date-time> |
| activeDays | Array of strings or null (DayOfWeek) Enum: "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY" "SUNDAY" |
object or null (DeliveryFactors) | |
object (MediaProductDto) | |
Array of objects (TargetWithValueIds) | |
Array of objects (PeriodicalCapping) | |
Array of objects (DeliveryConstraint) | |
| pacing | string or null Enum: "EVEN" "FRONTLOADED" "AS_FAST_AS_POSSIBLE" "SHARE_OF_VOICE" "ROTATION" |
| deliveryParameter | number or null Float value. Required when pacing is set to "SHARE_OF_VOICE", otherwise to be left empty. |
| comment | string |
| priorityId | integer |
| rtbEnabled | boolean Default: false |
| deliveryMultiples | string or null Enum: "ALL_TOGETHER" "ONE_AT_A_TIME" "EXCLUSIVE_ON_CAMPAIGN" "FREE" "EXCLUSIVE_ON_CREATIVE" |
| excludePositionIds | Array of integers or null List of position IDs to exclude from this booking |
| excludePublicationIds | Array of integers or null List of publication IDs to exclude from this booking |
{- "campaignId": 5,
- "name": "My First Booking",
- "startDate": "2024-01-01T17:56:59Z",
- "endDate": "2024-01-10T10:00:00Z",
- "activeDays": [
- "MONDAY"
], - "deliveryFactors": {
- "unit": "IMPRESSIONS",
- "volume": 10000,
- "pricingType": "CPM",
- "price": 15.99,
- "budget": 4999.99,
- "currency": "USD",
- "cpcOptimized": false
}, - "mediaProduct": {
- "positionId": 0,
- "formatId": 0
}, - "targeting": [
- {
- "targetId": 0,
- "targetValueIds": [
- 0
], - "targetValueExpressions": [
- {
- "id": 0,
- "type": "SIMPLE"
}
]
}
], - "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "userFrequencies": [
- {
- "impressionsAmount": 5000,
- "expiryInSeconds": 86400
}
], - "pacing": "string",
- "deliveryParameter": 0,
- "comment": "Example comment",
- "priorityId": 0,
- "rtbEnabled": false,
- "deliveryMultiples": "string",
- "excludePositionIds": [
- 0
], - "excludePublicationIds": [
- 0
]
}{- "internalId": 0,
- "name": "string",
- "status": "ACTIVE",
- "lifetimeStatus": "INCOMPLETE",
- "positionId": 0,
- "positionName": "string",
- "formatId": 0,
- "formatName": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "creationDate": "2019-08-24T14:15:22Z",
- "activeDays": [
- "MONDAY"
], - "lastEditedDate": "2019-08-24T14:15:22Z",
- "deliveryFactors": {
- "unit": "IMPRESSIONS",
- "volume": 10000,
- "pricingType": "CPM",
- "price": 15.99,
- "budget": 4999.99,
- "currency": "USD",
- "cpcOptimized": false
}, - "creativeCount": 0,
- "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "userFrequencies": [
- {
- "impressionsAmount": 5000,
- "expiryInSeconds": 86400
}
], - "pacing": "string",
- "deliveryParameter": 0.42,
- "comment": "Example comment",
- "rtbEnabled": true,
- "deliveryMultiples": "string",
- "isBookedOnChannel": true,
- "excludePositionIds": [
- 0
], - "excludePublicationIds": [
- 0
], - "targetExpressions": {
- "property1": [
- {
- "id": 0,
- "type": "SIMPLE"
}
], - "property2": [
- {
- "id": 0,
- "type": "SIMPLE"
}
]
}
}| bookingId required | integer Example: 10 The ID of the booking you want to (soft)delete/stop. Must be non-running auction booking or draft booking |
{- "title": "Forbidden",
- "status": 403,
- "detail": "Insufficient permissions for user 123",
}Duplicate a booking by id, minus state and external key and prepending "Copy:" to the name
| bookingId required | integer Example: 10 The id of the booking you want to duplicate |
{- "internalId": 0,
- "name": "string",
- "status": "ACTIVE",
- "lifetimeStatus": "INCOMPLETE",
- "positionId": 0,
- "positionName": "string",
- "formatId": 0,
- "formatName": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "creationDate": "2019-08-24T14:15:22Z",
- "activeDays": [
- "MONDAY"
], - "lastEditedDate": "2019-08-24T14:15:22Z",
- "deliveryFactors": {
- "unit": "IMPRESSIONS",
- "volume": 10000,
- "pricingType": "CPM",
- "price": 15.99,
- "budget": 4999.99,
- "currency": "USD",
- "cpcOptimized": false
}, - "creativeCount": 0,
- "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "userFrequencies": [
- {
- "impressionsAmount": 5000,
- "expiryInSeconds": 86400
}
], - "pacing": "string",
- "deliveryParameter": 0.42,
- "comment": "Example comment",
- "rtbEnabled": true,
- "deliveryMultiples": "string",
- "isBookedOnChannel": true,
- "excludePositionIds": [
- 0
], - "excludePublicationIds": [
- 0
], - "targetExpressions": {
- "property1": [
- {
- "id": 0,
- "type": "SIMPLE"
}
], - "property2": [
- {
- "id": 0,
- "type": "SIMPLE"
}
]
}
}Update a booking status
| bookingId required | integer Example: 10 The ID of the booking you want to update |
"ACTIVE"{- "title": "Invalid Request Parameter Format",
- "status": 400,
- "detail": "Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: \"2785f\"",
}Creatives for a booking
| bookingId required | integer Example: 10 The ID of the booking you want to fetch creatives for |
[- {
- "creativeId": 310,
- "campaignId": 120,
- "creativeName": "My Fourth API creative - updated",
- "formatId": 3,
- "advarTemplateName": null,
- "templateParameters": {
- "<TEXT_COLOR>": "drop",
- "<TARGET_URL_APP>": "appie://",
- "<TEXT_TITLE>": "SANDER",
- "<TARGET_URL>": "ah.nl/acties/",
- "<NAVITEM_TITLE>": "LALALA",
- "<BG_COLOR>": null,
- "<TARGET_URL_SUFFIX_APP>": "ffff",
- "<TARGET_URL_SUFFIX>": "ddddd"
}, - "templateFiles": {
}, - "sku": "sku1, sku2",
- "trafficApproval": {
- "creativeId": 10,
- "bookingId": 10,
- "state": "CLEAR",
- "message": "The background is grey, not gray"
}
}
]Gets the bookings for a creative
| creativeId required | integer Example: 10 The ID of the creative you want to fetch bookings for |
[- {
- "internalId": 0,
- "name": "string",
- "status": "ACTIVE",
- "lifetimeStatus": "INCOMPLETE",
- "positionId": 0,
- "positionName": "string",
- "formatId": 0,
- "formatName": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "creationDate": "2019-08-24T14:15:22Z",
- "activeDays": [
- "MONDAY"
], - "lastEditedDate": "2019-08-24T14:15:22Z",
- "deliveryFactors": {
- "unit": "IMPRESSIONS",
- "volume": 10000,
- "pricingType": "CPM",
- "price": 15.99,
- "budget": 4999.99,
- "currency": "USD",
- "cpcOptimized": false
}, - "creativeCount": 0,
- "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "userFrequencies": [
- {
- "impressionsAmount": 5000,
- "expiryInSeconds": 86400
}
], - "pacing": "string",
- "deliveryParameter": 0.42,
- "comment": "Example comment",
- "rtbEnabled": true,
- "deliveryMultiples": "string",
- "isBookedOnChannel": true,
- "excludePositionIds": [
- 0
], - "excludePublicationIds": [
- 0
], - "targetExpressions": {
- "property1": [
- {
- "id": 0,
- "type": "SIMPLE"
}
], - "property2": [
- {
- "id": 0,
- "type": "SIMPLE"
}
]
}
}
]Get a list of brands filtered on advertiser id and invoice company id for campaign creation/modification
| advertiserCompanyId required | integer Example: advertiserCompanyId=102 The id of the advertiser you want to filter this list on |
| invoiceCompanyId required | integer Example: invoiceCompanyId=102 The id of the invoice company you want to filter this list on |
[- {
- "id": 0,
- "name": "string"
}
]Get a list of brands for campaign filtering. Only values used in campaigns visible to the users are returned
| includeInactive | boolean Specify if inactive entities should be included in the result. If parameter not specified, then only active entities will be returned |
[- {
- "id": 0,
- "name": "string"
}
]Get a list of campaigns
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=10 Pagination property to limit the number of results. |
| offset | integer >= 0 Default: 0 Example: offset=0 Pagination property to offset the results. |
| search | string Example: search=pepsi%20max An url-encoded search string to apply to the list of campaigns (ignoring case, on id, external id and name) |
| from | string <date-time> Example: from=2020-01-01T00:00:00Z Filter to only select campaigns with a start date on or after this date (ISO 8601 format in UTC) |
| to | string <date-time> Example: to=2020-01-01T00:00:00Z Filter to only select campaigns with an end date up to and including this date (ISO 8601 format in UTC) |
| status | string (ReservationType) Enum: "CAMPAIGN" "OPTION" "OFFER" "DRAFT" Example: status=OPTION,OFFER Filter applied to campaign status, allows multiple selection |
| type | string (CampaignType) Enum: "FULL" "PUSH" "GUARANTEED" "AUCTIONED" Example: type=GUARANTEED,AUCTIONED Filter applied to campaign type, allows multiple selection |
| advertiser | integer Example: advertiser=5 The id of the advertiser you want to filter the campaign list on |
| invoiceCompany | integer Example: invoiceCompany=8 The id of the invoiceCompany you want to filter the campaign list on |
| brand | Array of integers Example: brand=10,15 The IDs of the brands you want to filter the campaign list on |
| externalKeys | Array of strings Example: externalKeys=FOOZ41,BARF66 The list of external keys to match the campaign list on |
| sortField | string (sortfield) Enum: "INTERNAL_ID" "NAME" "RESERVATION" "TYPE" "START_DATE" "END_DATE" "CREATION_DATE" "LAST_EDITED_DATE" "VALID_TILL_DATE" "BUDGET" "VOLUME" "BOOKING_BUDGET_SUM" "ADVERTISER" "ADVERTISER_NAME" "INVOICE_COMPANY" "INVOICE_COMPANY_NAME" "PRIORITY" "ORIGIN" "TO_REACH_UNIT" "EXTERNAL_KEY" "CREATED_BY" "LAST_EDITED_BY" "CREATIVE_COUNT" Example: sortField=START_DATE Field on what to sort the data one (default is INTERNAL_ID). RESERVATION is what is often called status (CAMPAIGN, DRAFT, OFFER, OPTION) |
| onlyReviewed | boolean Deprecated Example: onlyReviewed=true Only return reviewed campaigns. Use the filters flag instead. |
| campaignOrigin | string (CampaignOrigin) Enum: "CLASSIC" "SHOP" "SYNC" "OTHER" "MCB" Example: campaignOrigin=MCB,CLASSIC The origins you want to filter the campaign list on |
| filters | string (CampaignFilter) Enum: "ONLY_ONLINE" "ONLY_REVIEWED" Example: filters=ONLY_ONLINE Set parameters with flags. Can be multiple at once. Flag ONLY_ONLINE to indicate the list should be filtered on "running" campaigns, currently meaning being in campaign state and having a non-stopped booking start < now < end. Putting 'false' has no effect. Flag ONLY_REVIEWED is equivalent of onlyReviewed parameter |
[- {
- "internalId": 0,
- "name": "string",
- "lifetimeStatus": "INCOMPLETE",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "budget": "12.34",
- "bookingBudgetSum": "string",
- "volume": 0,
- "toReachUnit": "IMPRESSIONS",
- "advertiser": 0,
- "advertiserName": "string",
- "invoiceCompany": 0,
- "invoiceCompanyName": "string",
- "brands": [
- 0
], - "mediaBrands": [
- {
- "id": 0,
- "name": "string"
}
], - "status": "CAMPAIGN",
- "priority": 0,
- "origin": "CLASSIC",
- "type": "AUCTIONED",
- "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "createdBy": 0,
- "creationDate": "2019-08-24T14:15:22Z",
- "lastEditedBy": 0,
- "lastEditedDate": "2019-08-24T14:15:22Z",
- "externalKey": "string",
- "validTill": "2019-08-24T14:15:22Z",
- "deliveryScheme": {
- "uniform": true
}, - "poNumber": "BC009",
- "message": "string",
- "creativeCount": 5,
- "internalNote": "Internal note",
- "publisherId": 3
}
]Create a campaign. Requires specifying at least either priority ID or campaign type.
| name required | string |
| poNumber | string |
| advertiserId required | integer |
| invoiceCompanyId required | integer |
| brandIds required | Array of integers |
Array of objects (PeriodicalCapping) | |
| priorityId | integer |
| externalKey | string Only if campaign-manage permission is set for a user. Reference in an external system. Can be made required by setting campaignExternalKeyIsRequired config to true |
| reservationType | string Default: "CAMPAIGN" Enum: "CAMPAIGN" "OPTION" "OFFER" "DRAFT" Ignored for guaranteed campaigns, in which case it will always be set to "DRAFT". |
| campaignType | string (CampaignType) Enum: "FULL" "PUSH" "GUARANTEED" "AUCTIONED" |
object (CampaignDeliveryFactors) | |
| internalNote | string |
| publisherId | integer if not provided, the user's publisher will be used |
{- "name": "My first campaign",
- "poNumber": "BC006",
- "advertiserId": 3,
- "invoiceCompanyId": 4,
- "brandIds": [
- 0
], - "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "priorityId": 1,
- "externalKey": "MC-ADH-123",
- "reservationType": "CAMPAIGN",
- "campaignType": "FULL",
- "deliveryFactors": {
- "unit": "IMPRESSIONS",
- "volume": 10000,
- "budget": 4999.99,
- "currency": "USD"
}, - "internalNote": "Internal note",
- "publisherId": 3
}{- "internalId": 0,
- "name": "string",
- "lifetimeStatus": "INCOMPLETE",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "budget": "12.34",
- "bookingBudgetSum": "string",
- "volume": 0,
- "toReachUnit": "IMPRESSIONS",
- "advertiser": 0,
- "advertiserName": "string",
- "invoiceCompany": 0,
- "invoiceCompanyName": "string",
- "brands": [
- 0
], - "mediaBrands": [
- {
- "id": 0,
- "name": "string"
}
], - "status": "CAMPAIGN",
- "priority": 0,
- "origin": "CLASSIC",
- "type": "AUCTIONED",
- "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "createdBy": 0,
- "creationDate": "2019-08-24T14:15:22Z",
- "lastEditedBy": 0,
- "lastEditedDate": "2019-08-24T14:15:22Z",
- "externalKey": "string",
- "validTill": "2019-08-24T14:15:22Z",
- "deliveryScheme": {
- "uniform": true
}, - "poNumber": "BC009",
- "message": "string",
- "creativeCount": 5,
- "internalNote": "Internal note",
- "publisherId": 3
}Get a campaign by ID
| campaignId required | integer Example: 10 The ID of the campaign you want to fetch |
{- "internalId": 0,
- "name": "string",
- "lifetimeStatus": "INCOMPLETE",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "budget": "12.34",
- "bookingBudgetSum": "string",
- "volume": 0,
- "toReachUnit": "IMPRESSIONS",
- "advertiser": 0,
- "advertiserName": "string",
- "invoiceCompany": 0,
- "invoiceCompanyName": "string",
- "brands": [
- 0
], - "mediaBrands": [
- {
- "id": 0,
- "name": "string"
}
], - "status": "CAMPAIGN",
- "priority": 0,
- "origin": "CLASSIC",
- "type": "AUCTIONED",
- "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "createdBy": 0,
- "creationDate": "2019-08-24T14:15:22Z",
- "lastEditedBy": 0,
- "lastEditedDate": "2019-08-24T14:15:22Z",
- "externalKey": "string",
- "validTill": "2019-08-24T14:15:22Z",
- "deliveryScheme": {
- "uniform": true
}, - "poNumber": "BC009",
- "message": "string",
- "creativeCount": 5,
- "internalNote": "Internal note",
- "publisherId": 3
}Update Campaign by ID
| campaignId required | integer Example: 10 The ID of the campaign you want to update |
The campaign to update
| name required | string |
| poNumber | string |
| advertiserId required | integer |
| invoiceCompanyId required | integer |
| brandIds required | Array of integers |
Array of objects (PeriodicalCapping) | |
| priorityId | integer |
| externalKey | string Only if campaign-manage permission is set for a user. Reference in an external system. Can be made required by setting campaignExternalKeyIsRequired config to true |
object (CampaignDeliveryFactors) | |
| internalNote | string |
| publisherId | integer if not provided, the user's publisher will be used |
{- "name": "My first campaign",
- "poNumber": "BC006",
- "advertiserId": 3,
- "invoiceCompanyId": 4,
- "brandIds": [
- 0
], - "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "priorityId": 1,
- "externalKey": "MC-ADH-123",
- "deliveryFactors": {
- "unit": "IMPRESSIONS",
- "volume": 10000,
- "budget": 4999.99,
- "currency": "USD"
}, - "internalNote": "Internal note",
- "publisherId": 3
}{- "internalId": 0,
- "name": "string",
- "lifetimeStatus": "INCOMPLETE",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "budget": "12.34",
- "bookingBudgetSum": "string",
- "volume": 0,
- "toReachUnit": "IMPRESSIONS",
- "advertiser": 0,
- "advertiserName": "string",
- "invoiceCompany": 0,
- "invoiceCompanyName": "string",
- "brands": [
- 0
], - "mediaBrands": [
- {
- "id": 0,
- "name": "string"
}
], - "status": "CAMPAIGN",
- "priority": 0,
- "origin": "CLASSIC",
- "type": "AUCTIONED",
- "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "createdBy": 0,
- "creationDate": "2019-08-24T14:15:22Z",
- "lastEditedBy": 0,
- "lastEditedDate": "2019-08-24T14:15:22Z",
- "externalKey": "string",
- "validTill": "2019-08-24T14:15:22Z",
- "deliveryScheme": {
- "uniform": true
}, - "poNumber": "BC009",
- "message": "string",
- "creativeCount": 5,
- "internalNote": "Internal note",
- "publisherId": 3
}Conditionally update the status of the bookings in a campaign.
| campaignId required | integer Example: 10 The ID of the campaign you want to update. |
The new status
"ACTIVE"[- 0
]Update the status of a guaranteed campaign.
| campaignId required | integer Example: 10 The ID of the campaign you want to update. |
The new status and an optional message.
| status required | string (ReservationType) Enum: "CAMPAIGN" "OPTION" "OFFER" "DRAFT" |
| message | string If status is DRAFT, you can provide this message to indicate REJECT or not to indicate RECALL. It should never exceed 250 chars. |
{- "status": "CAMPAIGN",
- "message": "string"
}{- "internalId": 0,
- "name": "string",
- "lifetimeStatus": "INCOMPLETE",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "budget": "12.34",
- "bookingBudgetSum": "string",
- "volume": 0,
- "toReachUnit": "IMPRESSIONS",
- "advertiser": 0,
- "advertiserName": "string",
- "invoiceCompany": 0,
- "invoiceCompanyName": "string",
- "brands": [
- 0
], - "mediaBrands": [
- {
- "id": 0,
- "name": "string"
}
], - "status": "CAMPAIGN",
- "priority": 0,
- "origin": "CLASSIC",
- "type": "AUCTIONED",
- "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "createdBy": 0,
- "creationDate": "2019-08-24T14:15:22Z",
- "lastEditedBy": 0,
- "lastEditedDate": "2019-08-24T14:15:22Z",
- "externalKey": "string",
- "validTill": "2019-08-24T14:15:22Z",
- "deliveryScheme": {
- "uniform": true
}, - "poNumber": "BC009",
- "message": "string",
- "creativeCount": 5,
- "internalNote": "Internal note",
- "publisherId": 3
}Get a list of channels.
| search | string Example: search=pepsi%20max An url-encoded search string to apply to the list. Matches channel, publication, location, format, or subformat name that includes the search string. Matches channel, publication, location, format, or subformat ID if it exactly matches the search string. |
| includeInactive | boolean Default: false Example: includeInactive=true Include inactive channels in the result. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=10 Pagination property to limit the number of results. |
| offset | integer >= 0 Default: 0 Example: offset=0 Pagination property to offset the results. |
[- {
- "id": 0,
- "name": "string",
- "channelGroupId": 0,
- "formatId": 0,
- "locationId": 0,
- "locationName": "string",
- "publicationId": 0,
- "publicationName": "string"
}
]Upload a creative
| key | string Example: key=2nd index as a string. 2nd, 3rd, 4th etc. 1st is not used by advar creatives |
| id | string the creative id. 0 if new creative, otherwise from the creative |
| formatId | string the format id (from the booking) |
| orderId | string the campaign id |
| ignore | boolean ? |
| versionId | string version id of the file, starting with 0 |
| qqfile | string the filename |
{- "success": true,
- "uploadedCreative": {
- "orderId": 0,
- "uploadPath": "/var/folders/fm/fz3hgtmx0155fq7l44g1m9c40000gn/T/file_by_user_1_at_1719481453975.png",
- "templateHeight": 0,
- "templateId": 0,
- "duration": 0,
- "archived": 0,
- "arrived": "string",
- "urls": [
- "string"
], - "isThirdPartyCreative": false,
- "html": "<a href='null0' target=''><img src='null?t=1719481454070' border='0' width='640' height='480' alt=''><\\/a>",
- "id": 0,
- "height": 480,
- "dmGroupId": 0,
- "templateWidth": 0,
- "hasErrors": 0,
- "altText": "string",
- "openCreativePreviewInNewTab": false,
- "sizeAsString": 45,
- "accepted": 0,
- "altId": 0,
- "dmGroupAsString": "-",
- "target": "string",
- "isAltFor": 0,
- "versionId": 0,
- "size": 0,
- "name": "640x480.png",
- "width": 640,
- "fileType": {
- "extension": "png",
- "clientType": "alt",
- "name": "PNG file",
- "id": 9,
- "mimeType": "image/png",
- "class": "ImageCreative"
}, - "arrivedAsString": "string"
}
}Upload a creative file by posting the file contents as binary data. The server will store this file in its tmp directory and return its path.
| key required | string Example: key=2nd Creative file index written as ordinal number (e.g. 2nd) with the exception of 1, which has key "main" (but is not used in advar creatives). |
| formatId required | integer Example: formatId=1 The ID of the format that will be associated with the creative. |
| Content-Disposition required | string Example: attachment; filename="test.jpg" Should contain the file name. |
{- "filePath": "/tmp/1727095610724_test.jpg"
}Create a creative
| creativeId | integer |
| campaignId | integer |
| creativeName | string |
| formatId | integer |
| advarTemplateName | string or null |
object or null (TemplateParameters) | |
object or null (TemplateFiles) | |
| sku | string or null |
{- "creativeId": 310,
- "campaignId": 120,
- "creativeName": "My Fourth API creative - updated",
- "formatId": 3,
- "advarTemplateName": null,
- "templateParameters": {
- "<TEXT_COLOR>": "drop",
- "<TARGET_URL_APP>": "appie://",
- "<TEXT_TITLE>": "SANDER",
- "<TARGET_URL>": "ah.nl/acties/",
- "<NAVITEM_TITLE>": "LALALA",
- "<BG_COLOR>": null,
- "<TARGET_URL_SUFFIX_APP>": "ffff",
- "<TARGET_URL_SUFFIX>": "ddddd"
}, - "templateFiles": {
}, - "sku": "sku1, sku2"
}{- "success": "string",
- "key": 0
}Get a list of creatives. Requires filtering on at least one of the ID properties (campaign, booking or creative) or on the search parameter.
| campaignId | integer Example: campaignId=10 The ID(s) of the campaign(s) for which you want to get the creatives. |
| bookingId | integer Example: bookingId=10 The ID(s) of the booking(s) for which you want to get the creatives. |
| creativeIds | Array of integers Example: creativeIds=7130,7152 Comma-separated list of creative IDs to filter the results |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=10 Pagination property to limit the number of results. |
| offset | integer >= 0 Default: 0 Example: offset=0 Pagination property to offset the results. |
| search | string Example: search=pepsi%20max An url-encoded search string to apply to the list of creatives (ignoring case, on creative name) |
[- {
- "creativeId": 310,
- "campaignId": 120,
- "creativeName": "My Fourth API creative - updated",
- "formatId": 3,
- "advarTemplateName": null,
- "lastEdited": 1719389814000,
- "templateParameters": {
- "<TEXT_COLOR>": "drop",
- "<TARGET_URL_APP>": "appie://",
- "<TEXT_TITLE>": "SANDER",
- "<TARGET_URL>": "ah.nl/acties/",
- "<NAVITEM_TITLE>": "LALALA",
- "<BG_COLOR>": null,
- "<TARGET_URL_SUFFIX_APP>": "ffff",
- "<TARGET_URL_SUFFIX>": "ddddd"
}, - "templateFiles": {
}, - "sku": "sku1, sku2"
}
]Create a creative
| campaignId | integer |
| creativeName | string |
| formatId | integer |
| advarTemplateName | string or null |
object or null (TemplateParameters) | |
object or null (TemplateFiles) | |
| sku | string or null |
{- "campaignId": 120,
- "creativeName": "My Fourth API creative - updated",
- "formatId": 3,
- "advarTemplateName": null,
- "templateParameters": {
- "<TEXT_COLOR>": "drop",
- "<TARGET_URL_APP>": "appie://",
- "<TEXT_TITLE>": "SANDER",
- "<TARGET_URL>": "ah.nl/acties/",
- "<NAVITEM_TITLE>": "LALALA",
- "<BG_COLOR>": null,
- "<TARGET_URL_SUFFIX_APP>": "ffff",
- "<TARGET_URL_SUFFIX>": "ddddd"
}, - "templateFiles": {
}, - "sku": "sku1, sku2"
}{- "creativeId": 310,
- "campaignId": 120,
- "creativeName": "My Fourth API creative - updated",
- "formatId": 3,
- "advarTemplateName": null,
- "lastEdited": 1719389814000,
- "templateParameters": {
- "<TEXT_COLOR>": "drop",
- "<TARGET_URL_APP>": "appie://",
- "<TEXT_TITLE>": "SANDER",
- "<TARGET_URL>": "ah.nl/acties/",
- "<NAVITEM_TITLE>": "LALALA",
- "<BG_COLOR>": null,
- "<TARGET_URL_SUFFIX_APP>": "ffff",
- "<TARGET_URL_SUFFIX>": "ddddd"
}, - "templateFiles": {
}, - "sku": "sku1, sku2"
}Get a single creative
| creativeId required | integer Example: 10 The id of the creative you want to fetch |
{- "creativeId": 310,
- "campaignId": 120,
- "creativeName": "My Fourth API creative - updated",
- "formatId": 3,
- "advarTemplateName": null,
- "lastEdited": 1719389814000,
- "templateParameters": {
- "<TEXT_COLOR>": "drop",
- "<TARGET_URL_APP>": "appie://",
- "<TEXT_TITLE>": "SANDER",
- "<TARGET_URL>": "ah.nl/acties/",
- "<NAVITEM_TITLE>": "LALALA",
- "<BG_COLOR>": null,
- "<TARGET_URL_SUFFIX_APP>": "ffff",
- "<TARGET_URL_SUFFIX>": "ddddd"
}, - "templateFiles": {
}, - "sku": "sku1, sku2"
}Update a creative
| creativeId required | integer Example: 10 The id of the creative you want to update |
| campaignId | integer |
| creativeName | string |
| formatId | integer |
| advarTemplateName | string or null |
object or null (TemplateParameters) | |
object or null (TemplateFiles) | |
| sku | string or null |
{- "campaignId": 120,
- "creativeName": "My Fourth API creative - updated",
- "formatId": 3,
- "advarTemplateName": null,
- "templateParameters": {
- "<TEXT_COLOR>": "drop",
- "<TARGET_URL_APP>": "appie://",
- "<TEXT_TITLE>": "SANDER",
- "<TARGET_URL>": "ah.nl/acties/",
- "<NAVITEM_TITLE>": "LALALA",
- "<BG_COLOR>": null,
- "<TARGET_URL_SUFFIX_APP>": "ffff",
- "<TARGET_URL_SUFFIX>": "ddddd"
}, - "templateFiles": {
}, - "sku": "sku1, sku2"
}{- "creativeId": 310,
- "campaignId": 120,
- "creativeName": "My Fourth API creative - updated",
- "formatId": 3,
- "advarTemplateName": null,
- "lastEdited": 1719389814000,
- "templateParameters": {
- "<TEXT_COLOR>": "drop",
- "<TARGET_URL_APP>": "appie://",
- "<TEXT_TITLE>": "SANDER",
- "<TARGET_URL>": "ah.nl/acties/",
- "<NAVITEM_TITLE>": "LALALA",
- "<BG_COLOR>": null,
- "<TARGET_URL_SUFFIX_APP>": "ffff",
- "<TARGET_URL_SUFFIX>": "ddddd"
}, - "templateFiles": {
}, - "sku": "sku1, sku2"
}Duplicate a creative by id. When duplicating to the same campaign, the name is prepended with "Copy of ". When duplicating to a different campaign, the original name is preserved.
| creativeId required | integer Example: 10 The id of the creative you want to duplicate |
| destinationCampaignId | integer The campaign to duplicate the creative to. If not provided, duplicates to the same campaign. |
{- "destinationCampaignId": 123
}{- "creativeId": 310,
- "campaignId": 120,
- "creativeName": "My Fourth API creative - updated",
- "formatId": 3,
- "advarTemplateName": null,
- "lastEdited": 1719389814000,
- "templateParameters": {
- "<TEXT_COLOR>": "drop",
- "<TARGET_URL_APP>": "appie://",
- "<TEXT_TITLE>": "SANDER",
- "<TARGET_URL>": "ah.nl/acties/",
- "<NAVITEM_TITLE>": "LALALA",
- "<BG_COLOR>": null,
- "<TARGET_URL_SUFFIX_APP>": "ffff",
- "<TARGET_URL_SUFFIX>": "ddddd"
}, - "templateFiles": {
}, - "sku": "sku1, sku2"
}Creatives for a booking
| bookingId required | integer Example: 10 The ID of the booking you want to fetch creatives for |
[- {
- "creativeId": 310,
- "campaignId": 120,
- "creativeName": "My Fourth API creative - updated",
- "formatId": 3,
- "advarTemplateName": null,
- "templateParameters": {
- "<TEXT_COLOR>": "drop",
- "<TARGET_URL_APP>": "appie://",
- "<TEXT_TITLE>": "SANDER",
- "<TARGET_URL>": "ah.nl/acties/",
- "<NAVITEM_TITLE>": "LALALA",
- "<BG_COLOR>": null,
- "<TARGET_URL_SUFFIX_APP>": "ffff",
- "<TARGET_URL_SUFFIX>": "ddddd"
}, - "templateFiles": {
}, - "sku": "sku1, sku2",
- "trafficApproval": {
- "creativeId": 10,
- "bookingId": 10,
- "state": "CLEAR",
- "message": "The background is grey, not gray"
}
}
]Gets the bookings for a creative
| creativeId required | integer Example: 10 The ID of the creative you want to fetch bookings for |
[- {
- "internalId": 0,
- "name": "string",
- "status": "ACTIVE",
- "lifetimeStatus": "INCOMPLETE",
- "positionId": 0,
- "positionName": "string",
- "formatId": 0,
- "formatName": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "creationDate": "2019-08-24T14:15:22Z",
- "activeDays": [
- "MONDAY"
], - "lastEditedDate": "2019-08-24T14:15:22Z",
- "deliveryFactors": {
- "unit": "IMPRESSIONS",
- "volume": 10000,
- "pricingType": "CPM",
- "price": 15.99,
- "budget": 4999.99,
- "currency": "USD",
- "cpcOptimized": false
}, - "creativeCount": 0,
- "frequencyLimits": [
- {
- "amount": 6000,
- "event": "IMPRESSIONS",
- "period": "DAILY",
- "scope": "CAMPAIGN"
}
], - "userFrequencies": [
- {
- "impressionsAmount": 5000,
- "expiryInSeconds": 86400
}
], - "pacing": "string",
- "deliveryParameter": 0.42,
- "comment": "Example comment",
- "rtbEnabled": true,
- "deliveryMultiples": "string",
- "isBookedOnChannel": true,
- "excludePositionIds": [
- 0
], - "excludePublicationIds": [
- 0
], - "targetExpressions": {
- "property1": [
- {
- "id": 0,
- "type": "SIMPLE"
}
], - "property2": [
- {
- "id": 0,
- "type": "SIMPLE"
}
]
}
}
]Get a list of inventory for an account, which colocates related publications, positions, locations and formats.
| search | string Example: search=pepsi%20max An url-encoded search string to apply to the list (publication/position/location/format/subformat name contains the search term or their id equals the search term (if number)) |
| includeInactive | boolean Default: false Example: includeInactive=true Include inactive positions in the result. |
| includeChannels | boolean Default: false Example: includeChannels=true Include positions that are channels in the result. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=10 Pagination property to limit the number of results. |
| offset | integer >= 0 Default: 0 Example: offset=0 Pagination property to offset the results. |
[- {
- "publicationId": 0,
- "publicationName": "string",
- "positionId": 0,
- "positionName": "string",
- "locationId": 0,
- "locationName": "string",
- "formatId": 0,
- "formatName": "string"
}
]Get a list of channels.
| search | string Example: search=pepsi%20max An url-encoded search string to apply to the list. Matches channel, publication, location, format, or subformat name that includes the search string. Matches channel, publication, location, format, or subformat ID if it exactly matches the search string. |
| includeInactive | boolean Default: false Example: includeInactive=true Include inactive channels in the result. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=10 Pagination property to limit the number of results. |
| offset | integer >= 0 Default: 0 Example: offset=0 Pagination property to offset the results. |
[- {
- "id": 0,
- "name": "string",
- "channelGroupId": 0,
- "formatId": 0,
- "locationId": 0,
- "locationName": "string",
- "publicationId": 0,
- "publicationName": "string"
}
]Get a list of positions and publications pairs by channel id.
| channelId required | integer Example: channelId=123 The ID of the channel. |
| search | string Example: search=pepsi%20max An url-encoded search string to apply to the list (publication/position name contains the search term or their id equals the search term (if number)) |
| includeInactive | boolean Default: false Example: includeInactive=true Include inactive positions in the result. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=10 Pagination property to limit the number of results. |
| offset | integer >= 0 Default: 0 Example: offset=0 Pagination property to offset the results. |
[- {
- "publicationId": 0,
- "publicationName": "string",
- "positionId": 0,
- "positionName": "string"
}
]Get a list of media products
| campaignType | string Enum: "AUCTION" "GUARANTEED" "FULL" Example: campaignType=AUCTION The type of campaign |
| mediaProductIds | Array of integers Example: mediaProductIds=10,11 Comma-separated list of media product IDs to filter the results |
[- {
- "id": "string",
- "formatId": "string",
- "name": "string",
- "description": "string",
- "price": 0,
- "externalId": "string",
- "currency": "EUR"
}
]Get a media product by ID.
| mediaProductId required | integer Example: 123 The ID of the media product. |
{- "id": "string",
- "formatId": "string",
- "name": "string",
- "description": "string",
- "price": 0,
- "externalId": "string",
- "currency": "EUR"
}Get a of metrics per day for a given booking or campaign. Take note that this lives somewhere else (https://data.staging-adhese.org/)
| client required | string Example: ahms The name of the client we fetch data for - if it has an enabled metrics job! |
| entity_type required | string Example: entity_type=campaign Wherever you ask data for: creative, booking or campaign |
| entity_id required | integer Example: entity_id=102 The id of the booking, creative or campaign you want metrics for. Can be repeated |
[- {
- "date": "2019-08-24",
- "id": 0,
- "impressions": "string",
- "tracks": "string",
- "clicks": "string",
- "views": "string",
- "start": "string",
- "firstQuartile": "string",
- "midpoint": "string",
- "thirdQuartile": "string",
- "complete": "string",
- "spend": 0
}
]Get a list of available notifications
| from required | string <date-time> The lower bound of the time window to get notifications from. |
| to | string <date-time> The upper bound of the time window to get notifications from. If missing, it's unlimited ("now" for most cases, or any future event in others) |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=10 Pagination property to limit the number of results. |
| offset | integer >= 0 Default: 0 Example: offset=0 Pagination property to offset the results. |
| eventTypes | Array of strings (NotificationEventType) Items Enum: "BOOKING_CREATIVE_APPROVED" "BOOKING_CREATIVE_REJECTED" "CAMPAIGN_APPROVED" "CAMPAIGN_REJECTED" "BOOKING_INCOMPLETE" Example: eventTypes=CAMPAIGN_REJECTED,BOOKING_INCOMPLETE Filter applied to one or more notification event types |
[- {
- "id": "string",
- "eventType": "BOOKING_CREATIVE_APPROVED",
- "timestsamp": "2019-08-24T14:15:22Z",
- "campaignId": 0,
- "campaignName": "string",
- "metadata": {
- "bookingId": 0,
- "bookingName": "string",
- "creativeId": 0,
- "creativeName": "string"
}
}
]Get the default priority for a campaign type
| campaignType required | string (CampaignType) Enum: "FULL" "PUSH" "GUARANTEED" "AUCTIONED" Example: campaignType=GUARANTEED The campaign type to get the default priority for |
{- "id": 8,
- "name": "guaranteed campaign",
- "index": -1
}Get a flat list of each target and value.
| positionId | integer Example: positionId=102 Get targets for a specific position. |
| bookingId | integer Example: bookingId=101 Get targets for a specific booking. |
| targetId | integer Example: targetId=100 Filter the target values on a specific target id. |
| includeInactive | boolean Example: includeInactive=true Include inactive targets in the result. |
| targetValueType | string (TargetValueType) Enum: "INCLUSIVE" "EXCLUSIVE" Example: targetValueType=INCLUSIVE Get targets for a specific value type. |
| search | string Example: search=123 An url-encoded search string to apply to the list of flat targets (ignoring case, on target name, target value id and -name) |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=10 Pagination property to limit the number of results. |
| offset | integer >= 0 Default: 0 Example: offset=0 Pagination property to offset the results. |
[- {
- "targetId": 0,
- "targetName": "string",
- "targetValueId": 0,
- "targetValueName": "string",
- "targetValueType": "INCLUSIVE"
}
]Get a list of targets either by position or booking.
| positionId | integer Example: positionId=102 Get targets for a specific position. Need to specify either this or bookingId. |
| bookingId | integer Example: bookingId=101 Get targets for a specific booking. Need to specify either this or positionId. |
| includeInactive | boolean Example: includeInactive=true Include inactive targets in the result. |
[- {
- "id": 0,
- "name": "string",
- "values": [
- {
- "id": 0,
- "name": "string"
}
]
}
]Gets the target values of a target group, optionally searchable
| targetId required | integer Example: 10 The ID of the target you want to fetch values for |
| search | string Example: search=Bob The search term you want to filter (string contains) the target values on |
[- {
- "id": 0,
- "name": "string"
}
]Activates the target
| targetId required | integer Example: 10 The ID of the target you want to activate |
{- "title": "Invalid Request Parameter Format",
- "status": 400,
- "detail": "Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: \"2785f\"",
}Deactivates the target
| targetId required | integer Example: 10 The ID of the target you want to deactivate |
{- "title": "Invalid Request Parameter Format",
- "status": 400,
- "detail": "Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: \"2785f\"",
}Activates the target for selfservice by setting environments to "mcb"
| targetId required | integer Example: 10 The ID of the target you want to activate for selfservice |
{- "title": "Invalid Request Parameter Format",
- "status": 400,
- "detail": "Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: \"2785f\"",
}Deactivates the target for selfservice by setting environments to null
| targetId required | integer Example: 10 The ID of the target you want to deactivate for selfservice |
{- "title": "Invalid Request Parameter Format",
- "status": 400,
- "detail": "Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: \"2785f\"",
}Activates the target value
| targetId required | integer Example: 10 The ID of the target of which value you want to activate |
| targetValueId required | integer Example: 10 The ID of the target value you want to activate |
{- "title": "Invalid Request Parameter Format",
- "status": 400,
- "detail": "Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: \"2785f\"",
}Deactivates the target value
| targetId required | integer Example: 10 The ID of the target of which value you want to deactivate |
| targetValueId required | integer Example: 10 The ID of the target value you want to deactivate |
{- "title": "Invalid Request Parameter Format",
- "status": 400,
- "detail": "Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: \"2785f\"",
}Deprecated, use /api/mcb/targets instead. Gets the valid targets for a position.
| positionId required | integer Example: 10 The ID of the position you want to fetch valid targets for |
[- {
- "id": 0,
- "name": "string",
- "values": [
- {
- "id": 0,
- "name": "string"
}
]
}
]Fetches description of specified advar template
| name required | string Example: dooh.json Name of the advar template |
{- "advar": "string",
- "files": [
- {
- "key": "string",
- "label": "string",
- "defaultValue": "string",
- "doc": "string"
}
], - "fields": [
- {
- "id": "string",
- "key": "string",
- "label": "string",
- "defaultValue": "string",
- "doc": "string",
- "type": "SINGLE_LINE_TEXT",
- "options": [
- {
- "label": "string",
- "value": "string"
}
], - "required": false,
- "maxLength": "unlimited"
}
]
}Get a paginated list of traffic approvals, optionally filtered by a variety of properties. The combination of campaignId, bookingId and creativeId is unique and will yield a single traffic approval (or none). The expiry field is either 3 (default, configurable with mcbTrafficApprovalDueDateIntervalDays) days from last updated or booking start (whichever is sooner)
| state | string (TrafficApprovalState) Enum: "CLEAR" "PENDING" "REJECTED" "APPROVED" "PENDING_PAUSED" "PAUSED" Example: state=PENDING State of the traffic objects you want. Can be supplied multiple times. |
| search | string Example: search=Danone Search on booking and creative ids and names. |
| advertiserCompanyId | string Example: advertiserCompanyId=15 The id of the advertiser company you want to filter the list on. |
| campaignOrigin | Array of strings (CampaignOrigin) Items Enum: "CLASSIC" "SHOP" "SYNC" "OTHER" "MCB" Example: campaignOrigin=MCB Filter the list on the origin of the campaign. |
| campaignType | Array of strings (CampaignType) Items Enum: "FULL" "PUSH" "GUARANTEED" "AUCTIONED" Example: campaignType=FULL Filter the list on the type of the campaign. |
| campaignId | Array of integers Example: campaignId=10 The ID(s) of the campaign(s) you want to fetch traffic approvals for. |
| bookingId | integer Example: bookingId=10 The ID(s) of the booking(s) you want to fetch traffic approvals for. |
| creativeId | integer Example: creativeId=10 The ID(s) of the creative(s) you want to fetch traffic approvals for. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=10 Pagination property to limit the number of results. |
| offset | integer >= 0 Default: 0 Example: offset=0 Pagination property to offset the results. |
| sortField | string Value: "EXPIRY_DATE" Example: sortField=EXPIRY_DATE Sort the returned traffic approvals by the given field. |
| sortDirection | string Default: "ASC" Enum: "ASC" "DESC" Sort direction to be applied |
[- {
- "state": "CLEAR",
- "expiry": "2019-08-24",
- "message": "string",
- "lastUpdated": "2019-08-24T14:15:22Z",
- "creative": {
- "id": 0,
- "name": "string"
}, - "campaign": {
- "id": 0,
- "name": "string",
- "origin": "CLASSIC",
- "type": "FULL"
}, - "booking": {
- "id": 0,
- "name": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z"
}, - "format": {
- "id": 0,
- "name": "string"
}, - "advertiserCompany": {
- "id": 0,
- "name": "string"
}
}
]Update / set traffic state of a creative - booking combination
| creativeId | integer |
| bookingId | integer |
| state | string (TrafficApprovalState) Enum: "CLEAR" "PENDING" "REJECTED" "APPROVED" "PENDING_PAUSED" "PAUSED" This optional field has a default of "PENDING" to not break the current implementation. If we can adjust that in frontend we better make this required |
| message | string Message is required when state is REJECTED and should never exceed 250 chars |
{- "creativeId": 10,
- "bookingId": 10,
- "state": "CLEAR",
- "message": "The background is grey, not gray"
}"OK"Get a flat list of each target and value.
| positionId | integer Example: positionId=102 Get targets for a specific position. |
| bookingId | integer Example: bookingId=101 Get targets for a specific booking. |
| targetId | integer Example: targetId=100 Filter the target values on a specific target id. |
| includeInactive | boolean Example: includeInactive=true Include inactive targets in the result. |
| targetValueType | string (TargetValueType) Enum: "INCLUSIVE" "EXCLUSIVE" Example: targetValueType=INCLUSIVE Get targets for a specific value type. |
| search | string Example: search=123 An url-encoded search string to apply to the list of flat targets (ignoring case, on target name, target value id and -name) |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=10 Pagination property to limit the number of results. |
| offset | integer >= 0 Default: 0 Example: offset=0 Pagination property to offset the results. |
[- {
- "targetId": 0,
- "targetName": "string",
- "targetValueId": 0,
- "targetValueName": "string",
- "targetValueType": "INCLUSIVE"
}
]Resolves the provided targets and their values and returns a flattened list of target values.
| bookingId | integer or null |
| positionId | integer or null |
| environment | string or null |
object |
{- "bookingId": 10,
- "positionId": 10,
- "environment": "MCB",
- "targetValuesByTargetId": {
- "1": [
- 1,
- 2,
- 3
], - "2": [
- 4,
- 5
]
}
}[- {
- "targetId": 0,
- "targetName": "string",
- "targetValueId": 0,
- "targetValueName": "string",
- "targetValueType": "INCLUSIVE"
}
]Get available format by id
| id required | integer Example: 123 The ID of the format |
{- "id": "string",
- "name": "string",
- "width": "string",
- "height": "string",
- "subformat": {
- "id": "string",
- "name": "string",
- "width": "string",
- "height": "string"
}
}Get a list of publishers
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=10 Pagination property to limit the number of results. |
| offset | integer >= 0 Default: 0 Example: offset=0 Pagination property to offset the results. |
| search | string Example: search=pepsi%20max An url-encoded search string to apply to the list of publishers |
| sortField | string (PublisherSortFields) Enum: "COMPANY_NAME" "CREATION" "LAST_USED" "CONTACT_NAME" Example: sortField=COMPANY_NAME Field that results should be sorted on |
| sortDirection | string (SortDirection) Enum: "ASC" "DESC" Example: sortDirection=ASC Sort direction to be applied |
[- {
- "id": 0,
- "name": "string"
}
]