启用订单项

使用 Display &Video 360 创建的所有订单项Video 360 API 最初是以草稿形式创建的 状态。在草稿状态下,订单项不投放广告 调整设置和定位,而这些更改不会影响任何当前广告 。本页介绍了您应采取哪些步骤来确认 项是否可以开始投放广告,以及如何将其状态更新为有效状态。

启用前需要执行的操作

由于订单项是您的广告收入支出方式, 进行广告购买和投放时,请务必确保相应订单项 处于启用状态时按预期投放广告。添加之前,您需要考虑以下事项 启用订单项的步骤:

  • 确保排期设置正确无误:检查订单项的 flight 字段中,确保 是否正确。订单项的排期窗口可以自定义为 订单项或者父级广告订单继承的订单项。
  • 验证是否没有阻止订单项投放的警告: 使用 advertisers.lineItems.get 检索订单项资源 然后检查warningMessages字段 订单项没有可能会阻碍该订单项投放的警告。通过 LineItemWarningMessage 枚举会注明每项 警告。
  • 确认所有父级资源也处于有效状态:有效的订单项 如果其父级广告客户、广告系列或 订单未启用。使用GET 广告客户广告系列广告订单服务。

启用订单项

将订单项的 entityStatus 字段更新为 ENTITY_STATUS_ACTIVE。您可以为单个订单项更新此字段 使用 advertisers.lineItems.patch 方法,对于多行 指定广告客户内的多个产品 advertisers.lineItems.bulkUpdate

以下示例展示了如何使用 bulkUpdate 来启用 多个订单项:

// Create the line item structure.
LineItem targetLineItem = new LineItem();
targetLineItem
.setEntityStatus("ENTITY_STATUS_ACTIVE");

// Create the bulk update request body.
BulkUpdateLineItemsRequest requestBody = new BulkUpdateLineItemsRequest();
requestBody
.setLineItemIds(line-item-ids);
requestBody
.setTargetLineItem(targetLineItem);
requestBody
.setUpdateMask("entityStatus");

// Configure the bulk update request.
LineItems.BulkUpdate request = service.advertisers().lineItems()
   
.bulkUpdate(advertiser-id, requestBody);

// Update the line items.
BulkUpdateLineItemsResponse response = request.execute();

// Display the line items that were updated, failed, and skipped.
if (response.getUpdatedLineItemIds() != null) {
 
System.out.printf(
     
"The following line item IDs were successfully updated: %s.\n",
     
Arrays.toString(response.getUpdatedLineItemIds().toArray()));
}
if (response.getFailedLineItemIds() != null) {
 
System.out.printf("The following line item IDs failed to update: %s.\n",
     
Arrays.toString(response.getFailedLineItemIds().toArray()));
 
if (response.getErrors() != null) {
   
System.out.printf(
       
"The failed updates were caused by the following errors: %s.\n",
       
Arrays.toString(response.getErrors().toArray()));
 
}
}
if (response.getSkippedLineItemIds() != null) {
 
System.out.printf(
     
"The following line items IDs were skipped in the update: %s.\n",
     
Arrays.toString(response.getSkippedLineItemIds().toArray()));
}
# Create a line item object with only updated entity status.
line_item_obj
= {
   
'entityStatus': 'ENTITY_STATUS_ACTIVE'
}

# Build the bulk update request.
bulk_update_request
= {
   
'lineItemIds': line-item-ids,
   
'targetLineItem': line_item_obj,
   
'updateMask': "entityStatus"
}

# Update the line items.
response
= service.advertisers().lineItems().bulkUpdate(
    advertiserId
=advertiser-id,
    body
=bulk_update_request
).execute()

# Display the line items that were updated, failed, and skipped.
if 'updatedLineItemIds' in response:
 
print("The following line item IDs were updated: %s"
       
% response['updatedLineItemIds'])
if 'failedLineItemIds' in response:
 
print("The following line item IDs failed to update: %s"
       
% response['failedLineItemIds'])
 
if 'errors' in response:
   
print("The failed updates were caused by the following errors:")
   
for error in response["errors"]:
     
print("Error code: %s, Message: %s" % (error["code"], error["message"]))
if 'skippedLineItemIds' in response:
 
print("The following line items IDs were skipped in the update:: %s"
       
% response['skippedLineItemIds'])
// Create request body.
$body
= new Google_Service_DisplayVideo_BulkUpdateLineItemsRequest();
$body
->setLineItemIds(line-item-ids);

// Create target line item with updated fields.
$lineItem
= new Google_Service_DisplayVideo_LineItem();
$lineItem
->setEntityStatus('ENTITY_STATUS_ACTIVE');
$body
->setTargetLineItem($lineItem);

// Set update mask in request body.
$body
->setUpdateMask("entityStatus");

// Call the API, updating the entity status for the identified line item.
$response
= $service->advertisers_lineItems->bulkUpdate(
   
advertiser-id,
    $body
);

// Display the line items that were updated, failed, and skipped.
if (!empty($response->getUpdatedLineItemIds())) {
    printf
('The following line item IDs were updated:\n');
   
foreach ($response->getUpdatedLineItemIds() as $id) {
        printf
('%s\n', $id);
   
}
}
if (!empty($response->getFailedLineItemIds())) {
   
print('The following line item IDs failed to update:\n');
   
foreach ($response->getFailedLineItemIds() as $id) {
        printf
('%s\n', $id);
   
}
   
if (!empty($response->getErrors())) {
       
print('The failed updates were caused by the following errors:\n');
       
foreach ($response->getErrors() as $error) {
            printf
(
               
'Error Code: %s, Message: %s\n',
                $error
->getCode(),
                $error
->getMessage()
           
);
       
}
   
}
}
if (!empty($response->getSkippedLineItemIds())) {
   
print('The following line item IDs were skipped in the update:\n');
   
foreach ($response->getSkippedLineItemIds() as $id) {
        printf
('%s\n', $id);
   
}
}