Today we are releasing v201502 of the DFP API. This release includes a revamp of the ForecastService , including support for Delivery forecasts. There are also new video features including GRP settings on line items, GRP breakdowns in forecasts, and new VIDEO_VIEWERSHIP report columns.
Sales Manager gains three new services for Packages , ProductPackages , and ProductPackageItems . Additionally, the ProposalLineItemService will now return ProposalLineItems that were created from Packages. There's also improved support for workflow rules with WorkflowValidationErrors .
Finally, Type fields have been removed from all entities. Please update your code to use xsi:type , class names , or instance of .
A detailed list of these and other changes can be found on our release notes page .
Using the new ForecastService
The ForecastService can now run Delivery forecasts for multiple line items. These forecasts report the number of units that will be delivered to each line item given the goals and contentions from other line items in the request. Pass prospective line items or line item IDs to getDeliveryForecast or getDeliveryForecastByIds as outlined in this Java example:
DeliveryForecast existingLineItemForecast =
forecastService.runDeliveryForecastByIds(new long[] {123L, 456L});
ProspectiveLineItem prospectiveLineItem1 = new ProspectiveLineItem();
prospectiveLineItem.setLineItem(myFirstLineItem);
ProspectiveLineItem prospectiveLineItem2 = new ProspectiveLineItem();
prospectiveLineItem.setLineItem(mySecondLineItem);
DeliveryForecast prospectiveLineItemForecast =
forecastforecastService.runDeliveryForecast(new ProspectiveLineItem[] {
prospectiveLineItem1, prospectiveLineItem2});
The existing getForecast and getForecastById methods have been replaced by getAvailabilityForecast and getAvailabilityForecastById , respectively. You must now include AvalilabilityTargetingOptions to specify whether you want to include contending line items or the new TargetingBreakdown .
ProspectiveLineItem prospectiveLineItem = new ProspectiveLineItem();
prospectiveLineItem.setLineItem(myLineItem);
AvailabilityForecastOptions options = new AvailabilityForecastOptions();
options.setIncludeContendingLineItems(true);
options.setIncludeTargetingCriteriaBreakdown(true);
AvailabilityForecast forecast =
forecastService.getAvailabilityForecast(prospectiveLineItem, options);
Handling Sales Manager Workflows with the API
Updating a Proposal with workflow rules may cause a WorkflowValidationError . The WorkflowValidationError will include a message defined by the network's administrator. For more information about detecting and handling specific error types, refer to this blog post .
As always, if you have any questions or feedback, reach out to us on our API forums .
- Chris Seeley , DFP API Team