Skip to content

Commit 04085e5

Browse files
Google APIscopybara-github
authored andcommitted
docs: A comment for enum AccessRight is changed
docs: A comment for enum value `API_DEVELOPER` in enum `AccessRight` is changed docs: A comment for method `DeleteAccount` in service `AccountsService` is changed docs: A comment for field `developer_email` in message `.google.shopping.merchant.accounts.v1.RegisterGcpRequest` is changed docs: A comment for message `Program` is changed docs: A comment for message `User` is changed docs: A comment for enum `State` is changed feat: A new field `verification_mail_settings` is added to message `.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest` feat: A new field `account_management` is added to message `.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest` feat: A new field `comparison_shopping` is added to message `.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest` feat: A new field `products_management` is added to message `.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest` feat: A new field `campaigns_management` is added to message `.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest` feat: A new field `external_account_id` is added to message `.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest` feat: A new message `SetAliasForRelationship` is added feat: A new field `set_alias` is added to message `.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest` feat: A new field `comparison_shopping` is added to message `.google.shopping.merchant.accounts.v1.AccountService` feat: A new message `ComparisonShopping` is added feat: A new method `GetAccountForGcpRegistration` is added to service `DeveloperRegistrationService` feat: A new message `GetAccountForGcpRegistrationResponse` is added feat: A new method `VerifySelf` is added to service `UserService` feat: A new message `VerifySelfRequest` is added feat: A new message `VerificationMailSettings` is added PiperOrigin-RevId: 832226276
1 parent c2db528 commit 04085e5

File tree

12 files changed

+495
-10
lines changed

12 files changed

+495
-10
lines changed

google/shopping/merchant/accounts/v1/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ proto_library(
5050
"termsofserviceagreementstate.proto",
5151
"termsofservicekind.proto",
5252
"user.proto",
53+
"verificationmailsettings.proto",
5354
],
5455
deps = [
5556
"//google/api:annotations_proto",
@@ -422,7 +423,6 @@ load(
422423

423424
csharp_proto_library(
424425
name = "accounts_csharp_proto",
425-
extra_opts = [],
426426
deps = [":accounts_proto"],
427427
)
428428

google/shopping/merchant/accounts/v1/accessright.proto

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ option java_package = "com.google.shopping.merchant.accounts.v1";
2424
option php_namespace = "Google\\Shopping\\Merchant\\Accounts\\V1";
2525
option ruby_package = "Google::Shopping::Merchant::Accounts::V1";
2626

27-
// The access right.
27+
// The access right defines the level of permission a
28+
// user has within a Merchant Center account.
2829
enum AccessRight {
2930
// Default value. This value is unused.
3031
ACCESS_RIGHT_UNSPECIFIED = 0;
@@ -43,6 +44,7 @@ enum AccessRight {
4344
PERFORMANCE_REPORTING = 3;
4445

4546
// Users with this right have access to Merchant API and its notifications.
46-
// This role is only accessible to accounts that has a developer registration.
47+
// This role is only accessible to accounts that have a developer
48+
// registration.
4749
API_DEVELOPER = 5;
4850
}

google/shopping/merchant/accounts/v1/accounts.proto

Lines changed: 69 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import "google/protobuf/empty.proto";
2424
import "google/protobuf/field_mask.proto";
2525
import "google/shopping/merchant/accounts/v1/accountservices.proto";
2626
import "google/shopping/merchant/accounts/v1/user.proto";
27+
import "google/shopping/merchant/accounts/v1/verificationmailsettings.proto";
2728
import "google/type/datetime.proto";
2829

2930
option csharp_namespace = "Google.Shopping.Merchant.Accounts.V1";
@@ -61,10 +62,13 @@ service AccountsService {
6162

6263
// Deletes the specified account regardless of its type: standalone, advanced
6364
// account or sub-account. Deleting an advanced account leads to the deletion
64-
// of all of its sub-accounts. Executing this method requires admin access.
65-
// The deletion succeeds only if the account does not provide services
66-
// to any other account and has no processed offers. You can use the `force`
67-
// parameter to override this.
65+
// of all of its sub-accounts. This also deletes the account's [developer
66+
// registration
67+
// entity](/merchant/api/reference/rest/accounts_v1/accounts.developerRegistration)
68+
// and any associated GCP project to the account. Executing this method
69+
// requires admin access. The deletion succeeds only if the account does not
70+
// provide services to any other account and has no processed offers. You can
71+
// use the `force` parameter to override this.
6872
rpc DeleteAccount(DeleteAccountRequest) returns (google.protobuf.Empty) {
6973
option (google.api.http) = {
7074
delete: "/accounts/v1/{name=accounts/*}"
@@ -187,6 +191,11 @@ message CreateAndConfigureAccountRequest {
187191
// Optional. Details about the user to be added. At the moment, only access
188192
// rights may be specified.
189193
User user = 2 [(google.api.field_behavior) = OPTIONAL];
194+
195+
// Optional. Settings related to configuring the verification email that is
196+
// sent after adding a user.
197+
VerificationMailSettings verification_mail_settings = 3
198+
[(google.api.field_behavior) = OPTIONAL];
190199
}
191200

192201
// Additional instructions to add account services during creation of the
@@ -198,12 +207,62 @@ message CreateAndConfigureAccountRequest {
198207
// [aggregator](https://support.google.com/merchants/answer/188487) for
199208
// the account. Payload for service type Account Aggregation.
200209
AccountAggregation account_aggregation = 103;
210+
211+
// The provider manages this account. Payload for service type Account
212+
// Management.
213+
AccountManagement account_management = 104;
214+
215+
// The provider is a CSS (Comparison Shopping Service) of this account.
216+
// Payload for service type Comparison Shopping.
217+
ComparisonShopping comparison_shopping = 105;
218+
219+
// The provider manages products for this account. Payload for service
220+
// type products management.
221+
ProductsManagement products_management = 106;
222+
223+
// The provider manages campaigns for this account. Payload for service
224+
// type campaigns management.
225+
CampaignsManagement campaigns_management = 107;
201226
}
202227

203228
// Required. The provider of the service. Either the reference to an account
204229
// such as `providers/123` or a well-known service provider (one of
205230
// `providers/GOOGLE_ADS` or `providers/GOOGLE_BUSINESS_PROFILE`).
206231
optional string provider = 1 [(google.api.field_behavior) = REQUIRED];
232+
233+
// Immutable. An optional, immutable identifier that Google uses to refer to
234+
// this account when communicating with the provider. This should be the
235+
// unique account ID within the provider's system (for example, your shop ID
236+
// in Shopify).
237+
//
238+
// If you have multiple accounts with the same provider - for instance,
239+
// different accounts for various regions — the `external_account_id`
240+
// differentiates between them, ensuring accurate linking and integration
241+
// between Google and the provider.
242+
//
243+
// The external account ID must be specified for the campaigns management
244+
// service type.
245+
//
246+
// The external account ID must not be specified for the account aggregation
247+
// service type.
248+
//
249+
// The external account ID is optional / may be specified for all other
250+
// service types.
251+
string external_account_id = 3 [(google.api.field_behavior) = IMMUTABLE];
252+
}
253+
254+
// Set an alias for a relationship between a provider and the account to
255+
// be created.
256+
message SetAliasForRelationship {
257+
// Required. The provider of the service. This is a reference to an account
258+
// such as `providers/123` or `accounts/123`. The same provider must be
259+
// specified in at least one of the `service` fields.
260+
string provider = 1 [(google.api.field_behavior) = REQUIRED];
261+
262+
// Required. The unique ID of this account in the provider's system.
263+
// The value must be unique across all accounts on the platform for this
264+
// provider.
265+
string account_id_alias = 2 [(google.api.field_behavior) = REQUIRED];
207266
}
208267

209268
// Required. The account to be created.
@@ -221,6 +280,12 @@ message CreateAndConfigureAccountRequest {
221280
// `product_management` services may be provided.
222281
repeated AddAccountService service = 4
223282
[(google.api.field_behavior) = REQUIRED];
283+
284+
// Optional. If a relationship is created with a provider, you can set an
285+
// alias for it with this field. The calling user must be an admin on the
286+
// provider to be able to set an alias.
287+
repeated SetAliasForRelationship set_alias = 5
288+
[(google.api.field_behavior) = OPTIONAL];
224289
}
225290

226291
// Request message for the `DeleteAccount` method.

google/shopping/merchant/accounts/v1/accountservices.proto

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,11 @@ message AccountService {
156156
// with the external account id will be used to provide local inventory to
157157
// this Merchant Center account.
158158
LocalListingManagement local_listing_management = 104;
159+
160+
// Service type for comparison shopping. The provider is a CSS (Comparison
161+
// Shopping Service) managing the account. See
162+
// https://support.google.com/merchants/answer/12653197
163+
ComparisonShopping comparison_shopping = 105;
159164
}
160165

161166
// Identifier. The resource name of the account service.
@@ -292,6 +297,9 @@ message AccountAggregation {}
292297
// `LocalListingManagement` payload.
293298
message LocalListingManagement {}
294299

300+
// `ComparisonShopping` payload.
301+
message ComparisonShopping {}
302+
295303
// The current status of establishing of the service.
296304
// (for example, pending approval or approved).
297305
message Handshake {

google/shopping/merchant/accounts/v1/developerregistration.proto

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,14 @@ service DeveloperRegistrationService {
6464
body: "*"
6565
};
6666
}
67+
68+
// Retrieves the merchant account that the calling GCP is registered with.
69+
rpc GetAccountForGcpRegistration(google.protobuf.Empty)
70+
returns (GetAccountForGcpRegistrationResponse) {
71+
option (google.api.http) = {
72+
get: "/accounts/v1/accounts:getAccountForGcpRegistration"
73+
};
74+
}
6775
}
6876

6977
// Represents a developer registration owned by a Merchant account.
@@ -102,7 +110,9 @@ message RegisterGcpRequest {
102110
// updated to have the new "API notifications" preference. If the developer
103111
// email provided is not associated with any user we will just add it as a
104112
// contact. The email preference corresponding to that contact will have the
105-
// new "API notifications" preference
113+
// new "API notifications" preference. Make sure the email used is associated
114+
// with a Google Account (Google Workspace account or Gmail account)
115+
// and is not a service account as service accounts can't receive emails.
106116
string developer_email = 2 [(google.api.field_behavior) = IMMUTABLE];
107117
}
108118

@@ -129,3 +139,9 @@ message GetDeveloperRegistrationRequest {
129139
}
130140
];
131141
}
142+
143+
// Response message for the GetAccountForGcpRegistration method.
144+
message GetAccountForGcpRegistrationResponse {
145+
// The name of the merchant account id that the GCP is registered with.
146+
string name = 1;
147+
}

google/shopping/merchant/accounts/v1/programs.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ service ProgramsService {
9090
// The following list is the available set of program resource IDs accessible
9191
// through the API:
9292
//
93+
// * `checkout`
9394
// * `free-listings`
9495
// * `shopping-ads`
9596
// * `youtube-shopping-checkout`

google/shopping/merchant/accounts/v1/user.proto

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,19 @@ service UserService {
8383
};
8484
option (google.api.method_signature) = "parent";
8585
}
86+
87+
// Updates the user that is represented by the caller from pending to
88+
// verified.
89+
rpc VerifySelf(VerifySelfRequest) returns (User) {
90+
option (google.api.http) = {
91+
patch: "/accounts/v1/{account=accounts/*}/users/me:verifySelf"
92+
body: "*"
93+
};
94+
option (google.api.method_signature) = "account";
95+
}
8696
}
8797

88-
// The `User` message represents a user associated with a Merchant Center
98+
// The `User` resource represents a user associated with a Merchant Center
8999
// account. It is used to manage user permissions and access rights within the
90100
// account. For more information, see [Frequently asked questions about people
91101
// and access levels](//support.google.com/merchants/answer/12160472).
@@ -97,7 +107,9 @@ message User {
97107
singular: "user"
98108
};
99109

100-
// The possible states of a user.
110+
// The state represents the possible statuses of a user. It is an output-only
111+
// field that is set to `PENDING` when a user is invited to an account and
112+
// changes to `VERIFIED` once the user accepts the invitation.
101113
enum State {
102114
// Default value. This value is unused.
103115
STATE_UNSPECIFIED = 0;
@@ -228,3 +240,15 @@ message ListUsersResponse {
228240
// If this field is omitted, there are no subsequent pages.
229241
string next_page_token = 2;
230242
}
243+
244+
// Request message for the `VerifySelf` method.
245+
message VerifySelfRequest {
246+
// Required. The name of the account under which the caller is a user.
247+
// Format: `accounts/{account}`
248+
string account = 1 [
249+
(google.api.field_behavior) = REQUIRED,
250+
(google.api.resource_reference) = {
251+
type: "merchantapi.googleapis.com/Account"
252+
}
253+
];
254+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
// Copyright 2025 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+
15+
syntax = "proto3";
16+
17+
package google.shopping.merchant.accounts.v1;
18+
19+
import "google/api/field_behavior.proto";
20+
21+
option csharp_namespace = "Google.Shopping.Merchant.Accounts.V1";
22+
option go_package = "cloud.google.com/go/shopping/merchant/accounts/apiv1/accountspb;accountspb";
23+
option java_multiple_files = true;
24+
option java_outer_classname = "VerificationMailSettingsProto";
25+
option java_package = "com.google.shopping.merchant.accounts.v1";
26+
option php_namespace = "Google\\Shopping\\Merchant\\Accounts\\V1";
27+
option ruby_package = "Google::Shopping::Merchant::Accounts::V1";
28+
29+
// Settings related to the verification email that is sent after adding a user.
30+
message VerificationMailSettings {
31+
// The different configuration options for sending a verification email
32+
// when adding a user.
33+
enum VerificationMailMode {
34+
// Default first member of every enum. Do not use.
35+
VERIFICATION_MAIL_MODE_UNSPECIFIED = 0;
36+
37+
// An invitation email is sent to the user added shortly after.
38+
SEND_VERIFICATION_MAIL = 1;
39+
40+
// No invitation email is sent. This can be useful if the user is
41+
// expected to accept the invitation through the API without needing
42+
// another notification.
43+
SUPPRESS_VERIFICATION_MAIL = 2;
44+
}
45+
46+
// Optional. Mode of the verification mail. If not set, the default is
47+
// `SEND_VERIFICATION_MAIL`.
48+
VerificationMailMode verification_mail_mode = 1
49+
[(google.api.field_behavior) = OPTIONAL];
50+
}

0 commit comments

Comments
 (0)