diff options
Diffstat (limited to 'google/ads/googleads/v0/resources/account_budget.proto')
-rw-r--r-- | google/ads/googleads/v0/resources/account_budget.proto | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/google/ads/googleads/v0/resources/account_budget.proto b/google/ads/googleads/v0/resources/account_budget.proto new file mode 100644 index 000000000..59ddd3c77 --- /dev/null +++ b/google/ads/googleads/v0/resources/account_budget.proto @@ -0,0 +1,231 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package google.ads.googleads.v0.resources; + +import "google/ads/googleads/v0/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v0/enums/account_budget_status.proto"; +import "google/ads/googleads/v0/enums/spending_limit_type.proto"; +import "google/ads/googleads/v0/enums/time_type.proto"; +import "google/protobuf/wrappers.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProto"; +option java_package = "com.google.ads.googleads.v0.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V0::Resources"; +// Proto file describing the AccountBudget resource. + +// An account-level budget. It contains information about the budget itself, +// as well as the most recently approved changes to the budget and proposed +// changes that are pending approval. The proposed changes that are pending +// approval, if any, are found in 'pending_proposal'. Effective details about +// the budget are found in fields prefixed 'approved_', 'adjusted_' and those +// without a prefix. Since some effective details may differ from what the user +// had originally requested (e.g. spending limit), these differences are +// juxtaposed via 'proposed_', 'approved_', and possibly 'adjusted_' fields. +// +// This resource is mutated using AccountBudgetProposal and cannot be mutated +// directly. A budget may have at most one pending proposal at any given time. +// It is read through pending_proposal. +// +// Once approved, a budget may be subject to adjustments, such as credit +// adjustments. Adjustments create differences between the 'approved' and +// 'adjusted' fields, which would otherwise be identical. +message AccountBudget { + // A pending proposal associated with the enclosing account-level budget, + // if applicable. + message PendingAccountBudgetProposal { + // The resource name of the proposal. + // AccountBudgetProposal resource names have the form: + // + // + // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` + google.protobuf.StringValue account_budget_proposal = 1; + + // The type of this proposal, e.g. END to end the budget associated + // with this proposal. + google.ads.googleads.v0.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2; + + // The name to assign to the account-level budget. + google.protobuf.StringValue name = 3; + + // The start time in yyyy-MM-dd HH:mm:ss format. + google.protobuf.StringValue start_date_time = 4; + + // A purchase order number is a value that helps users reference this budget + // in their monthly invoices. + google.protobuf.StringValue purchase_order_number = 9; + + // Notes associated with this budget. + google.protobuf.StringValue notes = 10; + + // The time when this account-level budget proposal was created. + // Formatted as yyyy-MM-dd HH:mm:ss. + google.protobuf.StringValue creation_date_time = 11; + + // The end time of the account-level budget. + oneof end_time { + // The end time in yyyy-MM-dd HH:mm:ss format. + google.protobuf.StringValue end_date_time = 5; + + // The end time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v0.enums.TimeTypeEnum.TimeType end_time_type = 6; + } + + // The spending limit. + oneof spending_limit { + // The spending limit in micros. One million is equivalent to + // one unit. + google.protobuf.Int64Value spending_limit_micros = 7; + + // The spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v0.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8; + } + } + + // The resource name of the account-level budget. + // AccountBudget resource names have the form: + // + // `customers/{customer_id}/accountBudgets/{account_budget_id}` + string resource_name = 1; + + // The ID of the account-level budget. + google.protobuf.Int64Value id = 2; + + // The resource name of the billing setup associated with this account-level + // budget. BillingSetup resource names have the form: + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + google.protobuf.StringValue billing_setup = 3; + + // The status of this account-level budget. + google.ads.googleads.v0.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4; + + // The name of the account-level budget. + google.protobuf.StringValue name = 5; + + // The proposed start time of the account-level budget in + // yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, + // this is the time of request. + google.protobuf.StringValue proposed_start_date_time = 6; + + // The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss + // format. + // + // For example, if a new budget is approved after the proposed start time, + // the approved start time is the time of approval. + google.protobuf.StringValue approved_start_date_time = 7; + + // The total adjustments amount. + // + // An example of an adjustment is courtesy credits. + google.protobuf.Int64Value total_adjustments_micros = 18; + + // The value of Ads that have been served, in micros. + // + // This includes overdelivery costs, in which case a credit might be + // automatically applied to the budget (see total_adjustments_micros). + google.protobuf.Int64Value amount_served_micros = 19; + + // A purchase order number is a value that helps users reference this budget + // in their monthly invoices. + google.protobuf.StringValue purchase_order_number = 20; + + // Notes associated with the budget. + google.protobuf.StringValue notes = 21; + + // The pending proposal to modify this budget, if applicable. + PendingAccountBudgetProposal pending_proposal = 22; + + // The proposed end time of the account-level budget. + oneof proposed_end_time { + // The proposed end time in yyyy-MM-dd HH:mm:ss format. + google.protobuf.StringValue proposed_end_date_time = 8; + + // The proposed end time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v0.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9; + } + + // The approved end time of the account-level budget. + // + // For example, if a budget's end time is updated and the proposal is approved + // after the proposed end time, the approved end time is the time of approval. + oneof approved_end_time { + // The approved end time in yyyy-MM-dd HH:mm:ss format. + google.protobuf.StringValue approved_end_date_time = 10; + + // The approved end time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v0.enums.TimeTypeEnum.TimeType approved_end_time_type = 11; + } + + // The proposed spending limit. + oneof proposed_spending_limit { + // The proposed spending limit in micros. One million is equivalent to + // one unit. + google.protobuf.Int64Value proposed_spending_limit_micros = 12; + + // The proposed spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v0.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13; + } + + // The approved spending limit. + // + // For example, if the amount already spent by the account exceeds the + // proposed spending limit at the time the proposal is approved, the approved + // spending limit is set to the amount already spent. + oneof approved_spending_limit { + // The approved spending limit in micros. One million is equivalent to + // one unit. This will only be populated if the proposed spending limit + // is finite, and will always be greater than or equal to the + // proposed spending limit. + google.protobuf.Int64Value approved_spending_limit_micros = 14; + + // The approved spending limit as a well-defined type, e.g. INFINITE. This + // will only be populated if the approved spending limit is INFINITE. + google.ads.googleads.v0.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15; + } + + // The spending limit after adjustments have been applied. Adjustments are + // stored in total_adjustments_micros. + // + // This value has the final say on how much the account is allowed to spend. + oneof adjusted_spending_limit { + // The adjusted spending limit in micros. One million is equivalent to + // one unit. + // + // If the approved spending limit is finite, the adjusted + // spending limit may vary depending on the types of adjustments applied + // to this budget, if applicable. + // + // The different kinds of adjustments are described here: + // https://support.google.com/google-ads/answer/1704323 + // + // For example, a debit adjustment reduces how much the account is + // allowed to spend. + google.protobuf.Int64Value adjusted_spending_limit_micros = 16; + + // The adjusted spending limit as a well-defined type, e.g. INFINITE. + // This will only be populated if the adjusted spending limit is INFINITE, + // which is guaranteed to be true if the approved spending limit is + // INFINITE. + google.ads.googleads.v0.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17; + } +} |