xref: /aosp_15_r20/external/googleapis/google/ads/googleads/v14/resources/custom_interest.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.googleads.v14.resources;
18
19import "google/ads/googleads/v14/enums/custom_interest_member_type.proto";
20import "google/ads/googleads/v14/enums/custom_interest_status.proto";
21import "google/ads/googleads/v14/enums/custom_interest_type.proto";
22import "google/api/field_behavior.proto";
23import "google/api/resource.proto";
24
25option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources";
26option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources";
27option java_multiple_files = true;
28option java_outer_classname = "CustomInterestProto";
29option java_package = "com.google.ads.googleads.v14.resources";
30option objc_class_prefix = "GAA";
31option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources";
32option ruby_package = "Google::Ads::GoogleAds::V14::Resources";
33
34// Proto file describing the Custom Interest resource.
35
36// A custom interest. This is a list of users by interest.
37message CustomInterest {
38  option (google.api.resource) = {
39    type: "googleads.googleapis.com/CustomInterest"
40    pattern: "customers/{customer_id}/customInterests/{custom_interest_id}"
41  };
42
43  // Immutable. The resource name of the custom interest.
44  // Custom interest resource names have the form:
45  //
46  // `customers/{customer_id}/customInterests/{custom_interest_id}`
47  string resource_name = 1 [
48    (google.api.field_behavior) = IMMUTABLE,
49    (google.api.resource_reference) = {
50      type: "googleads.googleapis.com/CustomInterest"
51    }
52  ];
53
54  // Output only. Id of the custom interest.
55  optional int64 id = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
56
57  // Status of this custom interest. Indicates whether the custom interest is
58  // enabled or removed.
59  google.ads.googleads.v14.enums.CustomInterestStatusEnum.CustomInterestStatus
60      status = 3;
61
62  // Name of the custom interest. It should be unique across the same custom
63  // affinity audience.
64  // This field is required for create operations.
65  optional string name = 9;
66
67  // Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT.
68  // By default the type is set to CUSTOM_AFFINITY.
69  google.ads.googleads.v14.enums.CustomInterestTypeEnum.CustomInterestType
70      type = 5;
71
72  // Description of this custom interest audience.
73  optional string description = 10;
74
75  // List of custom interest members that this custom interest is composed of.
76  // Members can be added during CustomInterest creation. If members are
77  // presented in UPDATE operation, existing members will be overridden.
78  repeated CustomInterestMember members = 7;
79}
80
81// A member of custom interest audience. A member can be a keyword or url.
82// It is immutable, that is, it can only be created or removed but not changed.
83message CustomInterestMember {
84  // The type of custom interest member, KEYWORD or URL.
85  google.ads.googleads.v14.enums.CustomInterestMemberTypeEnum
86      .CustomInterestMemberType member_type = 1;
87
88  // Keyword text when member_type is KEYWORD or URL string when
89  // member_type is URL.
90  optional string parameter = 3;
91}
92