|
| 1 | +// Copyright 2021 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.cloud.retail.v2alpha; |
| 18 | + |
| 19 | +import "google/api/field_behavior.proto"; |
| 20 | +import "google/api/resource.proto"; |
| 21 | +import "google/protobuf/timestamp.proto"; |
| 22 | + |
| 23 | +option csharp_namespace = "Google.Cloud.Retail.V2Alpha"; |
| 24 | +option go_package = "cloud.google.com/go/retail/apiv2alpha/retailpb;retailpb"; |
| 25 | +option java_multiple_files = true; |
| 26 | +option java_outer_classname = "MerchantCenterAccountLinkProto"; |
| 27 | +option java_package = "com.google.cloud.retail.v2alpha"; |
| 28 | +option objc_class_prefix = "RETAIL"; |
| 29 | +option php_namespace = "Google\\Cloud\\Retail\\V2alpha"; |
| 30 | +option ruby_package = "Google::Cloud::Retail::V2alpha"; |
| 31 | + |
| 32 | +// Represents a link between a Merchant Center account and a branch. |
| 33 | +// Once a link is established, products from the linked merchant center account |
| 34 | +// will be streamed to the linked branch. |
| 35 | +message MerchantCenterAccountLink { |
| 36 | + option (google.api.resource) = { |
| 37 | + type: "retail.googleapis.com/MerchantCenterAccountLink" |
| 38 | + pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/merchantCenterAccountLinks/{merchant_center_account_link}" |
| 39 | + }; |
| 40 | + |
| 41 | + // Merchant Center Feed filter criterion. |
| 42 | + message MerchantCenterFeedFilter { |
| 43 | + // Merchant Center primary feed ID. |
| 44 | + int64 primary_feed_id = 1; |
| 45 | + |
| 46 | + // Merchant Center primary feed name. The name is used for the display |
| 47 | + // purposes only. |
| 48 | + string primary_feed_name = 2; |
| 49 | + } |
| 50 | + |
| 51 | + // The state of the link. |
| 52 | + enum State { |
| 53 | + // Default value. |
| 54 | + STATE_UNSPECIFIED = 0; |
| 55 | + |
| 56 | + // Link is created and LRO is not complete. |
| 57 | + PENDING = 1; |
| 58 | + |
| 59 | + // Link is active. |
| 60 | + ACTIVE = 2; |
| 61 | + |
| 62 | + // Link creation failed. |
| 63 | + FAILED = 3; |
| 64 | + } |
| 65 | + |
| 66 | + // Output only. Immutable. Full resource name of the Merchant Center Account |
| 67 | + // Link, such as |
| 68 | + // `projects/*/locations/global/catalogs/default_catalog/merchantCenterAccountLinks/merchant_center_account_link`. |
| 69 | + string name = 1 [ |
| 70 | + (google.api.field_behavior) = IMMUTABLE, |
| 71 | + (google.api.field_behavior) = OUTPUT_ONLY |
| 72 | + ]; |
| 73 | + |
| 74 | + // Output only. Immutable. |
| 75 | + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink] |
| 76 | + // identifier, which is the final component of |
| 77 | + // [name][google.cloud.retail.v2alpha.MerchantCenterAccountLink.name]. This |
| 78 | + // field is auto generated and follows the convention: |
| 79 | + // `BranchId_MerchantCenterAccountId`. |
| 80 | + // `projects/*/locations/global/catalogs/default_catalog/merchantCenterAccountLinks/id_1`. |
| 81 | + string id = 8 [ |
| 82 | + (google.api.field_behavior) = IMMUTABLE, |
| 83 | + (google.api.field_behavior) = OUTPUT_ONLY |
| 84 | + ]; |
| 85 | + |
| 86 | + // Required. The linked [Merchant center account |
| 87 | + // id](https://developers.google.com/shopping-content/guides/accountstatuses). |
| 88 | + // The account must be a standalone account or a sub-account of a MCA. |
| 89 | + int64 merchant_center_account_id = 2 [(google.api.field_behavior) = REQUIRED]; |
| 90 | + |
| 91 | + // Required. The branch id (e.g. 0/1/2) within the catalog that products from |
| 92 | + // merchant_center_account_id are streamed to. When updating this field, an |
| 93 | + // empty value will use the currently configured default branch. However, |
| 94 | + // changing the default branch later on won't change the linked branch here. |
| 95 | + // |
| 96 | + // A single branch id can only have one linked merchant center account id. |
| 97 | + string branch_id = 3 [(google.api.field_behavior) = REQUIRED]; |
| 98 | + |
| 99 | + // The FeedLabel used to perform filtering. |
| 100 | + // Note: this replaces |
| 101 | + // [region_id](https://developers.google.com/shopping-content/reference/rest/v2.1/products#Product.FIELDS.feed_label). |
| 102 | + // |
| 103 | + // Example value: `US`. |
| 104 | + // Example value: `FeedLabel1`. |
| 105 | + string feed_label = 4; |
| 106 | + |
| 107 | + // Language of the title/description and other string attributes. Use language |
| 108 | + // tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). |
| 109 | + // ISO 639-1. |
| 110 | + // |
| 111 | + // This specifies the language of offers in Merchant Center that will be |
| 112 | + // accepted. If empty, no language filtering will be performed. |
| 113 | + // |
| 114 | + // Example value: `en`. |
| 115 | + string language_code = 5; |
| 116 | + |
| 117 | + // Criteria for the Merchant Center feeds to be ingested via the link. |
| 118 | + // All offers will be ingested if the list is empty. |
| 119 | + // Otherwise the offers will be ingested from selected feeds. |
| 120 | + repeated MerchantCenterFeedFilter feed_filters = 6; |
| 121 | + |
| 122 | + // Output only. Represents the state of the link. |
| 123 | + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
| 124 | + |
| 125 | + // Output only. GCP project ID. |
| 126 | + string project_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; |
| 127 | +} |
| 128 | + |
| 129 | +// Common metadata related to the progress of the operations. |
| 130 | +message CreateMerchantCenterAccountLinkMetadata { |
| 131 | + // Operation create time. |
| 132 | + google.protobuf.Timestamp create_time = 1; |
| 133 | + |
| 134 | + // Operation last update time. If the operation is done, this is also the |
| 135 | + // finish time. |
| 136 | + google.protobuf.Timestamp update_time = 2; |
| 137 | +} |
0 commit comments