google-shopping-merchant-conversions-v1beta 0.a → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/shopping/merchant/conversions/v1beta/conversion_sources_service/client.rb +919 -0
  6. data/lib/google/shopping/merchant/conversions/v1beta/conversion_sources_service/credentials.rb +49 -0
  7. data/lib/google/shopping/merchant/conversions/v1beta/conversion_sources_service/paths.rb +66 -0
  8. data/lib/google/shopping/merchant/conversions/v1beta/conversion_sources_service/rest/client.rb +851 -0
  9. data/lib/google/shopping/merchant/conversions/v1beta/conversion_sources_service/rest/service_stub.rb +428 -0
  10. data/lib/google/shopping/merchant/conversions/v1beta/conversion_sources_service/rest.rb +54 -0
  11. data/lib/google/shopping/merchant/conversions/v1beta/conversion_sources_service.rb +57 -0
  12. data/lib/google/shopping/merchant/conversions/v1beta/conversionsources_pb.rb +68 -0
  13. data/lib/google/shopping/merchant/conversions/v1beta/conversionsources_services_pb.rb +62 -0
  14. data/lib/google/shopping/merchant/conversions/v1beta/rest.rb +39 -0
  15. data/lib/google/shopping/merchant/conversions/v1beta/version.rb +7 -2
  16. data/lib/google/shopping/merchant/conversions/v1beta.rb +47 -0
  17. data/lib/google-shopping-merchant-conversions-v1beta.rb +21 -0
  18. data/proto_docs/README.md +4 -0
  19. data/proto_docs/google/api/client.rb +399 -0
  20. data/proto_docs/google/api/field_behavior.rb +85 -0
  21. data/proto_docs/google/api/launch_stage.rb +71 -0
  22. data/proto_docs/google/api/resource.rb +222 -0
  23. data/proto_docs/google/protobuf/duration.rb +98 -0
  24. data/proto_docs/google/protobuf/empty.rb +34 -0
  25. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  26. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  27. data/proto_docs/google/shopping/merchant/conversions/v1beta/conversionsources.rb +286 -0
  28. metadata +67 -10
@@ -0,0 +1,229 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Protobuf
22
+ # `FieldMask` represents a set of symbolic field paths, for example:
23
+ #
24
+ # paths: "f.a"
25
+ # paths: "f.b.d"
26
+ #
27
+ # Here `f` represents a field in some root message, `a` and `b`
28
+ # fields in the message found in `f`, and `d` a field found in the
29
+ # message in `f.b`.
30
+ #
31
+ # Field masks are used to specify a subset of fields that should be
32
+ # returned by a get operation or modified by an update operation.
33
+ # Field masks also have a custom JSON encoding (see below).
34
+ #
35
+ # # Field Masks in Projections
36
+ #
37
+ # When used in the context of a projection, a response message or
38
+ # sub-message is filtered by the API to only contain those fields as
39
+ # specified in the mask. For example, if the mask in the previous
40
+ # example is applied to a response message as follows:
41
+ #
42
+ # f {
43
+ # a : 22
44
+ # b {
45
+ # d : 1
46
+ # x : 2
47
+ # }
48
+ # y : 13
49
+ # }
50
+ # z: 8
51
+ #
52
+ # The result will not contain specific values for fields x,y and z
53
+ # (their value will be set to the default, and omitted in proto text
54
+ # output):
55
+ #
56
+ #
57
+ # f {
58
+ # a : 22
59
+ # b {
60
+ # d : 1
61
+ # }
62
+ # }
63
+ #
64
+ # A repeated field is not allowed except at the last position of a
65
+ # paths string.
66
+ #
67
+ # If a FieldMask object is not present in a get operation, the
68
+ # operation applies to all fields (as if a FieldMask of all fields
69
+ # had been specified).
70
+ #
71
+ # Note that a field mask does not necessarily apply to the
72
+ # top-level response message. In case of a REST get operation, the
73
+ # field mask applies directly to the response, but in case of a REST
74
+ # list operation, the mask instead applies to each individual message
75
+ # in the returned resource list. In case of a REST custom method,
76
+ # other definitions may be used. Where the mask applies will be
77
+ # clearly documented together with its declaration in the API. In
78
+ # any case, the effect on the returned resource/resources is required
79
+ # behavior for APIs.
80
+ #
81
+ # # Field Masks in Update Operations
82
+ #
83
+ # A field mask in update operations specifies which fields of the
84
+ # targeted resource are going to be updated. The API is required
85
+ # to only change the values of the fields as specified in the mask
86
+ # and leave the others untouched. If a resource is passed in to
87
+ # describe the updated values, the API ignores the values of all
88
+ # fields not covered by the mask.
89
+ #
90
+ # If a repeated field is specified for an update operation, new values will
91
+ # be appended to the existing repeated field in the target resource. Note that
92
+ # a repeated field is only allowed in the last position of a `paths` string.
93
+ #
94
+ # If a sub-message is specified in the last position of the field mask for an
95
+ # update operation, then new value will be merged into the existing sub-message
96
+ # in the target resource.
97
+ #
98
+ # For example, given the target message:
99
+ #
100
+ # f {
101
+ # b {
102
+ # d: 1
103
+ # x: 2
104
+ # }
105
+ # c: [1]
106
+ # }
107
+ #
108
+ # And an update message:
109
+ #
110
+ # f {
111
+ # b {
112
+ # d: 10
113
+ # }
114
+ # c: [2]
115
+ # }
116
+ #
117
+ # then if the field mask is:
118
+ #
119
+ # paths: ["f.b", "f.c"]
120
+ #
121
+ # then the result will be:
122
+ #
123
+ # f {
124
+ # b {
125
+ # d: 10
126
+ # x: 2
127
+ # }
128
+ # c: [1, 2]
129
+ # }
130
+ #
131
+ # An implementation may provide options to override this default behavior for
132
+ # repeated and message fields.
133
+ #
134
+ # In order to reset a field's value to the default, the field must
135
+ # be in the mask and set to the default value in the provided resource.
136
+ # Hence, in order to reset all fields of a resource, provide a default
137
+ # instance of the resource and set all fields in the mask, or do
138
+ # not provide a mask as described below.
139
+ #
140
+ # If a field mask is not present on update, the operation applies to
141
+ # all fields (as if a field mask of all fields has been specified).
142
+ # Note that in the presence of schema evolution, this may mean that
143
+ # fields the client does not know and has therefore not filled into
144
+ # the request will be reset to their default. If this is unwanted
145
+ # behavior, a specific service may require a client to always specify
146
+ # a field mask, producing an error if not.
147
+ #
148
+ # As with get operations, the location of the resource which
149
+ # describes the updated values in the request message depends on the
150
+ # operation kind. In any case, the effect of the field mask is
151
+ # required to be honored by the API.
152
+ #
153
+ # ## Considerations for HTTP REST
154
+ #
155
+ # The HTTP kind of an update operation which uses a field mask must
156
+ # be set to PATCH instead of PUT in order to satisfy HTTP semantics
157
+ # (PUT must only be used for full updates).
158
+ #
159
+ # # JSON Encoding of Field Masks
160
+ #
161
+ # In JSON, a field mask is encoded as a single string where paths are
162
+ # separated by a comma. Fields name in each path are converted
163
+ # to/from lower-camel naming conventions.
164
+ #
165
+ # As an example, consider the following message declarations:
166
+ #
167
+ # message Profile {
168
+ # User user = 1;
169
+ # Photo photo = 2;
170
+ # }
171
+ # message User {
172
+ # string display_name = 1;
173
+ # string address = 2;
174
+ # }
175
+ #
176
+ # In proto a field mask for `Profile` may look as such:
177
+ #
178
+ # mask {
179
+ # paths: "user.display_name"
180
+ # paths: "photo"
181
+ # }
182
+ #
183
+ # In JSON, the same mask is represented as below:
184
+ #
185
+ # {
186
+ # mask: "user.displayName,photo"
187
+ # }
188
+ #
189
+ # # Field Masks and Oneof Fields
190
+ #
191
+ # Field masks treat fields in oneofs just as regular fields. Consider the
192
+ # following message:
193
+ #
194
+ # message SampleMessage {
195
+ # oneof test_oneof {
196
+ # string name = 4;
197
+ # SubMessage sub_message = 9;
198
+ # }
199
+ # }
200
+ #
201
+ # The field mask can be:
202
+ #
203
+ # mask {
204
+ # paths: "name"
205
+ # }
206
+ #
207
+ # Or:
208
+ #
209
+ # mask {
210
+ # paths: "sub_message"
211
+ # }
212
+ #
213
+ # Note that oneof type names ("test_oneof" in this case) cannot be used in
214
+ # paths.
215
+ #
216
+ # ## Field Mask Verification
217
+ #
218
+ # The implementation of any API method which has a FieldMask type field in the
219
+ # request should verify the included field paths, and return an
220
+ # `INVALID_ARGUMENT` error if any path is unmappable.
221
+ # @!attribute [rw] paths
222
+ # @return [::Array<::String>]
223
+ # The set of field mask paths.
224
+ class FieldMask
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+ end
229
+ end
@@ -0,0 +1,127 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Protobuf
22
+ # A Timestamp represents a point in time independent of any time zone or local
23
+ # calendar, encoded as a count of seconds and fractions of seconds at
24
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
25
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
26
+ # Gregorian calendar backwards to year one.
27
+ #
28
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
29
+ # second table is needed for interpretation, using a [24-hour linear
30
+ # smear](https://developers.google.com/time/smear).
31
+ #
32
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
33
+ # restricting to that range, we ensure that we can convert to and from [RFC
34
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
35
+ #
36
+ # # Examples
37
+ #
38
+ # Example 1: Compute Timestamp from POSIX `time()`.
39
+ #
40
+ # Timestamp timestamp;
41
+ # timestamp.set_seconds(time(NULL));
42
+ # timestamp.set_nanos(0);
43
+ #
44
+ # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
45
+ #
46
+ # struct timeval tv;
47
+ # gettimeofday(&tv, NULL);
48
+ #
49
+ # Timestamp timestamp;
50
+ # timestamp.set_seconds(tv.tv_sec);
51
+ # timestamp.set_nanos(tv.tv_usec * 1000);
52
+ #
53
+ # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
54
+ #
55
+ # FILETIME ft;
56
+ # GetSystemTimeAsFileTime(&ft);
57
+ # UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
58
+ #
59
+ # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
60
+ # // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
61
+ # Timestamp timestamp;
62
+ # timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
63
+ # timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
64
+ #
65
+ # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
66
+ #
67
+ # long millis = System.currentTimeMillis();
68
+ #
69
+ # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
70
+ # .setNanos((int) ((millis % 1000) * 1000000)).build();
71
+ #
72
+ # Example 5: Compute Timestamp from Java `Instant.now()`.
73
+ #
74
+ # Instant now = Instant.now();
75
+ #
76
+ # Timestamp timestamp =
77
+ # Timestamp.newBuilder().setSeconds(now.getEpochSecond())
78
+ # .setNanos(now.getNano()).build();
79
+ #
80
+ # Example 6: Compute Timestamp from current time in Python.
81
+ #
82
+ # timestamp = Timestamp()
83
+ # timestamp.GetCurrentTime()
84
+ #
85
+ # # JSON Mapping
86
+ #
87
+ # In JSON format, the Timestamp type is encoded as a string in the
88
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
89
+ # format is "\\{year}-\\{month}-\\{day}T\\{hour}:\\{min}:\\{sec}[.\\{frac_sec}]Z"
90
+ # where \\{year} is always expressed using four digits while \\{month}, \\{day},
91
+ # \\{hour}, \\{min}, and \\{sec} are zero-padded to two digits each. The fractional
92
+ # seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
93
+ # are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
94
+ # is required. A proto3 JSON serializer should always use UTC (as indicated by
95
+ # "Z") when printing the Timestamp type and a proto3 JSON parser should be
96
+ # able to accept both UTC and other timezones (as indicated by an offset).
97
+ #
98
+ # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
99
+ # 01:30 UTC on January 15, 2017.
100
+ #
101
+ # In JavaScript, one can convert a Date object to this format using the
102
+ # standard
103
+ # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
104
+ # method. In Python, a standard `datetime.datetime` object can be converted
105
+ # to this format using
106
+ # [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
107
+ # the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
108
+ # the Joda Time's [`ISODateTimeFormat.dateTime()`](
109
+ # http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
110
+ # ) to obtain a formatter capable of generating timestamps in this format.
111
+ # @!attribute [rw] seconds
112
+ # @return [::Integer]
113
+ # Represents seconds of UTC time since Unix epoch
114
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
115
+ # 9999-12-31T23:59:59Z inclusive.
116
+ # @!attribute [rw] nanos
117
+ # @return [::Integer]
118
+ # Non-negative fractions of a second at nanosecond resolution. Negative
119
+ # second values with fractions must still have non-negative nanos values
120
+ # that count forward in time. Must be from 0 to 999,999,999
121
+ # inclusive.
122
+ class Timestamp
123
+ include ::Google::Protobuf::MessageExts
124
+ extend ::Google::Protobuf::MessageExts::ClassMethods
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,286 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Shopping
22
+ module Merchant
23
+ module Conversions
24
+ module V1beta
25
+ # Represents a conversion source owned by a Merchant account. A merchant
26
+ # account can have up to 200 conversion sources.
27
+ # @!attribute [rw] google_analytics_link
28
+ # @return [::Google::Shopping::Merchant::Conversions::V1beta::GoogleAnalyticsLink]
29
+ # Immutable. Conversion Source of type "Link to Google Analytics Property".
30
+ # @!attribute [rw] merchant_center_destination
31
+ # @return [::Google::Shopping::Merchant::Conversions::V1beta::MerchantCenterDestination]
32
+ # Conversion Source of type "Merchant Center Tag Destination".
33
+ # @!attribute [r] name
34
+ # @return [::String]
35
+ # Output only. Identifier. Generated by the Content API upon creation of a
36
+ # new `ConversionSource`. Format: [a-z]\\{4}:.+ The four characters before the
37
+ # colon represent the type of conversio source. Content after the colon
38
+ # represents the ID of the conversion source within that type. The ID of two
39
+ # different conversion sources might be the same across different types. The
40
+ # following type prefixes are supported:
41
+ # - galk: For GoogleAnalyticsLink sources.
42
+ # - mcdn: For MerchantCenterDestination sources.
43
+ # @!attribute [r] state
44
+ # @return [::Google::Shopping::Merchant::Conversions::V1beta::ConversionSource::State]
45
+ # Output only. Current state of this conversion source. Can't be edited
46
+ # through the API.
47
+ # @!attribute [r] expire_time
48
+ # @return [::Google::Protobuf::Timestamp]
49
+ # Output only. The time when an archived conversion source becomes
50
+ # permanently deleted and is no longer available to undelete.
51
+ # @!attribute [r] controller
52
+ # @return [::Google::Shopping::Merchant::Conversions::V1beta::ConversionSource::Controller]
53
+ # Output only. Controller of the conversion source.
54
+ class ConversionSource
55
+ include ::Google::Protobuf::MessageExts
56
+ extend ::Google::Protobuf::MessageExts::ClassMethods
57
+
58
+ # Represents state of the conversion source.
59
+ module State
60
+ # Conversion source has unspecified state.
61
+ STATE_UNSPECIFIED = 0
62
+
63
+ # Conversion source is fully functional.
64
+ ACTIVE = 1
65
+
66
+ # Conversion source has been archived in the last 30 days and not
67
+ # currently functional. Can be restored using the undelete method.
68
+ ARCHIVED = 2
69
+
70
+ # Conversion source creation has started but not fully finished yet.
71
+ PENDING = 3
72
+ end
73
+
74
+ # Entity controlling the conversion source.
75
+ module Controller
76
+ # Default value. This value is unused.
77
+ CONTROLLER_UNSPECIFIED = 0
78
+
79
+ # Controlled by the Merchant who owns the Conversion Source.
80
+ MERCHANT = 1
81
+
82
+ # Controlled by the YT Affiliates program.
83
+ YOUTUBE_AFFILIATES = 2
84
+ end
85
+ end
86
+
87
+ # Represents attribution settings for conversion sources receiving
88
+ # pre-attribution data.
89
+ # @!attribute [rw] attribution_lookback_window_days
90
+ # @return [::Integer]
91
+ # Required. Lookback windows (in days) used for attribution in this source.
92
+ # Supported values are 7, 30, 40.
93
+ # @!attribute [rw] attribution_model
94
+ # @return [::Google::Shopping::Merchant::Conversions::V1beta::AttributionSettings::AttributionModel]
95
+ # Required. Attribution model.
96
+ # @!attribute [rw] conversion_type
97
+ # @return [::Array<::Google::Shopping::Merchant::Conversions::V1beta::AttributionSettings::ConversionType>]
98
+ # Immutable. Unordered list. List of different conversion types a conversion
99
+ # event can be classified as. A standard "purchase" type will be
100
+ # automatically created if this list is empty at creation time.
101
+ class AttributionSettings
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
+
105
+ # Message representing a types of conversion events
106
+ # @!attribute [r] name
107
+ # @return [::String]
108
+ # Output only. Conversion event name, as it'll be reported by the client.
109
+ # @!attribute [r] report
110
+ # @return [::Boolean]
111
+ # Output only. Option indicating if the type should be included in Merchant
112
+ # Center reporting.
113
+ class ConversionType
114
+ include ::Google::Protobuf::MessageExts
115
+ extend ::Google::Protobuf::MessageExts::ClassMethods
116
+ end
117
+
118
+ # The attribution model used for this source. We support the same set of
119
+ # models offered by Google Analytics 4, as described in:
120
+ # https://support.google.com/analytics/answer/10596866.
121
+ module AttributionModel
122
+ # Unspecified model.
123
+ ATTRIBUTION_MODEL_UNSPECIFIED = 0
124
+
125
+ # Cross-channel Last Click model.
126
+ CROSS_CHANNEL_LAST_CLICK = 1
127
+
128
+ # Ads-preferred Last Click model.
129
+ ADS_PREFERRED_LAST_CLICK = 2
130
+
131
+ # Cross-channel Data Driven model.
132
+ CROSS_CHANNEL_DATA_DRIVEN = 5
133
+
134
+ # Cross-channel First Click model.
135
+ CROSS_CHANNEL_FIRST_CLICK = 6
136
+
137
+ # Cross-channel Linear model.
138
+ CROSS_CHANNEL_LINEAR = 7
139
+
140
+ # Cross-channel Position Based model.
141
+ CROSS_CHANNEL_POSITION_BASED = 8
142
+
143
+ # Cross-channel Time Decay model.
144
+ CROSS_CHANNEL_TIME_DECAY = 9
145
+ end
146
+ end
147
+
148
+ # "Google Analytics Link" sources can be used to get conversion data from an
149
+ # existing Google Analytics property into the linked Merchant Center account.
150
+ # @!attribute [rw] property_id
151
+ # @return [::Integer]
152
+ # Required. Immutable. ID of the Google Analytics property the merchant is
153
+ # linked to.
154
+ # @!attribute [r] attribution_settings
155
+ # @return [::Google::Shopping::Merchant::Conversions::V1beta::AttributionSettings]
156
+ # Output only. Attribution settings for the linked Google Analytics property.
157
+ # @!attribute [r] property
158
+ # @return [::String]
159
+ # Output only. Name of the Google Analytics property the merchant is linked
160
+ # to.
161
+ class GoogleAnalyticsLink
162
+ include ::Google::Protobuf::MessageExts
163
+ extend ::Google::Protobuf::MessageExts::ClassMethods
164
+ end
165
+
166
+ # "Merchant Center Destination" sources can be used to send conversion events
167
+ # from a website using a Google tag directly to a Merchant Center account
168
+ # where the source is created.
169
+ # @!attribute [r] destination
170
+ # @return [::String]
171
+ # Output only. Merchant Center Destination ID.
172
+ # @!attribute [rw] attribution_settings
173
+ # @return [::Google::Shopping::Merchant::Conversions::V1beta::AttributionSettings]
174
+ # Required. Attribution settings being used for the Merchant Center
175
+ # Destination.
176
+ # @!attribute [rw] display_name
177
+ # @return [::String]
178
+ # Required. Merchant-specified display name for the destination. This is the
179
+ # name that identifies the conversion source within the Merchant Center UI.
180
+ # Limited to 64 characters.
181
+ # @!attribute [rw] currency_code
182
+ # @return [::String]
183
+ # Required. Three-letter currency code (ISO 4217). The currency code defines
184
+ # in which currency the conversions sent to this destination will be reported
185
+ # in Merchant Center.
186
+ class MerchantCenterDestination
187
+ include ::Google::Protobuf::MessageExts
188
+ extend ::Google::Protobuf::MessageExts::ClassMethods
189
+ end
190
+
191
+ # Request message for the CreateConversionSource method.
192
+ # @!attribute [rw] parent
193
+ # @return [::String]
194
+ # Required. The merchant account that will own the new conversion source.
195
+ # Format: accounts/\\{account}
196
+ # @!attribute [rw] conversion_source
197
+ # @return [::Google::Shopping::Merchant::Conversions::V1beta::ConversionSource]
198
+ # Required. The conversion source description. A new ID will be automatically
199
+ # assigned to it upon creation.
200
+ class CreateConversionSourceRequest
201
+ include ::Google::Protobuf::MessageExts
202
+ extend ::Google::Protobuf::MessageExts::ClassMethods
203
+ end
204
+
205
+ # Request message for the UpdateConversionSource method.
206
+ # @!attribute [rw] conversion_source
207
+ # @return [::Google::Shopping::Merchant::Conversions::V1beta::ConversionSource]
208
+ # Required. The new version of the conversion source data.
209
+ # Format: accounts/\\{account}/conversionSources/\\{conversion_source}
210
+ # @!attribute [rw] update_mask
211
+ # @return [::Google::Protobuf::FieldMask]
212
+ # Required. List of fields being updated.
213
+ class UpdateConversionSourceRequest
214
+ include ::Google::Protobuf::MessageExts
215
+ extend ::Google::Protobuf::MessageExts::ClassMethods
216
+ end
217
+
218
+ # Request message for the DeleteConversionSource method.
219
+ # @!attribute [rw] name
220
+ # @return [::String]
221
+ # Required. The name of the conversion source to be deleted.
222
+ # Format: accounts/\\{account}/conversionSources/\\{conversion_source}
223
+ class DeleteConversionSourceRequest
224
+ include ::Google::Protobuf::MessageExts
225
+ extend ::Google::Protobuf::MessageExts::ClassMethods
226
+ end
227
+
228
+ # Request message for the UndeleteConversionSource method.
229
+ # @!attribute [rw] name
230
+ # @return [::String]
231
+ # Required. The name of the conversion source to be undeleted.
232
+ # Format: accounts/\\{account}/conversionSources/\\{conversion_source}
233
+ class UndeleteConversionSourceRequest
234
+ include ::Google::Protobuf::MessageExts
235
+ extend ::Google::Protobuf::MessageExts::ClassMethods
236
+ end
237
+
238
+ # Request message for the GetConversionSource method.
239
+ # @!attribute [rw] name
240
+ # @return [::String]
241
+ # Required. The name of the conversion source to be fetched.
242
+ # Format: accounts/\\{account}/conversionsources/\\{conversion_source}
243
+ class GetConversionSourceRequest
244
+ include ::Google::Protobuf::MessageExts
245
+ extend ::Google::Protobuf::MessageExts::ClassMethods
246
+ end
247
+
248
+ # Request message for the ListConversionSources method.
249
+ # @!attribute [rw] parent
250
+ # @return [::String]
251
+ # Required. The merchant account who owns the collection of conversion
252
+ # sources. Format: accounts/\\{account}
253
+ # @!attribute [rw] page_size
254
+ # @return [::Integer]
255
+ # Optional. The maximum number of conversion sources to return in a page.
256
+ # If no `page_size` is specified, `100` is used as the default value. The
257
+ # maximum value is `200`. Values above `200` will be coerced to `200`.
258
+ # Regardless of pagination, at most `200` conversion sources are returned
259
+ # in total.
260
+ # @!attribute [rw] page_token
261
+ # @return [::String]
262
+ # Optional. Page token.
263
+ # @!attribute [rw] show_deleted
264
+ # @return [::Boolean]
265
+ # Optional. Show deleted (archived) option.
266
+ class ListConversionSourcesRequest
267
+ include ::Google::Protobuf::MessageExts
268
+ extend ::Google::Protobuf::MessageExts::ClassMethods
269
+ end
270
+
271
+ # Response message for the ListConversionSources method.
272
+ # @!attribute [rw] conversion_sources
273
+ # @return [::Array<::Google::Shopping::Merchant::Conversions::V1beta::ConversionSource>]
274
+ # List of conversion sources.
275
+ # @!attribute [rw] next_page_token
276
+ # @return [::String]
277
+ # Token to be used to fetch the next results page.
278
+ class ListConversionSourcesResponse
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+ end
283
+ end
284
+ end
285
+ end
286
+ end