@google-shopping/lfp 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -10
- package/build/protos/google/shopping/merchant/lfp/v1/lfpinventory.proto +152 -0
- package/build/protos/google/shopping/merchant/lfp/v1/lfpmerchantstate.proto +209 -0
- package/build/protos/google/shopping/merchant/lfp/v1/lfpsale.proto +125 -0
- package/build/protos/google/shopping/merchant/lfp/v1/lfpstore.proto +252 -0
- package/build/protos/protos.d.ts +2717 -71
- package/build/protos/protos.js +9152 -1920
- package/build/protos/protos.json +1049 -25
- package/build/src/index.d.ts +3 -1
- package/build/src/index.js +4 -2
- package/build/src/index.js.map +1 -1
- package/build/src/v1/gapic_metadata.json +139 -0
- package/build/src/v1/index.d.ts +4 -0
- package/build/src/v1/index.js +29 -0
- package/build/src/v1/index.js.map +1 -0
- package/build/src/v1/lfp_inventory_service_client.d.ts +292 -0
- package/build/src/v1/lfp_inventory_service_client.js +527 -0
- package/build/src/v1/lfp_inventory_service_client.js.map +1 -0
- package/build/src/v1/lfp_inventory_service_client_config.json +43 -0
- package/build/src/v1/lfp_inventory_service_proto_list.json +7 -0
- package/build/src/v1/lfp_merchant_state_service_client.d.ts +277 -0
- package/build/src/v1/lfp_merchant_state_service_client.js +508 -0
- package/build/src/v1/lfp_merchant_state_service_client.js.map +1 -0
- package/build/src/v1/lfp_merchant_state_service_client_config.json +43 -0
- package/build/src/v1/lfp_merchant_state_service_proto_list.json +7 -0
- package/build/src/v1/lfp_sale_service_client.d.ts +275 -0
- package/build/src/v1/lfp_sale_service_client.js +505 -0
- package/build/src/v1/lfp_sale_service_client.js.map +1 -0
- package/build/src/v1/lfp_sale_service_client_config.json +43 -0
- package/build/src/v1/lfp_sale_service_proto_list.json +7 -0
- package/build/src/v1/lfp_store_service_client.d.ts +454 -0
- package/build/src/v1/lfp_store_service_client.js +734 -0
- package/build/src/v1/lfp_store_service_client.js.map +1 -0
- package/build/src/v1/lfp_store_service_client_config.json +58 -0
- package/build/src/v1/lfp_store_service_proto_list.json +7 -0
- package/build/src/v1beta/lfp_inventory_service_client.d.ts +1 -1
- package/build/src/v1beta/lfp_inventory_service_client.js +33 -44
- package/build/src/v1beta/lfp_inventory_service_client.js.map +1 -1
- package/build/src/v1beta/lfp_merchant_state_service_client.d.ts +1 -1
- package/build/src/v1beta/lfp_merchant_state_service_client.js +34 -46
- package/build/src/v1beta/lfp_merchant_state_service_client.js.map +1 -1
- package/build/src/v1beta/lfp_sale_service_client.d.ts +1 -1
- package/build/src/v1beta/lfp_sale_service_client.js +33 -44
- package/build/src/v1beta/lfp_sale_service_client.js.map +1 -1
- package/build/src/v1beta/lfp_store_service_client.d.ts +38 -38
- package/build/src/v1beta/lfp_store_service_client.js +68 -88
- package/build/src/v1beta/lfp_store_service_client.js.map +1 -1
- package/package.json +4 -4
- package/CHANGELOG.md +0 -55
package/README.md
CHANGED
|
@@ -122,14 +122,21 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/
|
|
|
122
122
|
|
|
123
123
|
| Sample | Source Code | Try it |
|
|
124
124
|
| --------------------------- | --------------------------------- | ------ |
|
|
125
|
-
| Lfp_inventory_service.insert_lfp_inventory | [source code](https://github.com/googleapis/google-cloud-node/blob/
|
|
126
|
-
| Lfp_merchant_state_service.get_lfp_merchant_state | [source code](https://github.com/googleapis/google-cloud-node/blob/
|
|
127
|
-
| Lfp_sale_service.insert_lfp_sale | [source code](https://github.com/googleapis/google-cloud-node/blob/
|
|
128
|
-
| Lfp_store_service.delete_lfp_store | [source code](https://github.com/googleapis/google-cloud-node/blob/
|
|
129
|
-
| Lfp_store_service.get_lfp_store | [source code](https://github.com/googleapis/google-cloud-node/blob/
|
|
130
|
-
| Lfp_store_service.insert_lfp_store | [source code](https://github.com/googleapis/google-cloud-node/blob/
|
|
131
|
-
| Lfp_store_service.list_lfp_stores | [source code](https://github.com/googleapis/google-cloud-node/blob/
|
|
132
|
-
|
|
|
125
|
+
| Lfp_inventory_service.insert_lfp_inventory | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_inventory_service.insert_lfp_inventory.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_inventory_service.insert_lfp_inventory.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
126
|
+
| Lfp_merchant_state_service.get_lfp_merchant_state | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_merchant_state_service.get_lfp_merchant_state.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_merchant_state_service.get_lfp_merchant_state.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
127
|
+
| Lfp_sale_service.insert_lfp_sale | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_sale_service.insert_lfp_sale.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_sale_service.insert_lfp_sale.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
128
|
+
| Lfp_store_service.delete_lfp_store | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_store_service.delete_lfp_store.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_store_service.delete_lfp_store.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
129
|
+
| Lfp_store_service.get_lfp_store | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_store_service.get_lfp_store.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_store_service.get_lfp_store.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
130
|
+
| Lfp_store_service.insert_lfp_store | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_store_service.insert_lfp_store.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_store_service.insert_lfp_store.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
131
|
+
| Lfp_store_service.list_lfp_stores | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_store_service.list_lfp_stores.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1/lfp_store_service.list_lfp_stores.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
132
|
+
| Lfp_inventory_service.insert_lfp_inventory | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_inventory_service.insert_lfp_inventory.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_inventory_service.insert_lfp_inventory.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
133
|
+
| Lfp_merchant_state_service.get_lfp_merchant_state | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_merchant_state_service.get_lfp_merchant_state.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_merchant_state_service.get_lfp_merchant_state.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
134
|
+
| Lfp_sale_service.insert_lfp_sale | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_sale_service.insert_lfp_sale.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_sale_service.insert_lfp_sale.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
135
|
+
| Lfp_store_service.delete_lfp_store | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_store_service.delete_lfp_store.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_store_service.delete_lfp_store.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
136
|
+
| Lfp_store_service.get_lfp_store | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_store_service.get_lfp_store.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_store_service.get_lfp_store.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
137
|
+
| Lfp_store_service.insert_lfp_store | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_store_service.insert_lfp_store.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_store_service.insert_lfp_store.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
138
|
+
| Lfp_store_service.list_lfp_stores | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_store_service.list_lfp_stores.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/generated/v1beta/lfp_store_service.list_lfp_stores.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
139
|
+
| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-lfp/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-merchant-lfp/samples/quickstart.js,packages/google-shopping-merchant-lfp/samples/README.md) |
|
|
133
140
|
|
|
134
141
|
|
|
135
142
|
|
|
@@ -178,7 +185,7 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages]
|
|
|
178
185
|
|
|
179
186
|
## Contributing
|
|
180
187
|
|
|
181
|
-
Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/
|
|
188
|
+
Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/CONTRIBUTING.md).
|
|
182
189
|
|
|
183
190
|
Please note that this `README.md`, the `samples/README.md`,
|
|
184
191
|
and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
|
|
@@ -190,7 +197,7 @@ to its templates in
|
|
|
190
197
|
|
|
191
198
|
Apache Version 2.0
|
|
192
199
|
|
|
193
|
-
See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/
|
|
200
|
+
See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE)
|
|
194
201
|
|
|
195
202
|
[client-docs]: https://cloud.google.com/nodejs/docs/reference/merchantapi/latest
|
|
196
203
|
[product-docs]: https://developers.google.com/merchant/api
|
|
@@ -0,0 +1,152 @@
|
|
|
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.lfp.v1;
|
|
18
|
+
|
|
19
|
+
import "google/api/annotations.proto";
|
|
20
|
+
import "google/api/client.proto";
|
|
21
|
+
import "google/api/field_behavior.proto";
|
|
22
|
+
import "google/api/resource.proto";
|
|
23
|
+
import "google/protobuf/timestamp.proto";
|
|
24
|
+
import "google/shopping/type/types.proto";
|
|
25
|
+
|
|
26
|
+
option csharp_namespace = "Google.Shopping.Merchant.Lfp.V1";
|
|
27
|
+
option go_package = "cloud.google.com/go/shopping/merchant/lfp/apiv1/lfppb;lfppb";
|
|
28
|
+
option java_multiple_files = true;
|
|
29
|
+
option java_outer_classname = "LfpInventoryProto";
|
|
30
|
+
option java_package = "com.google.shopping.merchant.lfp.v1";
|
|
31
|
+
option php_namespace = "Google\\Shopping\\Merchant\\Lfp\\V1";
|
|
32
|
+
option ruby_package = "Google::Shopping::Merchant::Lfp::V1";
|
|
33
|
+
option (google.api.resource_definition) = {
|
|
34
|
+
type: "merchantapi.googleapis.com/Account"
|
|
35
|
+
pattern: "accounts/{account}"
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
// Service for a [LFP
|
|
39
|
+
// partner](https://support.google.com/merchants/answer/7676652) to submit local
|
|
40
|
+
// inventories for a merchant.
|
|
41
|
+
service LfpInventoryService {
|
|
42
|
+
option (google.api.default_host) = "merchantapi.googleapis.com";
|
|
43
|
+
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content";
|
|
44
|
+
|
|
45
|
+
// Inserts a `LfpInventory` resource for the given target merchant account. If
|
|
46
|
+
// the resource already exists, it will be replaced. The inventory
|
|
47
|
+
// automatically expires after 30 days.
|
|
48
|
+
rpc InsertLfpInventory(InsertLfpInventoryRequest) returns (LfpInventory) {
|
|
49
|
+
option (google.api.http) = {
|
|
50
|
+
post: "/lfp/v1/{parent=accounts/*}/lfpInventories:insert"
|
|
51
|
+
body: "lfp_inventory"
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Local Inventory for the merchant.
|
|
57
|
+
message LfpInventory {
|
|
58
|
+
option (google.api.resource) = {
|
|
59
|
+
type: "merchantapi.googleapis.com/LfpInventory"
|
|
60
|
+
pattern: "accounts/{account}/lfpInventories/{target_merchant}~{store_code}~{offer}"
|
|
61
|
+
plural: "lfpInventories"
|
|
62
|
+
singular: "lfpInventory"
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
// Output only. Identifier. The name for the `LfpInventory` resource.
|
|
66
|
+
// Format:
|
|
67
|
+
// `accounts/{account}/lfpInventories/{target_merchant}~{store_code}~{offer}`
|
|
68
|
+
string name = 1 [
|
|
69
|
+
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
70
|
+
(google.api.field_behavior) = IDENTIFIER
|
|
71
|
+
];
|
|
72
|
+
|
|
73
|
+
// Required. The Merchant Center ID of the merchant to submit the inventory
|
|
74
|
+
// for.
|
|
75
|
+
int64 target_account = 2 [(google.api.field_behavior) = REQUIRED];
|
|
76
|
+
|
|
77
|
+
// Required. The identifier of the merchant's store. Either the store code
|
|
78
|
+
// inserted through `InsertLfpStore` or the store code in the Business
|
|
79
|
+
// Profile.
|
|
80
|
+
string store_code = 3 [(google.api.field_behavior) = REQUIRED];
|
|
81
|
+
|
|
82
|
+
// Required. Immutable. A unique identifier for the product. If both
|
|
83
|
+
// inventories and sales are submitted for a merchant, this id should match
|
|
84
|
+
// for the same product.
|
|
85
|
+
//
|
|
86
|
+
// **Note**: if the merchant sells the same product new and used, they should
|
|
87
|
+
// have different IDs.
|
|
88
|
+
string offer_id = 4 [
|
|
89
|
+
(google.api.field_behavior) = REQUIRED,
|
|
90
|
+
(google.api.field_behavior) = IMMUTABLE
|
|
91
|
+
];
|
|
92
|
+
|
|
93
|
+
// Required. The [CLDR territory
|
|
94
|
+
// code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml)
|
|
95
|
+
// for the country where the product is sold.
|
|
96
|
+
string region_code = 5 [(google.api.field_behavior) = REQUIRED];
|
|
97
|
+
|
|
98
|
+
// Required. The two-letter ISO 639-1 language code for the item.
|
|
99
|
+
string content_language = 6 [(google.api.field_behavior) = REQUIRED];
|
|
100
|
+
|
|
101
|
+
// Optional. The Global Trade Item Number of the product.
|
|
102
|
+
optional string gtin = 7 [(google.api.field_behavior) = OPTIONAL];
|
|
103
|
+
|
|
104
|
+
// Optional. The current price of the product.
|
|
105
|
+
google.shopping.type.Price price = 8 [(google.api.field_behavior) = OPTIONAL];
|
|
106
|
+
|
|
107
|
+
// Required. Availability of the product at this store.
|
|
108
|
+
// For accepted attribute values, see the [local product inventory data
|
|
109
|
+
// specification](https://support.google.com/merchants/answer/3061342)
|
|
110
|
+
string availability = 9 [(google.api.field_behavior) = REQUIRED];
|
|
111
|
+
|
|
112
|
+
// Optional. Quantity of the product available at this store. Must be greater
|
|
113
|
+
// than or equal to zero.
|
|
114
|
+
optional int64 quantity = 10 [(google.api.field_behavior) = OPTIONAL];
|
|
115
|
+
|
|
116
|
+
// Optional. The time when the inventory is collected. If not set, it will be
|
|
117
|
+
// set to the time when the inventory is submitted.
|
|
118
|
+
google.protobuf.Timestamp collection_time = 11
|
|
119
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
120
|
+
|
|
121
|
+
// Optional. Supported pickup method for this offer. Unless the value is "not
|
|
122
|
+
// supported", this field must be submitted together with `pickupSla`. For
|
|
123
|
+
// accepted attribute values, see the [local product inventory data
|
|
124
|
+
// specification](https://support.google.com/merchants/answer/3061342).
|
|
125
|
+
optional string pickup_method = 12 [(google.api.field_behavior) = OPTIONAL];
|
|
126
|
+
|
|
127
|
+
// Optional. Expected date that an order will be ready for pickup relative to
|
|
128
|
+
// the order date. Must be submitted together with `pickupMethod`. For
|
|
129
|
+
// accepted attribute values, see the [local product inventory data
|
|
130
|
+
// specification](https://support.google.com/merchants/answer/3061342).
|
|
131
|
+
optional string pickup_sla = 13 [(google.api.field_behavior) = OPTIONAL];
|
|
132
|
+
|
|
133
|
+
// Optional. The [feed
|
|
134
|
+
// label](https://developers.google.com/shopping-content/guides/products/feed-labels)
|
|
135
|
+
// for the product. If this is not set, it will default to `regionCode`.
|
|
136
|
+
optional string feed_label = 14 [(google.api.field_behavior) = OPTIONAL];
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// Request message for the `InsertLfpInventory` method.
|
|
140
|
+
message InsertLfpInventoryRequest {
|
|
141
|
+
// Required. The LFP provider account.
|
|
142
|
+
// Format: `accounts/{account}`
|
|
143
|
+
string parent = 1 [
|
|
144
|
+
(google.api.field_behavior) = REQUIRED,
|
|
145
|
+
(google.api.resource_reference) = {
|
|
146
|
+
child_type: "merchantapi.googleapis.com/LfpInventory"
|
|
147
|
+
}
|
|
148
|
+
];
|
|
149
|
+
|
|
150
|
+
// Required. The inventory to insert.
|
|
151
|
+
LfpInventory lfp_inventory = 2 [(google.api.field_behavior) = REQUIRED];
|
|
152
|
+
}
|
|
@@ -0,0 +1,209 @@
|
|
|
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.lfp.v1;
|
|
18
|
+
|
|
19
|
+
import "google/api/annotations.proto";
|
|
20
|
+
import "google/api/client.proto";
|
|
21
|
+
import "google/api/field_behavior.proto";
|
|
22
|
+
import "google/api/resource.proto";
|
|
23
|
+
|
|
24
|
+
option csharp_namespace = "Google.Shopping.Merchant.Lfp.V1";
|
|
25
|
+
option go_package = "cloud.google.com/go/shopping/merchant/lfp/apiv1/lfppb;lfppb";
|
|
26
|
+
option java_multiple_files = true;
|
|
27
|
+
option java_outer_classname = "LfpMerchantStateProto";
|
|
28
|
+
option java_package = "com.google.shopping.merchant.lfp.v1";
|
|
29
|
+
option php_namespace = "Google\\Shopping\\Merchant\\Lfp\\V1";
|
|
30
|
+
option ruby_package = "Google::Shopping::Merchant::Lfp::V1";
|
|
31
|
+
|
|
32
|
+
// Service for a [LFP
|
|
33
|
+
// partner](https://support.google.com/merchants/answer/7676652) to get the
|
|
34
|
+
// state of a merchant.
|
|
35
|
+
//
|
|
36
|
+
// For information about onboarding a retailer, see [How to onboard a
|
|
37
|
+
// retailer](https://support.google.com/merchants/answer/15243706).
|
|
38
|
+
service LfpMerchantStateService {
|
|
39
|
+
option (google.api.default_host) = "merchantapi.googleapis.com";
|
|
40
|
+
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content";
|
|
41
|
+
|
|
42
|
+
// Gets the LFP state of a merchant
|
|
43
|
+
rpc GetLfpMerchantState(GetLfpMerchantStateRequest)
|
|
44
|
+
returns (LfpMerchantState) {
|
|
45
|
+
option (google.api.http) = {
|
|
46
|
+
get: "/lfp/v1/{name=accounts/*/lfpMerchantStates/*}"
|
|
47
|
+
};
|
|
48
|
+
option (google.api.method_signature) = "name";
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// The LFP state of a merchant.
|
|
53
|
+
message LfpMerchantState {
|
|
54
|
+
option (google.api.resource) = {
|
|
55
|
+
type: "merchantapi.googleapis.com/LfpMerchantState"
|
|
56
|
+
pattern: "accounts/{account}/lfpMerchantStates/{lfp_merchant_state}"
|
|
57
|
+
plural: "lfpMerchantStates"
|
|
58
|
+
singular: "lfpMerchantState"
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// The state of a specific merchant's store.
|
|
62
|
+
message LfpStoreState {
|
|
63
|
+
// The state of matching `LfpStore` to a Google Business Profile listing.
|
|
64
|
+
enum StoreMatchingState {
|
|
65
|
+
// Store matching state unspecified.
|
|
66
|
+
STORE_MATCHING_STATE_UNSPECIFIED = 0;
|
|
67
|
+
|
|
68
|
+
// The `LfpStore` is successfully matched with a Google Business Profile
|
|
69
|
+
// store.
|
|
70
|
+
STORE_MATCHING_STATE_MATCHED = 1;
|
|
71
|
+
|
|
72
|
+
// The `LfpStore` is not matched with a Google Business Profile store.
|
|
73
|
+
STORE_MATCHING_STATE_FAILED = 2;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Required. Immutable. The identifier of this store.
|
|
77
|
+
string store_code = 1 [
|
|
78
|
+
(google.api.field_behavior) = REQUIRED,
|
|
79
|
+
(google.api.field_behavior) = IMMUTABLE
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
// Output only. The store matching state.
|
|
83
|
+
StoreMatchingState matching_state = 2
|
|
84
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
85
|
+
|
|
86
|
+
// The hint of why the matching has failed (only set if matching_state is
|
|
87
|
+
// FAILED).
|
|
88
|
+
string matching_state_hint = 3;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// The inventory statistics for a merchant.
|
|
92
|
+
message InventoryStats {
|
|
93
|
+
// Number of entries (understanding entry as a pair of product and store)
|
|
94
|
+
// that were built based on provided inventories/sales and submitted to
|
|
95
|
+
// Google.
|
|
96
|
+
int64 submitted_entries = 1;
|
|
97
|
+
|
|
98
|
+
// Number of submitted in stock entries.
|
|
99
|
+
int64 submitted_in_stock_entries = 2;
|
|
100
|
+
|
|
101
|
+
// Number of entries that were built based on provided
|
|
102
|
+
// inventories/sales and couldn't be submitted to Google due to errors like
|
|
103
|
+
// missing product.
|
|
104
|
+
int64 unsubmitted_entries = 3;
|
|
105
|
+
|
|
106
|
+
// Number of products from provided inventories/sales that were created from
|
|
107
|
+
// matches to existing online products provided by the merchant or to the
|
|
108
|
+
// Google catalog.
|
|
109
|
+
int64 submitted_products = 4;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Country-specific settings for the merchant.
|
|
113
|
+
message CountrySettings {
|
|
114
|
+
// The possible verification states for different merchant programs.
|
|
115
|
+
enum VerificationState {
|
|
116
|
+
// Verification state unspecified.
|
|
117
|
+
VERIFICATION_STATE_UNSPECIFIED = 0;
|
|
118
|
+
|
|
119
|
+
// Verification state not approved.
|
|
120
|
+
VERIFICATION_STATE_NOT_APPROVED = 1;
|
|
121
|
+
|
|
122
|
+
// Verification state in progress.
|
|
123
|
+
VERIFICATION_STATE_IN_PROGRESS = 2;
|
|
124
|
+
|
|
125
|
+
// Verification state approved.
|
|
126
|
+
VERIFICATION_STATE_APPROVED = 3;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// The possible [product page
|
|
130
|
+
// types](https://support.google.com/merchants/topic/15148370) for a
|
|
131
|
+
// merchant.
|
|
132
|
+
enum ProductPageType {
|
|
133
|
+
// Product page type unspecified.
|
|
134
|
+
PRODUCT_PAGE_TYPE_UNSPECIFIED = 0;
|
|
135
|
+
|
|
136
|
+
// Google hosted product page.
|
|
137
|
+
GOOGLE_HOSTED = 1;
|
|
138
|
+
|
|
139
|
+
// Merchant hosted product page.
|
|
140
|
+
MERCHANT_HOSTED = 2;
|
|
141
|
+
|
|
142
|
+
// Merchant hosted store specific product page.
|
|
143
|
+
MERCHANT_HOSTED_STORE_SPECIFIC = 3;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// Required. The [CLDR territory
|
|
147
|
+
// code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml)
|
|
148
|
+
// for the country for which these settings are defined.
|
|
149
|
+
string region_code = 1 [(google.api.field_behavior) = REQUIRED];
|
|
150
|
+
|
|
151
|
+
// True if this merchant has enabled free local listings in MC.
|
|
152
|
+
bool free_local_listings_enabled = 2;
|
|
153
|
+
|
|
154
|
+
// True if this merchant has enabled local inventory ads in MC.
|
|
155
|
+
bool local_inventory_ads_enabled = 3;
|
|
156
|
+
|
|
157
|
+
// Output only. The verification state of this merchant's inventory check.
|
|
158
|
+
VerificationState inventory_verification_state = 4
|
|
159
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
160
|
+
|
|
161
|
+
// Output only. The product page type selected by this merchant.
|
|
162
|
+
ProductPageType product_page_type = 5
|
|
163
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
164
|
+
|
|
165
|
+
// Output only. The verification state of this merchant's instock serving
|
|
166
|
+
// feature.
|
|
167
|
+
VerificationState instock_serving_verification_state = 6
|
|
168
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
169
|
+
|
|
170
|
+
// Output only. The verification state of this merchant's pickup serving
|
|
171
|
+
// feature.
|
|
172
|
+
VerificationState pickup_serving_verification_state = 7
|
|
173
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// Identifier. The name of the `LfpMerchantState` resource. Format:
|
|
177
|
+
// `accounts/{account}/lfpMerchantStates/{target_merchant}`. For example,
|
|
178
|
+
// `accounts/123456/lfpMerchantStates/567890`.
|
|
179
|
+
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
180
|
+
|
|
181
|
+
// Number of [GBPs](https://www.google.com/business/) this merchant has access
|
|
182
|
+
// to.
|
|
183
|
+
int64 linked_gbps = 2;
|
|
184
|
+
|
|
185
|
+
// Output only. The state per store from the specified merchant. The field
|
|
186
|
+
// will be absent if the merchant has no stores submitted through LFP.
|
|
187
|
+
repeated LfpStoreState store_states = 3
|
|
188
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
189
|
+
|
|
190
|
+
// The inventory statistics for the merchant. The field will be absent if the
|
|
191
|
+
// merchant has no inventory submitted through LFP.
|
|
192
|
+
InventoryStats inventory_stats = 4;
|
|
193
|
+
|
|
194
|
+
// Country-specific settings for the merchant.
|
|
195
|
+
repeated CountrySettings country_settings = 5;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// Request message for the GetLfpMerchantState method.
|
|
199
|
+
message GetLfpMerchantStateRequest {
|
|
200
|
+
// Required. The name of the state to retrieve.
|
|
201
|
+
// Format: `accounts/{account}/lfpMerchantStates/{target_merchant}`. For
|
|
202
|
+
// example, `accounts/123456/lfpMerchantStates/567890`.
|
|
203
|
+
string name = 1 [
|
|
204
|
+
(google.api.field_behavior) = REQUIRED,
|
|
205
|
+
(google.api.resource_reference) = {
|
|
206
|
+
type: "merchantapi.googleapis.com/LfpMerchantState"
|
|
207
|
+
}
|
|
208
|
+
];
|
|
209
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
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.lfp.v1;
|
|
18
|
+
|
|
19
|
+
import "google/api/annotations.proto";
|
|
20
|
+
import "google/api/client.proto";
|
|
21
|
+
import "google/api/field_behavior.proto";
|
|
22
|
+
import "google/api/field_info.proto";
|
|
23
|
+
import "google/api/resource.proto";
|
|
24
|
+
import "google/protobuf/timestamp.proto";
|
|
25
|
+
import "google/shopping/type/types.proto";
|
|
26
|
+
|
|
27
|
+
option csharp_namespace = "Google.Shopping.Merchant.Lfp.V1";
|
|
28
|
+
option go_package = "cloud.google.com/go/shopping/merchant/lfp/apiv1/lfppb;lfppb";
|
|
29
|
+
option java_multiple_files = true;
|
|
30
|
+
option java_outer_classname = "LfpSaleProto";
|
|
31
|
+
option java_package = "com.google.shopping.merchant.lfp.v1";
|
|
32
|
+
option php_namespace = "Google\\Shopping\\Merchant\\Lfp\\V1";
|
|
33
|
+
option ruby_package = "Google::Shopping::Merchant::Lfp::V1";
|
|
34
|
+
|
|
35
|
+
// Service for a [LFP
|
|
36
|
+
// partner](https://support.google.com/merchants/answer/7676652) to submit sales
|
|
37
|
+
// data for a merchant.
|
|
38
|
+
service LfpSaleService {
|
|
39
|
+
option (google.api.default_host) = "merchantapi.googleapis.com";
|
|
40
|
+
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content";
|
|
41
|
+
|
|
42
|
+
// Inserts a `LfpSale` for the given merchant.
|
|
43
|
+
rpc InsertLfpSale(InsertLfpSaleRequest) returns (LfpSale) {
|
|
44
|
+
option (google.api.http) = {
|
|
45
|
+
post: "/lfp/v1/{parent=accounts/*}/lfpSales:insert"
|
|
46
|
+
body: "lfp_sale"
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// A sale for the merchant.
|
|
52
|
+
message LfpSale {
|
|
53
|
+
option (google.api.resource) = {
|
|
54
|
+
type: "merchantapi.googleapis.com/LfpSale"
|
|
55
|
+
pattern: "accounts/{account}/lfpSales/{sale}"
|
|
56
|
+
plural: "lfpSales"
|
|
57
|
+
singular: "lfpSale"
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// Output only. Identifier. The name of the `LfpSale` resource.
|
|
61
|
+
// Format:
|
|
62
|
+
// `accounts/{account}/lfpSales/{sale}`
|
|
63
|
+
string name = 1 [
|
|
64
|
+
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
65
|
+
(google.api.field_behavior) = IDENTIFIER
|
|
66
|
+
];
|
|
67
|
+
|
|
68
|
+
// Required. The Merchant Center ID of the merchant to submit the sale for.
|
|
69
|
+
int64 target_account = 2 [(google.api.field_behavior) = REQUIRED];
|
|
70
|
+
|
|
71
|
+
// Required. The identifier of the merchant's store. Either a `storeCode`
|
|
72
|
+
// inserted through the API or the code of the store in the Business Profile.
|
|
73
|
+
string store_code = 3 [(google.api.field_behavior) = REQUIRED];
|
|
74
|
+
|
|
75
|
+
// Required. A unique identifier for the product. If both inventories and
|
|
76
|
+
// sales are submitted for a merchant, this id should match for the same
|
|
77
|
+
// product.
|
|
78
|
+
//
|
|
79
|
+
// **Note**: if the merchant sells the same product new and used, they should
|
|
80
|
+
// have different IDs.
|
|
81
|
+
string offer_id = 4 [(google.api.field_behavior) = REQUIRED];
|
|
82
|
+
|
|
83
|
+
// Required. The [CLDR territory
|
|
84
|
+
// code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml)
|
|
85
|
+
// for the country where the product is sold.
|
|
86
|
+
string region_code = 5 [(google.api.field_behavior) = REQUIRED];
|
|
87
|
+
|
|
88
|
+
// Required. The two-letter ISO 639-1 language code for the item.
|
|
89
|
+
string content_language = 6 [(google.api.field_behavior) = REQUIRED];
|
|
90
|
+
|
|
91
|
+
// Required. The Global Trade Item Number of the sold product.
|
|
92
|
+
string gtin = 7 [(google.api.field_behavior) = REQUIRED];
|
|
93
|
+
|
|
94
|
+
// Required. The unit price of the product.
|
|
95
|
+
google.shopping.type.Price price = 8 [(google.api.field_behavior) = REQUIRED];
|
|
96
|
+
|
|
97
|
+
// Required. The relative change of the available quantity. Negative for items
|
|
98
|
+
// returned.
|
|
99
|
+
int64 quantity = 9 [(google.api.field_behavior) = REQUIRED];
|
|
100
|
+
|
|
101
|
+
// Required. The timestamp for the sale.
|
|
102
|
+
google.protobuf.Timestamp sale_time = 10
|
|
103
|
+
[(google.api.field_behavior) = REQUIRED];
|
|
104
|
+
|
|
105
|
+
// Output only. System generated globally unique ID for the `LfpSale`.
|
|
106
|
+
optional string uid = 11 [
|
|
107
|
+
(google.api.field_info).format = UUID4,
|
|
108
|
+
(google.api.field_behavior) = OUTPUT_ONLY
|
|
109
|
+
];
|
|
110
|
+
|
|
111
|
+
// Optional. The [feed
|
|
112
|
+
// label](https://developers.google.com/shopping-content/guides/products/feed-labels)
|
|
113
|
+
// for the product. If this is not set, it will default to `regionCode`.
|
|
114
|
+
optional string feed_label = 12 [(google.api.field_behavior) = OPTIONAL];
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Request message for the InsertLfpSale method.
|
|
118
|
+
message InsertLfpSaleRequest {
|
|
119
|
+
// Required. The LFP provider account.
|
|
120
|
+
// Format: `accounts/{lfp_partner}`
|
|
121
|
+
string parent = 1 [(google.api.field_behavior) = REQUIRED];
|
|
122
|
+
|
|
123
|
+
// Required. The sale to insert.
|
|
124
|
+
LfpSale lfp_sale = 2 [(google.api.field_behavior) = REQUIRED];
|
|
125
|
+
}
|