
google.shopping.merchant.lfp.v1beta.lfpstore.proto Maven / Gradle / Ivy
// Copyright 2024 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.shopping.merchant.lfp.v1beta;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/protobuf/empty.proto";
option go_package = "cloud.google.com/go/shopping/merchant/lfp/apiv1beta/lfppb;lfppb";
option java_multiple_files = true;
option java_outer_classname = "LfpStoreProto";
option java_package = "com.google.shopping.merchant.lfp.v1beta";
// Service for a [LFP
// partner](https://support.google.com/merchants/answer/7676652) to submit local
// stores for a merchant.
service LfpStoreService {
option (google.api.default_host) = "merchantapi.googleapis.com";
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content";
// Retrieves information about a store.
rpc GetLfpStore(GetLfpStoreRequest) returns (LfpStore) {
option (google.api.http) = {
get: "/lfp/v1beta/{name=accounts/*/lfpStores/*}"
};
option (google.api.method_signature) = "name";
}
// Inserts a store for the target merchant. If the store with the same store
// code already exists, it will be replaced.
rpc InsertLfpStore(InsertLfpStoreRequest) returns (LfpStore) {
option (google.api.http) = {
post: "/lfp/v1beta/{parent=accounts/*}/lfpStores:insert"
body: "lfp_store"
};
option (google.api.method_signature) = "parent,lfp_store";
}
// Deletes a store for a target merchant.
rpc DeleteLfpStore(DeleteLfpStoreRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/lfp/v1beta/{name=accounts/*/lfpStores/*}"
};
option (google.api.method_signature) = "name";
}
// Lists the stores of the target merchant, specified by the filter in
// `ListLfpStoresRequest`.
rpc ListLfpStores(ListLfpStoresRequest) returns (ListLfpStoresResponse) {
option (google.api.http) = {
get: "/lfp/v1beta/{parent=accounts/*}/lfpStores"
};
option (google.api.method_signature) = "parent";
}
}
// A store for the merchant. This will be used to match to a store under the
// Google Business Profile of the target merchant. If a matching store can't be
// found, the inventories or sales submitted with the store code will not be
// used.
message LfpStore {
option (google.api.resource) = {
type: "merchantapi.googleapis.com/LfpStore"
pattern: "accounts/{account}/lfpStores/{target_merchant}~{store_code}"
plural: "lfpStores"
singular: "lfpStore"
};
// The state of matching `LfpStore` to a Google Business Profile.
enum StoreMatchingState {
// Store matching state unspecified.
STORE_MATCHING_STATE_UNSPECIFIED = 0;
// The `LfpStore` is successfully matched with a Google Business Profile
// store.
STORE_MATCHING_STATE_MATCHED = 1;
// The `LfpStore` is not matched with a Google Business Profile store.
STORE_MATCHING_STATE_FAILED = 2;
}
// Output only. Identifier. The name of the `LfpStore` resource.
// Format: `accounts/{account}/lfpStores/{target_merchant}~{store_code}`
string name = 1 [
(google.api.field_behavior) = OUTPUT_ONLY,
(google.api.field_behavior) = IDENTIFIER
];
// Required. The Merchant Center id of the merchant to submit the store for.
int64 target_account = 2 [(google.api.field_behavior) = REQUIRED];
// Required. Immutable. A store identifier that is unique for the target
// merchant.
string store_code = 3 [
(google.api.field_behavior) = REQUIRED,
(google.api.field_behavior) = IMMUTABLE
];
// Required. The street address of the store.
// Example: 1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA.
string store_address = 4 [(google.api.field_behavior) = REQUIRED];
// Optional. The merchant or store name.
optional string store_name = 5 [(google.api.field_behavior) = OPTIONAL];
// Optional. The store phone number in
// [E.164](https://en.wikipedia.org/wiki/E.164) format. Example:
// `+15556767888`
optional string phone_number = 6 [(google.api.field_behavior) = OPTIONAL];
// Optional. The website URL for the store or merchant.
optional string website_uri = 7 [(google.api.field_behavior) = OPTIONAL];
// Optional. [Google My Business category
// id](https://gcid-explorer.corp.google.com/static/gcid.html).
repeated string gcid_category = 8 [(google.api.field_behavior) = OPTIONAL];
// Optional. The [Google Place
// Id](https://developers.google.com/maps/documentation/places/web-service/place-id#id-overview)
// of the store location.
optional string place_id = 9 [(google.api.field_behavior) = OPTIONAL];
// Optional. Output only. The state of matching to a Google Business Profile.
// See
// [matchingStateHint][google.shopping.merchant.lfp.v1beta.LfpStore.matching_state_hint]
// for further details if no match is found.
StoreMatchingState matching_state = 10 [
(google.api.field_behavior) = OPTIONAL,
(google.api.field_behavior) = OUTPUT_ONLY
];
// Optional. Output only. The hint of why the matching has failed. This is
// only set when
// [matchingState][google.shopping.merchant.lfp.v1beta.LfpStore.matching_state]=`STORE_MATCHING_STATE_FAILED`.
//
// Possible values are:
//
// - "`linked-store-not-found`": There aren't any Google Business
// Profile stores available for matching.
// - "`store-match-not-found`": The provided `LfpStore` couldn't be matched to
// any of the connected Google Business Profile stores. Merchant Center
// account is connected correctly and stores are available on Google Business
// Profile, but the `LfpStore` location address does not match with Google
// Business Profile stores' addresses. Update the `LfpStore` address or Google
// Business Profile store address to match correctly.
// - "`store-match-unverified`": The provided `LfpStore` couldn't be matched
// to any of the connected Google Business Profile stores, as the matched
// Google Business Profile store is unverified. Go through the Google Business
// Profile verification process to match correctly.
optional string matching_state_hint = 11 [
(google.api.field_behavior) = OPTIONAL,
(google.api.field_behavior) = OUTPUT_ONLY
];
}
// Request message for the `GetLfpStore` method.
message GetLfpStoreRequest {
// Required. The name of the store to retrieve.
// Format: `accounts/{account}/lfpStores/{target_merchant}~{store_code}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "merchantapi.googleapis.com/LfpStore"
}
];
}
// Request message for the InsertLfpStore method.
message InsertLfpStoreRequest {
// Required. The LFP provider account
// Format: `accounts/{account}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "merchantapi.googleapis.com/LfpStore"
}
];
// Required. The store to insert.
LfpStore lfp_store = 2 [(google.api.field_behavior) = REQUIRED];
}
// Request message for the DeleteLfpStore method.
message DeleteLfpStoreRequest {
// Required. The name of the store to delete for the target merchant account.
// Format: `accounts/{account}/lfpStores/{target_merchant}~{store_code}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "merchantapi.googleapis.com/LfpStore"
}
];
}
// Request message for the ListLfpStores method.
message ListLfpStoresRequest {
// Required. The LFP partner.
// Format: `accounts/{account}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "merchantapi.googleapis.com/LfpStore"
}
];
// Required. The Merchant Center id of the merchant to list stores for.
int64 target_account = 2 [(google.api.field_behavior) = REQUIRED];
// Optional. The maximum number of `LfpStore` resources for the given account
// to return. The service returns fewer than this value if the number of
// stores for the given account is less than the `pageSize`. The default value
// is 250. The maximum value is 1000; If a value higher than the maximum is
// specified, then the `pageSize` will default to the maximum.
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. A page token, received from a previous `ListLfpStoresRequest`
// call. Provide the page token to retrieve the subsequent page. When
// paginating, all other parameters provided to `ListLfpStoresRequest` must
// match the call that provided the page token. The token returned as
// [nextPageToken][google.shopping.merchant.lfp.v1beta.ListLfpStoresResponse.next_page_token]
// in the response to the previous request.
string page_token = 4 [(google.api.field_behavior) = OPTIONAL];
}
// Response message for the ListLfpStores method.
message ListLfpStoresResponse {
// The stores from the specified merchant.
repeated LfpStore lfp_stores = 1;
// A token, which can be sent as `pageToken` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy