@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.
Files changed (49) hide show
  1. package/README.md +17 -10
  2. package/build/protos/google/shopping/merchant/lfp/v1/lfpinventory.proto +152 -0
  3. package/build/protos/google/shopping/merchant/lfp/v1/lfpmerchantstate.proto +209 -0
  4. package/build/protos/google/shopping/merchant/lfp/v1/lfpsale.proto +125 -0
  5. package/build/protos/google/shopping/merchant/lfp/v1/lfpstore.proto +252 -0
  6. package/build/protos/protos.d.ts +2717 -71
  7. package/build/protos/protos.js +9152 -1920
  8. package/build/protos/protos.json +1049 -25
  9. package/build/src/index.d.ts +3 -1
  10. package/build/src/index.js +4 -2
  11. package/build/src/index.js.map +1 -1
  12. package/build/src/v1/gapic_metadata.json +139 -0
  13. package/build/src/v1/index.d.ts +4 -0
  14. package/build/src/v1/index.js +29 -0
  15. package/build/src/v1/index.js.map +1 -0
  16. package/build/src/v1/lfp_inventory_service_client.d.ts +292 -0
  17. package/build/src/v1/lfp_inventory_service_client.js +527 -0
  18. package/build/src/v1/lfp_inventory_service_client.js.map +1 -0
  19. package/build/src/v1/lfp_inventory_service_client_config.json +43 -0
  20. package/build/src/v1/lfp_inventory_service_proto_list.json +7 -0
  21. package/build/src/v1/lfp_merchant_state_service_client.d.ts +277 -0
  22. package/build/src/v1/lfp_merchant_state_service_client.js +508 -0
  23. package/build/src/v1/lfp_merchant_state_service_client.js.map +1 -0
  24. package/build/src/v1/lfp_merchant_state_service_client_config.json +43 -0
  25. package/build/src/v1/lfp_merchant_state_service_proto_list.json +7 -0
  26. package/build/src/v1/lfp_sale_service_client.d.ts +275 -0
  27. package/build/src/v1/lfp_sale_service_client.js +505 -0
  28. package/build/src/v1/lfp_sale_service_client.js.map +1 -0
  29. package/build/src/v1/lfp_sale_service_client_config.json +43 -0
  30. package/build/src/v1/lfp_sale_service_proto_list.json +7 -0
  31. package/build/src/v1/lfp_store_service_client.d.ts +454 -0
  32. package/build/src/v1/lfp_store_service_client.js +734 -0
  33. package/build/src/v1/lfp_store_service_client.js.map +1 -0
  34. package/build/src/v1/lfp_store_service_client_config.json +58 -0
  35. package/build/src/v1/lfp_store_service_proto_list.json +7 -0
  36. package/build/src/v1beta/lfp_inventory_service_client.d.ts +1 -1
  37. package/build/src/v1beta/lfp_inventory_service_client.js +33 -44
  38. package/build/src/v1beta/lfp_inventory_service_client.js.map +1 -1
  39. package/build/src/v1beta/lfp_merchant_state_service_client.d.ts +1 -1
  40. package/build/src/v1beta/lfp_merchant_state_service_client.js +34 -46
  41. package/build/src/v1beta/lfp_merchant_state_service_client.js.map +1 -1
  42. package/build/src/v1beta/lfp_sale_service_client.d.ts +1 -1
  43. package/build/src/v1beta/lfp_sale_service_client.js +33 -44
  44. package/build/src/v1beta/lfp_sale_service_client.js.map +1 -1
  45. package/build/src/v1beta/lfp_store_service_client.d.ts +38 -38
  46. package/build/src/v1beta/lfp_store_service_client.js +68 -88
  47. package/build/src/v1beta/lfp_store_service_client.js.map +1 -1
  48. package/package.json +4 -4
  49. 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/master/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) |
126
- | Lfp_merchant_state_service.get_lfp_merchant_state | [source code](https://github.com/googleapis/google-cloud-node/blob/master/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) |
127
- | Lfp_sale_service.insert_lfp_sale | [source code](https://github.com/googleapis/google-cloud-node/blob/master/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) |
128
- | Lfp_store_service.delete_lfp_store | [source code](https://github.com/googleapis/google-cloud-node/blob/master/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) |
129
- | Lfp_store_service.get_lfp_store | [source code](https://github.com/googleapis/google-cloud-node/blob/master/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) |
130
- | Lfp_store_service.insert_lfp_store | [source code](https://github.com/googleapis/google-cloud-node/blob/master/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) |
131
- | Lfp_store_service.list_lfp_stores | [source code](https://github.com/googleapis/google-cloud-node/blob/master/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) |
132
- | Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/master/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) |
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/master/CONTRIBUTING.md).
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/master/LICENSE)
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
+ }