| // Copyright 2023 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.admanager.v1; |
| |
| import "google/ads/admanager/v1/applied_label.proto"; |
| import "google/api/annotations.proto"; |
| import "google/api/client.proto"; |
| import "google/api/field_behavior.proto"; |
| import "google/api/resource.proto"; |
| import "google/protobuf/timestamp.proto"; |
| |
| option csharp_namespace = "Google.Ads.AdManager.V1"; |
| option go_package = "google.golang.org/genproto/googleapis/ads/admanager/v1;admanager"; |
| option java_multiple_files = true; |
| option java_outer_classname = "OrderServiceProto"; |
| option java_package = "com.google.ads.admanager.v1"; |
| option objc_class_prefix = "GAA"; |
| option php_namespace = "Google\\Ads\\AdManager\\V1"; |
| |
| // Provides methods for handling `Order` objects. |
| service OrderService { |
| option (google.api.default_host) = "admanager.googleapis.com"; |
| |
| // API to retrieve an Order object. |
| rpc GetOrder(GetOrderRequest) returns (Order) { |
| option (google.api.http) = { |
| get: "/v1/{name=networks/*/orders/*}" |
| }; |
| option (google.api.method_signature) = "name"; |
| } |
| |
| // API to retrieve a list of `Order` objects. |
| // |
| // Fields used for literal matching in filter string: |
| // * `order_id` |
| // * `display_name` |
| // * `external_order_id` |
| rpc ListOrders(ListOrdersRequest) returns (ListOrdersResponse) { |
| option (google.api.http) = { |
| get: "/v1/{parent=networks/*}/orders" |
| }; |
| option (google.api.method_signature) = "parent"; |
| } |
| } |
| |
| // The `Order` resource. |
| message Order { |
| option (google.api.resource) = { |
| type: "admanager.googleapis.com/Order" |
| pattern: "networks/{network_code}/orders/{order}" |
| plural: "orders" |
| singular: "order" |
| }; |
| |
| // The status of an Order. |
| enum Status { |
| // Default value. This value is unused. |
| STATUS_UNSPECIFIED = 0; |
| |
| // Indicates that the Order has just been created but no approval has been |
| // requested yet. |
| DRAFT = 2; |
| |
| // Indicates that a request for approval for the Order has been made. |
| PENDING_APPROVAL = 3; |
| |
| // Indicates that the Order has been approved and is ready to serve. |
| APPROVED = 4; |
| |
| // Indicates that the Order has been disapproved and is not eligible to |
| // serve. |
| DISAPPROVED = 5; |
| |
| // This is a legacy state. Paused status should be checked on LineItems |
| // within the order. |
| PAUSED = 6; |
| |
| // Indicates that the Order has been canceled and cannot serve. |
| CANCELED = 7; |
| |
| // Indicates that the Order has been deleted. |
| DELETED = 8; |
| } |
| |
| // Identifier. The resource name of the `Order`. |
| // Format: `networks/{network_code}/orders/{order_id}` |
| string name = 1 [(google.api.field_behavior) = IDENTIFIER]; |
| |
| // Output only. Order ID. |
| int64 order_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
| |
| // Required. The display name of the Order. This value is required to create |
| // an order and has a maximum length of 255 characters. |
| string display_name = 2 [(google.api.field_behavior) = REQUIRED]; |
| |
| // Optional. Specifies whether or not the Order is a programmatic order. |
| bool programmatic = 3 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Required. The resource name of the User responsible for trafficking the |
| // Order. Format: "networks/{network_code}/users/{user_id}" |
| string trafficker = 23 [ |
| (google.api.field_behavior) = REQUIRED, |
| (google.api.resource_reference) = { type: "admanager.googleapis.com/User" } |
| ]; |
| |
| // Optional. The resource names of Contacts from the advertiser of this Order. |
| // Format: "networks/{network_code}/contacts/{contact_id}" |
| repeated string advertiser_contacts = 5 [ |
| (google.api.field_behavior) = OPTIONAL, |
| (google.api.resource_reference) = { |
| type: "admanager.googleapis.com/Contact" |
| } |
| ]; |
| |
| // Required. The resource name of the Company, which is of type |
| // Company.Type.ADVERTISER, to which this order belongs. This attribute is |
| // required. Format: "networks/{network_code}/companies/{company_id}" |
| string advertiser = 6 [ |
| (google.api.field_behavior) = REQUIRED, |
| (google.api.resource_reference) = { |
| type: "admanager.googleapis.com/Company" |
| } |
| ]; |
| |
| // Optional. The resource names of Contacts from the advertising Agency of |
| // this Order. Format: "networks/{network_code}/contacts/{contact_id}" |
| repeated string agency_contacts = 7 [ |
| (google.api.field_behavior) = OPTIONAL, |
| (google.api.resource_reference) = { |
| type: "admanager.googleapis.com/Contact" |
| } |
| ]; |
| |
| // Optional. The resource name of the Company, which is of type |
| // Company.Type.AGENCY, with which this order is associated. Format: |
| // "networks/{network_code}/companies/{company_id}" |
| string agency = 8 [ |
| (google.api.field_behavior) = OPTIONAL, |
| (google.api.resource_reference) = { |
| type: "admanager.googleapis.com/Company" |
| } |
| ]; |
| |
| // Optional. The resource names of Teams directly applied to this Order. |
| // Format: "networks/{network_code}/teams/{team_id}" |
| repeated string applied_teams = 9 [ |
| (google.api.field_behavior) = OPTIONAL, |
| (google.api.resource_reference) = { type: "admanager.googleapis.com/Team" } |
| ]; |
| |
| // Output only. The resource names of Teams applied to this Order including |
| // inherited values. Format: "networks/{network_code}/teams/{team_id}" |
| repeated string effective_teams = 28 [ |
| (google.api.field_behavior) = OUTPUT_ONLY, |
| (google.api.resource_reference) = { type: "admanager.googleapis.com/Team" } |
| ]; |
| |
| // Output only. The resource name of the User who created the Order on behalf |
| // of the advertiser. This value is assigned by Google. Format: |
| // "networks/{network_code}/users/{user_id}" |
| string creator = 10 [ |
| (google.api.field_behavior) = OUTPUT_ONLY, |
| (google.api.resource_reference) = { type: "admanager.googleapis.com/User" } |
| ]; |
| |
| // Output only. The ISO 4217 3-letter currency code for the currency used by |
| // the Order. This value is the network's currency code. |
| string currency_code = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; |
| |
| // Output only. The instant at which the Order and its associated line items |
| // are eligible to begin serving. This attribute is derived from the line item |
| // of the order that has the earliest LineItem.start_time. |
| google.protobuf.Timestamp start_time = 19 |
| [(google.api.field_behavior) = OUTPUT_ONLY]; |
| |
| // Output only. The instant at which the Order and its associated line items |
| // stop being served. This attribute is derived from the line item of the |
| // order that has the latest LineItem.end_time. |
| google.protobuf.Timestamp end_time = 12 |
| [(google.api.field_behavior) = OUTPUT_ONLY]; |
| |
| // Optional. An arbitrary ID to associate to the Order, which can be used as a |
| // key to an external system. |
| int64 external_order_id = 13 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Output only. The archival status of the Order. |
| bool archived = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; |
| |
| // Output only. The application which modified this order. This attribute is |
| // assigned by Google. |
| string last_modified_by_app = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; |
| |
| // Output only. The instant this Order was last modified. |
| google.protobuf.Timestamp update_time = 16 |
| [(google.api.field_behavior) = OUTPUT_ONLY]; |
| |
| // Optional. Provides any additional notes that may annotate the Order. This |
| // attribute has a maximum length of 65,535 characters. |
| string notes = 17 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Optional. The purchase order number for the Order. This value has a maximum |
| // length of 63 characters. |
| string po_number = 18 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Output only. The status of the Order. |
| Status status = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; |
| |
| // Optional. The resource name of the User responsible for the sales of the |
| // Order. Format: "networks/{network_code}/users/{user_id}" |
| string salesperson = 21 [ |
| (google.api.field_behavior) = OPTIONAL, |
| (google.api.resource_reference) = { type: "admanager.googleapis.com/User" } |
| ]; |
| |
| // Optional. The resource names of the secondary salespeople associated with |
| // the order. Format: "networks/{network_code}/users/{user_id}" |
| repeated string secondary_salespeople = 22 [ |
| (google.api.field_behavior) = OPTIONAL, |
| (google.api.resource_reference) = { type: "admanager.googleapis.com/User" } |
| ]; |
| |
| // Optional. The resource names of the secondary traffickers associated with |
| // the order. Format: "networks/{network_code}/users/{user_id}" |
| repeated string secondary_traffickers = 24 [ |
| (google.api.field_behavior) = OPTIONAL, |
| (google.api.resource_reference) = { type: "admanager.googleapis.com/User" } |
| ]; |
| |
| // Optional. The set of labels applied directly to this order. |
| repeated AppliedLabel applied_labels = 25 |
| [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Output only. Contains the set of labels applied directly to the order as |
| // well as those inherited from the company that owns the order. If a label |
| // has been negated, only the negated label is returned. This field is |
| // assigned by Google. |
| repeated AppliedLabel effective_applied_labels = 26 |
| [(google.api.field_behavior) = OUTPUT_ONLY]; |
| } |
| |
| // Request object for `GetOrder` method. |
| message GetOrderRequest { |
| // Required. The resource name of the Order. |
| // Format: `networks/{network_code}/orders/{order_id}` |
| string name = 1 [ |
| (google.api.field_behavior) = REQUIRED, |
| (google.api.resource_reference) = { type: "admanager.googleapis.com/Order" } |
| ]; |
| } |
| |
| // Request object for `ListOrders` method. |
| message ListOrdersRequest { |
| // Required. The parent, which owns this collection of Orders. |
| // Format: `networks/{network_code}` |
| string parent = 1 [ |
| (google.api.field_behavior) = REQUIRED, |
| (google.api.resource_reference) = { |
| type: "admanager.googleapis.com/Network" |
| } |
| ]; |
| |
| // Optional. The maximum number of `Orders` to return. The service may return |
| // fewer than this value. If unspecified, at most 50 `Orders` will be |
| // returned. The maximum value is 1000; values above 1000 will be coerced to |
| // 1000. |
| int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Optional. A page token, received from a previous `ListOrders` call. |
| // Provide this to retrieve the subsequent page. |
| // |
| // When paginating, all other parameters provided to `ListOrders` must match |
| // the call that provided the page token. |
| string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Optional. Expression to filter the response. |
| // See syntax details at |
| // https://developers.google.com/ad-manager/api/beta/filters |
| string filter = 4 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Optional. Expression to specify sorting order. |
| // See syntax details at |
| // https://developers.google.com/ad-manager/api/beta/filters#order |
| string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Optional. Number of individual resources to skip while paginating. |
| int32 skip = 6 [(google.api.field_behavior) = OPTIONAL]; |
| } |
| |
| // Response object for `ListOrdersRequest` containing matching `Order` |
| // resources. |
| message ListOrdersResponse { |
| // The `Order` from the specified network. |
| repeated Order orders = 1; |
| |
| // A token, which can be sent as `page_token` to retrieve the next page. |
| // If this field is omitted, there are no subsequent pages. |
| string next_page_token = 2; |
| |
| // Total number of `Orders`. |
| // If a filter was included in the request, this reflects the total number |
| // after the filtering is applied. |
| // |
| // `total_size` will not be calculated in the response unless it has been |
| // included in a response field mask. The response field mask can be provided |
| // to the method by using the URL parameter `$fields` or `fields`, or by using |
| // the HTTP/gRPC header `X-Goog-FieldMask`. |
| // |
| // For more information, see |
| // https://developers.google.com/ad-manager/api/beta/field-masks |
| int32 total_size = 3; |
| } |