Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / google-proto-files / google / ads / googleads / v1 / services / merchant_center_link_service.proto
1 // Copyright 2019 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
16 syntax = "proto3";
17
18 package google.ads.googleads.v1.services;
19
20 import "google/ads/googleads/v1/resources/merchant_center_link.proto";
21 import "google/api/annotations.proto";
22 import "google/protobuf/field_mask.proto";
23
24 option csharp_namespace = "Google.Ads.GoogleAds.V1.Services";
25 option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services";
26 option java_multiple_files = true;
27 option java_outer_classname = "MerchantCenterLinkServiceProto";
28 option java_package = "com.google.ads.googleads.v1.services";
29 option objc_class_prefix = "GAA";
30 option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services";
31 option ruby_package = "Google::Ads::GoogleAds::V1::Services";
32 // Proto file describing the MerchantCenterLink service.
33
34 // This service allows management of links between Google Ads and Google
35 // Merchant Center.
36 service MerchantCenterLinkService {
37   // Returns Merchant Center links available tor this customer.
38   rpc ListMerchantCenterLinks(ListMerchantCenterLinksRequest) returns (ListMerchantCenterLinksResponse) {
39     option (google.api.http) = {
40       get: "/v1/customers/{customer_id=*}/merchantCenterLinks"
41     };
42   }
43
44   // Returns the Merchant Center link in full detail.
45   rpc GetMerchantCenterLink(GetMerchantCenterLinkRequest) returns (google.ads.googleads.v1.resources.MerchantCenterLink) {
46     option (google.api.http) = {
47       get: "/v1/{resource_name=customers/*/merchantCenterLinks/*}"
48     };
49   }
50
51   // Updates status or removes a Merchant Center link.
52   rpc MutateMerchantCenterLink(MutateMerchantCenterLinkRequest) returns (MutateMerchantCenterLinkResponse) {
53     option (google.api.http) = {
54       post: "/v1/customers/{customer_id=*}/merchantCenterLinks:mutate"
55       body: "*"
56     };
57   }
58 }
59
60 // Request message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v1.services.MerchantCenterLinkService.ListMerchantCenterLinks].
61 message ListMerchantCenterLinksRequest {
62   // The ID of the customer onto which to apply the Merchant Center link list
63   // operation.
64   string customer_id = 1;
65 }
66
67 // Response message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v1.services.MerchantCenterLinkService.ListMerchantCenterLinks].
68 message ListMerchantCenterLinksResponse {
69   // Merchant Center links available for the requested customer
70   repeated google.ads.googleads.v1.resources.MerchantCenterLink merchant_center_links = 1;
71 }
72
73 // Request message for [MerchantCenterLinkService.GetMerchantCenterLink][google.ads.googleads.v1.services.MerchantCenterLinkService.GetMerchantCenterLink].
74 message GetMerchantCenterLinkRequest {
75   // Resource name of the Merchant Center link.
76   string resource_name = 1;
77 }
78
79 // Request message for [MerchantCenterLinkService.MutateMerchantCenterLink][google.ads.googleads.v1.services.MerchantCenterLinkService.MutateMerchantCenterLink].
80 message MutateMerchantCenterLinkRequest {
81   // The ID of the customer being modified.
82   string customer_id = 1;
83
84   // The operation to perform on the link
85   MerchantCenterLinkOperation operation = 2;
86 }
87
88 // A single update on a Merchant Center link.
89 message MerchantCenterLinkOperation {
90   // FieldMask that determines which resource fields are modified in an update.
91   google.protobuf.FieldMask update_mask = 3;
92
93   // The operation to perform
94   oneof operation {
95     // Update operation: The merchant center link is expected to have a valid
96     // resource name.
97     google.ads.googleads.v1.resources.MerchantCenterLink update = 1;
98
99     // Remove operation: A resource name for the removed merchant center link is
100     // expected, in this format:
101     //
102     // `customers/{customer_id}/merchantCenterLinks/{merchant_center_id}`
103     string remove = 2;
104   }
105 }
106
107 // Response message for Merchant Center link mutate.
108 message MutateMerchantCenterLinkResponse {
109   // Result for the mutate.
110   MutateMerchantCenterLinkResult result = 2;
111 }
112
113 // The result for the Merchant Center link mutate.
114 message MutateMerchantCenterLinkResult {
115   // Returned for successful operations.
116   string resource_name = 1;
117 }