Vendors API
You can use the vendors web service to configure a vendor's app to connect your DMP with the app partner's platform. Once you associate a vendor's app and an audience with a campaign, you can activate the campaign and start data delivery.
Note: Users no longer create campaigns in the Oracle Data Cloud platform UI. The campaign workflow is now part of the audience workflow. The platform still uses campaigns to manage audience data delivery however. They are created automatically when a UI user delivers an audience. In the APIs, you create and use campaigns as before.
In this topic
Explore the API
The embedded I/O doc below enables you to explore the API. The I/O doc explains the parameters for each method and provides templates for your calls. You cannot make live API calls from the tool, however.
Open the link below in a new tab to see the I/O doc in a three-pane format.
For help with this API, contact My Oracle Support (MOS).
Service URI
The URI for the vendors API is:
services.bluekai.com/rest/vendors
Schema
The URI for the vendors API schema is:
services.bluekai.com/rest/vendor.schema
{
"type" : "object",
"$schema" : "https://json-schema.org/draft-04/schema/#",
"id" : "#vendor",
"title" : "Vendor Schema",
"description" : "The details of a vendor",
"additionalProperties" : false,
"properties" : {
"id" : {
"type" : "integer",
"description" : "vendor ID",
"minimum" : 1,
"o:sortable" : true,
"o:queryable" : true
},
"name" : {
"type" : "string",
"description" : "The name for a vendor",
"minLength" : 1,
"maxLength" : 255,
"o:sortable" : true,
"o:queryable" : true
},
"status" : {
"enum" : [ "active", "deleted" ],
"default" : "active",
"description" : "Describes status of current resource. Certain properties or attributes may become required as a prerequisite to status change.",
"o:sortable" : true,
"o:queryable" : true
},
"partnerId" : {
"type" : "integer",
"description" : "partner ID",
"minimum" : 1
},
"createdAt" : {
"type" : "string",
"format" : "date-time",
"description" : "Vendor created date and time",
"minLength" : 20,
"maxLength" : 29,
"o:sortable" : true,
"o:queryable" : true
},
"updatedAt" : {
"type" : "string",
"format" : "date-time",
"description" : "Vendor updated date and time",
"minLength" : 20,
"maxLength" : 29,
"o:sortable" : true,
"o:queryable" : true
},
"pricingModel" : {
"$ref" : "#pricingModel",
"o:expandable" : true
},
"solutionType" : {
"$ref" : "#campaignSolutionType",
"o:expandable" : true
},
"vendorTemplate" : {
"$ref" : "#vendorTemplate",
"o:expandable" : true
},
"campaign" : {
"$ref" : "#campaign",
"o:expandable" : true
},
"attributes" : {
"type" : "array",
"description" : "Key/value based attributes that are describing current vendor",
"additionalProperties" : false,
"uniqueItems" : true,
"items" : {
"$ref" : "#attribute"
}
},
"profileInputs" : {
"type" : "array",
"items" : {
"$ref" : "#profileInput"
}
},
"permissionedCategoryIds" : {
"type" : "array",
"items" : {
"type" : "integer"
}
}
},
"required" : [ "name" ],
"links" : [ {
"rel" : "search",
"href" : "#",
"schema" : {
"type" : "object",
"properties" : {
"nameOrId" : {
"type" : "string",
"description" : "Filter by Name or ID of the vendor"
},
"q" : {
"type" : "string",
"format" : "scim"
}
}
}
}, {
"rel" : "canonical",
"href" : "/rest/vendors/{id}"
}, {
"rel" : "collection",
"href" : "/rest/vendors"
} ]
}
Related API calls
Here are the API calls you will typically make after you use the vendors API:
Post-vendors API | Use case |
---|---|
Audiences API | Create and manage audiences for use with campaigns and your apps. |
Campaigns API | Create instructions for delivering your target audience to DMP partners. |
GET and POST response summary
The vendors API GET and POST responses include the following information with each vendor returned:
Property | Type | Description |
---|---|---|
attributes
|
array | An array of key-value pairs providing details about the vendor |
campaign
|
array | An object describing the campaign associated with the vendor. For details about its properties, see campaigns API. |
createdAt
|
string | A timestamp in ISO 8601 date and time format (yyyy-MM-dd'T'HH:mm:ssZ) indicating when the vendor was created For example: 2017-03-18T17:46:32-05:00 |
id
|
integer | The unique identifier assigned to the vendor |
name
|
string | The user-specified name for the vendor's app, such as "Oracle Modeling 360 configuration" |
partnerId
|
integer | The unique ID assigned to the associated partner in the Oracle Data Cloud platform, such as 2345 |
permissionedCategoryIds
|
array |
An array of whitelisted category IDs |
pricingModel
|
array | An object that describes the pricing model used for billing and reporting and includes a name , description , and an id . The id may be one of the following:
|
profileInputs
|
array | An object that describes the behavioral and demographic profile of the associated audience, including category and partner IDs |
solutionType
|
array | An object that describes the type of campaign solution, including the following parameters:
id parameter indicates one of the following campaign types:
|
status
|
string | Indicates whether the vendor is active (the default) or deleted . |
updatedAt
|
string | A timestamp in ISO 8601 date and time format (yyyy-MM-dd'T'HH:mm:ssZ) indicating when the vendor was last modified in Oracle Data Cloud platform. For example: 2017-04-18T17:46:32-05:00 |
vendorTemplate
|
array | An object that includes values from the associated vendor template |
Response errors
To see the latest error codes, call services.bluekai.com/rest/vendors.errors?bkuid=bkUID&bksig=signedString
.
If your request fails, the response will use one of the following error messages:
Error code | Description |
---|---|
BK-10001 | Could not find resource for the specified path |
BK-10002 | Bad query parameters |
BK-10003 | Invalid JSON input |
BK-10004 | Input JSON does not pass schema validation |
BK-10005 | Input JSON contains bad property |
BK-10006 | Input JSON has missing properties |
BK-10007 | Input JSON has bad property that does not match min length requirement |
BK-10008 | Input JSON has bad property that does not match max length requirement |
BK-10009 | Not enough privileges to access requested resource |
BK-10010 | The request could not be completed by the service due to malformed data or syntax |
BK-10011 | Incorrect sorting parameter |
BK-10012 | Additional properties detected. Schema does not allow extra properties to be present |
BK-10013 | Incorrect expand parameter |
BK-10014 | Incorrect q query parameter syntax |
BK-10015 | Property has unacceptable/bad format |
BK-10016 | Property value does not appear on the list of acceptable values |
BK-10017 | Array must not contain duplicate entries |
BK-43001 | Vendor was not found |
BK-43002 | Pricing model is required |
BK-43003 | Solution type is required |
BK-43004 | Vendor template is required |
BK-43005 | Third party identifier is required |
BK-43006 | Username is required |
BK-43007 | Password is required |
BK-43008 | Access token is required |
BK-43009 | Client code is required |
BK-43010 | Adbox url is required |
BK-43011 | Inject type is required |
BK-43012 | Eloqua install id is required |
BK-43013 | Eloqua site id is required |
BK-43014 | Eloqua pod api url is required |
BK-43015 | Vendor template or pricing model not supported for given solution type |
BK-43016 | Vendor attribute invalid |
BK-43017 | Contact info is required |
BK-43018 | Data granularity campaigns is required |
BK-43019 | Data granularity categories is required |
BK-43020 | Vendor template change forbidden |
BK-43021 | Advertiser is required |
BK-43022 | Currency code is required |
BK-43023 | Permissioned category ids are required |
BK-43024 | Profile inputs are required |
BK-43025 | Profile input name is required |
BK-43026 | Profile input id is required |
BK-43027 | Profile input category ids is required |
BK-43028 | The ID swap pixel url in your selected app is malformed |
BK-43029 | ID Swap pixel is already configured for this App partner |
BK-43030 | Contact info contains invalid email address |