Today we are releasing v201411 of the DFP API. This release supports creating and updating VideoRedirectCreatives , enhances cross-sell via the new SharedAdUnitService , and adds an experimental Targeting field to the Line_Item PQL table . There are also new Sales Manager enhancements, including derived custom criteria on proposal line items and PQL filtering for Product.lastModifiedDateTime . A detailed list of these and other changes can be found on our release notes page .
Creating VideoRedirectCreatives
You can now use the DFP API to create and update externally hosted and YouTube hosted VideoRedirectCreatives. Simply set the VideoRedirectAsset.redirectUrl to the YouTube or third party URL hosting your ad:
videoRedirectAsset.setRedirectUrl("http://0.thirdpartyadserver.com/ad.mp4")
You will also need to set the VideoMetadata information for both externally hosted and YouTube hosted ads. For streaming videos, set the minimumBitRate and maximumBitRate ; for progressive videos, use the static bitRate .
Custom targeting filter changes
In DFP API v201411 CustomTargetingService.getCustomTargetingKeysByStatement and CustomTargetingService.getCustomTargetingValuesByStatement will return INACTIVE keys and INACTIVE values , respectively. You can filter them by supplying a where clause in a PQL statement:
WHERE status = 'ACTIVE'
LineItem status changes
To better match the UI, ComputedStatus.NEEDS_CREATIVES has been renamed to ComputedStatus.INACTIVE . Use LineItem.isMissingCreatives to determine if the line item needs creatives.
Cross selling features
If your network is connected to a cross selling host , you can manage your shared ad units with the SharedAdUnitService . To determine if an AdUnit is shared, use the new isSharedByDistributor and crossSellingDistributor fields. We've also added a skipCrossSellingRuleWarningChecks field to the LineItem object so you can override any cross selling warnings.
Experimental targeting PQL column
We've heard your feedback and are adding an experimental PQL column for line item targeting . Fair warning: experimental means we may make breaking changes as we get your feedback and make improvements. The targeting column will be returned with a Value.Type of "TargetingValue", and the value itself containing a Targeting object:
<Value.Type>TargetingValue</Value.Type>
<value>
<inventoryTargeting>
<targetedAdUnits>
<adUnitId>33985943</adUnitId>
<includeDescendants>true</includeDescendants>
</targetedAdUnits>
</inventoryTargeting>
</value>
If you've been waiting for a faster way to retrieve line item targeting, try it out and let us know what you think. Head over to the API forum and tell us what works for you, and how we can improve.
- Chris Seeley , DFP API Team