xref: /aosp_15_r20/external/googleapis/google/ads/searchads360/v0/services/custom_column_service.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2023 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.ads.searchads360.v0.services;
18
19import "google/ads/searchads360/v0/resources/custom_column.proto";
20import "google/api/annotations.proto";
21import "google/api/client.proto";
22import "google/api/field_behavior.proto";
23import "google/api/resource.proto";
24
25option csharp_namespace = "Google.Ads.SearchAds360.V0.Services";
26option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/services;services";
27option java_multiple_files = true;
28option java_outer_classname = "CustomColumnServiceProto";
29option java_package = "com.google.ads.searchads360.v0.services";
30option objc_class_prefix = "GASA360";
31option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Services";
32option ruby_package = "Google::Ads::SearchAds360::V0::Services";
33
34// Proto file describing the Custom Column service.
35
36// Service to manage custom columns.
37service CustomColumnService {
38  option (google.api.default_host) = "searchads360.googleapis.com";
39  option (google.api.oauth_scopes) =
40      "https://www.googleapis.com/auth/doubleclicksearch";
41
42  // Returns the requested custom column in full detail.
43  rpc GetCustomColumn(GetCustomColumnRequest)
44      returns (google.ads.searchads360.v0.resources.CustomColumn) {
45    option (google.api.http) = {
46      get: "/v0/{resource_name=customers/*/customColumns/*}"
47    };
48    option (google.api.method_signature) = "resource_name";
49  }
50
51  // Returns all the custom columns associated with the customer in full detail.
52  rpc ListCustomColumns(ListCustomColumnsRequest)
53      returns (ListCustomColumnsResponse) {
54    option (google.api.http) = {
55      get: "/v0/customers/{customer_id=*}/customColumns"
56    };
57    option (google.api.method_signature) = "customer_id";
58  }
59}
60
61// Request message for
62// [CustomColumnService.GetCustomColumn][google.ads.searchads360.v0.services.CustomColumnService.GetCustomColumn].
63message GetCustomColumnRequest {
64  // Required. The resource name of the custom column to fetch.
65  string resource_name = 1 [
66    (google.api.field_behavior) = REQUIRED,
67    (google.api.resource_reference) = {
68      type: "searchads360.googleapis.com/CustomColumn"
69    }
70  ];
71}
72
73// Request message for
74// [CustomColumnService.ListCustomColumns][google.ads.searchads360.v0.services.CustomColumnService.ListCustomColumns]
75message ListCustomColumnsRequest {
76  // Required. The ID of the customer to apply the CustomColumn list operation
77  // to.
78  string customer_id = 1 [(google.api.field_behavior) = REQUIRED];
79}
80
81// Response message for fetching all custom columns associated with a customer.
82message ListCustomColumnsResponse {
83  // The CustomColumns owned by the provided customer.
84  repeated google.ads.searchads360.v0.resources.CustomColumn custom_columns = 1;
85}
86