1// Copyright 2021 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package content provides access to the Content API for Shopping.
8//
9// For product documentation, see: https://developers.google.com/shopping-content/v2/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/content/v2"
16//   ...
17//   ctx := context.Background()
18//   contentService, err := content.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
27//
28//   contentService, err := content.NewService(ctx, option.WithAPIKey("AIza..."))
29//
30// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
31//
32//   config := &oauth2.Config{...}
33//   // ...
34//   token, err := config.Exchange(ctx, ...)
35//   contentService, err := content.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
36//
37// See https://godoc.org/google.golang.org/api/option/ for details on options.
38package content // import "google.golang.org/api/content/v2"
39
40import (
41	"bytes"
42	"context"
43	"encoding/json"
44	"errors"
45	"fmt"
46	"io"
47	"net/http"
48	"net/url"
49	"strconv"
50	"strings"
51
52	googleapi "google.golang.org/api/googleapi"
53	gensupport "google.golang.org/api/internal/gensupport"
54	option "google.golang.org/api/option"
55	internaloption "google.golang.org/api/option/internaloption"
56	htransport "google.golang.org/api/transport/http"
57)
58
59// Always reference these packages, just in case the auto-generated code
60// below doesn't.
61var _ = bytes.NewBuffer
62var _ = strconv.Itoa
63var _ = fmt.Sprintf
64var _ = json.NewDecoder
65var _ = io.Copy
66var _ = url.Parse
67var _ = gensupport.MarshalJSON
68var _ = googleapi.Version
69var _ = errors.New
70var _ = strings.Replace
71var _ = context.Canceled
72var _ = internaloption.WithDefaultEndpoint
73
74const apiId = "content:v2"
75const apiName = "content"
76const apiVersion = "v2"
77const basePath = "https://shoppingcontent.googleapis.com/content/v2/"
78const mtlsBasePath = "https://shoppingcontent.mtls.googleapis.com/content/v2/"
79
80// OAuth2 scopes used by this API.
81const (
82	// Manage your product listings and accounts for Google Shopping
83	ContentScope = "https://www.googleapis.com/auth/content"
84)
85
86// NewService creates a new APIService.
87func NewService(ctx context.Context, opts ...option.ClientOption) (*APIService, error) {
88	scopesOption := option.WithScopes(
89		"https://www.googleapis.com/auth/content",
90	)
91	// NOTE: prepend, so we don't override user-specified scopes.
92	opts = append([]option.ClientOption{scopesOption}, opts...)
93	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
94	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
95	client, endpoint, err := htransport.NewClient(ctx, opts...)
96	if err != nil {
97		return nil, err
98	}
99	s, err := New(client)
100	if err != nil {
101		return nil, err
102	}
103	if endpoint != "" {
104		s.BasePath = endpoint
105	}
106	return s, nil
107}
108
109// New creates a new APIService. It uses the provided http.Client for requests.
110//
111// Deprecated: please use NewService instead.
112// To provide a custom HTTP client, use option.WithHTTPClient.
113// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
114func New(client *http.Client) (*APIService, error) {
115	if client == nil {
116		return nil, errors.New("client is nil")
117	}
118	s := &APIService{client: client, BasePath: basePath}
119	s.Accounts = NewAccountsService(s)
120	s.Accountstatuses = NewAccountstatusesService(s)
121	s.Accounttax = NewAccounttaxService(s)
122	s.Datafeeds = NewDatafeedsService(s)
123	s.Datafeedstatuses = NewDatafeedstatusesService(s)
124	s.Inventory = NewInventoryService(s)
125	s.Liasettings = NewLiasettingsService(s)
126	s.Orderinvoices = NewOrderinvoicesService(s)
127	s.Orderreports = NewOrderreportsService(s)
128	s.Orderreturns = NewOrderreturnsService(s)
129	s.Orders = NewOrdersService(s)
130	s.Pos = NewPosService(s)
131	s.Products = NewProductsService(s)
132	s.Productstatuses = NewProductstatusesService(s)
133	s.Shippingsettings = NewShippingsettingsService(s)
134	return s, nil
135}
136
137type APIService struct {
138	client    *http.Client
139	BasePath  string // API endpoint base URL
140	UserAgent string // optional additional User-Agent fragment
141
142	Accounts *AccountsService
143
144	Accountstatuses *AccountstatusesService
145
146	Accounttax *AccounttaxService
147
148	Datafeeds *DatafeedsService
149
150	Datafeedstatuses *DatafeedstatusesService
151
152	Inventory *InventoryService
153
154	Liasettings *LiasettingsService
155
156	Orderinvoices *OrderinvoicesService
157
158	Orderreports *OrderreportsService
159
160	Orderreturns *OrderreturnsService
161
162	Orders *OrdersService
163
164	Pos *PosService
165
166	Products *ProductsService
167
168	Productstatuses *ProductstatusesService
169
170	Shippingsettings *ShippingsettingsService
171}
172
173func (s *APIService) userAgent() string {
174	if s.UserAgent == "" {
175		return googleapi.UserAgent
176	}
177	return googleapi.UserAgent + " " + s.UserAgent
178}
179
180func NewAccountsService(s *APIService) *AccountsService {
181	rs := &AccountsService{s: s}
182	return rs
183}
184
185type AccountsService struct {
186	s *APIService
187}
188
189func NewAccountstatusesService(s *APIService) *AccountstatusesService {
190	rs := &AccountstatusesService{s: s}
191	return rs
192}
193
194type AccountstatusesService struct {
195	s *APIService
196}
197
198func NewAccounttaxService(s *APIService) *AccounttaxService {
199	rs := &AccounttaxService{s: s}
200	return rs
201}
202
203type AccounttaxService struct {
204	s *APIService
205}
206
207func NewDatafeedsService(s *APIService) *DatafeedsService {
208	rs := &DatafeedsService{s: s}
209	return rs
210}
211
212type DatafeedsService struct {
213	s *APIService
214}
215
216func NewDatafeedstatusesService(s *APIService) *DatafeedstatusesService {
217	rs := &DatafeedstatusesService{s: s}
218	return rs
219}
220
221type DatafeedstatusesService struct {
222	s *APIService
223}
224
225func NewInventoryService(s *APIService) *InventoryService {
226	rs := &InventoryService{s: s}
227	return rs
228}
229
230type InventoryService struct {
231	s *APIService
232}
233
234func NewLiasettingsService(s *APIService) *LiasettingsService {
235	rs := &LiasettingsService{s: s}
236	return rs
237}
238
239type LiasettingsService struct {
240	s *APIService
241}
242
243func NewOrderinvoicesService(s *APIService) *OrderinvoicesService {
244	rs := &OrderinvoicesService{s: s}
245	return rs
246}
247
248type OrderinvoicesService struct {
249	s *APIService
250}
251
252func NewOrderreportsService(s *APIService) *OrderreportsService {
253	rs := &OrderreportsService{s: s}
254	return rs
255}
256
257type OrderreportsService struct {
258	s *APIService
259}
260
261func NewOrderreturnsService(s *APIService) *OrderreturnsService {
262	rs := &OrderreturnsService{s: s}
263	return rs
264}
265
266type OrderreturnsService struct {
267	s *APIService
268}
269
270func NewOrdersService(s *APIService) *OrdersService {
271	rs := &OrdersService{s: s}
272	return rs
273}
274
275type OrdersService struct {
276	s *APIService
277}
278
279func NewPosService(s *APIService) *PosService {
280	rs := &PosService{s: s}
281	return rs
282}
283
284type PosService struct {
285	s *APIService
286}
287
288func NewProductsService(s *APIService) *ProductsService {
289	rs := &ProductsService{s: s}
290	return rs
291}
292
293type ProductsService struct {
294	s *APIService
295}
296
297func NewProductstatusesService(s *APIService) *ProductstatusesService {
298	rs := &ProductstatusesService{s: s}
299	return rs
300}
301
302type ProductstatusesService struct {
303	s *APIService
304}
305
306func NewShippingsettingsService(s *APIService) *ShippingsettingsService {
307	rs := &ShippingsettingsService{s: s}
308	return rs
309}
310
311type ShippingsettingsService struct {
312	s *APIService
313}
314
315// Account: Account data. After the creation of a new account it may
316// take a few minutes before it is fully operational. The methods
317// delete, insert, and update require the admin role.
318type Account struct {
319	// AdultContent: Indicates whether the merchant sells adult content.
320	AdultContent bool `json:"adultContent,omitempty"`
321
322	// AdwordsLinks: List of linked AdWords accounts that are active or
323	// pending approval. To create a new link request, add a new link with
324	// status `active` to the list. It will remain in a `pending` state
325	// until approved or rejected either in the AdWords interface or through
326	// the AdWords API. To delete an active link, or to cancel a link
327	// request, remove it from the list.
328	AdwordsLinks []*AccountAdwordsLink `json:"adwordsLinks,omitempty"`
329
330	// BusinessInformation: The business information of the account.
331	BusinessInformation *AccountBusinessInformation `json:"businessInformation,omitempty"`
332
333	// GoogleMyBusinessLink: The GMB account which is linked or in the
334	// process of being linked with the Merchant Center account.
335	GoogleMyBusinessLink *AccountGoogleMyBusinessLink `json:"googleMyBusinessLink,omitempty"`
336
337	// Id: Required for update. Merchant Center account ID.
338	Id uint64 `json:"id,omitempty,string"`
339
340	// Kind: Identifies what kind of resource this is. Value: the fixed
341	// string "content#account"
342	Kind string `json:"kind,omitempty"`
343
344	// Name: Required. Display name for the account.
345	Name string `json:"name,omitempty"`
346
347	// ReviewsUrl: [DEPRECATED] This field is never returned and will be
348	// ignored if provided.
349	ReviewsUrl string `json:"reviewsUrl,omitempty"`
350
351	// SellerId: Client-specific, locally-unique, internal ID for the child
352	// account.
353	SellerId string `json:"sellerId,omitempty"`
354
355	// Users: Users with access to the account. Every account (except for
356	// subaccounts) must have at least one admin user.
357	Users []*AccountUser `json:"users,omitempty"`
358
359	// WebsiteUrl: The merchant's website.
360	WebsiteUrl string `json:"websiteUrl,omitempty"`
361
362	// YoutubeChannelLinks: List of linked YouTube channels that are active
363	// or pending approval. To create a new link request, add a new link
364	// with status `active` to the list. It will remain in a `pending` state
365	// until approved or rejected in the YT Creator Studio interface. To
366	// delete an active link, or to cancel a link request, remove it from
367	// the list.
368	YoutubeChannelLinks []*AccountYouTubeChannelLink `json:"youtubeChannelLinks,omitempty"`
369
370	// ServerResponse contains the HTTP response code and headers from the
371	// server.
372	googleapi.ServerResponse `json:"-"`
373
374	// ForceSendFields is a list of field names (e.g. "AdultContent") to
375	// unconditionally include in API requests. By default, fields with
376	// empty values are omitted from API requests. However, any non-pointer,
377	// non-interface field appearing in ForceSendFields will be sent to the
378	// server regardless of whether the field is empty or not. This may be
379	// used to include empty fields in Patch requests.
380	ForceSendFields []string `json:"-"`
381
382	// NullFields is a list of field names (e.g. "AdultContent") to include
383	// in API requests with the JSON null value. By default, fields with
384	// empty values are omitted from API requests. However, any field with
385	// an empty value appearing in NullFields will be sent to the server as
386	// null. It is an error if a field in this list has a non-empty value.
387	// This may be used to include null fields in Patch requests.
388	NullFields []string `json:"-"`
389}
390
391func (s *Account) MarshalJSON() ([]byte, error) {
392	type NoMethod Account
393	raw := NoMethod(*s)
394	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
395}
396
397type AccountAddress struct {
398	// Country: CLDR country code (e.g. "US"). This value cannot be set for
399	// a sub-account of an MCA. All MCA sub-accounts inherit the country of
400	// their parent MCA.
401	Country string `json:"country,omitempty"`
402
403	// Locality: City, town or commune. May also include dependent
404	// localities or sublocalities (e.g. neighborhoods or suburbs).
405	Locality string `json:"locality,omitempty"`
406
407	// PostalCode: Postal code or ZIP (e.g. "94043").
408	PostalCode string `json:"postalCode,omitempty"`
409
410	// Region: Top-level administrative subdivision of the country. For
411	// example, a state like California ("CA") or a province like Quebec
412	// ("QC").
413	Region string `json:"region,omitempty"`
414
415	// StreetAddress: Street-level part of the address.
416	StreetAddress string `json:"streetAddress,omitempty"`
417
418	// ForceSendFields is a list of field names (e.g. "Country") to
419	// unconditionally include in API requests. By default, fields with
420	// empty values are omitted from API requests. However, any non-pointer,
421	// non-interface field appearing in ForceSendFields will be sent to the
422	// server regardless of whether the field is empty or not. This may be
423	// used to include empty fields in Patch requests.
424	ForceSendFields []string `json:"-"`
425
426	// NullFields is a list of field names (e.g. "Country") to include in
427	// API requests with the JSON null value. By default, fields with empty
428	// values are omitted from API requests. However, any field with an
429	// empty value appearing in NullFields will be sent to the server as
430	// null. It is an error if a field in this list has a non-empty value.
431	// This may be used to include null fields in Patch requests.
432	NullFields []string `json:"-"`
433}
434
435func (s *AccountAddress) MarshalJSON() ([]byte, error) {
436	type NoMethod AccountAddress
437	raw := NoMethod(*s)
438	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
439}
440
441type AccountAdwordsLink struct {
442	// AdwordsId: Customer ID of the AdWords account.
443	AdwordsId uint64 `json:"adwordsId,omitempty,string"`
444
445	// Status: Status of the link between this Merchant Center account and
446	// the AdWords account. Upon retrieval, it represents the actual status
447	// of the link and can be either `active` if it was approved in Google
448	// AdWords or `pending` if it's pending approval. Upon insertion, it
449	// represents the *intended* status of the link. Re-uploading a link
450	// with status `active` when it's still pending or with status `pending`
451	// when it's already active will have no effect: the status will remain
452	// unchanged. Re-uploading a link with deprecated status `inactive` is
453	// equivalent to not submitting the link at all and will delete the link
454	// if it was active or cancel the link request if it was pending.
455	// Acceptable values are: - "active" - "pending"
456	Status string `json:"status,omitempty"`
457
458	// ForceSendFields is a list of field names (e.g. "AdwordsId") to
459	// unconditionally include in API requests. By default, fields with
460	// empty values are omitted from API requests. However, any non-pointer,
461	// non-interface field appearing in ForceSendFields will be sent to the
462	// server regardless of whether the field is empty or not. This may be
463	// used to include empty fields in Patch requests.
464	ForceSendFields []string `json:"-"`
465
466	// NullFields is a list of field names (e.g. "AdwordsId") to include in
467	// API requests with the JSON null value. By default, fields with empty
468	// values are omitted from API requests. However, any field with an
469	// empty value appearing in NullFields will be sent to the server as
470	// null. It is an error if a field in this list has a non-empty value.
471	// This may be used to include null fields in Patch requests.
472	NullFields []string `json:"-"`
473}
474
475func (s *AccountAdwordsLink) MarshalJSON() ([]byte, error) {
476	type NoMethod AccountAdwordsLink
477	raw := NoMethod(*s)
478	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
479}
480
481type AccountBusinessInformation struct {
482	// Address: The address of the business.
483	Address *AccountAddress `json:"address,omitempty"`
484
485	// CustomerService: The customer service information of the business.
486	CustomerService *AccountCustomerService `json:"customerService,omitempty"`
487
488	// PhoneNumber: The phone number of the business.
489	PhoneNumber string `json:"phoneNumber,omitempty"`
490
491	// ForceSendFields is a list of field names (e.g. "Address") to
492	// unconditionally include in API requests. By default, fields with
493	// empty values are omitted from API requests. However, any non-pointer,
494	// non-interface field appearing in ForceSendFields will be sent to the
495	// server regardless of whether the field is empty or not. This may be
496	// used to include empty fields in Patch requests.
497	ForceSendFields []string `json:"-"`
498
499	// NullFields is a list of field names (e.g. "Address") to include in
500	// API requests with the JSON null value. By default, fields with empty
501	// values are omitted from API requests. However, any field with an
502	// empty value appearing in NullFields will be sent to the server as
503	// null. It is an error if a field in this list has a non-empty value.
504	// This may be used to include null fields in Patch requests.
505	NullFields []string `json:"-"`
506}
507
508func (s *AccountBusinessInformation) MarshalJSON() ([]byte, error) {
509	type NoMethod AccountBusinessInformation
510	raw := NoMethod(*s)
511	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
512}
513
514type AccountCustomerService struct {
515	// Email: Customer service email.
516	Email string `json:"email,omitempty"`
517
518	// PhoneNumber: Customer service phone number.
519	PhoneNumber string `json:"phoneNumber,omitempty"`
520
521	// Url: Customer service URL.
522	Url string `json:"url,omitempty"`
523
524	// ForceSendFields is a list of field names (e.g. "Email") to
525	// unconditionally include in API requests. By default, fields with
526	// empty values are omitted from API requests. However, any non-pointer,
527	// non-interface field appearing in ForceSendFields will be sent to the
528	// server regardless of whether the field is empty or not. This may be
529	// used to include empty fields in Patch requests.
530	ForceSendFields []string `json:"-"`
531
532	// NullFields is a list of field names (e.g. "Email") to include in API
533	// requests with the JSON null value. By default, fields with empty
534	// values are omitted from API requests. However, any field with an
535	// empty value appearing in NullFields will be sent to the server as
536	// null. It is an error if a field in this list has a non-empty value.
537	// This may be used to include null fields in Patch requests.
538	NullFields []string `json:"-"`
539}
540
541func (s *AccountCustomerService) MarshalJSON() ([]byte, error) {
542	type NoMethod AccountCustomerService
543	raw := NoMethod(*s)
544	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
545}
546
547type AccountGoogleMyBusinessLink struct {
548	// GmbEmail: The GMB email address of which a specific account within a
549	// GMB account. A sample account within a GMB account could be a
550	// business account with set of locations, managed under the GMB
551	// account.
552	GmbEmail string `json:"gmbEmail,omitempty"`
553
554	// Status: Status of the link between this Merchant Center account and
555	// the GMB account. Acceptable values are: - "active" - "pending"
556	Status string `json:"status,omitempty"`
557
558	// ForceSendFields is a list of field names (e.g. "GmbEmail") to
559	// unconditionally include in API requests. By default, fields with
560	// empty values are omitted from API requests. However, any non-pointer,
561	// non-interface field appearing in ForceSendFields will be sent to the
562	// server regardless of whether the field is empty or not. This may be
563	// used to include empty fields in Patch requests.
564	ForceSendFields []string `json:"-"`
565
566	// NullFields is a list of field names (e.g. "GmbEmail") to include in
567	// API requests with the JSON null value. By default, fields with empty
568	// values are omitted from API requests. However, any field with an
569	// empty value appearing in NullFields will be sent to the server as
570	// null. It is an error if a field in this list has a non-empty value.
571	// This may be used to include null fields in Patch requests.
572	NullFields []string `json:"-"`
573}
574
575func (s *AccountGoogleMyBusinessLink) MarshalJSON() ([]byte, error) {
576	type NoMethod AccountGoogleMyBusinessLink
577	raw := NoMethod(*s)
578	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
579}
580
581type AccountIdentifier struct {
582	// AggregatorId: The aggregator ID, set for aggregators and subaccounts
583	// (in that case, it represents the aggregator of the subaccount).
584	AggregatorId uint64 `json:"aggregatorId,omitempty,string"`
585
586	// MerchantId: The merchant account ID, set for individual accounts and
587	// subaccounts.
588	MerchantId uint64 `json:"merchantId,omitempty,string"`
589
590	// ForceSendFields is a list of field names (e.g. "AggregatorId") to
591	// unconditionally include in API requests. By default, fields with
592	// empty values are omitted from API requests. However, any non-pointer,
593	// non-interface field appearing in ForceSendFields will be sent to the
594	// server regardless of whether the field is empty or not. This may be
595	// used to include empty fields in Patch requests.
596	ForceSendFields []string `json:"-"`
597
598	// NullFields is a list of field names (e.g. "AggregatorId") to include
599	// in API requests with the JSON null value. By default, fields with
600	// empty values are omitted from API requests. However, any field with
601	// an empty value appearing in NullFields will be sent to the server as
602	// null. It is an error if a field in this list has a non-empty value.
603	// This may be used to include null fields in Patch requests.
604	NullFields []string `json:"-"`
605}
606
607func (s *AccountIdentifier) MarshalJSON() ([]byte, error) {
608	type NoMethod AccountIdentifier
609	raw := NoMethod(*s)
610	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
611}
612
613// AccountStatus: The status of an account, i.e., information about its
614// products, which is computed offline and not returned immediately at
615// insertion time.
616type AccountStatus struct {
617	// AccountId: The ID of the account for which the status is reported.
618	AccountId string `json:"accountId,omitempty"`
619
620	// AccountLevelIssues: A list of account level issues.
621	AccountLevelIssues []*AccountStatusAccountLevelIssue `json:"accountLevelIssues,omitempty"`
622
623	// DataQualityIssues: DEPRECATED - never populated.
624	DataQualityIssues []*AccountStatusDataQualityIssue `json:"dataQualityIssues,omitempty"`
625
626	// Kind: Identifies what kind of resource this is. Value: the fixed
627	// string "content#accountStatus"
628	Kind string `json:"kind,omitempty"`
629
630	// Products: List of product-related data by channel, destination, and
631	// country. Data in this field may be delayed by up to 30 minutes.
632	Products []*AccountStatusProducts `json:"products,omitempty"`
633
634	// WebsiteClaimed: Whether the account's website is claimed or not.
635	WebsiteClaimed bool `json:"websiteClaimed,omitempty"`
636
637	// ServerResponse contains the HTTP response code and headers from the
638	// server.
639	googleapi.ServerResponse `json:"-"`
640
641	// ForceSendFields is a list of field names (e.g. "AccountId") to
642	// unconditionally include in API requests. By default, fields with
643	// empty values are omitted from API requests. However, any non-pointer,
644	// non-interface field appearing in ForceSendFields will be sent to the
645	// server regardless of whether the field is empty or not. This may be
646	// used to include empty fields in Patch requests.
647	ForceSendFields []string `json:"-"`
648
649	// NullFields is a list of field names (e.g. "AccountId") to include in
650	// API requests with the JSON null value. By default, fields with empty
651	// values are omitted from API requests. However, any field with an
652	// empty value appearing in NullFields will be sent to the server as
653	// null. It is an error if a field in this list has a non-empty value.
654	// This may be used to include null fields in Patch requests.
655	NullFields []string `json:"-"`
656}
657
658func (s *AccountStatus) MarshalJSON() ([]byte, error) {
659	type NoMethod AccountStatus
660	raw := NoMethod(*s)
661	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
662}
663
664type AccountStatusAccountLevelIssue struct {
665	// Country: Country for which this issue is reported.
666	Country string `json:"country,omitempty"`
667
668	// Destination: The destination the issue applies to. If this field is
669	// empty then the issue applies to all available destinations.
670	Destination string `json:"destination,omitempty"`
671
672	// Detail: Additional details about the issue.
673	Detail string `json:"detail,omitempty"`
674
675	// Documentation: The URL of a web page to help resolving this issue.
676	Documentation string `json:"documentation,omitempty"`
677
678	// Id: Issue identifier.
679	Id string `json:"id,omitempty"`
680
681	// Severity: Severity of the issue. Acceptable values are: -
682	// "critical" - "error" - "suggestion"
683	Severity string `json:"severity,omitempty"`
684
685	// Title: Short description of the issue.
686	Title string `json:"title,omitempty"`
687
688	// ForceSendFields is a list of field names (e.g. "Country") to
689	// unconditionally include in API requests. By default, fields with
690	// empty values are omitted from API requests. However, any non-pointer,
691	// non-interface field appearing in ForceSendFields will be sent to the
692	// server regardless of whether the field is empty or not. This may be
693	// used to include empty fields in Patch requests.
694	ForceSendFields []string `json:"-"`
695
696	// NullFields is a list of field names (e.g. "Country") to include in
697	// API requests with the JSON null value. By default, fields with empty
698	// values are omitted from API requests. However, any field with an
699	// empty value appearing in NullFields will be sent to the server as
700	// null. It is an error if a field in this list has a non-empty value.
701	// This may be used to include null fields in Patch requests.
702	NullFields []string `json:"-"`
703}
704
705func (s *AccountStatusAccountLevelIssue) MarshalJSON() ([]byte, error) {
706	type NoMethod AccountStatusAccountLevelIssue
707	raw := NoMethod(*s)
708	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
709}
710
711type AccountStatusDataQualityIssue struct {
712	Country string `json:"country,omitempty"`
713
714	Destination string `json:"destination,omitempty"`
715
716	Detail string `json:"detail,omitempty"`
717
718	DisplayedValue string `json:"displayedValue,omitempty"`
719
720	ExampleItems []*AccountStatusExampleItem `json:"exampleItems,omitempty"`
721
722	Id string `json:"id,omitempty"`
723
724	LastChecked string `json:"lastChecked,omitempty"`
725
726	Location string `json:"location,omitempty"`
727
728	NumItems int64 `json:"numItems,omitempty"`
729
730	// Severity:  Acceptable values are: - "critical" - "error" -
731	// "suggestion"
732	Severity string `json:"severity,omitempty"`
733
734	SubmittedValue string `json:"submittedValue,omitempty"`
735
736	// ForceSendFields is a list of field names (e.g. "Country") to
737	// unconditionally include in API requests. By default, fields with
738	// empty values are omitted from API requests. However, any non-pointer,
739	// non-interface field appearing in ForceSendFields will be sent to the
740	// server regardless of whether the field is empty or not. This may be
741	// used to include empty fields in Patch requests.
742	ForceSendFields []string `json:"-"`
743
744	// NullFields is a list of field names (e.g. "Country") to include in
745	// API requests with the JSON null value. By default, fields with empty
746	// values are omitted from API requests. However, any field with an
747	// empty value appearing in NullFields will be sent to the server as
748	// null. It is an error if a field in this list has a non-empty value.
749	// This may be used to include null fields in Patch requests.
750	NullFields []string `json:"-"`
751}
752
753func (s *AccountStatusDataQualityIssue) MarshalJSON() ([]byte, error) {
754	type NoMethod AccountStatusDataQualityIssue
755	raw := NoMethod(*s)
756	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
757}
758
759type AccountStatusExampleItem struct {
760	ItemId string `json:"itemId,omitempty"`
761
762	Link string `json:"link,omitempty"`
763
764	SubmittedValue string `json:"submittedValue,omitempty"`
765
766	Title string `json:"title,omitempty"`
767
768	ValueOnLandingPage string `json:"valueOnLandingPage,omitempty"`
769
770	// ForceSendFields is a list of field names (e.g. "ItemId") to
771	// unconditionally include in API requests. By default, fields with
772	// empty values are omitted from API requests. However, any non-pointer,
773	// non-interface field appearing in ForceSendFields will be sent to the
774	// server regardless of whether the field is empty or not. This may be
775	// used to include empty fields in Patch requests.
776	ForceSendFields []string `json:"-"`
777
778	// NullFields is a list of field names (e.g. "ItemId") to include in API
779	// requests with the JSON null value. By default, fields with empty
780	// values are omitted from API requests. However, any field with an
781	// empty value appearing in NullFields will be sent to the server as
782	// null. It is an error if a field in this list has a non-empty value.
783	// This may be used to include null fields in Patch requests.
784	NullFields []string `json:"-"`
785}
786
787func (s *AccountStatusExampleItem) MarshalJSON() ([]byte, error) {
788	type NoMethod AccountStatusExampleItem
789	raw := NoMethod(*s)
790	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
791}
792
793type AccountStatusItemLevelIssue struct {
794	// AttributeName: The attribute's name, if the issue is caused by a
795	// single attribute.
796	AttributeName string `json:"attributeName,omitempty"`
797
798	// Code: The error code of the issue.
799	Code string `json:"code,omitempty"`
800
801	// Description: A short issue description in English.
802	Description string `json:"description,omitempty"`
803
804	// Detail: A detailed issue description in English.
805	Detail string `json:"detail,omitempty"`
806
807	// Documentation: The URL of a web page to help with resolving this
808	// issue.
809	Documentation string `json:"documentation,omitempty"`
810
811	// NumItems: Number of items with this issue.
812	NumItems int64 `json:"numItems,omitempty,string"`
813
814	// Resolution: Whether the issue can be resolved by the merchant.
815	Resolution string `json:"resolution,omitempty"`
816
817	// Servability: How this issue affects serving of the offer.
818	Servability string `json:"servability,omitempty"`
819
820	// ForceSendFields is a list of field names (e.g. "AttributeName") to
821	// unconditionally include in API requests. By default, fields with
822	// empty values are omitted from API requests. However, any non-pointer,
823	// non-interface field appearing in ForceSendFields will be sent to the
824	// server regardless of whether the field is empty or not. This may be
825	// used to include empty fields in Patch requests.
826	ForceSendFields []string `json:"-"`
827
828	// NullFields is a list of field names (e.g. "AttributeName") to include
829	// in API requests with the JSON null value. By default, fields with
830	// empty values are omitted from API requests. However, any field with
831	// an empty value appearing in NullFields will be sent to the server as
832	// null. It is an error if a field in this list has a non-empty value.
833	// This may be used to include null fields in Patch requests.
834	NullFields []string `json:"-"`
835}
836
837func (s *AccountStatusItemLevelIssue) MarshalJSON() ([]byte, error) {
838	type NoMethod AccountStatusItemLevelIssue
839	raw := NoMethod(*s)
840	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
841}
842
843type AccountStatusProducts struct {
844	// Channel: The channel the data applies to. Acceptable values are: -
845	// "local" - "online"
846	Channel string `json:"channel,omitempty"`
847
848	// Country: The country the data applies to.
849	Country string `json:"country,omitempty"`
850
851	// Destination: The destination the data applies to.
852	Destination string `json:"destination,omitempty"`
853
854	// ItemLevelIssues: List of item-level issues.
855	ItemLevelIssues []*AccountStatusItemLevelIssue `json:"itemLevelIssues,omitempty"`
856
857	// Statistics: Aggregated product statistics.
858	Statistics *AccountStatusStatistics `json:"statistics,omitempty"`
859
860	// ForceSendFields is a list of field names (e.g. "Channel") to
861	// unconditionally include in API requests. By default, fields with
862	// empty values are omitted from API requests. However, any non-pointer,
863	// non-interface field appearing in ForceSendFields will be sent to the
864	// server regardless of whether the field is empty or not. This may be
865	// used to include empty fields in Patch requests.
866	ForceSendFields []string `json:"-"`
867
868	// NullFields is a list of field names (e.g. "Channel") to include in
869	// API requests with the JSON null value. By default, fields with empty
870	// values are omitted from API requests. However, any field with an
871	// empty value appearing in NullFields will be sent to the server as
872	// null. It is an error if a field in this list has a non-empty value.
873	// This may be used to include null fields in Patch requests.
874	NullFields []string `json:"-"`
875}
876
877func (s *AccountStatusProducts) MarshalJSON() ([]byte, error) {
878	type NoMethod AccountStatusProducts
879	raw := NoMethod(*s)
880	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
881}
882
883type AccountStatusStatistics struct {
884	// Active: Number of active offers.
885	Active int64 `json:"active,omitempty,string"`
886
887	// Disapproved: Number of disapproved offers.
888	Disapproved int64 `json:"disapproved,omitempty,string"`
889
890	// Expiring: Number of expiring offers.
891	Expiring int64 `json:"expiring,omitempty,string"`
892
893	// Pending: Number of pending offers.
894	Pending int64 `json:"pending,omitempty,string"`
895
896	// ForceSendFields is a list of field names (e.g. "Active") to
897	// unconditionally include in API requests. By default, fields with
898	// empty values are omitted from API requests. However, any non-pointer,
899	// non-interface field appearing in ForceSendFields will be sent to the
900	// server regardless of whether the field is empty or not. This may be
901	// used to include empty fields in Patch requests.
902	ForceSendFields []string `json:"-"`
903
904	// NullFields is a list of field names (e.g. "Active") to include in API
905	// requests with the JSON null value. By default, fields with empty
906	// values are omitted from API requests. However, any field with an
907	// empty value appearing in NullFields will be sent to the server as
908	// null. It is an error if a field in this list has a non-empty value.
909	// This may be used to include null fields in Patch requests.
910	NullFields []string `json:"-"`
911}
912
913func (s *AccountStatusStatistics) MarshalJSON() ([]byte, error) {
914	type NoMethod AccountStatusStatistics
915	raw := NoMethod(*s)
916	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
917}
918
919// AccountTax: The tax settings of a merchant account. All methods
920// require the admin role.
921type AccountTax struct {
922	// AccountId: Required. The ID of the account to which these account tax
923	// settings belong.
924	AccountId uint64 `json:"accountId,omitempty,string"`
925
926	// Kind: Identifies what kind of resource this is. Value: the fixed
927	// string "content#accountTax".
928	Kind string `json:"kind,omitempty"`
929
930	// Rules: Tax rules. Updating the tax rules will enable US taxes (not
931	// reversible). Defining no rules is equivalent to not charging tax at
932	// all.
933	Rules []*AccountTaxTaxRule `json:"rules,omitempty"`
934
935	// ServerResponse contains the HTTP response code and headers from the
936	// server.
937	googleapi.ServerResponse `json:"-"`
938
939	// ForceSendFields is a list of field names (e.g. "AccountId") to
940	// unconditionally include in API requests. By default, fields with
941	// empty values are omitted from API requests. However, any non-pointer,
942	// non-interface field appearing in ForceSendFields will be sent to the
943	// server regardless of whether the field is empty or not. This may be
944	// used to include empty fields in Patch requests.
945	ForceSendFields []string `json:"-"`
946
947	// NullFields is a list of field names (e.g. "AccountId") to include in
948	// API requests with the JSON null value. By default, fields with empty
949	// values are omitted from API requests. However, any field with an
950	// empty value appearing in NullFields will be sent to the server as
951	// null. It is an error if a field in this list has a non-empty value.
952	// This may be used to include null fields in Patch requests.
953	NullFields []string `json:"-"`
954}
955
956func (s *AccountTax) MarshalJSON() ([]byte, error) {
957	type NoMethod AccountTax
958	raw := NoMethod(*s)
959	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
960}
961
962// AccountTaxTaxRule: Tax calculation rule to apply in a state or
963// province (USA only).
964type AccountTaxTaxRule struct {
965	// Country: Country code in which tax is applicable.
966	Country string `json:"country,omitempty"`
967
968	// LocationId: Required. State (or province) is which the tax is
969	// applicable, described by its location ID (also called criteria ID).
970	LocationId uint64 `json:"locationId,omitempty,string"`
971
972	// RatePercent: Explicit tax rate in percent, represented as a floating
973	// point number without the percentage character. Must not be negative.
974	RatePercent string `json:"ratePercent,omitempty"`
975
976	// ShippingTaxed: If true, shipping charges are also taxed.
977	ShippingTaxed bool `json:"shippingTaxed,omitempty"`
978
979	// UseGlobalRate: Whether the tax rate is taken from a global tax table
980	// or specified explicitly.
981	UseGlobalRate bool `json:"useGlobalRate,omitempty"`
982
983	// ForceSendFields is a list of field names (e.g. "Country") to
984	// unconditionally include in API requests. By default, fields with
985	// empty values are omitted from API requests. However, any non-pointer,
986	// non-interface field appearing in ForceSendFields will be sent to the
987	// server regardless of whether the field is empty or not. This may be
988	// used to include empty fields in Patch requests.
989	ForceSendFields []string `json:"-"`
990
991	// NullFields is a list of field names (e.g. "Country") to include in
992	// API requests with the JSON null value. By default, fields with empty
993	// values are omitted from API requests. However, any field with an
994	// empty value appearing in NullFields will be sent to the server as
995	// null. It is an error if a field in this list has a non-empty value.
996	// This may be used to include null fields in Patch requests.
997	NullFields []string `json:"-"`
998}
999
1000func (s *AccountTaxTaxRule) MarshalJSON() ([]byte, error) {
1001	type NoMethod AccountTaxTaxRule
1002	raw := NoMethod(*s)
1003	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1004}
1005
1006type AccountUser struct {
1007	// Admin: Whether user is an admin.
1008	Admin *bool `json:"admin,omitempty"`
1009
1010	// EmailAddress: User's email address.
1011	EmailAddress string `json:"emailAddress,omitempty"`
1012
1013	// OrderManager: Whether user is an order manager.
1014	OrderManager bool `json:"orderManager,omitempty"`
1015
1016	// PaymentsAnalyst: Whether user can access payment statements.
1017	PaymentsAnalyst bool `json:"paymentsAnalyst,omitempty"`
1018
1019	// PaymentsManager: Whether user can manage payment settings.
1020	PaymentsManager bool `json:"paymentsManager,omitempty"`
1021
1022	// ForceSendFields is a list of field names (e.g. "Admin") to
1023	// unconditionally include in API requests. By default, fields with
1024	// empty values are omitted from API requests. However, any non-pointer,
1025	// non-interface field appearing in ForceSendFields will be sent to the
1026	// server regardless of whether the field is empty or not. This may be
1027	// used to include empty fields in Patch requests.
1028	ForceSendFields []string `json:"-"`
1029
1030	// NullFields is a list of field names (e.g. "Admin") to include in API
1031	// requests with the JSON null value. By default, fields with empty
1032	// values are omitted from API requests. However, any field with an
1033	// empty value appearing in NullFields will be sent to the server as
1034	// null. It is an error if a field in this list has a non-empty value.
1035	// This may be used to include null fields in Patch requests.
1036	NullFields []string `json:"-"`
1037}
1038
1039func (s *AccountUser) MarshalJSON() ([]byte, error) {
1040	type NoMethod AccountUser
1041	raw := NoMethod(*s)
1042	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1043}
1044
1045type AccountYouTubeChannelLink struct {
1046	// ChannelId: Channel ID.
1047	ChannelId string `json:"channelId,omitempty"`
1048
1049	// Status: Status of the link between this Merchant Center account and
1050	// the YouTube channel. Upon retrieval, it represents the actual status
1051	// of the link and can be either `active` if it was approved in YT
1052	// Creator Studio or `pending` if it's pending approval. Upon insertion,
1053	// it represents the *intended* status of the link. Re-uploading a link
1054	// with status `active` when it's still pending or with status `pending`
1055	// when it's already active will have no effect: the status will remain
1056	// unchanged. Re-uploading a link with deprecated status `inactive` is
1057	// equivalent to not submitting the link at all and will delete the link
1058	// if it was active or cancel the link request if it was pending.
1059	Status string `json:"status,omitempty"`
1060
1061	// ForceSendFields is a list of field names (e.g. "ChannelId") to
1062	// unconditionally include in API requests. By default, fields with
1063	// empty values are omitted from API requests. However, any non-pointer,
1064	// non-interface field appearing in ForceSendFields will be sent to the
1065	// server regardless of whether the field is empty or not. This may be
1066	// used to include empty fields in Patch requests.
1067	ForceSendFields []string `json:"-"`
1068
1069	// NullFields is a list of field names (e.g. "ChannelId") to include in
1070	// API requests with the JSON null value. By default, fields with empty
1071	// values are omitted from API requests. However, any field with an
1072	// empty value appearing in NullFields will be sent to the server as
1073	// null. It is an error if a field in this list has a non-empty value.
1074	// This may be used to include null fields in Patch requests.
1075	NullFields []string `json:"-"`
1076}
1077
1078func (s *AccountYouTubeChannelLink) MarshalJSON() ([]byte, error) {
1079	type NoMethod AccountYouTubeChannelLink
1080	raw := NoMethod(*s)
1081	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1082}
1083
1084type AccountsAuthInfoResponse struct {
1085	// AccountIdentifiers: The account identifiers corresponding to the
1086	// authenticated user. - For an individual account: only the merchant ID
1087	// is defined - For an aggregator: only the aggregator ID is defined -
1088	// For a subaccount of an MCA: both the merchant ID and the aggregator
1089	// ID are defined.
1090	AccountIdentifiers []*AccountIdentifier `json:"accountIdentifiers,omitempty"`
1091
1092	// Kind: Identifies what kind of resource this is. Value: the fixed
1093	// string "content#accountsAuthInfoResponse".
1094	Kind string `json:"kind,omitempty"`
1095
1096	// ServerResponse contains the HTTP response code and headers from the
1097	// server.
1098	googleapi.ServerResponse `json:"-"`
1099
1100	// ForceSendFields is a list of field names (e.g. "AccountIdentifiers")
1101	// to unconditionally include in API requests. By default, fields with
1102	// empty values are omitted from API requests. However, any non-pointer,
1103	// non-interface field appearing in ForceSendFields will be sent to the
1104	// server regardless of whether the field is empty or not. This may be
1105	// used to include empty fields in Patch requests.
1106	ForceSendFields []string `json:"-"`
1107
1108	// NullFields is a list of field names (e.g. "AccountIdentifiers") to
1109	// include in API requests with the JSON null value. By default, fields
1110	// with empty values are omitted from API requests. However, any field
1111	// with an empty value appearing in NullFields will be sent to the
1112	// server as null. It is an error if a field in this list has a
1113	// non-empty value. This may be used to include null fields in Patch
1114	// requests.
1115	NullFields []string `json:"-"`
1116}
1117
1118func (s *AccountsAuthInfoResponse) MarshalJSON() ([]byte, error) {
1119	type NoMethod AccountsAuthInfoResponse
1120	raw := NoMethod(*s)
1121	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1122}
1123
1124type AccountsClaimWebsiteResponse struct {
1125	// Kind: Identifies what kind of resource this is. Value: the fixed
1126	// string "content#accountsClaimWebsiteResponse".
1127	Kind string `json:"kind,omitempty"`
1128
1129	// ServerResponse contains the HTTP response code and headers from the
1130	// server.
1131	googleapi.ServerResponse `json:"-"`
1132
1133	// ForceSendFields is a list of field names (e.g. "Kind") to
1134	// unconditionally include in API requests. By default, fields with
1135	// empty values are omitted from API requests. However, any non-pointer,
1136	// non-interface field appearing in ForceSendFields will be sent to the
1137	// server regardless of whether the field is empty or not. This may be
1138	// used to include empty fields in Patch requests.
1139	ForceSendFields []string `json:"-"`
1140
1141	// NullFields is a list of field names (e.g. "Kind") to include in API
1142	// requests with the JSON null value. By default, fields with empty
1143	// values are omitted from API requests. However, any field with an
1144	// empty value appearing in NullFields will be sent to the server as
1145	// null. It is an error if a field in this list has a non-empty value.
1146	// This may be used to include null fields in Patch requests.
1147	NullFields []string `json:"-"`
1148}
1149
1150func (s *AccountsClaimWebsiteResponse) MarshalJSON() ([]byte, error) {
1151	type NoMethod AccountsClaimWebsiteResponse
1152	raw := NoMethod(*s)
1153	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1154}
1155
1156type AccountsCustomBatchRequest struct {
1157	// Entries: The request entries to be processed in the batch.
1158	Entries []*AccountsCustomBatchRequestEntry `json:"entries,omitempty"`
1159
1160	// ForceSendFields is a list of field names (e.g. "Entries") to
1161	// unconditionally include in API requests. By default, fields with
1162	// empty values are omitted from API requests. However, any non-pointer,
1163	// non-interface field appearing in ForceSendFields will be sent to the
1164	// server regardless of whether the field is empty or not. This may be
1165	// used to include empty fields in Patch requests.
1166	ForceSendFields []string `json:"-"`
1167
1168	// NullFields is a list of field names (e.g. "Entries") to include in
1169	// API requests with the JSON null value. By default, fields with empty
1170	// values are omitted from API requests. However, any field with an
1171	// empty value appearing in NullFields will be sent to the server as
1172	// null. It is an error if a field in this list has a non-empty value.
1173	// This may be used to include null fields in Patch requests.
1174	NullFields []string `json:"-"`
1175}
1176
1177func (s *AccountsCustomBatchRequest) MarshalJSON() ([]byte, error) {
1178	type NoMethod AccountsCustomBatchRequest
1179	raw := NoMethod(*s)
1180	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1181}
1182
1183// AccountsCustomBatchRequestEntry: A batch entry encoding a single
1184// non-batch accounts request.
1185type AccountsCustomBatchRequestEntry struct {
1186	// Account: The account to create or update. Only defined if the method
1187	// is `insert` or `update`.
1188	Account *Account `json:"account,omitempty"`
1189
1190	// AccountId: The ID of the targeted account. Only defined if the method
1191	// is not `insert`.
1192	AccountId uint64 `json:"accountId,omitempty,string"`
1193
1194	// BatchId: An entry ID, unique within the batch request.
1195	BatchId int64 `json:"batchId,omitempty"`
1196
1197	// Force: Whether the account should be deleted if the account has
1198	// offers. Only applicable if the method is `delete`.
1199	Force bool `json:"force,omitempty"`
1200
1201	// LabelIds: Label IDs for the 'updatelabels' request.
1202	LabelIds googleapi.Uint64s `json:"labelIds,omitempty"`
1203
1204	// LinkRequest: Details about the `link` request.
1205	LinkRequest *AccountsCustomBatchRequestEntryLinkRequest `json:"linkRequest,omitempty"`
1206
1207	// MerchantId: The ID of the managing account.
1208	MerchantId uint64 `json:"merchantId,omitempty,string"`
1209
1210	// Method: The method of the batch entry. Acceptable values are: -
1211	// "claimWebsite" - "delete" - "get" - "insert" - "link" -
1212	// "update"
1213	Method string `json:"method,omitempty"`
1214
1215	// Overwrite: Only applicable if the method is `claimwebsite`. Indicates
1216	// whether or not to take the claim from another account in case there
1217	// is a conflict.
1218	Overwrite bool `json:"overwrite,omitempty"`
1219
1220	// ForceSendFields is a list of field names (e.g. "Account") to
1221	// unconditionally include in API requests. By default, fields with
1222	// empty values are omitted from API requests. However, any non-pointer,
1223	// non-interface field appearing in ForceSendFields will be sent to the
1224	// server regardless of whether the field is empty or not. This may be
1225	// used to include empty fields in Patch requests.
1226	ForceSendFields []string `json:"-"`
1227
1228	// NullFields is a list of field names (e.g. "Account") to include in
1229	// API requests with the JSON null value. By default, fields with empty
1230	// values are omitted from API requests. However, any field with an
1231	// empty value appearing in NullFields will be sent to the server as
1232	// null. It is an error if a field in this list has a non-empty value.
1233	// This may be used to include null fields in Patch requests.
1234	NullFields []string `json:"-"`
1235}
1236
1237func (s *AccountsCustomBatchRequestEntry) MarshalJSON() ([]byte, error) {
1238	type NoMethod AccountsCustomBatchRequestEntry
1239	raw := NoMethod(*s)
1240	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1241}
1242
1243type AccountsCustomBatchRequestEntryLinkRequest struct {
1244	// Action: Action to perform for this link. The "request" action is
1245	// only available to select merchants. Acceptable values are: -
1246	// "approve" - "remove" - "request"
1247	Action string `json:"action,omitempty"`
1248
1249	// LinkType: Type of the link between the two accounts. Acceptable
1250	// values are: - "channelPartner" - "eCommercePlatform"
1251	LinkType string `json:"linkType,omitempty"`
1252
1253	// LinkedAccountId: The ID of the linked account.
1254	LinkedAccountId string `json:"linkedAccountId,omitempty"`
1255
1256	// ForceSendFields is a list of field names (e.g. "Action") to
1257	// unconditionally include in API requests. By default, fields with
1258	// empty values are omitted from API requests. However, any non-pointer,
1259	// non-interface field appearing in ForceSendFields will be sent to the
1260	// server regardless of whether the field is empty or not. This may be
1261	// used to include empty fields in Patch requests.
1262	ForceSendFields []string `json:"-"`
1263
1264	// NullFields is a list of field names (e.g. "Action") to include in API
1265	// requests with the JSON null value. By default, fields with empty
1266	// values are omitted from API requests. However, any field with an
1267	// empty value appearing in NullFields will be sent to the server as
1268	// null. It is an error if a field in this list has a non-empty value.
1269	// This may be used to include null fields in Patch requests.
1270	NullFields []string `json:"-"`
1271}
1272
1273func (s *AccountsCustomBatchRequestEntryLinkRequest) MarshalJSON() ([]byte, error) {
1274	type NoMethod AccountsCustomBatchRequestEntryLinkRequest
1275	raw := NoMethod(*s)
1276	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1277}
1278
1279type AccountsCustomBatchResponse struct {
1280	// Entries: The result of the execution of the batch requests.
1281	Entries []*AccountsCustomBatchResponseEntry `json:"entries,omitempty"`
1282
1283	// Kind: Identifies what kind of resource this is. Value: the fixed
1284	// string "content#accountsCustomBatchResponse".
1285	Kind string `json:"kind,omitempty"`
1286
1287	// ServerResponse contains the HTTP response code and headers from the
1288	// server.
1289	googleapi.ServerResponse `json:"-"`
1290
1291	// ForceSendFields is a list of field names (e.g. "Entries") to
1292	// unconditionally include in API requests. By default, fields with
1293	// empty values are omitted from API requests. However, any non-pointer,
1294	// non-interface field appearing in ForceSendFields will be sent to the
1295	// server regardless of whether the field is empty or not. This may be
1296	// used to include empty fields in Patch requests.
1297	ForceSendFields []string `json:"-"`
1298
1299	// NullFields is a list of field names (e.g. "Entries") to include in
1300	// API requests with the JSON null value. By default, fields with empty
1301	// values are omitted from API requests. However, any field with an
1302	// empty value appearing in NullFields will be sent to the server as
1303	// null. It is an error if a field in this list has a non-empty value.
1304	// This may be used to include null fields in Patch requests.
1305	NullFields []string `json:"-"`
1306}
1307
1308func (s *AccountsCustomBatchResponse) MarshalJSON() ([]byte, error) {
1309	type NoMethod AccountsCustomBatchResponse
1310	raw := NoMethod(*s)
1311	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1312}
1313
1314// AccountsCustomBatchResponseEntry: A batch entry encoding a single
1315// non-batch accounts response.
1316type AccountsCustomBatchResponseEntry struct {
1317	// Account: The retrieved, created, or updated account. Not defined if
1318	// the method was `delete`, `claimwebsite` or `link`.
1319	Account *Account `json:"account,omitempty"`
1320
1321	// BatchId: The ID of the request entry this entry responds to.
1322	BatchId int64 `json:"batchId,omitempty"`
1323
1324	// Errors: A list of errors defined if and only if the request failed.
1325	Errors *Errors `json:"errors,omitempty"`
1326
1327	// Kind: Identifies what kind of resource this is. Value: the fixed
1328	// string "content#accountsCustomBatchResponseEntry"
1329	Kind string `json:"kind,omitempty"`
1330
1331	// LinkStatus: Deprecated. This field is never set. Acceptable values
1332	// are: - "active" - "inactive" - "pending"
1333	LinkStatus string `json:"linkStatus,omitempty"`
1334
1335	// ForceSendFields is a list of field names (e.g. "Account") to
1336	// unconditionally include in API requests. By default, fields with
1337	// empty values are omitted from API requests. However, any non-pointer,
1338	// non-interface field appearing in ForceSendFields will be sent to the
1339	// server regardless of whether the field is empty or not. This may be
1340	// used to include empty fields in Patch requests.
1341	ForceSendFields []string `json:"-"`
1342
1343	// NullFields is a list of field names (e.g. "Account") to include in
1344	// API requests with the JSON null value. By default, fields with empty
1345	// values are omitted from API requests. However, any field with an
1346	// empty value appearing in NullFields will be sent to the server as
1347	// null. It is an error if a field in this list has a non-empty value.
1348	// This may be used to include null fields in Patch requests.
1349	NullFields []string `json:"-"`
1350}
1351
1352func (s *AccountsCustomBatchResponseEntry) MarshalJSON() ([]byte, error) {
1353	type NoMethod AccountsCustomBatchResponseEntry
1354	raw := NoMethod(*s)
1355	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1356}
1357
1358type AccountsLinkRequest struct {
1359	// Action: Action to perform for this link. The "request" action is
1360	// only available to select merchants. Acceptable values are: -
1361	// "approve" - "remove" - "request"
1362	Action string `json:"action,omitempty"`
1363
1364	// LinkType: Type of the link between the two accounts. Acceptable
1365	// values are: - "channelPartner" - "eCommercePlatform"
1366	LinkType string `json:"linkType,omitempty"`
1367
1368	// LinkedAccountId: The ID of the linked account.
1369	LinkedAccountId string `json:"linkedAccountId,omitempty"`
1370
1371	// ForceSendFields is a list of field names (e.g. "Action") to
1372	// unconditionally include in API requests. By default, fields with
1373	// empty values are omitted from API requests. However, any non-pointer,
1374	// non-interface field appearing in ForceSendFields will be sent to the
1375	// server regardless of whether the field is empty or not. This may be
1376	// used to include empty fields in Patch requests.
1377	ForceSendFields []string `json:"-"`
1378
1379	// NullFields is a list of field names (e.g. "Action") to include in API
1380	// requests with the JSON null value. By default, fields with empty
1381	// values are omitted from API requests. However, any field with an
1382	// empty value appearing in NullFields will be sent to the server as
1383	// null. It is an error if a field in this list has a non-empty value.
1384	// This may be used to include null fields in Patch requests.
1385	NullFields []string `json:"-"`
1386}
1387
1388func (s *AccountsLinkRequest) MarshalJSON() ([]byte, error) {
1389	type NoMethod AccountsLinkRequest
1390	raw := NoMethod(*s)
1391	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1392}
1393
1394type AccountsLinkResponse struct {
1395	// Kind: Identifies what kind of resource this is. Value: the fixed
1396	// string "content#accountsLinkResponse".
1397	Kind string `json:"kind,omitempty"`
1398
1399	// ServerResponse contains the HTTP response code and headers from the
1400	// server.
1401	googleapi.ServerResponse `json:"-"`
1402
1403	// ForceSendFields is a list of field names (e.g. "Kind") to
1404	// unconditionally include in API requests. By default, fields with
1405	// empty values are omitted from API requests. However, any non-pointer,
1406	// non-interface field appearing in ForceSendFields will be sent to the
1407	// server regardless of whether the field is empty or not. This may be
1408	// used to include empty fields in Patch requests.
1409	ForceSendFields []string `json:"-"`
1410
1411	// NullFields is a list of field names (e.g. "Kind") to include in API
1412	// requests with the JSON null value. By default, fields with empty
1413	// values are omitted from API requests. However, any field with an
1414	// empty value appearing in NullFields will be sent to the server as
1415	// null. It is an error if a field in this list has a non-empty value.
1416	// This may be used to include null fields in Patch requests.
1417	NullFields []string `json:"-"`
1418}
1419
1420func (s *AccountsLinkResponse) MarshalJSON() ([]byte, error) {
1421	type NoMethod AccountsLinkResponse
1422	raw := NoMethod(*s)
1423	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1424}
1425
1426type AccountsListResponse struct {
1427	// Kind: Identifies what kind of resource this is. Value: the fixed
1428	// string "content#accountsListResponse".
1429	Kind string `json:"kind,omitempty"`
1430
1431	// NextPageToken: The token for the retrieval of the next page of
1432	// accounts.
1433	NextPageToken string `json:"nextPageToken,omitempty"`
1434
1435	Resources []*Account `json:"resources,omitempty"`
1436
1437	// ServerResponse contains the HTTP response code and headers from the
1438	// server.
1439	googleapi.ServerResponse `json:"-"`
1440
1441	// ForceSendFields is a list of field names (e.g. "Kind") to
1442	// unconditionally include in API requests. By default, fields with
1443	// empty values are omitted from API requests. However, any non-pointer,
1444	// non-interface field appearing in ForceSendFields will be sent to the
1445	// server regardless of whether the field is empty or not. This may be
1446	// used to include empty fields in Patch requests.
1447	ForceSendFields []string `json:"-"`
1448
1449	// NullFields is a list of field names (e.g. "Kind") to include in API
1450	// requests with the JSON null value. By default, fields with empty
1451	// values are omitted from API requests. However, any field with an
1452	// empty value appearing in NullFields will be sent to the server as
1453	// null. It is an error if a field in this list has a non-empty value.
1454	// This may be used to include null fields in Patch requests.
1455	NullFields []string `json:"-"`
1456}
1457
1458func (s *AccountsListResponse) MarshalJSON() ([]byte, error) {
1459	type NoMethod AccountsListResponse
1460	raw := NoMethod(*s)
1461	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1462}
1463
1464type AccountstatusesCustomBatchRequest struct {
1465	// Entries: The request entries to be processed in the batch.
1466	Entries []*AccountstatusesCustomBatchRequestEntry `json:"entries,omitempty"`
1467
1468	// ForceSendFields is a list of field names (e.g. "Entries") to
1469	// unconditionally include in API requests. By default, fields with
1470	// empty values are omitted from API requests. However, any non-pointer,
1471	// non-interface field appearing in ForceSendFields will be sent to the
1472	// server regardless of whether the field is empty or not. This may be
1473	// used to include empty fields in Patch requests.
1474	ForceSendFields []string `json:"-"`
1475
1476	// NullFields is a list of field names (e.g. "Entries") to include in
1477	// API requests with the JSON null value. By default, fields with empty
1478	// values are omitted from API requests. However, any field with an
1479	// empty value appearing in NullFields will be sent to the server as
1480	// null. It is an error if a field in this list has a non-empty value.
1481	// This may be used to include null fields in Patch requests.
1482	NullFields []string `json:"-"`
1483}
1484
1485func (s *AccountstatusesCustomBatchRequest) MarshalJSON() ([]byte, error) {
1486	type NoMethod AccountstatusesCustomBatchRequest
1487	raw := NoMethod(*s)
1488	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1489}
1490
1491// AccountstatusesCustomBatchRequestEntry: A batch entry encoding a
1492// single non-batch accountstatuses request.
1493type AccountstatusesCustomBatchRequestEntry struct {
1494	// AccountId: The ID of the (sub-)account whose status to get.
1495	AccountId uint64 `json:"accountId,omitempty,string"`
1496
1497	// BatchId: An entry ID, unique within the batch request.
1498	BatchId int64 `json:"batchId,omitempty"`
1499
1500	// Destinations: If set, only issues for the specified destinations are
1501	// returned, otherwise only issues for the Shopping destination.
1502	Destinations []string `json:"destinations,omitempty"`
1503
1504	// MerchantId: The ID of the managing account.
1505	MerchantId uint64 `json:"merchantId,omitempty,string"`
1506
1507	// Method: The method of the batch entry. Acceptable values are: -
1508	// "get"
1509	Method string `json:"method,omitempty"`
1510
1511	// ForceSendFields is a list of field names (e.g. "AccountId") to
1512	// unconditionally include in API requests. By default, fields with
1513	// empty values are omitted from API requests. However, any non-pointer,
1514	// non-interface field appearing in ForceSendFields will be sent to the
1515	// server regardless of whether the field is empty or not. This may be
1516	// used to include empty fields in Patch requests.
1517	ForceSendFields []string `json:"-"`
1518
1519	// NullFields is a list of field names (e.g. "AccountId") to include in
1520	// API requests with the JSON null value. By default, fields with empty
1521	// values are omitted from API requests. However, any field with an
1522	// empty value appearing in NullFields will be sent to the server as
1523	// null. It is an error if a field in this list has a non-empty value.
1524	// This may be used to include null fields in Patch requests.
1525	NullFields []string `json:"-"`
1526}
1527
1528func (s *AccountstatusesCustomBatchRequestEntry) MarshalJSON() ([]byte, error) {
1529	type NoMethod AccountstatusesCustomBatchRequestEntry
1530	raw := NoMethod(*s)
1531	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1532}
1533
1534type AccountstatusesCustomBatchResponse struct {
1535	// Entries: The result of the execution of the batch requests.
1536	Entries []*AccountstatusesCustomBatchResponseEntry `json:"entries,omitempty"`
1537
1538	// Kind: Identifies what kind of resource this is. Value: the fixed
1539	// string "content#accountstatusesCustomBatchResponse".
1540	Kind string `json:"kind,omitempty"`
1541
1542	// ServerResponse contains the HTTP response code and headers from the
1543	// server.
1544	googleapi.ServerResponse `json:"-"`
1545
1546	// ForceSendFields is a list of field names (e.g. "Entries") to
1547	// unconditionally include in API requests. By default, fields with
1548	// empty values are omitted from API requests. However, any non-pointer,
1549	// non-interface field appearing in ForceSendFields will be sent to the
1550	// server regardless of whether the field is empty or not. This may be
1551	// used to include empty fields in Patch requests.
1552	ForceSendFields []string `json:"-"`
1553
1554	// NullFields is a list of field names (e.g. "Entries") to include in
1555	// API requests with the JSON null value. By default, fields with empty
1556	// values are omitted from API requests. However, any field with an
1557	// empty value appearing in NullFields will be sent to the server as
1558	// null. It is an error if a field in this list has a non-empty value.
1559	// This may be used to include null fields in Patch requests.
1560	NullFields []string `json:"-"`
1561}
1562
1563func (s *AccountstatusesCustomBatchResponse) MarshalJSON() ([]byte, error) {
1564	type NoMethod AccountstatusesCustomBatchResponse
1565	raw := NoMethod(*s)
1566	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1567}
1568
1569// AccountstatusesCustomBatchResponseEntry: A batch entry encoding a
1570// single non-batch accountstatuses response.
1571type AccountstatusesCustomBatchResponseEntry struct {
1572	// AccountStatus: The requested account status. Defined if and only if
1573	// the request was successful.
1574	AccountStatus *AccountStatus `json:"accountStatus,omitempty"`
1575
1576	// BatchId: The ID of the request entry this entry responds to.
1577	BatchId int64 `json:"batchId,omitempty"`
1578
1579	// Errors: A list of errors defined if and only if the request failed.
1580	Errors *Errors `json:"errors,omitempty"`
1581
1582	// ForceSendFields is a list of field names (e.g. "AccountStatus") to
1583	// unconditionally include in API requests. By default, fields with
1584	// empty values are omitted from API requests. However, any non-pointer,
1585	// non-interface field appearing in ForceSendFields will be sent to the
1586	// server regardless of whether the field is empty or not. This may be
1587	// used to include empty fields in Patch requests.
1588	ForceSendFields []string `json:"-"`
1589
1590	// NullFields is a list of field names (e.g. "AccountStatus") to include
1591	// in API requests with the JSON null value. By default, fields with
1592	// empty values are omitted from API requests. However, any field with
1593	// an empty value appearing in NullFields will be sent to the server as
1594	// null. It is an error if a field in this list has a non-empty value.
1595	// This may be used to include null fields in Patch requests.
1596	NullFields []string `json:"-"`
1597}
1598
1599func (s *AccountstatusesCustomBatchResponseEntry) MarshalJSON() ([]byte, error) {
1600	type NoMethod AccountstatusesCustomBatchResponseEntry
1601	raw := NoMethod(*s)
1602	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1603}
1604
1605type AccountstatusesListResponse struct {
1606	// Kind: Identifies what kind of resource this is. Value: the fixed
1607	// string "content#accountstatusesListResponse".
1608	Kind string `json:"kind,omitempty"`
1609
1610	// NextPageToken: The token for the retrieval of the next page of
1611	// account statuses.
1612	NextPageToken string `json:"nextPageToken,omitempty"`
1613
1614	Resources []*AccountStatus `json:"resources,omitempty"`
1615
1616	// ServerResponse contains the HTTP response code and headers from the
1617	// server.
1618	googleapi.ServerResponse `json:"-"`
1619
1620	// ForceSendFields is a list of field names (e.g. "Kind") to
1621	// unconditionally include in API requests. By default, fields with
1622	// empty values are omitted from API requests. However, any non-pointer,
1623	// non-interface field appearing in ForceSendFields will be sent to the
1624	// server regardless of whether the field is empty or not. This may be
1625	// used to include empty fields in Patch requests.
1626	ForceSendFields []string `json:"-"`
1627
1628	// NullFields is a list of field names (e.g. "Kind") to include in API
1629	// requests with the JSON null value. By default, fields with empty
1630	// values are omitted from API requests. However, any field with an
1631	// empty value appearing in NullFields will be sent to the server as
1632	// null. It is an error if a field in this list has a non-empty value.
1633	// This may be used to include null fields in Patch requests.
1634	NullFields []string `json:"-"`
1635}
1636
1637func (s *AccountstatusesListResponse) MarshalJSON() ([]byte, error) {
1638	type NoMethod AccountstatusesListResponse
1639	raw := NoMethod(*s)
1640	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1641}
1642
1643type AccounttaxCustomBatchRequest struct {
1644	// Entries: The request entries to be processed in the batch.
1645	Entries []*AccounttaxCustomBatchRequestEntry `json:"entries,omitempty"`
1646
1647	// ForceSendFields is a list of field names (e.g. "Entries") to
1648	// unconditionally include in API requests. By default, fields with
1649	// empty values are omitted from API requests. However, any non-pointer,
1650	// non-interface field appearing in ForceSendFields will be sent to the
1651	// server regardless of whether the field is empty or not. This may be
1652	// used to include empty fields in Patch requests.
1653	ForceSendFields []string `json:"-"`
1654
1655	// NullFields is a list of field names (e.g. "Entries") to include in
1656	// API requests with the JSON null value. By default, fields with empty
1657	// values are omitted from API requests. However, any field with an
1658	// empty value appearing in NullFields will be sent to the server as
1659	// null. It is an error if a field in this list has a non-empty value.
1660	// This may be used to include null fields in Patch requests.
1661	NullFields []string `json:"-"`
1662}
1663
1664func (s *AccounttaxCustomBatchRequest) MarshalJSON() ([]byte, error) {
1665	type NoMethod AccounttaxCustomBatchRequest
1666	raw := NoMethod(*s)
1667	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1668}
1669
1670// AccounttaxCustomBatchRequestEntry: A batch entry encoding a single
1671// non-batch accounttax request.
1672type AccounttaxCustomBatchRequestEntry struct {
1673	// AccountId: The ID of the account for which to get/update account tax
1674	// settings.
1675	AccountId uint64 `json:"accountId,omitempty,string"`
1676
1677	// AccountTax: The account tax settings to update. Only defined if the
1678	// method is `update`.
1679	AccountTax *AccountTax `json:"accountTax,omitempty"`
1680
1681	// BatchId: An entry ID, unique within the batch request.
1682	BatchId int64 `json:"batchId,omitempty"`
1683
1684	// MerchantId: The ID of the managing account.
1685	MerchantId uint64 `json:"merchantId,omitempty,string"`
1686
1687	// Method: The method of the batch entry. Acceptable values are: -
1688	// "get" - "update"
1689	Method string `json:"method,omitempty"`
1690
1691	// ForceSendFields is a list of field names (e.g. "AccountId") to
1692	// unconditionally include in API requests. By default, fields with
1693	// empty values are omitted from API requests. However, any non-pointer,
1694	// non-interface field appearing in ForceSendFields will be sent to the
1695	// server regardless of whether the field is empty or not. This may be
1696	// used to include empty fields in Patch requests.
1697	ForceSendFields []string `json:"-"`
1698
1699	// NullFields is a list of field names (e.g. "AccountId") to include in
1700	// API requests with the JSON null value. By default, fields with empty
1701	// values are omitted from API requests. However, any field with an
1702	// empty value appearing in NullFields will be sent to the server as
1703	// null. It is an error if a field in this list has a non-empty value.
1704	// This may be used to include null fields in Patch requests.
1705	NullFields []string `json:"-"`
1706}
1707
1708func (s *AccounttaxCustomBatchRequestEntry) MarshalJSON() ([]byte, error) {
1709	type NoMethod AccounttaxCustomBatchRequestEntry
1710	raw := NoMethod(*s)
1711	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1712}
1713
1714type AccounttaxCustomBatchResponse struct {
1715	// Entries: The result of the execution of the batch requests.
1716	Entries []*AccounttaxCustomBatchResponseEntry `json:"entries,omitempty"`
1717
1718	// Kind: Identifies what kind of resource this is. Value: the fixed
1719	// string "content#accounttaxCustomBatchResponse".
1720	Kind string `json:"kind,omitempty"`
1721
1722	// ServerResponse contains the HTTP response code and headers from the
1723	// server.
1724	googleapi.ServerResponse `json:"-"`
1725
1726	// ForceSendFields is a list of field names (e.g. "Entries") to
1727	// unconditionally include in API requests. By default, fields with
1728	// empty values are omitted from API requests. However, any non-pointer,
1729	// non-interface field appearing in ForceSendFields will be sent to the
1730	// server regardless of whether the field is empty or not. This may be
1731	// used to include empty fields in Patch requests.
1732	ForceSendFields []string `json:"-"`
1733
1734	// NullFields is a list of field names (e.g. "Entries") to include in
1735	// API requests with the JSON null value. By default, fields with empty
1736	// values are omitted from API requests. However, any field with an
1737	// empty value appearing in NullFields will be sent to the server as
1738	// null. It is an error if a field in this list has a non-empty value.
1739	// This may be used to include null fields in Patch requests.
1740	NullFields []string `json:"-"`
1741}
1742
1743func (s *AccounttaxCustomBatchResponse) MarshalJSON() ([]byte, error) {
1744	type NoMethod AccounttaxCustomBatchResponse
1745	raw := NoMethod(*s)
1746	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1747}
1748
1749// AccounttaxCustomBatchResponseEntry: A batch entry encoding a single
1750// non-batch accounttax response.
1751type AccounttaxCustomBatchResponseEntry struct {
1752	// AccountTax: The retrieved or updated account tax settings.
1753	AccountTax *AccountTax `json:"accountTax,omitempty"`
1754
1755	// BatchId: The ID of the request entry this entry responds to.
1756	BatchId int64 `json:"batchId,omitempty"`
1757
1758	// Errors: A list of errors defined if and only if the request failed.
1759	Errors *Errors `json:"errors,omitempty"`
1760
1761	// Kind: Identifies what kind of resource this is. Value: the fixed
1762	// string "content#accounttaxCustomBatchResponseEntry"
1763	Kind string `json:"kind,omitempty"`
1764
1765	// ForceSendFields is a list of field names (e.g. "AccountTax") to
1766	// unconditionally include in API requests. By default, fields with
1767	// empty values are omitted from API requests. However, any non-pointer,
1768	// non-interface field appearing in ForceSendFields will be sent to the
1769	// server regardless of whether the field is empty or not. This may be
1770	// used to include empty fields in Patch requests.
1771	ForceSendFields []string `json:"-"`
1772
1773	// NullFields is a list of field names (e.g. "AccountTax") to include in
1774	// API requests with the JSON null value. By default, fields with empty
1775	// values are omitted from API requests. However, any field with an
1776	// empty value appearing in NullFields will be sent to the server as
1777	// null. It is an error if a field in this list has a non-empty value.
1778	// This may be used to include null fields in Patch requests.
1779	NullFields []string `json:"-"`
1780}
1781
1782func (s *AccounttaxCustomBatchResponseEntry) MarshalJSON() ([]byte, error) {
1783	type NoMethod AccounttaxCustomBatchResponseEntry
1784	raw := NoMethod(*s)
1785	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1786}
1787
1788type AccounttaxListResponse struct {
1789	// Kind: Identifies what kind of resource this is. Value: the fixed
1790	// string "content#accounttaxListResponse".
1791	Kind string `json:"kind,omitempty"`
1792
1793	// NextPageToken: The token for the retrieval of the next page of
1794	// account tax settings.
1795	NextPageToken string `json:"nextPageToken,omitempty"`
1796
1797	Resources []*AccountTax `json:"resources,omitempty"`
1798
1799	// ServerResponse contains the HTTP response code and headers from the
1800	// server.
1801	googleapi.ServerResponse `json:"-"`
1802
1803	// ForceSendFields is a list of field names (e.g. "Kind") to
1804	// unconditionally include in API requests. By default, fields with
1805	// empty values are omitted from API requests. However, any non-pointer,
1806	// non-interface field appearing in ForceSendFields will be sent to the
1807	// server regardless of whether the field is empty or not. This may be
1808	// used to include empty fields in Patch requests.
1809	ForceSendFields []string `json:"-"`
1810
1811	// NullFields is a list of field names (e.g. "Kind") to include in API
1812	// requests with the JSON null value. By default, fields with empty
1813	// values are omitted from API requests. However, any field with an
1814	// empty value appearing in NullFields will be sent to the server as
1815	// null. It is an error if a field in this list has a non-empty value.
1816	// This may be used to include null fields in Patch requests.
1817	NullFields []string `json:"-"`
1818}
1819
1820func (s *AccounttaxListResponse) MarshalJSON() ([]byte, error) {
1821	type NoMethod AccounttaxListResponse
1822	raw := NoMethod(*s)
1823	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1824}
1825
1826type Amount struct {
1827	// Pretax: [required] Value before taxes.
1828	Pretax *Price `json:"pretax,omitempty"`
1829
1830	// Tax: [required] Tax value.
1831	Tax *Price `json:"tax,omitempty"`
1832
1833	// ForceSendFields is a list of field names (e.g. "Pretax") to
1834	// unconditionally include in API requests. By default, fields with
1835	// empty values are omitted from API requests. However, any non-pointer,
1836	// non-interface field appearing in ForceSendFields will be sent to the
1837	// server regardless of whether the field is empty or not. This may be
1838	// used to include empty fields in Patch requests.
1839	ForceSendFields []string `json:"-"`
1840
1841	// NullFields is a list of field names (e.g. "Pretax") to include in API
1842	// requests with the JSON null value. By default, fields with empty
1843	// values are omitted from API requests. However, any field with an
1844	// empty value appearing in NullFields will be sent to the server as
1845	// null. It is an error if a field in this list has a non-empty value.
1846	// This may be used to include null fields in Patch requests.
1847	NullFields []string `json:"-"`
1848}
1849
1850func (s *Amount) MarshalJSON() ([]byte, error) {
1851	type NoMethod Amount
1852	raw := NoMethod(*s)
1853	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1854}
1855
1856type BusinessDayConfig struct {
1857	// BusinessDays: Regular business days. May not be empty.
1858	BusinessDays []string `json:"businessDays,omitempty"`
1859
1860	// ForceSendFields is a list of field names (e.g. "BusinessDays") to
1861	// unconditionally include in API requests. By default, fields with
1862	// empty values are omitted from API requests. However, any non-pointer,
1863	// non-interface field appearing in ForceSendFields will be sent to the
1864	// server regardless of whether the field is empty or not. This may be
1865	// used to include empty fields in Patch requests.
1866	ForceSendFields []string `json:"-"`
1867
1868	// NullFields is a list of field names (e.g. "BusinessDays") to include
1869	// in API requests with the JSON null value. By default, fields with
1870	// empty values are omitted from API requests. However, any field with
1871	// an empty value appearing in NullFields will be sent to the server as
1872	// null. It is an error if a field in this list has a non-empty value.
1873	// This may be used to include null fields in Patch requests.
1874	NullFields []string `json:"-"`
1875}
1876
1877func (s *BusinessDayConfig) MarshalJSON() ([]byte, error) {
1878	type NoMethod BusinessDayConfig
1879	raw := NoMethod(*s)
1880	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1881}
1882
1883type CarrierRate struct {
1884	// CarrierName: Carrier service, such as "UPS" or "Fedex". The list
1885	// of supported carriers can be retrieved via the `getSupportedCarriers`
1886	// method. Required.
1887	CarrierName string `json:"carrierName,omitempty"`
1888
1889	// CarrierService: Carrier service, such as "ground" or "2 days".
1890	// The list of supported services for a carrier can be retrieved via the
1891	// `getSupportedCarriers` method. Required.
1892	CarrierService string `json:"carrierService,omitempty"`
1893
1894	// FlatAdjustment: Additive shipping rate modifier. Can be negative. For
1895	// example `{ "value": "1", "currency" : "USD" }` adds $1 to the rate,
1896	// `{ "value": "-3", "currency" : "USD" }` removes $3 from the rate.
1897	// Optional.
1898	FlatAdjustment *Price `json:"flatAdjustment,omitempty"`
1899
1900	// Name: Name of the carrier rate. Must be unique per rate group.
1901	// Required.
1902	Name string `json:"name,omitempty"`
1903
1904	// OriginPostalCode: Shipping origin for this carrier rate. Required.
1905	OriginPostalCode string `json:"originPostalCode,omitempty"`
1906
1907	// PercentageAdjustment: Multiplicative shipping rate modifier as a
1908	// number in decimal notation. Can be negative. For example "5.4"
1909	// increases the rate by 5.4%, "-3" decreases the rate by 3%.
1910	// Optional.
1911	PercentageAdjustment string `json:"percentageAdjustment,omitempty"`
1912
1913	// ForceSendFields is a list of field names (e.g. "CarrierName") to
1914	// unconditionally include in API requests. By default, fields with
1915	// empty values are omitted from API requests. However, any non-pointer,
1916	// non-interface field appearing in ForceSendFields will be sent to the
1917	// server regardless of whether the field is empty or not. This may be
1918	// used to include empty fields in Patch requests.
1919	ForceSendFields []string `json:"-"`
1920
1921	// NullFields is a list of field names (e.g. "CarrierName") to include
1922	// in API requests with the JSON null value. By default, fields with
1923	// empty values are omitted from API requests. However, any field with
1924	// an empty value appearing in NullFields will be sent to the server as
1925	// null. It is an error if a field in this list has a non-empty value.
1926	// This may be used to include null fields in Patch requests.
1927	NullFields []string `json:"-"`
1928}
1929
1930func (s *CarrierRate) MarshalJSON() ([]byte, error) {
1931	type NoMethod CarrierRate
1932	raw := NoMethod(*s)
1933	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1934}
1935
1936type CarriersCarrier struct {
1937	// Country: The CLDR country code of the carrier (e.g., "US"). Always
1938	// present.
1939	Country string `json:"country,omitempty"`
1940
1941	// Name: The name of the carrier (e.g., "UPS"). Always present.
1942	Name string `json:"name,omitempty"`
1943
1944	// Services: A list of supported services (e.g., "ground") for that
1945	// carrier. Contains at least one service.
1946	Services []string `json:"services,omitempty"`
1947
1948	// ForceSendFields is a list of field names (e.g. "Country") to
1949	// unconditionally include in API requests. By default, fields with
1950	// empty values are omitted from API requests. However, any non-pointer,
1951	// non-interface field appearing in ForceSendFields will be sent to the
1952	// server regardless of whether the field is empty or not. This may be
1953	// used to include empty fields in Patch requests.
1954	ForceSendFields []string `json:"-"`
1955
1956	// NullFields is a list of field names (e.g. "Country") to include in
1957	// API requests with the JSON null value. By default, fields with empty
1958	// values are omitted from API requests. However, any field with an
1959	// empty value appearing in NullFields will be sent to the server as
1960	// null. It is an error if a field in this list has a non-empty value.
1961	// This may be used to include null fields in Patch requests.
1962	NullFields []string `json:"-"`
1963}
1964
1965func (s *CarriersCarrier) MarshalJSON() ([]byte, error) {
1966	type NoMethod CarriersCarrier
1967	raw := NoMethod(*s)
1968	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1969}
1970
1971type CustomAttribute struct {
1972	// Name: The name of the attribute. Underscores will be replaced by
1973	// spaces upon insertion.
1974	Name string `json:"name,omitempty"`
1975
1976	// Type: The type of the attribute. Acceptable values are: - "boolean"
1977	// - "datetimerange" - "float" - "group" - "int" - "price" -
1978	// "text" - "time" - "url"
1979	Type string `json:"type,omitempty"`
1980
1981	// Unit: Free-form unit of the attribute. Unit can only be used for
1982	// values of type int, float, or price.
1983	Unit string `json:"unit,omitempty"`
1984
1985	// Value: The value of the attribute.
1986	Value string `json:"value,omitempty"`
1987
1988	// ForceSendFields is a list of field names (e.g. "Name") to
1989	// unconditionally include in API requests. By default, fields with
1990	// empty values are omitted from API requests. However, any non-pointer,
1991	// non-interface field appearing in ForceSendFields will be sent to the
1992	// server regardless of whether the field is empty or not. This may be
1993	// used to include empty fields in Patch requests.
1994	ForceSendFields []string `json:"-"`
1995
1996	// NullFields is a list of field names (e.g. "Name") to include in API
1997	// requests with the JSON null value. By default, fields with empty
1998	// values are omitted from API requests. However, any field with an
1999	// empty value appearing in NullFields will be sent to the server as
2000	// null. It is an error if a field in this list has a non-empty value.
2001	// This may be used to include null fields in Patch requests.
2002	NullFields []string `json:"-"`
2003}
2004
2005func (s *CustomAttribute) MarshalJSON() ([]byte, error) {
2006	type NoMethod CustomAttribute
2007	raw := NoMethod(*s)
2008	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2009}
2010
2011type CustomGroup struct {
2012	// Attributes: The sub-attributes.
2013	Attributes []*CustomAttribute `json:"attributes,omitempty"`
2014
2015	// Name: The name of the group. Underscores will be replaced by spaces
2016	// upon insertion.
2017	Name string `json:"name,omitempty"`
2018
2019	// ForceSendFields is a list of field names (e.g. "Attributes") to
2020	// unconditionally include in API requests. By default, fields with
2021	// empty values are omitted from API requests. However, any non-pointer,
2022	// non-interface field appearing in ForceSendFields will be sent to the
2023	// server regardless of whether the field is empty or not. This may be
2024	// used to include empty fields in Patch requests.
2025	ForceSendFields []string `json:"-"`
2026
2027	// NullFields is a list of field names (e.g. "Attributes") to include in
2028	// API requests with the JSON null value. By default, fields with empty
2029	// values are omitted from API requests. However, any field with an
2030	// empty value appearing in NullFields will be sent to the server as
2031	// null. It is an error if a field in this list has a non-empty value.
2032	// This may be used to include null fields in Patch requests.
2033	NullFields []string `json:"-"`
2034}
2035
2036func (s *CustomGroup) MarshalJSON() ([]byte, error) {
2037	type NoMethod CustomGroup
2038	raw := NoMethod(*s)
2039	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2040}
2041
2042type CustomerReturnReason struct {
2043	// Description: Description of the reason.
2044	Description string `json:"description,omitempty"`
2045
2046	// ReasonCode: Code of the return reason. Acceptable values are: -
2047	// "betterPriceFound" - "changedMind" - "damagedOrDefectiveItem" -
2048	// "didNotMatchDescription" - "doesNotFit" - "expiredItem" -
2049	// "incorrectItemReceived" - "noLongerNeeded" - "notSpecified" -
2050	// "orderedWrongItem" - "other" - "qualityNotExpected" -
2051	// "receivedTooLate" - "undeliverable"
2052	ReasonCode string `json:"reasonCode,omitempty"`
2053
2054	// ForceSendFields is a list of field names (e.g. "Description") to
2055	// unconditionally include in API requests. By default, fields with
2056	// empty values are omitted from API requests. However, any non-pointer,
2057	// non-interface field appearing in ForceSendFields will be sent to the
2058	// server regardless of whether the field is empty or not. This may be
2059	// used to include empty fields in Patch requests.
2060	ForceSendFields []string `json:"-"`
2061
2062	// NullFields is a list of field names (e.g. "Description") to include
2063	// in API requests with the JSON null value. By default, fields with
2064	// empty values are omitted from API requests. However, any field with
2065	// an empty value appearing in NullFields will be sent to the server as
2066	// null. It is an error if a field in this list has a non-empty value.
2067	// This may be used to include null fields in Patch requests.
2068	NullFields []string `json:"-"`
2069}
2070
2071func (s *CustomerReturnReason) MarshalJSON() ([]byte, error) {
2072	type NoMethod CustomerReturnReason
2073	raw := NoMethod(*s)
2074	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2075}
2076
2077type CutoffTime struct {
2078	// Hour: Hour of the cutoff time until which an order has to be placed
2079	// to be processed in the same day. Required.
2080	Hour int64 `json:"hour,omitempty"`
2081
2082	// Minute: Minute of the cutoff time until which an order has to be
2083	// placed to be processed in the same day. Required.
2084	Minute int64 `json:"minute,omitempty"`
2085
2086	// Timezone: Timezone identifier for the cutoff time. A list of
2087	// identifiers can be found in the AdWords API documentation. E.g.
2088	// "Europe/Zurich". Required.
2089	Timezone string `json:"timezone,omitempty"`
2090
2091	// ForceSendFields is a list of field names (e.g. "Hour") to
2092	// unconditionally include in API requests. By default, fields with
2093	// empty values are omitted from API requests. However, any non-pointer,
2094	// non-interface field appearing in ForceSendFields will be sent to the
2095	// server regardless of whether the field is empty or not. This may be
2096	// used to include empty fields in Patch requests.
2097	ForceSendFields []string `json:"-"`
2098
2099	// NullFields is a list of field names (e.g. "Hour") to include in API
2100	// requests with the JSON null value. By default, fields with empty
2101	// values are omitted from API requests. However, any field with an
2102	// empty value appearing in NullFields will be sent to the server as
2103	// null. It is an error if a field in this list has a non-empty value.
2104	// This may be used to include null fields in Patch requests.
2105	NullFields []string `json:"-"`
2106}
2107
2108func (s *CutoffTime) MarshalJSON() ([]byte, error) {
2109	type NoMethod CutoffTime
2110	raw := NoMethod(*s)
2111	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2112}
2113
2114// Datafeed: Datafeed configuration data.
2115type Datafeed struct {
2116	// AttributeLanguage: The two-letter ISO 639-1 language in which the
2117	// attributes are defined in the data feed.
2118	AttributeLanguage string `json:"attributeLanguage,omitempty"`
2119
2120	// ContentLanguage: [DEPRECATED] Please use targets[].language instead.
2121	// The two-letter ISO 639-1 language of the items in the feed. Must be a
2122	// valid language for `targetCountry`.
2123	ContentLanguage string `json:"contentLanguage,omitempty"`
2124
2125	// ContentType: Required. The type of data feed. For product inventory
2126	// feeds, only feeds for local stores, not online stores, are supported.
2127	// Acceptable values are: - "local products" - "product inventory" -
2128	// "products"
2129	ContentType string `json:"contentType,omitempty"`
2130
2131	// FetchSchedule: Fetch schedule for the feed file.
2132	FetchSchedule *DatafeedFetchSchedule `json:"fetchSchedule,omitempty"`
2133
2134	// FileName: Required. The filename of the feed. All feeds must have a
2135	// unique file name.
2136	FileName string `json:"fileName,omitempty"`
2137
2138	// Format: Format of the feed file.
2139	Format *DatafeedFormat `json:"format,omitempty"`
2140
2141	// Id: Required for update. The ID of the data feed.
2142	Id int64 `json:"id,omitempty,string"`
2143
2144	// IntendedDestinations: [DEPRECATED] Please use
2145	// targets[].includedDestinations instead. The list of intended
2146	// destinations (corresponds to checked check boxes in Merchant Center).
2147	IntendedDestinations []string `json:"intendedDestinations,omitempty"`
2148
2149	// Kind: Identifies what kind of resource this is. Value: the fixed
2150	// string "content#datafeed"
2151	Kind string `json:"kind,omitempty"`
2152
2153	// Name: Required for insert. A descriptive name of the data feed.
2154	Name string `json:"name,omitempty"`
2155
2156	// TargetCountry: [DEPRECATED] Please use targets[].country instead. The
2157	// country where the items in the feed will be included in the search
2158	// index, represented as a CLDR territory code.
2159	TargetCountry string `json:"targetCountry,omitempty"`
2160
2161	// Targets: The targets this feed should apply to (country, language,
2162	// destinations).
2163	Targets []*DatafeedTarget `json:"targets,omitempty"`
2164
2165	// ServerResponse contains the HTTP response code and headers from the
2166	// server.
2167	googleapi.ServerResponse `json:"-"`
2168
2169	// ForceSendFields is a list of field names (e.g. "AttributeLanguage")
2170	// to unconditionally include in API requests. By default, fields with
2171	// empty values are omitted from API requests. However, any non-pointer,
2172	// non-interface field appearing in ForceSendFields will be sent to the
2173	// server regardless of whether the field is empty or not. This may be
2174	// used to include empty fields in Patch requests.
2175	ForceSendFields []string `json:"-"`
2176
2177	// NullFields is a list of field names (e.g. "AttributeLanguage") to
2178	// include in API requests with the JSON null value. By default, fields
2179	// with empty values are omitted from API requests. However, any field
2180	// with an empty value appearing in NullFields will be sent to the
2181	// server as null. It is an error if a field in this list has a
2182	// non-empty value. This may be used to include null fields in Patch
2183	// requests.
2184	NullFields []string `json:"-"`
2185}
2186
2187func (s *Datafeed) MarshalJSON() ([]byte, error) {
2188	type NoMethod Datafeed
2189	raw := NoMethod(*s)
2190	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2191}
2192
2193// DatafeedFetchSchedule: The required fields vary based on the
2194// frequency of fetching. For a monthly fetch schedule, day_of_month and
2195// hour are required. For a weekly fetch schedule, weekday and hour are
2196// required. For a daily fetch schedule, only hour is required.
2197type DatafeedFetchSchedule struct {
2198	// DayOfMonth: The day of the month the feed file should be fetched
2199	// (1-31).
2200	DayOfMonth int64 `json:"dayOfMonth,omitempty"`
2201
2202	// FetchUrl: The URL where the feed file can be fetched. Google Merchant
2203	// Center will support automatic scheduled uploads using the HTTP,
2204	// HTTPS, FTP, or SFTP protocols, so the value will need to be a valid
2205	// link using one of those four protocols.
2206	FetchUrl string `json:"fetchUrl,omitempty"`
2207
2208	// Hour: The hour of the day the feed file should be fetched (0-23).
2209	Hour int64 `json:"hour,omitempty"`
2210
2211	// MinuteOfHour: The minute of the hour the feed file should be fetched
2212	// (0-59). Read-only.
2213	MinuteOfHour int64 `json:"minuteOfHour,omitempty"`
2214
2215	// Password: An optional password for fetch_url.
2216	Password string `json:"password,omitempty"`
2217
2218	// Paused: Whether the scheduled fetch is paused or not.
2219	Paused bool `json:"paused,omitempty"`
2220
2221	// TimeZone: Time zone used for schedule. UTC by default. E.g.,
2222	// "America/Los_Angeles".
2223	TimeZone string `json:"timeZone,omitempty"`
2224
2225	// Username: An optional user name for fetch_url.
2226	Username string `json:"username,omitempty"`
2227
2228	// Weekday: The day of the week the feed file should be fetched.
2229	// Acceptable values are: - "monday" - "tuesday" - "wednesday" -
2230	// "thursday" - "friday" - "saturday" - "sunday"
2231	Weekday string `json:"weekday,omitempty"`
2232
2233	// ForceSendFields is a list of field names (e.g. "DayOfMonth") to
2234	// unconditionally include in API requests. By default, fields with
2235	// empty values are omitted from API requests. However, any non-pointer,
2236	// non-interface field appearing in ForceSendFields will be sent to the
2237	// server regardless of whether the field is empty or not. This may be
2238	// used to include empty fields in Patch requests.
2239	ForceSendFields []string `json:"-"`
2240
2241	// NullFields is a list of field names (e.g. "DayOfMonth") to include in
2242	// API requests with the JSON null value. By default, fields with empty
2243	// values are omitted from API requests. However, any field with an
2244	// empty value appearing in NullFields will be sent to the server as
2245	// null. It is an error if a field in this list has a non-empty value.
2246	// This may be used to include null fields in Patch requests.
2247	NullFields []string `json:"-"`
2248}
2249
2250func (s *DatafeedFetchSchedule) MarshalJSON() ([]byte, error) {
2251	type NoMethod DatafeedFetchSchedule
2252	raw := NoMethod(*s)
2253	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2254}
2255
2256type DatafeedFormat struct {
2257	// ColumnDelimiter: Delimiter for the separation of values in a
2258	// delimiter-separated values feed. If not specified, the delimiter will
2259	// be auto-detected. Ignored for non-DSV data feeds. Acceptable values
2260	// are: - "pipe" - "tab" - "tilde"
2261	ColumnDelimiter string `json:"columnDelimiter,omitempty"`
2262
2263	// FileEncoding: Character encoding scheme of the data feed. If not
2264	// specified, the encoding will be auto-detected. Acceptable values are:
2265	// - "latin-1" - "utf-16be" - "utf-16le" - "utf-8" -
2266	// "windows-1252"
2267	FileEncoding string `json:"fileEncoding,omitempty"`
2268
2269	// QuotingMode: Specifies how double quotes are interpreted. If not
2270	// specified, the mode will be auto-detected. Ignored for non-DSV data
2271	// feeds. Acceptable values are: - "normal character" - "value
2272	// quoting"
2273	QuotingMode string `json:"quotingMode,omitempty"`
2274
2275	// ForceSendFields is a list of field names (e.g. "ColumnDelimiter") to
2276	// unconditionally include in API requests. By default, fields with
2277	// empty values are omitted from API requests. However, any non-pointer,
2278	// non-interface field appearing in ForceSendFields will be sent to the
2279	// server regardless of whether the field is empty or not. This may be
2280	// used to include empty fields in Patch requests.
2281	ForceSendFields []string `json:"-"`
2282
2283	// NullFields is a list of field names (e.g. "ColumnDelimiter") to
2284	// include in API requests with the JSON null value. By default, fields
2285	// with empty values are omitted from API requests. However, any field
2286	// with an empty value appearing in NullFields will be sent to the
2287	// server as null. It is an error if a field in this list has a
2288	// non-empty value. This may be used to include null fields in Patch
2289	// requests.
2290	NullFields []string `json:"-"`
2291}
2292
2293func (s *DatafeedFormat) MarshalJSON() ([]byte, error) {
2294	type NoMethod DatafeedFormat
2295	raw := NoMethod(*s)
2296	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2297}
2298
2299// DatafeedStatus: The status of a datafeed, i.e., the result of the
2300// last retrieval of the datafeed computed asynchronously when the feed
2301// processing is finished.
2302type DatafeedStatus struct {
2303	// Country: The country for which the status is reported, represented as
2304	// a CLDR territory code.
2305	Country string `json:"country,omitempty"`
2306
2307	// DatafeedId: The ID of the feed for which the status is reported.
2308	DatafeedId uint64 `json:"datafeedId,omitempty,string"`
2309
2310	// Errors: The list of errors occurring in the feed.
2311	Errors []*DatafeedStatusError `json:"errors,omitempty"`
2312
2313	// ItemsTotal: The number of items in the feed that were processed.
2314	ItemsTotal uint64 `json:"itemsTotal,omitempty,string"`
2315
2316	// ItemsValid: The number of items in the feed that were valid.
2317	ItemsValid uint64 `json:"itemsValid,omitempty,string"`
2318
2319	// Kind: Identifies what kind of resource this is. Value: the fixed
2320	// string "content#datafeedStatus"
2321	Kind string `json:"kind,omitempty"`
2322
2323	// Language: The two-letter ISO 639-1 language for which the status is
2324	// reported.
2325	Language string `json:"language,omitempty"`
2326
2327	// LastUploadDate: The last date at which the feed was uploaded.
2328	LastUploadDate string `json:"lastUploadDate,omitempty"`
2329
2330	// ProcessingStatus: The processing status of the feed. Acceptable
2331	// values are: - ""failure": The feed could not be processed or all
2332	// items had errors." - "in progress": The feed is being processed. -
2333	// "none": The feed has not yet been processed. For example, a feed
2334	// that has never been uploaded will have this processing status. -
2335	// "success": The feed was processed successfully, though some items
2336	// might have had errors.
2337	ProcessingStatus string `json:"processingStatus,omitempty"`
2338
2339	// Warnings: The list of errors occurring in the feed.
2340	Warnings []*DatafeedStatusError `json:"warnings,omitempty"`
2341
2342	// ServerResponse contains the HTTP response code and headers from the
2343	// server.
2344	googleapi.ServerResponse `json:"-"`
2345
2346	// ForceSendFields is a list of field names (e.g. "Country") to
2347	// unconditionally include in API requests. By default, fields with
2348	// empty values are omitted from API requests. However, any non-pointer,
2349	// non-interface field appearing in ForceSendFields will be sent to the
2350	// server regardless of whether the field is empty or not. This may be
2351	// used to include empty fields in Patch requests.
2352	ForceSendFields []string `json:"-"`
2353
2354	// NullFields is a list of field names (e.g. "Country") to include in
2355	// API requests with the JSON null value. By default, fields with empty
2356	// values are omitted from API requests. However, any field with an
2357	// empty value appearing in NullFields will be sent to the server as
2358	// null. It is an error if a field in this list has a non-empty value.
2359	// This may be used to include null fields in Patch requests.
2360	NullFields []string `json:"-"`
2361}
2362
2363func (s *DatafeedStatus) MarshalJSON() ([]byte, error) {
2364	type NoMethod DatafeedStatus
2365	raw := NoMethod(*s)
2366	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2367}
2368
2369// DatafeedStatusError: An error occurring in the feed, like "invalid
2370// price".
2371type DatafeedStatusError struct {
2372	// Code: The code of the error, e.g., "validation/invalid_value".
2373	Code string `json:"code,omitempty"`
2374
2375	// Count: The number of occurrences of the error in the feed.
2376	Count uint64 `json:"count,omitempty,string"`
2377
2378	// Examples: A list of example occurrences of the error, grouped by
2379	// product.
2380	Examples []*DatafeedStatusExample `json:"examples,omitempty"`
2381
2382	// Message: The error message, e.g., "Invalid price".
2383	Message string `json:"message,omitempty"`
2384
2385	// ForceSendFields is a list of field names (e.g. "Code") to
2386	// unconditionally include in API requests. By default, fields with
2387	// empty values are omitted from API requests. However, any non-pointer,
2388	// non-interface field appearing in ForceSendFields will be sent to the
2389	// server regardless of whether the field is empty or not. This may be
2390	// used to include empty fields in Patch requests.
2391	ForceSendFields []string `json:"-"`
2392
2393	// NullFields is a list of field names (e.g. "Code") to include in API
2394	// requests with the JSON null value. By default, fields with empty
2395	// values are omitted from API requests. However, any field with an
2396	// empty value appearing in NullFields will be sent to the server as
2397	// null. It is an error if a field in this list has a non-empty value.
2398	// This may be used to include null fields in Patch requests.
2399	NullFields []string `json:"-"`
2400}
2401
2402func (s *DatafeedStatusError) MarshalJSON() ([]byte, error) {
2403	type NoMethod DatafeedStatusError
2404	raw := NoMethod(*s)
2405	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2406}
2407
2408// DatafeedStatusExample: An example occurrence for a particular error.
2409type DatafeedStatusExample struct {
2410	// ItemId: The ID of the example item.
2411	ItemId string `json:"itemId,omitempty"`
2412
2413	// LineNumber: Line number in the data feed where the example is found.
2414	LineNumber uint64 `json:"lineNumber,omitempty,string"`
2415
2416	// Value: The problematic value.
2417	Value string `json:"value,omitempty"`
2418
2419	// ForceSendFields is a list of field names (e.g. "ItemId") to
2420	// unconditionally include in API requests. By default, fields with
2421	// empty values are omitted from API requests. However, any non-pointer,
2422	// non-interface field appearing in ForceSendFields will be sent to the
2423	// server regardless of whether the field is empty or not. This may be
2424	// used to include empty fields in Patch requests.
2425	ForceSendFields []string `json:"-"`
2426
2427	// NullFields is a list of field names (e.g. "ItemId") to include in API
2428	// requests with the JSON null value. By default, fields with empty
2429	// values are omitted from API requests. However, any field with an
2430	// empty value appearing in NullFields will be sent to the server as
2431	// null. It is an error if a field in this list has a non-empty value.
2432	// This may be used to include null fields in Patch requests.
2433	NullFields []string `json:"-"`
2434}
2435
2436func (s *DatafeedStatusExample) MarshalJSON() ([]byte, error) {
2437	type NoMethod DatafeedStatusExample
2438	raw := NoMethod(*s)
2439	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2440}
2441
2442type DatafeedTarget struct {
2443	// Country: The country where the items in the feed will be included in
2444	// the search index, represented as a CLDR territory code.
2445	Country string `json:"country,omitempty"`
2446
2447	// ExcludedDestinations: The list of destinations to exclude for this
2448	// target (corresponds to unchecked check boxes in Merchant Center).
2449	ExcludedDestinations []string `json:"excludedDestinations,omitempty"`
2450
2451	// IncludedDestinations: The list of destinations to include for this
2452	// target (corresponds to checked check boxes in Merchant Center).
2453	// Default destinations are always included unless provided in
2454	// `excludedDestinations`. List of supported destinations (if available
2455	// to the account): - DisplayAds - Shopping - ShoppingActions -
2456	// SurfacesAcrossGoogle
2457	IncludedDestinations []string `json:"includedDestinations,omitempty"`
2458
2459	// Language: The two-letter ISO 639-1 language of the items in the feed.
2460	// Must be a valid language for `targets[].country`.
2461	Language string `json:"language,omitempty"`
2462
2463	// ForceSendFields is a list of field names (e.g. "Country") to
2464	// unconditionally include in API requests. By default, fields with
2465	// empty values are omitted from API requests. However, any non-pointer,
2466	// non-interface field appearing in ForceSendFields will be sent to the
2467	// server regardless of whether the field is empty or not. This may be
2468	// used to include empty fields in Patch requests.
2469	ForceSendFields []string `json:"-"`
2470
2471	// NullFields is a list of field names (e.g. "Country") to include in
2472	// API requests with the JSON null value. By default, fields with empty
2473	// values are omitted from API requests. However, any field with an
2474	// empty value appearing in NullFields will be sent to the server as
2475	// null. It is an error if a field in this list has a non-empty value.
2476	// This may be used to include null fields in Patch requests.
2477	NullFields []string `json:"-"`
2478}
2479
2480func (s *DatafeedTarget) MarshalJSON() ([]byte, error) {
2481	type NoMethod DatafeedTarget
2482	raw := NoMethod(*s)
2483	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2484}
2485
2486type DatafeedsCustomBatchRequest struct {
2487	// Entries: The request entries to be processed in the batch.
2488	Entries []*DatafeedsCustomBatchRequestEntry `json:"entries,omitempty"`
2489
2490	// ForceSendFields is a list of field names (e.g. "Entries") to
2491	// unconditionally include in API requests. By default, fields with
2492	// empty values are omitted from API requests. However, any non-pointer,
2493	// non-interface field appearing in ForceSendFields will be sent to the
2494	// server regardless of whether the field is empty or not. This may be
2495	// used to include empty fields in Patch requests.
2496	ForceSendFields []string `json:"-"`
2497
2498	// NullFields is a list of field names (e.g. "Entries") to include in
2499	// API requests with the JSON null value. By default, fields with empty
2500	// values are omitted from API requests. However, any field with an
2501	// empty value appearing in NullFields will be sent to the server as
2502	// null. It is an error if a field in this list has a non-empty value.
2503	// This may be used to include null fields in Patch requests.
2504	NullFields []string `json:"-"`
2505}
2506
2507func (s *DatafeedsCustomBatchRequest) MarshalJSON() ([]byte, error) {
2508	type NoMethod DatafeedsCustomBatchRequest
2509	raw := NoMethod(*s)
2510	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2511}
2512
2513// DatafeedsCustomBatchRequestEntry: A batch entry encoding a single
2514// non-batch datafeeds request.
2515type DatafeedsCustomBatchRequestEntry struct {
2516	// BatchId: An entry ID, unique within the batch request.
2517	BatchId int64 `json:"batchId,omitempty"`
2518
2519	// Datafeed: The data feed to insert.
2520	Datafeed *Datafeed `json:"datafeed,omitempty"`
2521
2522	// DatafeedId: The ID of the data feed to get, delete or fetch.
2523	DatafeedId uint64 `json:"datafeedId,omitempty,string"`
2524
2525	// MerchantId: The ID of the managing account.
2526	MerchantId uint64 `json:"merchantId,omitempty,string"`
2527
2528	// Method: The method of the batch entry. Acceptable values are: -
2529	// "delete" - "fetchNow" - "get" - "insert" - "update"
2530	Method string `json:"method,omitempty"`
2531
2532	// ForceSendFields is a list of field names (e.g. "BatchId") to
2533	// unconditionally include in API requests. By default, fields with
2534	// empty values are omitted from API requests. However, any non-pointer,
2535	// non-interface field appearing in ForceSendFields will be sent to the
2536	// server regardless of whether the field is empty or not. This may be
2537	// used to include empty fields in Patch requests.
2538	ForceSendFields []string `json:"-"`
2539
2540	// NullFields is a list of field names (e.g. "BatchId") to include in
2541	// API requests with the JSON null value. By default, fields with empty
2542	// values are omitted from API requests. However, any field with an
2543	// empty value appearing in NullFields will be sent to the server as
2544	// null. It is an error if a field in this list has a non-empty value.
2545	// This may be used to include null fields in Patch requests.
2546	NullFields []string `json:"-"`
2547}
2548
2549func (s *DatafeedsCustomBatchRequestEntry) MarshalJSON() ([]byte, error) {
2550	type NoMethod DatafeedsCustomBatchRequestEntry
2551	raw := NoMethod(*s)
2552	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2553}
2554
2555type DatafeedsCustomBatchResponse struct {
2556	// Entries: The result of the execution of the batch requests.
2557	Entries []*DatafeedsCustomBatchResponseEntry `json:"entries,omitempty"`
2558
2559	// Kind: Identifies what kind of resource this is. Value: the fixed
2560	// string "content#datafeedsCustomBatchResponse".
2561	Kind string `json:"kind,omitempty"`
2562
2563	// ServerResponse contains the HTTP response code and headers from the
2564	// server.
2565	googleapi.ServerResponse `json:"-"`
2566
2567	// ForceSendFields is a list of field names (e.g. "Entries") to
2568	// unconditionally include in API requests. By default, fields with
2569	// empty values are omitted from API requests. However, any non-pointer,
2570	// non-interface field appearing in ForceSendFields will be sent to the
2571	// server regardless of whether the field is empty or not. This may be
2572	// used to include empty fields in Patch requests.
2573	ForceSendFields []string `json:"-"`
2574
2575	// NullFields is a list of field names (e.g. "Entries") to include in
2576	// API requests with the JSON null value. By default, fields with empty
2577	// values are omitted from API requests. However, any field with an
2578	// empty value appearing in NullFields will be sent to the server as
2579	// null. It is an error if a field in this list has a non-empty value.
2580	// This may be used to include null fields in Patch requests.
2581	NullFields []string `json:"-"`
2582}
2583
2584func (s *DatafeedsCustomBatchResponse) MarshalJSON() ([]byte, error) {
2585	type NoMethod DatafeedsCustomBatchResponse
2586	raw := NoMethod(*s)
2587	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2588}
2589
2590// DatafeedsCustomBatchResponseEntry: A batch entry encoding a single
2591// non-batch datafeeds response.
2592type DatafeedsCustomBatchResponseEntry struct {
2593	// BatchId: The ID of the request entry this entry responds to.
2594	BatchId int64 `json:"batchId,omitempty"`
2595
2596	// Datafeed: The requested data feed. Defined if and only if the request
2597	// was successful.
2598	Datafeed *Datafeed `json:"datafeed,omitempty"`
2599
2600	// Errors: A list of errors defined if and only if the request failed.
2601	Errors *Errors `json:"errors,omitempty"`
2602
2603	// ForceSendFields is a list of field names (e.g. "BatchId") to
2604	// unconditionally include in API requests. By default, fields with
2605	// empty values are omitted from API requests. However, any non-pointer,
2606	// non-interface field appearing in ForceSendFields will be sent to the
2607	// server regardless of whether the field is empty or not. This may be
2608	// used to include empty fields in Patch requests.
2609	ForceSendFields []string `json:"-"`
2610
2611	// NullFields is a list of field names (e.g. "BatchId") to include in
2612	// API requests with the JSON null value. By default, fields with empty
2613	// values are omitted from API requests. However, any field with an
2614	// empty value appearing in NullFields will be sent to the server as
2615	// null. It is an error if a field in this list has a non-empty value.
2616	// This may be used to include null fields in Patch requests.
2617	NullFields []string `json:"-"`
2618}
2619
2620func (s *DatafeedsCustomBatchResponseEntry) MarshalJSON() ([]byte, error) {
2621	type NoMethod DatafeedsCustomBatchResponseEntry
2622	raw := NoMethod(*s)
2623	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2624}
2625
2626type DatafeedsFetchNowResponse struct {
2627	// Kind: Identifies what kind of resource this is. Value: the fixed
2628	// string "content#datafeedsFetchNowResponse".
2629	Kind string `json:"kind,omitempty"`
2630
2631	// ServerResponse contains the HTTP response code and headers from the
2632	// server.
2633	googleapi.ServerResponse `json:"-"`
2634
2635	// ForceSendFields is a list of field names (e.g. "Kind") to
2636	// unconditionally include in API requests. By default, fields with
2637	// empty values are omitted from API requests. However, any non-pointer,
2638	// non-interface field appearing in ForceSendFields will be sent to the
2639	// server regardless of whether the field is empty or not. This may be
2640	// used to include empty fields in Patch requests.
2641	ForceSendFields []string `json:"-"`
2642
2643	// NullFields is a list of field names (e.g. "Kind") to include in API
2644	// requests with the JSON null value. By default, fields with empty
2645	// values are omitted from API requests. However, any field with an
2646	// empty value appearing in NullFields will be sent to the server as
2647	// null. It is an error if a field in this list has a non-empty value.
2648	// This may be used to include null fields in Patch requests.
2649	NullFields []string `json:"-"`
2650}
2651
2652func (s *DatafeedsFetchNowResponse) MarshalJSON() ([]byte, error) {
2653	type NoMethod DatafeedsFetchNowResponse
2654	raw := NoMethod(*s)
2655	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2656}
2657
2658type DatafeedsListResponse struct {
2659	// Kind: Identifies what kind of resource this is. Value: the fixed
2660	// string "content#datafeedsListResponse".
2661	Kind string `json:"kind,omitempty"`
2662
2663	// NextPageToken: The token for the retrieval of the next page of
2664	// datafeeds.
2665	NextPageToken string `json:"nextPageToken,omitempty"`
2666
2667	Resources []*Datafeed `json:"resources,omitempty"`
2668
2669	// ServerResponse contains the HTTP response code and headers from the
2670	// server.
2671	googleapi.ServerResponse `json:"-"`
2672
2673	// ForceSendFields is a list of field names (e.g. "Kind") to
2674	// unconditionally include in API requests. By default, fields with
2675	// empty values are omitted from API requests. However, any non-pointer,
2676	// non-interface field appearing in ForceSendFields will be sent to the
2677	// server regardless of whether the field is empty or not. This may be
2678	// used to include empty fields in Patch requests.
2679	ForceSendFields []string `json:"-"`
2680
2681	// NullFields is a list of field names (e.g. "Kind") to include in API
2682	// requests with the JSON null value. By default, fields with empty
2683	// values are omitted from API requests. However, any field with an
2684	// empty value appearing in NullFields will be sent to the server as
2685	// null. It is an error if a field in this list has a non-empty value.
2686	// This may be used to include null fields in Patch requests.
2687	NullFields []string `json:"-"`
2688}
2689
2690func (s *DatafeedsListResponse) MarshalJSON() ([]byte, error) {
2691	type NoMethod DatafeedsListResponse
2692	raw := NoMethod(*s)
2693	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2694}
2695
2696type DatafeedstatusesCustomBatchRequest struct {
2697	// Entries: The request entries to be processed in the batch.
2698	Entries []*DatafeedstatusesCustomBatchRequestEntry `json:"entries,omitempty"`
2699
2700	// ForceSendFields is a list of field names (e.g. "Entries") to
2701	// unconditionally include in API requests. By default, fields with
2702	// empty values are omitted from API requests. However, any non-pointer,
2703	// non-interface field appearing in ForceSendFields will be sent to the
2704	// server regardless of whether the field is empty or not. This may be
2705	// used to include empty fields in Patch requests.
2706	ForceSendFields []string `json:"-"`
2707
2708	// NullFields is a list of field names (e.g. "Entries") to include in
2709	// API requests with the JSON null value. By default, fields with empty
2710	// values are omitted from API requests. However, any field with an
2711	// empty value appearing in NullFields will be sent to the server as
2712	// null. It is an error if a field in this list has a non-empty value.
2713	// This may be used to include null fields in Patch requests.
2714	NullFields []string `json:"-"`
2715}
2716
2717func (s *DatafeedstatusesCustomBatchRequest) MarshalJSON() ([]byte, error) {
2718	type NoMethod DatafeedstatusesCustomBatchRequest
2719	raw := NoMethod(*s)
2720	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2721}
2722
2723// DatafeedstatusesCustomBatchRequestEntry: A batch entry encoding a
2724// single non-batch datafeedstatuses request.
2725type DatafeedstatusesCustomBatchRequestEntry struct {
2726	// BatchId: An entry ID, unique within the batch request.
2727	BatchId int64 `json:"batchId,omitempty"`
2728
2729	// Country: The country for which to get the datafeed status. If this
2730	// parameter is provided then language must also be provided. Note that
2731	// for multi-target datafeeds this parameter is required.
2732	Country string `json:"country,omitempty"`
2733
2734	// DatafeedId: The ID of the data feed to get.
2735	DatafeedId uint64 `json:"datafeedId,omitempty,string"`
2736
2737	// Language: The language for which to get the datafeed status. If this
2738	// parameter is provided then country must also be provided. Note that
2739	// for multi-target datafeeds this parameter is required.
2740	Language string `json:"language,omitempty"`
2741
2742	// MerchantId: The ID of the managing account.
2743	MerchantId uint64 `json:"merchantId,omitempty,string"`
2744
2745	// Method: The method of the batch entry. Acceptable values are: -
2746	// "get"
2747	Method string `json:"method,omitempty"`
2748
2749	// ForceSendFields is a list of field names (e.g. "BatchId") to
2750	// unconditionally include in API requests. By default, fields with
2751	// empty values are omitted from API requests. However, any non-pointer,
2752	// non-interface field appearing in ForceSendFields will be sent to the
2753	// server regardless of whether the field is empty or not. This may be
2754	// used to include empty fields in Patch requests.
2755	ForceSendFields []string `json:"-"`
2756
2757	// NullFields is a list of field names (e.g. "BatchId") to include in
2758	// API requests with the JSON null value. By default, fields with empty
2759	// values are omitted from API requests. However, any field with an
2760	// empty value appearing in NullFields will be sent to the server as
2761	// null. It is an error if a field in this list has a non-empty value.
2762	// This may be used to include null fields in Patch requests.
2763	NullFields []string `json:"-"`
2764}
2765
2766func (s *DatafeedstatusesCustomBatchRequestEntry) MarshalJSON() ([]byte, error) {
2767	type NoMethod DatafeedstatusesCustomBatchRequestEntry
2768	raw := NoMethod(*s)
2769	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2770}
2771
2772type DatafeedstatusesCustomBatchResponse struct {
2773	// Entries: The result of the execution of the batch requests.
2774	Entries []*DatafeedstatusesCustomBatchResponseEntry `json:"entries,omitempty"`
2775
2776	// Kind: Identifies what kind of resource this is. Value: the fixed
2777	// string "content#datafeedstatusesCustomBatchResponse".
2778	Kind string `json:"kind,omitempty"`
2779
2780	// ServerResponse contains the HTTP response code and headers from the
2781	// server.
2782	googleapi.ServerResponse `json:"-"`
2783
2784	// ForceSendFields is a list of field names (e.g. "Entries") to
2785	// unconditionally include in API requests. By default, fields with
2786	// empty values are omitted from API requests. However, any non-pointer,
2787	// non-interface field appearing in ForceSendFields will be sent to the
2788	// server regardless of whether the field is empty or not. This may be
2789	// used to include empty fields in Patch requests.
2790	ForceSendFields []string `json:"-"`
2791
2792	// NullFields is a list of field names (e.g. "Entries") to include in
2793	// API requests with the JSON null value. By default, fields with empty
2794	// values are omitted from API requests. However, any field with an
2795	// empty value appearing in NullFields will be sent to the server as
2796	// null. It is an error if a field in this list has a non-empty value.
2797	// This may be used to include null fields in Patch requests.
2798	NullFields []string `json:"-"`
2799}
2800
2801func (s *DatafeedstatusesCustomBatchResponse) MarshalJSON() ([]byte, error) {
2802	type NoMethod DatafeedstatusesCustomBatchResponse
2803	raw := NoMethod(*s)
2804	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2805}
2806
2807// DatafeedstatusesCustomBatchResponseEntry: A batch entry encoding a
2808// single non-batch datafeedstatuses response.
2809type DatafeedstatusesCustomBatchResponseEntry struct {
2810	// BatchId: The ID of the request entry this entry responds to.
2811	BatchId int64 `json:"batchId,omitempty"`
2812
2813	// DatafeedStatus: The requested data feed status. Defined if and only
2814	// if the request was successful.
2815	DatafeedStatus *DatafeedStatus `json:"datafeedStatus,omitempty"`
2816
2817	// Errors: A list of errors defined if and only if the request failed.
2818	Errors *Errors `json:"errors,omitempty"`
2819
2820	// ForceSendFields is a list of field names (e.g. "BatchId") to
2821	// unconditionally include in API requests. By default, fields with
2822	// empty values are omitted from API requests. However, any non-pointer,
2823	// non-interface field appearing in ForceSendFields will be sent to the
2824	// server regardless of whether the field is empty or not. This may be
2825	// used to include empty fields in Patch requests.
2826	ForceSendFields []string `json:"-"`
2827
2828	// NullFields is a list of field names (e.g. "BatchId") to include in
2829	// API requests with the JSON null value. By default, fields with empty
2830	// values are omitted from API requests. However, any field with an
2831	// empty value appearing in NullFields will be sent to the server as
2832	// null. It is an error if a field in this list has a non-empty value.
2833	// This may be used to include null fields in Patch requests.
2834	NullFields []string `json:"-"`
2835}
2836
2837func (s *DatafeedstatusesCustomBatchResponseEntry) MarshalJSON() ([]byte, error) {
2838	type NoMethod DatafeedstatusesCustomBatchResponseEntry
2839	raw := NoMethod(*s)
2840	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2841}
2842
2843type DatafeedstatusesListResponse struct {
2844	// Kind: Identifies what kind of resource this is. Value: the fixed
2845	// string "content#datafeedstatusesListResponse".
2846	Kind string `json:"kind,omitempty"`
2847
2848	// NextPageToken: The token for the retrieval of the next page of
2849	// datafeed statuses.
2850	NextPageToken string `json:"nextPageToken,omitempty"`
2851
2852	Resources []*DatafeedStatus `json:"resources,omitempty"`
2853
2854	// ServerResponse contains the HTTP response code and headers from the
2855	// server.
2856	googleapi.ServerResponse `json:"-"`
2857
2858	// ForceSendFields is a list of field names (e.g. "Kind") to
2859	// unconditionally include in API requests. By default, fields with
2860	// empty values are omitted from API requests. However, any non-pointer,
2861	// non-interface field appearing in ForceSendFields will be sent to the
2862	// server regardless of whether the field is empty or not. This may be
2863	// used to include empty fields in Patch requests.
2864	ForceSendFields []string `json:"-"`
2865
2866	// NullFields is a list of field names (e.g. "Kind") to include in API
2867	// requests with the JSON null value. By default, fields with empty
2868	// values are omitted from API requests. However, any field with an
2869	// empty value appearing in NullFields will be sent to the server as
2870	// null. It is an error if a field in this list has a non-empty value.
2871	// This may be used to include null fields in Patch requests.
2872	NullFields []string `json:"-"`
2873}
2874
2875func (s *DatafeedstatusesListResponse) MarshalJSON() ([]byte, error) {
2876	type NoMethod DatafeedstatusesListResponse
2877	raw := NoMethod(*s)
2878	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2879}
2880
2881type DeliveryTime struct {
2882	// CutoffTime: Business days cutoff time definition. If not configured
2883	// the cutoff time will be defaulted to 8AM PST.
2884	CutoffTime *CutoffTime `json:"cutoffTime,omitempty"`
2885
2886	// HandlingBusinessDayConfig: The business days during which orders can
2887	// be handled. If not provided, Monday to Friday business days will be
2888	// assumed.
2889	HandlingBusinessDayConfig *BusinessDayConfig `json:"handlingBusinessDayConfig,omitempty"`
2890
2891	// HolidayCutoffs: Holiday cutoff definitions. If configured, they
2892	// specify order cutoff times for holiday-specific shipping.
2893	HolidayCutoffs []*HolidayCutoff `json:"holidayCutoffs,omitempty"`
2894
2895	// MaxHandlingTimeInDays: Maximum number of business days spent before
2896	// an order is shipped. 0 means same day shipped, 1 means next day
2897	// shipped. Must be greater than or equal to `minHandlingTimeInDays`.
2898	MaxHandlingTimeInDays int64 `json:"maxHandlingTimeInDays,omitempty"`
2899
2900	// MaxTransitTimeInDays: Maximum number of business days that is spent
2901	// in transit. 0 means same day delivery, 1 means next day delivery.
2902	// Must be greater than or equal to `minTransitTimeInDays`.
2903	MaxTransitTimeInDays int64 `json:"maxTransitTimeInDays,omitempty"`
2904
2905	// MinHandlingTimeInDays: Minimum number of business days spent before
2906	// an order is shipped. 0 means same day shipped, 1 means next day
2907	// shipped.
2908	MinHandlingTimeInDays int64 `json:"minHandlingTimeInDays,omitempty"`
2909
2910	// MinTransitTimeInDays: Minimum number of business days that is spent
2911	// in transit. 0 means same day delivery, 1 means next day delivery.
2912	// Either `{min,max}TransitTimeInDays` or `transitTimeTable` must be
2913	// set, but not both.
2914	MinTransitTimeInDays int64 `json:"minTransitTimeInDays,omitempty"`
2915
2916	// TransitBusinessDayConfig: The business days during which orders can
2917	// be in-transit. If not provided, Monday to Friday business days will
2918	// be assumed.
2919	TransitBusinessDayConfig *BusinessDayConfig `json:"transitBusinessDayConfig,omitempty"`
2920
2921	// TransitTimeTable: Transit time table, number of business days spent
2922	// in transit based on row and column dimensions. Either
2923	// `{min,max}TransitTimeInDays` or `transitTimeTable` can be set, but
2924	// not both.
2925	TransitTimeTable *TransitTable `json:"transitTimeTable,omitempty"`
2926
2927	// ForceSendFields is a list of field names (e.g. "CutoffTime") to
2928	// unconditionally include in API requests. By default, fields with
2929	// empty values are omitted from API requests. However, any non-pointer,
2930	// non-interface field appearing in ForceSendFields will be sent to the
2931	// server regardless of whether the field is empty or not. This may be
2932	// used to include empty fields in Patch requests.
2933	ForceSendFields []string `json:"-"`
2934
2935	// NullFields is a list of field names (e.g. "CutoffTime") to include in
2936	// API requests with the JSON null value. By default, fields with empty
2937	// values are omitted from API requests. However, any field with an
2938	// empty value appearing in NullFields will be sent to the server as
2939	// null. It is an error if a field in this list has a non-empty value.
2940	// This may be used to include null fields in Patch requests.
2941	NullFields []string `json:"-"`
2942}
2943
2944func (s *DeliveryTime) MarshalJSON() ([]byte, error) {
2945	type NoMethod DeliveryTime
2946	raw := NoMethod(*s)
2947	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2948}
2949
2950// Error: An error returned by the API.
2951type Error struct {
2952	// Domain: The domain of the error.
2953	Domain string `json:"domain,omitempty"`
2954
2955	// Message: A description of the error.
2956	Message string `json:"message,omitempty"`
2957
2958	// Reason: The error code.
2959	Reason string `json:"reason,omitempty"`
2960
2961	// ForceSendFields is a list of field names (e.g. "Domain") to
2962	// unconditionally include in API requests. By default, fields with
2963	// empty values are omitted from API requests. However, any non-pointer,
2964	// non-interface field appearing in ForceSendFields will be sent to the
2965	// server regardless of whether the field is empty or not. This may be
2966	// used to include empty fields in Patch requests.
2967	ForceSendFields []string `json:"-"`
2968
2969	// NullFields is a list of field names (e.g. "Domain") to include in API
2970	// requests with the JSON null value. By default, fields with empty
2971	// values are omitted from API requests. However, any field with an
2972	// empty value appearing in NullFields will be sent to the server as
2973	// null. It is an error if a field in this list has a non-empty value.
2974	// This may be used to include null fields in Patch requests.
2975	NullFields []string `json:"-"`
2976}
2977
2978func (s *Error) MarshalJSON() ([]byte, error) {
2979	type NoMethod Error
2980	raw := NoMethod(*s)
2981	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2982}
2983
2984// Errors: A list of errors returned by a failed batch entry.
2985type Errors struct {
2986	// Code: The HTTP status of the first error in `errors`.
2987	Code int64 `json:"code,omitempty"`
2988
2989	// Errors: A list of errors.
2990	Errors []*Error `json:"errors,omitempty"`
2991
2992	// Message: The message of the first error in `errors`.
2993	Message string `json:"message,omitempty"`
2994
2995	// ForceSendFields is a list of field names (e.g. "Code") to
2996	// unconditionally include in API requests. By default, fields with
2997	// empty values are omitted from API requests. However, any non-pointer,
2998	// non-interface field appearing in ForceSendFields will be sent to the
2999	// server regardless of whether the field is empty or not. This may be
3000	// used to include empty fields in Patch requests.
3001	ForceSendFields []string `json:"-"`
3002
3003	// NullFields is a list of field names (e.g. "Code") to include in API
3004	// requests with the JSON null value. By default, fields with empty
3005	// values are omitted from API requests. However, any field with an
3006	// empty value appearing in NullFields will be sent to the server as
3007	// null. It is an error if a field in this list has a non-empty value.
3008	// This may be used to include null fields in Patch requests.
3009	NullFields []string `json:"-"`
3010}
3011
3012func (s *Errors) MarshalJSON() ([]byte, error) {
3013	type NoMethod Errors
3014	raw := NoMethod(*s)
3015	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3016}
3017
3018type GmbAccounts struct {
3019	// AccountId: The ID of the Merchant Center account.
3020	AccountId uint64 `json:"accountId,omitempty,string"`
3021
3022	// GmbAccounts: A list of GMB accounts which are available to the
3023	// merchant.
3024	GmbAccounts []*GmbAccountsGmbAccount `json:"gmbAccounts,omitempty"`
3025
3026	// ForceSendFields is a list of field names (e.g. "AccountId") to
3027	// unconditionally include in API requests. By default, fields with
3028	// empty values are omitted from API requests. However, any non-pointer,
3029	// non-interface field appearing in ForceSendFields will be sent to the
3030	// server regardless of whether the field is empty or not. This may be
3031	// used to include empty fields in Patch requests.
3032	ForceSendFields []string `json:"-"`
3033
3034	// NullFields is a list of field names (e.g. "AccountId") to include in
3035	// API requests with the JSON null value. By default, fields with empty
3036	// values are omitted from API requests. However, any field with an
3037	// empty value appearing in NullFields will be sent to the server as
3038	// null. It is an error if a field in this list has a non-empty value.
3039	// This may be used to include null fields in Patch requests.
3040	NullFields []string `json:"-"`
3041}
3042
3043func (s *GmbAccounts) MarshalJSON() ([]byte, error) {
3044	type NoMethod GmbAccounts
3045	raw := NoMethod(*s)
3046	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3047}
3048
3049type GmbAccountsGmbAccount struct {
3050	// Email: The email which identifies the GMB account.
3051	Email string `json:"email,omitempty"`
3052
3053	// ListingCount: Number of listings under this account.
3054	ListingCount uint64 `json:"listingCount,omitempty,string"`
3055
3056	// Name: The name of the GMB account.
3057	Name string `json:"name,omitempty"`
3058
3059	// Type: The type of the GMB account (User or Business).
3060	Type string `json:"type,omitempty"`
3061
3062	// ForceSendFields is a list of field names (e.g. "Email") to
3063	// unconditionally include in API requests. By default, fields with
3064	// empty values are omitted from API requests. However, any non-pointer,
3065	// non-interface field appearing in ForceSendFields will be sent to the
3066	// server regardless of whether the field is empty or not. This may be
3067	// used to include empty fields in Patch requests.
3068	ForceSendFields []string `json:"-"`
3069
3070	// NullFields is a list of field names (e.g. "Email") to include in API
3071	// requests with the JSON null value. By default, fields with empty
3072	// values are omitted from API requests. However, any field with an
3073	// empty value appearing in NullFields will be sent to the server as
3074	// null. It is an error if a field in this list has a non-empty value.
3075	// This may be used to include null fields in Patch requests.
3076	NullFields []string `json:"-"`
3077}
3078
3079func (s *GmbAccountsGmbAccount) MarshalJSON() ([]byte, error) {
3080	type NoMethod GmbAccountsGmbAccount
3081	raw := NoMethod(*s)
3082	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3083}
3084
3085// Headers: A non-empty list of row or column headers for a table.
3086// Exactly one of `prices`, `weights`, `numItems`,
3087// `postalCodeGroupNames`, or `location` must be set.
3088type Headers struct {
3089	// Locations: A list of location ID sets. Must be non-empty. Can only be
3090	// set if all other fields are not set.
3091	Locations []*LocationIdSet `json:"locations,omitempty"`
3092
3093	// NumberOfItems: A list of inclusive number of items upper bounds. The
3094	// last value can be "infinity". For example `["10", "50",
3095	// "infinity"]` represents the headers "<= 10 items", "<= 50 items", and
3096	// "> 50 items". Must be non-empty. Can only be set if all other fields
3097	// are not set.
3098	NumberOfItems []string `json:"numberOfItems,omitempty"`
3099
3100	// PostalCodeGroupNames: A list of postal group names. The last value
3101	// can be "all other locations". Example: `["zone 1", "zone 2", "all
3102	// other locations"]`. The referred postal code groups must match the
3103	// delivery country of the service. Must be non-empty. Can only be set
3104	// if all other fields are not set.
3105	PostalCodeGroupNames []string `json:"postalCodeGroupNames,omitempty"`
3106
3107	// Prices: A list of inclusive order price upper bounds. The last
3108	// price's value can be "infinity". For example `[{"value": "10",
3109	// "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value":
3110	// "infinity", "currency": "USD"}]` represents the headers "<= $10", "<=
3111	// $500", and "> $500". All prices within a service must have the same
3112	// currency. Must be non-empty. Can only be set if all other fields are
3113	// not set.
3114	Prices []*Price `json:"prices,omitempty"`
3115
3116	// Weights: A list of inclusive order weight upper bounds. The last
3117	// weight's value can be "infinity". For example `[{"value": "10",
3118	// "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity",
3119	// "unit": "kg"}]` represents the headers "<= 10kg", "<= 50kg", and ">
3120	// 50kg". All weights within a service must have the same unit. Must be
3121	// non-empty. Can only be set if all other fields are not set.
3122	Weights []*Weight `json:"weights,omitempty"`
3123
3124	// ForceSendFields is a list of field names (e.g. "Locations") to
3125	// unconditionally include in API requests. By default, fields with
3126	// empty values are omitted from API requests. However, any non-pointer,
3127	// non-interface field appearing in ForceSendFields will be sent to the
3128	// server regardless of whether the field is empty or not. This may be
3129	// used to include empty fields in Patch requests.
3130	ForceSendFields []string `json:"-"`
3131
3132	// NullFields is a list of field names (e.g. "Locations") to include in
3133	// API requests with the JSON null value. By default, fields with empty
3134	// values are omitted from API requests. However, any field with an
3135	// empty value appearing in NullFields will be sent to the server as
3136	// null. It is an error if a field in this list has a non-empty value.
3137	// This may be used to include null fields in Patch requests.
3138	NullFields []string `json:"-"`
3139}
3140
3141func (s *Headers) MarshalJSON() ([]byte, error) {
3142	type NoMethod Headers
3143	raw := NoMethod(*s)
3144	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3145}
3146
3147type HolidayCutoff struct {
3148	// DeadlineDate: Date of the order deadline, in ISO 8601 format. E.g.
3149	// "2016-11-29" for 29th November 2016. Required.
3150	DeadlineDate string `json:"deadlineDate,omitempty"`
3151
3152	// DeadlineHour: Hour of the day on the deadline date until which the
3153	// order has to be placed to qualify for the delivery guarantee.
3154	// Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23.
3155	// Required.
3156	DeadlineHour int64 `json:"deadlineHour,omitempty"`
3157
3158	// DeadlineTimezone: Timezone identifier for the deadline hour. A list
3159	// of identifiers can be found in the AdWords API documentation. E.g.
3160	// "Europe/Zurich". Required.
3161	DeadlineTimezone string `json:"deadlineTimezone,omitempty"`
3162
3163	// HolidayId: Unique identifier for the holiday. Required.
3164	HolidayId string `json:"holidayId,omitempty"`
3165
3166	// VisibleFromDate: Date on which the deadline will become visible to
3167	// consumers in ISO 8601 format. E.g. "2016-10-31" for 31st October
3168	// 2016. Required.
3169	VisibleFromDate string `json:"visibleFromDate,omitempty"`
3170
3171	// ForceSendFields is a list of field names (e.g. "DeadlineDate") to
3172	// unconditionally include in API requests. By default, fields with
3173	// empty values are omitted from API requests. However, any non-pointer,
3174	// non-interface field appearing in ForceSendFields will be sent to the
3175	// server regardless of whether the field is empty or not. This may be
3176	// used to include empty fields in Patch requests.
3177	ForceSendFields []string `json:"-"`
3178
3179	// NullFields is a list of field names (e.g. "DeadlineDate") to include
3180	// in API requests with the JSON null value. By default, fields with
3181	// empty values are omitted from API requests. However, any field with
3182	// an empty value appearing in NullFields will be sent to the server as
3183	// null. It is an error if a field in this list has a non-empty value.
3184	// This may be used to include null fields in Patch requests.
3185	NullFields []string `json:"-"`
3186}
3187
3188func (s *HolidayCutoff) MarshalJSON() ([]byte, error) {
3189	type NoMethod HolidayCutoff
3190	raw := NoMethod(*s)
3191	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3192}
3193
3194type HolidaysHoliday struct {
3195	// CountryCode: The CLDR territory code of the country in which the
3196	// holiday is available. E.g. "US", "DE", "GB". A holiday cutoff can
3197	// only be configured in a shipping settings service with matching
3198	// delivery country. Always present.
3199	CountryCode string `json:"countryCode,omitempty"`
3200
3201	// Date: Date of the holiday, in ISO 8601 format. E.g. "2016-12-25" for
3202	// Christmas 2016. Always present.
3203	Date string `json:"date,omitempty"`
3204
3205	// DeliveryGuaranteeDate: Date on which the order has to arrive at the
3206	// customer's, in ISO 8601 format. E.g. "2016-12-24" for 24th December
3207	// 2016. Always present.
3208	DeliveryGuaranteeDate string `json:"deliveryGuaranteeDate,omitempty"`
3209
3210	// DeliveryGuaranteeHour: Hour of the day in the delivery location's
3211	// timezone on the guaranteed delivery date by which the order has to
3212	// arrive at the customer's. Possible values are: 0 (midnight), 1, ...,
3213	// 12 (noon), 13, ..., 23. Always present.
3214	DeliveryGuaranteeHour uint64 `json:"deliveryGuaranteeHour,omitempty,string"`
3215
3216	// Id: Unique identifier for the holiday to be used when configuring
3217	// holiday cutoffs. Always present.
3218	Id string `json:"id,omitempty"`
3219
3220	// Type: The holiday type. Always present. Acceptable values are: -
3221	// "Christmas" - "Easter" - "Father's Day" - "Halloween" -
3222	// "Independence Day (USA)" - "Mother's Day" - "Thanksgiving" -
3223	// "Valentine's Day"
3224	Type string `json:"type,omitempty"`
3225
3226	// ForceSendFields is a list of field names (e.g. "CountryCode") to
3227	// unconditionally include in API requests. By default, fields with
3228	// empty values are omitted from API requests. However, any non-pointer,
3229	// non-interface field appearing in ForceSendFields will be sent to the
3230	// server regardless of whether the field is empty or not. This may be
3231	// used to include empty fields in Patch requests.
3232	ForceSendFields []string `json:"-"`
3233
3234	// NullFields is a list of field names (e.g. "CountryCode") to include
3235	// in API requests with the JSON null value. By default, fields with
3236	// empty values are omitted from API requests. However, any field with
3237	// an empty value appearing in NullFields will be sent to the server as
3238	// null. It is an error if a field in this list has a non-empty value.
3239	// This may be used to include null fields in Patch requests.
3240	NullFields []string `json:"-"`
3241}
3242
3243func (s *HolidaysHoliday) MarshalJSON() ([]byte, error) {
3244	type NoMethod HolidaysHoliday
3245	raw := NoMethod(*s)
3246	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3247}
3248
3249type Installment struct {
3250	// Amount: The amount the buyer has to pay per month.
3251	Amount *Price `json:"amount,omitempty"`
3252
3253	// Months: The number of installments the buyer has to pay.
3254	Months int64 `json:"months,omitempty,string"`
3255
3256	// ForceSendFields is a list of field names (e.g. "Amount") to
3257	// unconditionally include in API requests. By default, fields with
3258	// empty values are omitted from API requests. However, any non-pointer,
3259	// non-interface field appearing in ForceSendFields will be sent to the
3260	// server regardless of whether the field is empty or not. This may be
3261	// used to include empty fields in Patch requests.
3262	ForceSendFields []string `json:"-"`
3263
3264	// NullFields is a list of field names (e.g. "Amount") to include in API
3265	// requests with the JSON null value. By default, fields with empty
3266	// values are omitted from API requests. However, any field with an
3267	// empty value appearing in NullFields will be sent to the server as
3268	// null. It is an error if a field in this list has a non-empty value.
3269	// This may be used to include null fields in Patch requests.
3270	NullFields []string `json:"-"`
3271}
3272
3273func (s *Installment) MarshalJSON() ([]byte, error) {
3274	type NoMethod Installment
3275	raw := NoMethod(*s)
3276	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3277}
3278
3279type Inventory struct {
3280	// Availability: The availability of the product. Acceptable values are:
3281	// - "in stock" - "out of stock" - "preorder"
3282	Availability string `json:"availability,omitempty"`
3283
3284	// CustomLabel0: Custom label 0 for custom grouping of items in a
3285	// Shopping campaign. Only supported for online products.
3286	CustomLabel0 string `json:"customLabel0,omitempty"`
3287
3288	// CustomLabel1: Custom label 1 for custom grouping of items in a
3289	// Shopping campaign. Only supported for online products.
3290	CustomLabel1 string `json:"customLabel1,omitempty"`
3291
3292	// CustomLabel2: Custom label 2 for custom grouping of items in a
3293	// Shopping campaign. Only supported for online products.
3294	CustomLabel2 string `json:"customLabel2,omitempty"`
3295
3296	// CustomLabel3: Custom label 3 for custom grouping of items in a
3297	// Shopping campaign. Only supported for online products.
3298	CustomLabel3 string `json:"customLabel3,omitempty"`
3299
3300	// CustomLabel4: Custom label 3 for custom grouping of items in a
3301	// Shopping campaign. Only supported for online products.
3302	CustomLabel4 string `json:"customLabel4,omitempty"`
3303
3304	// Installment: Number and amount of installments to pay for an item.
3305	// Brazil only.
3306	Installment *Installment `json:"installment,omitempty"`
3307
3308	// InstoreProductLocation: The instore product location. Supported only
3309	// for local products.
3310	InstoreProductLocation string `json:"instoreProductLocation,omitempty"`
3311
3312	// Kind: Identifies what kind of resource this is. Value: the fixed
3313	// string "content#inventory"
3314	Kind string `json:"kind,omitempty"`
3315
3316	// LoyaltyPoints: Loyalty points that users receive after purchasing the
3317	// item. Japan only.
3318	LoyaltyPoints *LoyaltyPoints `json:"loyaltyPoints,omitempty"`
3319
3320	// Pickup: Store pickup information. Only supported for local inventory.
3321	// Not setting `pickup` means "don't update" while setting it to the
3322	// empty value (`{}` in JSON) means "delete". Otherwise, `pickupMethod`
3323	// and `pickupSla` must be set together, unless `pickupMethod` is "not
3324	// supported".
3325	Pickup *InventoryPickup `json:"pickup,omitempty"`
3326
3327	// Price: The price of the product.
3328	Price *Price `json:"price,omitempty"`
3329
3330	// Quantity: The quantity of the product. Must be equal to or greater
3331	// than zero. Supported only for local products.
3332	Quantity int64 `json:"quantity,omitempty"`
3333
3334	// SalePrice: The sale price of the product. Mandatory if
3335	// `sale_price_effective_date` is defined.
3336	SalePrice *Price `json:"salePrice,omitempty"`
3337
3338	// SalePriceEffectiveDate: A date range represented by a pair of ISO
3339	// 8601 dates separated by a space, comma, or slash. Both dates might be
3340	// specified as 'null' if undecided.
3341	SalePriceEffectiveDate string `json:"salePriceEffectiveDate,omitempty"`
3342
3343	// SellOnGoogleQuantity: The quantity of the product that is available
3344	// for selling on Google. Supported only for online products.
3345	SellOnGoogleQuantity int64 `json:"sellOnGoogleQuantity,omitempty"`
3346
3347	// ForceSendFields is a list of field names (e.g. "Availability") to
3348	// unconditionally include in API requests. By default, fields with
3349	// empty values are omitted from API requests. However, any non-pointer,
3350	// non-interface field appearing in ForceSendFields will be sent to the
3351	// server regardless of whether the field is empty or not. This may be
3352	// used to include empty fields in Patch requests.
3353	ForceSendFields []string `json:"-"`
3354
3355	// NullFields is a list of field names (e.g. "Availability") to include
3356	// in API requests with the JSON null value. By default, fields with
3357	// empty values are omitted from API requests. However, any field with
3358	// an empty value appearing in NullFields will be sent to the server as
3359	// null. It is an error if a field in this list has a non-empty value.
3360	// This may be used to include null fields in Patch requests.
3361	NullFields []string `json:"-"`
3362}
3363
3364func (s *Inventory) MarshalJSON() ([]byte, error) {
3365	type NoMethod Inventory
3366	raw := NoMethod(*s)
3367	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3368}
3369
3370type InventoryCustomBatchRequest struct {
3371	// Entries: The request entries to be processed in the batch.
3372	Entries []*InventoryCustomBatchRequestEntry `json:"entries,omitempty"`
3373
3374	// ForceSendFields is a list of field names (e.g. "Entries") to
3375	// unconditionally include in API requests. By default, fields with
3376	// empty values are omitted from API requests. However, any non-pointer,
3377	// non-interface field appearing in ForceSendFields will be sent to the
3378	// server regardless of whether the field is empty or not. This may be
3379	// used to include empty fields in Patch requests.
3380	ForceSendFields []string `json:"-"`
3381
3382	// NullFields is a list of field names (e.g. "Entries") to include in
3383	// API requests with the JSON null value. By default, fields with empty
3384	// values are omitted from API requests. However, any field with an
3385	// empty value appearing in NullFields will be sent to the server as
3386	// null. It is an error if a field in this list has a non-empty value.
3387	// This may be used to include null fields in Patch requests.
3388	NullFields []string `json:"-"`
3389}
3390
3391func (s *InventoryCustomBatchRequest) MarshalJSON() ([]byte, error) {
3392	type NoMethod InventoryCustomBatchRequest
3393	raw := NoMethod(*s)
3394	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3395}
3396
3397// InventoryCustomBatchRequestEntry: A batch entry encoding a single
3398// non-batch inventory request.
3399type InventoryCustomBatchRequestEntry struct {
3400	// BatchId: An entry ID, unique within the batch request.
3401	BatchId int64 `json:"batchId,omitempty"`
3402
3403	// Inventory: Price and availability of the product.
3404	Inventory *Inventory `json:"inventory,omitempty"`
3405
3406	// MerchantId: The ID of the managing account.
3407	MerchantId uint64 `json:"merchantId,omitempty,string"`
3408
3409	// ProductId: The ID of the product for which to update price and
3410	// availability.
3411	ProductId string `json:"productId,omitempty"`
3412
3413	// StoreCode: The code of the store for which to update price and
3414	// availability. Use `online` to update price and availability of an
3415	// online product.
3416	StoreCode string `json:"storeCode,omitempty"`
3417
3418	// ForceSendFields is a list of field names (e.g. "BatchId") to
3419	// unconditionally include in API requests. By default, fields with
3420	// empty values are omitted from API requests. However, any non-pointer,
3421	// non-interface field appearing in ForceSendFields will be sent to the
3422	// server regardless of whether the field is empty or not. This may be
3423	// used to include empty fields in Patch requests.
3424	ForceSendFields []string `json:"-"`
3425
3426	// NullFields is a list of field names (e.g. "BatchId") to include in
3427	// API requests with the JSON null value. By default, fields with empty
3428	// values are omitted from API requests. However, any field with an
3429	// empty value appearing in NullFields will be sent to the server as
3430	// null. It is an error if a field in this list has a non-empty value.
3431	// This may be used to include null fields in Patch requests.
3432	NullFields []string `json:"-"`
3433}
3434
3435func (s *InventoryCustomBatchRequestEntry) MarshalJSON() ([]byte, error) {
3436	type NoMethod InventoryCustomBatchRequestEntry
3437	raw := NoMethod(*s)
3438	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3439}
3440
3441type InventoryCustomBatchResponse struct {
3442	// Entries: The result of the execution of the batch requests.
3443	Entries []*InventoryCustomBatchResponseEntry `json:"entries,omitempty"`
3444
3445	// Kind: Identifies what kind of resource this is. Value: the fixed
3446	// string "content#inventoryCustomBatchResponse".
3447	Kind string `json:"kind,omitempty"`
3448
3449	// ServerResponse contains the HTTP response code and headers from the
3450	// server.
3451	googleapi.ServerResponse `json:"-"`
3452
3453	// ForceSendFields is a list of field names (e.g. "Entries") to
3454	// unconditionally include in API requests. By default, fields with
3455	// empty values are omitted from API requests. However, any non-pointer,
3456	// non-interface field appearing in ForceSendFields will be sent to the
3457	// server regardless of whether the field is empty or not. This may be
3458	// used to include empty fields in Patch requests.
3459	ForceSendFields []string `json:"-"`
3460
3461	// NullFields is a list of field names (e.g. "Entries") to include in
3462	// API requests with the JSON null value. By default, fields with empty
3463	// values are omitted from API requests. However, any field with an
3464	// empty value appearing in NullFields will be sent to the server as
3465	// null. It is an error if a field in this list has a non-empty value.
3466	// This may be used to include null fields in Patch requests.
3467	NullFields []string `json:"-"`
3468}
3469
3470func (s *InventoryCustomBatchResponse) MarshalJSON() ([]byte, error) {
3471	type NoMethod InventoryCustomBatchResponse
3472	raw := NoMethod(*s)
3473	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3474}
3475
3476// InventoryCustomBatchResponseEntry: A batch entry encoding a single
3477// non-batch inventory response.
3478type InventoryCustomBatchResponseEntry struct {
3479	// BatchId: The ID of the request entry this entry responds to.
3480	BatchId int64 `json:"batchId,omitempty"`
3481
3482	// Errors: A list of errors defined if and only if the request failed.
3483	Errors *Errors `json:"errors,omitempty"`
3484
3485	// Kind: Identifies what kind of resource this is. Value: the fixed
3486	// string "content#inventoryCustomBatchResponseEntry"
3487	Kind string `json:"kind,omitempty"`
3488
3489	// ForceSendFields is a list of field names (e.g. "BatchId") to
3490	// unconditionally include in API requests. By default, fields with
3491	// empty values are omitted from API requests. However, any non-pointer,
3492	// non-interface field appearing in ForceSendFields will be sent to the
3493	// server regardless of whether the field is empty or not. This may be
3494	// used to include empty fields in Patch requests.
3495	ForceSendFields []string `json:"-"`
3496
3497	// NullFields is a list of field names (e.g. "BatchId") to include in
3498	// API requests with the JSON null value. By default, fields with empty
3499	// values are omitted from API requests. However, any field with an
3500	// empty value appearing in NullFields will be sent to the server as
3501	// null. It is an error if a field in this list has a non-empty value.
3502	// This may be used to include null fields in Patch requests.
3503	NullFields []string `json:"-"`
3504}
3505
3506func (s *InventoryCustomBatchResponseEntry) MarshalJSON() ([]byte, error) {
3507	type NoMethod InventoryCustomBatchResponseEntry
3508	raw := NoMethod(*s)
3509	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3510}
3511
3512type InventoryPickup struct {
3513	// PickupMethod: Whether store pickup is available for this offer and
3514	// whether the pickup option should be shown as buy, reserve, or not
3515	// supported. Only supported for local inventory. Unless the value is
3516	// "not supported", must be submitted together with `pickupSla`.
3517	// Acceptable values are: - "buy" - "not supported" - "reserve" -
3518	// "ship to store"
3519	PickupMethod string `json:"pickupMethod,omitempty"`
3520
3521	// PickupSla: The expected date that an order will be ready for pickup,
3522	// relative to when the order is placed. Only supported for local
3523	// inventory. Must be submitted together with `pickupMethod`. Acceptable
3524	// values are: - "five day" - "four day" - "multi day" - "multi
3525	// week" - "next day" - "same day" - "seven day" - "six day" -
3526	// "three day" - "two day"
3527	PickupSla string `json:"pickupSla,omitempty"`
3528
3529	// ForceSendFields is a list of field names (e.g. "PickupMethod") to
3530	// unconditionally include in API requests. By default, fields with
3531	// empty values are omitted from API requests. However, any non-pointer,
3532	// non-interface field appearing in ForceSendFields will be sent to the
3533	// server regardless of whether the field is empty or not. This may be
3534	// used to include empty fields in Patch requests.
3535	ForceSendFields []string `json:"-"`
3536
3537	// NullFields is a list of field names (e.g. "PickupMethod") to include
3538	// in API requests with the JSON null value. By default, fields with
3539	// empty values are omitted from API requests. However, any field with
3540	// an empty value appearing in NullFields will be sent to the server as
3541	// null. It is an error if a field in this list has a non-empty value.
3542	// This may be used to include null fields in Patch requests.
3543	NullFields []string `json:"-"`
3544}
3545
3546func (s *InventoryPickup) MarshalJSON() ([]byte, error) {
3547	type NoMethod InventoryPickup
3548	raw := NoMethod(*s)
3549	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3550}
3551
3552type InventorySetRequest struct {
3553	// Availability: The availability of the product. Acceptable values are:
3554	// - "in stock" - "out of stock" - "preorder"
3555	Availability string `json:"availability,omitempty"`
3556
3557	// CustomLabel0: Custom label 0 for custom grouping of items in a
3558	// Shopping campaign. Only supported for online products.
3559	CustomLabel0 string `json:"customLabel0,omitempty"`
3560
3561	// CustomLabel1: Custom label 1 for custom grouping of items in a
3562	// Shopping campaign. Only supported for online products.
3563	CustomLabel1 string `json:"customLabel1,omitempty"`
3564
3565	// CustomLabel2: Custom label 2 for custom grouping of items in a
3566	// Shopping campaign. Only supported for online products.
3567	CustomLabel2 string `json:"customLabel2,omitempty"`
3568
3569	// CustomLabel3: Custom label 3 for custom grouping of items in a
3570	// Shopping campaign. Only supported for online products.
3571	CustomLabel3 string `json:"customLabel3,omitempty"`
3572
3573	// CustomLabel4: Custom label 3 for custom grouping of items in a
3574	// Shopping campaign. Only supported for online products.
3575	CustomLabel4 string `json:"customLabel4,omitempty"`
3576
3577	// Installment: Number and amount of installments to pay for an item.
3578	// Brazil only.
3579	Installment *Installment `json:"installment,omitempty"`
3580
3581	// InstoreProductLocation: The instore product location. Supported only
3582	// for local products.
3583	InstoreProductLocation string `json:"instoreProductLocation,omitempty"`
3584
3585	// LoyaltyPoints: Loyalty points that users receive after purchasing the
3586	// item. Japan only.
3587	LoyaltyPoints *LoyaltyPoints `json:"loyaltyPoints,omitempty"`
3588
3589	// Pickup: Store pickup information. Only supported for local inventory.
3590	// Not setting `pickup` means "don't update" while setting it to the
3591	// empty value (`{}` in JSON) means "delete". Otherwise, `pickupMethod`
3592	// and `pickupSla` must be set together, unless `pickupMethod` is "not
3593	// supported".
3594	Pickup *InventoryPickup `json:"pickup,omitempty"`
3595
3596	// Price: The price of the product.
3597	Price *Price `json:"price,omitempty"`
3598
3599	// Quantity: The quantity of the product. Must be equal to or greater
3600	// than zero. Supported only for local products.
3601	Quantity int64 `json:"quantity,omitempty"`
3602
3603	// SalePrice: The sale price of the product. Mandatory if
3604	// `sale_price_effective_date` is defined.
3605	SalePrice *Price `json:"salePrice,omitempty"`
3606
3607	// SalePriceEffectiveDate: A date range represented by a pair of ISO
3608	// 8601 dates separated by a space, comma, or slash. Both dates might be
3609	// specified as 'null' if undecided.
3610	SalePriceEffectiveDate string `json:"salePriceEffectiveDate,omitempty"`
3611
3612	// SellOnGoogleQuantity: The quantity of the product that is available
3613	// for selling on Google. Supported only for online products.
3614	SellOnGoogleQuantity int64 `json:"sellOnGoogleQuantity,omitempty"`
3615
3616	// ForceSendFields is a list of field names (e.g. "Availability") to
3617	// unconditionally include in API requests. By default, fields with
3618	// empty values are omitted from API requests. However, any non-pointer,
3619	// non-interface field appearing in ForceSendFields will be sent to the
3620	// server regardless of whether the field is empty or not. This may be
3621	// used to include empty fields in Patch requests.
3622	ForceSendFields []string `json:"-"`
3623
3624	// NullFields is a list of field names (e.g. "Availability") to include
3625	// in API requests with the JSON null value. By default, fields with
3626	// empty values are omitted from API requests. However, any field with
3627	// an empty value appearing in NullFields will be sent to the server as
3628	// null. It is an error if a field in this list has a non-empty value.
3629	// This may be used to include null fields in Patch requests.
3630	NullFields []string `json:"-"`
3631}
3632
3633func (s *InventorySetRequest) MarshalJSON() ([]byte, error) {
3634	type NoMethod InventorySetRequest
3635	raw := NoMethod(*s)
3636	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3637}
3638
3639type InventorySetResponse struct {
3640	// Kind: Identifies what kind of resource this is. Value: the fixed
3641	// string "content#inventorySetResponse".
3642	Kind string `json:"kind,omitempty"`
3643
3644	// ServerResponse contains the HTTP response code and headers from the
3645	// server.
3646	googleapi.ServerResponse `json:"-"`
3647
3648	// ForceSendFields is a list of field names (e.g. "Kind") to
3649	// unconditionally include in API requests. By default, fields with
3650	// empty values are omitted from API requests. However, any non-pointer,
3651	// non-interface field appearing in ForceSendFields will be sent to the
3652	// server regardless of whether the field is empty or not. This may be
3653	// used to include empty fields in Patch requests.
3654	ForceSendFields []string `json:"-"`
3655
3656	// NullFields is a list of field names (e.g. "Kind") to include in API
3657	// requests with the JSON null value. By default, fields with empty
3658	// values are omitted from API requests. However, any field with an
3659	// empty value appearing in NullFields will be sent to the server as
3660	// null. It is an error if a field in this list has a non-empty value.
3661	// This may be used to include null fields in Patch requests.
3662	NullFields []string `json:"-"`
3663}
3664
3665func (s *InventorySetResponse) MarshalJSON() ([]byte, error) {
3666	type NoMethod InventorySetResponse
3667	raw := NoMethod(*s)
3668	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3669}
3670
3671type InvoiceSummary struct {
3672	// AdditionalChargeSummaries: Summary of the total amounts of the
3673	// additional charges.
3674	AdditionalChargeSummaries []*InvoiceSummaryAdditionalChargeSummary `json:"additionalChargeSummaries,omitempty"`
3675
3676	// CustomerBalance: Deprecated.
3677	CustomerBalance *Amount `json:"customerBalance,omitempty"`
3678
3679	// GoogleBalance: Deprecated.
3680	GoogleBalance *Amount `json:"googleBalance,omitempty"`
3681
3682	// MerchantBalance: Deprecated.
3683	MerchantBalance *Amount `json:"merchantBalance,omitempty"`
3684
3685	// ProductTotal: [required] Total price for the product.
3686	ProductTotal *Amount `json:"productTotal,omitempty"`
3687
3688	// PromotionSummaries: Deprecated.
3689	PromotionSummaries []*Promotion `json:"promotionSummaries,omitempty"`
3690
3691	// ForceSendFields is a list of field names (e.g.
3692	// "AdditionalChargeSummaries") to unconditionally include in API
3693	// requests. By default, fields with empty values are omitted from API
3694	// requests. However, any non-pointer, non-interface field appearing in
3695	// ForceSendFields will be sent to the server regardless of whether the
3696	// field is empty or not. This may be used to include empty fields in
3697	// Patch requests.
3698	ForceSendFields []string `json:"-"`
3699
3700	// NullFields is a list of field names (e.g.
3701	// "AdditionalChargeSummaries") to include in API requests with the JSON
3702	// null value. By default, fields with empty values are omitted from API
3703	// requests. However, any field with an empty value appearing in
3704	// NullFields will be sent to the server as null. It is an error if a
3705	// field in this list has a non-empty value. This may be used to include
3706	// null fields in Patch requests.
3707	NullFields []string `json:"-"`
3708}
3709
3710func (s *InvoiceSummary) MarshalJSON() ([]byte, error) {
3711	type NoMethod InvoiceSummary
3712	raw := NoMethod(*s)
3713	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3714}
3715
3716type InvoiceSummaryAdditionalChargeSummary struct {
3717	// TotalAmount: [required] Total additional charge for this type.
3718	TotalAmount *Amount `json:"totalAmount,omitempty"`
3719
3720	// Type: [required] Type of the additional charge. Acceptable values
3721	// are: - "shipping"
3722	Type string `json:"type,omitempty"`
3723
3724	// ForceSendFields is a list of field names (e.g. "TotalAmount") to
3725	// unconditionally include in API requests. By default, fields with
3726	// empty values are omitted from API requests. However, any non-pointer,
3727	// non-interface field appearing in ForceSendFields will be sent to the
3728	// server regardless of whether the field is empty or not. This may be
3729	// used to include empty fields in Patch requests.
3730	ForceSendFields []string `json:"-"`
3731
3732	// NullFields is a list of field names (e.g. "TotalAmount") to include
3733	// in API requests with the JSON null value. By default, fields with
3734	// empty values are omitted from API requests. However, any field with
3735	// an empty value appearing in NullFields will be sent to the server as
3736	// null. It is an error if a field in this list has a non-empty value.
3737	// This may be used to include null fields in Patch requests.
3738	NullFields []string `json:"-"`
3739}
3740
3741func (s *InvoiceSummaryAdditionalChargeSummary) MarshalJSON() ([]byte, error) {
3742	type NoMethod InvoiceSummaryAdditionalChargeSummary
3743	raw := NoMethod(*s)
3744	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3745}
3746
3747type LiaAboutPageSettings struct {
3748	// Status: The status of the verification process for the About page.
3749	// Acceptable values are: - "active" - "inactive" - "pending"
3750	Status string `json:"status,omitempty"`
3751
3752	// Url: The URL for the About page.
3753	Url string `json:"url,omitempty"`
3754
3755	// ForceSendFields is a list of field names (e.g. "Status") to
3756	// unconditionally include in API requests. By default, fields with
3757	// empty values are omitted from API requests. However, any non-pointer,
3758	// non-interface field appearing in ForceSendFields will be sent to the
3759	// server regardless of whether the field is empty or not. This may be
3760	// used to include empty fields in Patch requests.
3761	ForceSendFields []string `json:"-"`
3762
3763	// NullFields is a list of field names (e.g. "Status") to include in API
3764	// requests with the JSON null value. By default, fields with empty
3765	// values are omitted from API requests. However, any field with an
3766	// empty value appearing in NullFields will be sent to the server as
3767	// null. It is an error if a field in this list has a non-empty value.
3768	// This may be used to include null fields in Patch requests.
3769	NullFields []string `json:"-"`
3770}
3771
3772func (s *LiaAboutPageSettings) MarshalJSON() ([]byte, error) {
3773	type NoMethod LiaAboutPageSettings
3774	raw := NoMethod(*s)
3775	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3776}
3777
3778type LiaCountrySettings struct {
3779	// About: The settings for the About page.
3780	About *LiaAboutPageSettings `json:"about,omitempty"`
3781
3782	// Country: Required. CLDR country code (e.g. "US").
3783	Country string `json:"country,omitempty"`
3784
3785	// HostedLocalStorefrontActive: The status of the "Merchant hosted local
3786	// storefront" feature.
3787	HostedLocalStorefrontActive bool `json:"hostedLocalStorefrontActive,omitempty"`
3788
3789	// Inventory: LIA inventory verification settings.
3790	Inventory *LiaInventorySettings `json:"inventory,omitempty"`
3791
3792	// OnDisplayToOrder: LIA "On Display To Order" settings.
3793	OnDisplayToOrder *LiaOnDisplayToOrderSettings `json:"onDisplayToOrder,omitempty"`
3794
3795	// PosDataProvider: The POS data provider linked with this country.
3796	PosDataProvider *LiaPosDataProvider `json:"posDataProvider,omitempty"`
3797
3798	// StorePickupActive: The status of the "Store pickup" feature.
3799	StorePickupActive bool `json:"storePickupActive,omitempty"`
3800
3801	// ForceSendFields is a list of field names (e.g. "About") to
3802	// unconditionally include in API requests. By default, fields with
3803	// empty values are omitted from API requests. However, any non-pointer,
3804	// non-interface field appearing in ForceSendFields will be sent to the
3805	// server regardless of whether the field is empty or not. This may be
3806	// used to include empty fields in Patch requests.
3807	ForceSendFields []string `json:"-"`
3808
3809	// NullFields is a list of field names (e.g. "About") to include in API
3810	// requests with the JSON null value. By default, fields with empty
3811	// values are omitted from API requests. However, any field with an
3812	// empty value appearing in NullFields will be sent to the server as
3813	// null. It is an error if a field in this list has a non-empty value.
3814	// This may be used to include null fields in Patch requests.
3815	NullFields []string `json:"-"`
3816}
3817
3818func (s *LiaCountrySettings) MarshalJSON() ([]byte, error) {
3819	type NoMethod LiaCountrySettings
3820	raw := NoMethod(*s)
3821	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3822}
3823
3824type LiaInventorySettings struct {
3825	// InventoryVerificationContactEmail: The email of the contact for the
3826	// inventory verification process.
3827	InventoryVerificationContactEmail string `json:"inventoryVerificationContactEmail,omitempty"`
3828
3829	// InventoryVerificationContactName: The name of the contact for the
3830	// inventory verification process.
3831	InventoryVerificationContactName string `json:"inventoryVerificationContactName,omitempty"`
3832
3833	// InventoryVerificationContactStatus: The status of the verification
3834	// contact. Acceptable values are: - "active" - "inactive" -
3835	// "pending"
3836	InventoryVerificationContactStatus string `json:"inventoryVerificationContactStatus,omitempty"`
3837
3838	// Status: The status of the inventory verification process. Acceptable
3839	// values are: - "active" - "inactive" - "pending"
3840	Status string `json:"status,omitempty"`
3841
3842	// ForceSendFields is a list of field names (e.g.
3843	// "InventoryVerificationContactEmail") to unconditionally include in
3844	// API requests. By default, fields with empty values are omitted from
3845	// API requests. However, any non-pointer, non-interface field appearing
3846	// in ForceSendFields will be sent to the server regardless of whether
3847	// the field is empty or not. This may be used to include empty fields
3848	// in Patch requests.
3849	ForceSendFields []string `json:"-"`
3850
3851	// NullFields is a list of field names (e.g.
3852	// "InventoryVerificationContactEmail") to include in API requests with
3853	// the JSON null value. By default, fields with empty values are omitted
3854	// from API requests. However, any field with an empty value appearing
3855	// in NullFields will be sent to the server as null. It is an error if a
3856	// field in this list has a non-empty value. This may be used to include
3857	// null fields in Patch requests.
3858	NullFields []string `json:"-"`
3859}
3860
3861func (s *LiaInventorySettings) MarshalJSON() ([]byte, error) {
3862	type NoMethod LiaInventorySettings
3863	raw := NoMethod(*s)
3864	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3865}
3866
3867type LiaOnDisplayToOrderSettings struct {
3868	// ShippingCostPolicyUrl: Shipping cost and policy URL.
3869	ShippingCostPolicyUrl string `json:"shippingCostPolicyUrl,omitempty"`
3870
3871	// Status: The status of the ?On display to order? feature. Acceptable
3872	// values are: - "active" - "inactive" - "pending"
3873	Status string `json:"status,omitempty"`
3874
3875	// ForceSendFields is a list of field names (e.g.
3876	// "ShippingCostPolicyUrl") to unconditionally include in API requests.
3877	// By default, fields with empty values are omitted from API requests.
3878	// However, any non-pointer, non-interface field appearing in
3879	// ForceSendFields will be sent to the server regardless of whether the
3880	// field is empty or not. This may be used to include empty fields in
3881	// Patch requests.
3882	ForceSendFields []string `json:"-"`
3883
3884	// NullFields is a list of field names (e.g. "ShippingCostPolicyUrl") to
3885	// include in API requests with the JSON null value. By default, fields
3886	// with empty values are omitted from API requests. However, any field
3887	// with an empty value appearing in NullFields will be sent to the
3888	// server as null. It is an error if a field in this list has a
3889	// non-empty value. This may be used to include null fields in Patch
3890	// requests.
3891	NullFields []string `json:"-"`
3892}
3893
3894func (s *LiaOnDisplayToOrderSettings) MarshalJSON() ([]byte, error) {
3895	type NoMethod LiaOnDisplayToOrderSettings
3896	raw := NoMethod(*s)
3897	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3898}
3899
3900type LiaPosDataProvider struct {
3901	// PosDataProviderId: The ID of the POS data provider.
3902	PosDataProviderId uint64 `json:"posDataProviderId,omitempty,string"`
3903
3904	// PosExternalAccountId: The account ID by which this merchant is known
3905	// to the POS data provider.
3906	PosExternalAccountId string `json:"posExternalAccountId,omitempty"`
3907
3908	// ForceSendFields is a list of field names (e.g. "PosDataProviderId")
3909	// to unconditionally include in API requests. By default, fields with
3910	// empty values are omitted from API requests. However, any non-pointer,
3911	// non-interface field appearing in ForceSendFields will be sent to the
3912	// server regardless of whether the field is empty or not. This may be
3913	// used to include empty fields in Patch requests.
3914	ForceSendFields []string `json:"-"`
3915
3916	// NullFields is a list of field names (e.g. "PosDataProviderId") to
3917	// include in API requests with the JSON null value. By default, fields
3918	// with empty values are omitted from API requests. However, any field
3919	// with an empty value appearing in NullFields will be sent to the
3920	// server as null. It is an error if a field in this list has a
3921	// non-empty value. This may be used to include null fields in Patch
3922	// requests.
3923	NullFields []string `json:"-"`
3924}
3925
3926func (s *LiaPosDataProvider) MarshalJSON() ([]byte, error) {
3927	type NoMethod LiaPosDataProvider
3928	raw := NoMethod(*s)
3929	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3930}
3931
3932// LiaSettings: Local Inventory ads (LIA) settings. All methods except
3933// listposdataproviders require the admin role.
3934type LiaSettings struct {
3935	// AccountId: The ID of the account to which these LIA settings belong.
3936	// Ignored upon update, always present in get request responses.
3937	AccountId uint64 `json:"accountId,omitempty,string"`
3938
3939	// CountrySettings: The LIA settings for each country.
3940	CountrySettings []*LiaCountrySettings `json:"countrySettings,omitempty"`
3941
3942	// Kind: Identifies what kind of resource this is. Value: the fixed
3943	// string "content#liaSettings"
3944	Kind string `json:"kind,omitempty"`
3945
3946	// ServerResponse contains the HTTP response code and headers from the
3947	// server.
3948	googleapi.ServerResponse `json:"-"`
3949
3950	// ForceSendFields is a list of field names (e.g. "AccountId") to
3951	// unconditionally include in API requests. By default, fields with
3952	// empty values are omitted from API requests. However, any non-pointer,
3953	// non-interface field appearing in ForceSendFields will be sent to the
3954	// server regardless of whether the field is empty or not. This may be
3955	// used to include empty fields in Patch requests.
3956	ForceSendFields []string `json:"-"`
3957
3958	// NullFields is a list of field names (e.g. "AccountId") to include in
3959	// API requests with the JSON null value. By default, fields with empty
3960	// values are omitted from API requests. However, any field with an
3961	// empty value appearing in NullFields will be sent to the server as
3962	// null. It is an error if a field in this list has a non-empty value.
3963	// This may be used to include null fields in Patch requests.
3964	NullFields []string `json:"-"`
3965}
3966
3967func (s *LiaSettings) MarshalJSON() ([]byte, error) {
3968	type NoMethod LiaSettings
3969	raw := NoMethod(*s)
3970	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3971}
3972
3973type LiasettingsCustomBatchRequest struct {
3974	// Entries: The request entries to be processed in the batch.
3975	Entries []*LiasettingsCustomBatchRequestEntry `json:"entries,omitempty"`
3976
3977	// ForceSendFields is a list of field names (e.g. "Entries") to
3978	// unconditionally include in API requests. By default, fields with
3979	// empty values are omitted from API requests. However, any non-pointer,
3980	// non-interface field appearing in ForceSendFields will be sent to the
3981	// server regardless of whether the field is empty or not. This may be
3982	// used to include empty fields in Patch requests.
3983	ForceSendFields []string `json:"-"`
3984
3985	// NullFields is a list of field names (e.g. "Entries") to include in
3986	// API requests with the JSON null value. By default, fields with empty
3987	// values are omitted from API requests. However, any field with an
3988	// empty value appearing in NullFields will be sent to the server as
3989	// null. It is an error if a field in this list has a non-empty value.
3990	// This may be used to include null fields in Patch requests.
3991	NullFields []string `json:"-"`
3992}
3993
3994func (s *LiasettingsCustomBatchRequest) MarshalJSON() ([]byte, error) {
3995	type NoMethod LiasettingsCustomBatchRequest
3996	raw := NoMethod(*s)
3997	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3998}
3999
4000type LiasettingsCustomBatchRequestEntry struct {
4001	// AccountId: The ID of the account for which to get/update account LIA
4002	// settings.
4003	AccountId uint64 `json:"accountId,omitempty,string"`
4004
4005	// BatchId: An entry ID, unique within the batch request.
4006	BatchId int64 `json:"batchId,omitempty"`
4007
4008	// ContactEmail: Inventory validation contact email. Required only for
4009	// SetInventoryValidationContact.
4010	ContactEmail string `json:"contactEmail,omitempty"`
4011
4012	// ContactName: Inventory validation contact name. Required only for
4013	// SetInventoryValidationContact.
4014	ContactName string `json:"contactName,omitempty"`
4015
4016	// Country: The country code. Required only for
4017	// RequestInventoryVerification.
4018	Country string `json:"country,omitempty"`
4019
4020	// GmbEmail: The GMB account. Required only for RequestGmbAccess.
4021	GmbEmail string `json:"gmbEmail,omitempty"`
4022
4023	// LiaSettings: The account Lia settings to update. Only defined if the
4024	// method is `update`.
4025	LiaSettings *LiaSettings `json:"liaSettings,omitempty"`
4026
4027	// MerchantId: The ID of the managing account.
4028	MerchantId uint64 `json:"merchantId,omitempty,string"`
4029
4030	// Method: The method of the batch entry. Acceptable values are: -
4031	// "get" - "getAccessibleGmbAccounts" - "requestGmbAccess" -
4032	// "requestInventoryVerification" -
4033	// "setInventoryVerificationContact" - "update"
4034	Method string `json:"method,omitempty"`
4035
4036	// PosDataProviderId: The ID of POS data provider. Required only for
4037	// SetPosProvider.
4038	PosDataProviderId uint64 `json:"posDataProviderId,omitempty,string"`
4039
4040	// PosExternalAccountId: The account ID by which this merchant is known
4041	// to the POS provider.
4042	PosExternalAccountId string `json:"posExternalAccountId,omitempty"`
4043
4044	// ForceSendFields is a list of field names (e.g. "AccountId") to
4045	// unconditionally include in API requests. By default, fields with
4046	// empty values are omitted from API requests. However, any non-pointer,
4047	// non-interface field appearing in ForceSendFields will be sent to the
4048	// server regardless of whether the field is empty or not. This may be
4049	// used to include empty fields in Patch requests.
4050	ForceSendFields []string `json:"-"`
4051
4052	// NullFields is a list of field names (e.g. "AccountId") to include in
4053	// API requests with the JSON null value. By default, fields with empty
4054	// values are omitted from API requests. However, any field with an
4055	// empty value appearing in NullFields will be sent to the server as
4056	// null. It is an error if a field in this list has a non-empty value.
4057	// This may be used to include null fields in Patch requests.
4058	NullFields []string `json:"-"`
4059}
4060
4061func (s *LiasettingsCustomBatchRequestEntry) MarshalJSON() ([]byte, error) {
4062	type NoMethod LiasettingsCustomBatchRequestEntry
4063	raw := NoMethod(*s)
4064	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4065}
4066
4067type LiasettingsCustomBatchResponse struct {
4068	// Entries: The result of the execution of the batch requests.
4069	Entries []*LiasettingsCustomBatchResponseEntry `json:"entries,omitempty"`
4070
4071	// Kind: Identifies what kind of resource this is. Value: the fixed
4072	// string "content#liasettingsCustomBatchResponse".
4073	Kind string `json:"kind,omitempty"`
4074
4075	// ServerResponse contains the HTTP response code and headers from the
4076	// server.
4077	googleapi.ServerResponse `json:"-"`
4078
4079	// ForceSendFields is a list of field names (e.g. "Entries") to
4080	// unconditionally include in API requests. By default, fields with
4081	// empty values are omitted from API requests. However, any non-pointer,
4082	// non-interface field appearing in ForceSendFields will be sent to the
4083	// server regardless of whether the field is empty or not. This may be
4084	// used to include empty fields in Patch requests.
4085	ForceSendFields []string `json:"-"`
4086
4087	// NullFields is a list of field names (e.g. "Entries") to include in
4088	// API requests with the JSON null value. By default, fields with empty
4089	// values are omitted from API requests. However, any field with an
4090	// empty value appearing in NullFields will be sent to the server as
4091	// null. It is an error if a field in this list has a non-empty value.
4092	// This may be used to include null fields in Patch requests.
4093	NullFields []string `json:"-"`
4094}
4095
4096func (s *LiasettingsCustomBatchResponse) MarshalJSON() ([]byte, error) {
4097	type NoMethod LiasettingsCustomBatchResponse
4098	raw := NoMethod(*s)
4099	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4100}
4101
4102type LiasettingsCustomBatchResponseEntry struct {
4103	// BatchId: The ID of the request entry to which this entry responds.
4104	BatchId int64 `json:"batchId,omitempty"`
4105
4106	// Errors: A list of errors defined if, and only if, the request failed.
4107	Errors *Errors `json:"errors,omitempty"`
4108
4109	// GmbAccounts: The list of accessible GMB accounts.
4110	GmbAccounts *GmbAccounts `json:"gmbAccounts,omitempty"`
4111
4112	// Kind: Identifies what kind of resource this is. Value: the fixed
4113	// string "content#liasettingsCustomBatchResponseEntry"
4114	Kind string `json:"kind,omitempty"`
4115
4116	// LiaSettings: The retrieved or updated Lia settings.
4117	LiaSettings *LiaSettings `json:"liaSettings,omitempty"`
4118
4119	// PosDataProviders: The list of POS data providers.
4120	PosDataProviders []*PosDataProviders `json:"posDataProviders,omitempty"`
4121
4122	// ForceSendFields is a list of field names (e.g. "BatchId") to
4123	// unconditionally include in API requests. By default, fields with
4124	// empty values are omitted from API requests. However, any non-pointer,
4125	// non-interface field appearing in ForceSendFields will be sent to the
4126	// server regardless of whether the field is empty or not. This may be
4127	// used to include empty fields in Patch requests.
4128	ForceSendFields []string `json:"-"`
4129
4130	// NullFields is a list of field names (e.g. "BatchId") to include in
4131	// API requests with the JSON null value. By default, fields with empty
4132	// values are omitted from API requests. However, any field with an
4133	// empty value appearing in NullFields will be sent to the server as
4134	// null. It is an error if a field in this list has a non-empty value.
4135	// This may be used to include null fields in Patch requests.
4136	NullFields []string `json:"-"`
4137}
4138
4139func (s *LiasettingsCustomBatchResponseEntry) MarshalJSON() ([]byte, error) {
4140	type NoMethod LiasettingsCustomBatchResponseEntry
4141	raw := NoMethod(*s)
4142	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4143}
4144
4145type LiasettingsGetAccessibleGmbAccountsResponse struct {
4146	// AccountId: The ID of the Merchant Center account.
4147	AccountId uint64 `json:"accountId,omitempty,string"`
4148
4149	// GmbAccounts: A list of GMB accounts which are available to the
4150	// merchant.
4151	GmbAccounts []*GmbAccountsGmbAccount `json:"gmbAccounts,omitempty"`
4152
4153	// Kind: Identifies what kind of resource this is. Value: the fixed
4154	// string "content#liasettingsGetAccessibleGmbAccountsResponse".
4155	Kind string `json:"kind,omitempty"`
4156
4157	// ServerResponse contains the HTTP response code and headers from the
4158	// server.
4159	googleapi.ServerResponse `json:"-"`
4160
4161	// ForceSendFields is a list of field names (e.g. "AccountId") to
4162	// unconditionally include in API requests. By default, fields with
4163	// empty values are omitted from API requests. However, any non-pointer,
4164	// non-interface field appearing in ForceSendFields will be sent to the
4165	// server regardless of whether the field is empty or not. This may be
4166	// used to include empty fields in Patch requests.
4167	ForceSendFields []string `json:"-"`
4168
4169	// NullFields is a list of field names (e.g. "AccountId") to include in
4170	// API requests with the JSON null value. By default, fields with empty
4171	// values are omitted from API requests. However, any field with an
4172	// empty value appearing in NullFields will be sent to the server as
4173	// null. It is an error if a field in this list has a non-empty value.
4174	// This may be used to include null fields in Patch requests.
4175	NullFields []string `json:"-"`
4176}
4177
4178func (s *LiasettingsGetAccessibleGmbAccountsResponse) MarshalJSON() ([]byte, error) {
4179	type NoMethod LiasettingsGetAccessibleGmbAccountsResponse
4180	raw := NoMethod(*s)
4181	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4182}
4183
4184type LiasettingsListPosDataProvidersResponse struct {
4185	// Kind: Identifies what kind of resource this is. Value: the fixed
4186	// string "content#liasettingsListPosDataProvidersResponse".
4187	Kind string `json:"kind,omitempty"`
4188
4189	// PosDataProviders: The list of POS data providers for each eligible
4190	// country
4191	PosDataProviders []*PosDataProviders `json:"posDataProviders,omitempty"`
4192
4193	// ServerResponse contains the HTTP response code and headers from the
4194	// server.
4195	googleapi.ServerResponse `json:"-"`
4196
4197	// ForceSendFields is a list of field names (e.g. "Kind") to
4198	// unconditionally include in API requests. By default, fields with
4199	// empty values are omitted from API requests. However, any non-pointer,
4200	// non-interface field appearing in ForceSendFields will be sent to the
4201	// server regardless of whether the field is empty or not. This may be
4202	// used to include empty fields in Patch requests.
4203	ForceSendFields []string `json:"-"`
4204
4205	// NullFields is a list of field names (e.g. "Kind") to include in API
4206	// requests with the JSON null value. By default, fields with empty
4207	// values are omitted from API requests. However, any field with an
4208	// empty value appearing in NullFields will be sent to the server as
4209	// null. It is an error if a field in this list has a non-empty value.
4210	// This may be used to include null fields in Patch requests.
4211	NullFields []string `json:"-"`
4212}
4213
4214func (s *LiasettingsListPosDataProvidersResponse) MarshalJSON() ([]byte, error) {
4215	type NoMethod LiasettingsListPosDataProvidersResponse
4216	raw := NoMethod(*s)
4217	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4218}
4219
4220type LiasettingsListResponse struct {
4221	// Kind: Identifies what kind of resource this is. Value: the fixed
4222	// string "content#liasettingsListResponse".
4223	Kind string `json:"kind,omitempty"`
4224
4225	// NextPageToken: The token for the retrieval of the next page of LIA
4226	// settings.
4227	NextPageToken string `json:"nextPageToken,omitempty"`
4228
4229	Resources []*LiaSettings `json:"resources,omitempty"`
4230
4231	// ServerResponse contains the HTTP response code and headers from the
4232	// server.
4233	googleapi.ServerResponse `json:"-"`
4234
4235	// ForceSendFields is a list of field names (e.g. "Kind") to
4236	// unconditionally include in API requests. By default, fields with
4237	// empty values are omitted from API requests. However, any non-pointer,
4238	// non-interface field appearing in ForceSendFields will be sent to the
4239	// server regardless of whether the field is empty or not. This may be
4240	// used to include empty fields in Patch requests.
4241	ForceSendFields []string `json:"-"`
4242
4243	// NullFields is a list of field names (e.g. "Kind") to include in API
4244	// requests with the JSON null value. By default, fields with empty
4245	// values are omitted from API requests. However, any field with an
4246	// empty value appearing in NullFields will be sent to the server as
4247	// null. It is an error if a field in this list has a non-empty value.
4248	// This may be used to include null fields in Patch requests.
4249	NullFields []string `json:"-"`
4250}
4251
4252func (s *LiasettingsListResponse) MarshalJSON() ([]byte, error) {
4253	type NoMethod LiasettingsListResponse
4254	raw := NoMethod(*s)
4255	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4256}
4257
4258type LiasettingsRequestGmbAccessResponse struct {
4259	// Kind: Identifies what kind of resource this is. Value: the fixed
4260	// string "content#liasettingsRequestGmbAccessResponse".
4261	Kind string `json:"kind,omitempty"`
4262
4263	// ServerResponse contains the HTTP response code and headers from the
4264	// server.
4265	googleapi.ServerResponse `json:"-"`
4266
4267	// ForceSendFields is a list of field names (e.g. "Kind") to
4268	// unconditionally include in API requests. By default, fields with
4269	// empty values are omitted from API requests. However, any non-pointer,
4270	// non-interface field appearing in ForceSendFields will be sent to the
4271	// server regardless of whether the field is empty or not. This may be
4272	// used to include empty fields in Patch requests.
4273	ForceSendFields []string `json:"-"`
4274
4275	// NullFields is a list of field names (e.g. "Kind") to include in API
4276	// requests with the JSON null value. By default, fields with empty
4277	// values are omitted from API requests. However, any field with an
4278	// empty value appearing in NullFields will be sent to the server as
4279	// null. It is an error if a field in this list has a non-empty value.
4280	// This may be used to include null fields in Patch requests.
4281	NullFields []string `json:"-"`
4282}
4283
4284func (s *LiasettingsRequestGmbAccessResponse) MarshalJSON() ([]byte, error) {
4285	type NoMethod LiasettingsRequestGmbAccessResponse
4286	raw := NoMethod(*s)
4287	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4288}
4289
4290type LiasettingsRequestInventoryVerificationResponse struct {
4291	// Kind: Identifies what kind of resource this is. Value: the fixed
4292	// string "content#liasettingsRequestInventoryVerificationResponse".
4293	Kind string `json:"kind,omitempty"`
4294
4295	// ServerResponse contains the HTTP response code and headers from the
4296	// server.
4297	googleapi.ServerResponse `json:"-"`
4298
4299	// ForceSendFields is a list of field names (e.g. "Kind") to
4300	// unconditionally include in API requests. By default, fields with
4301	// empty values are omitted from API requests. However, any non-pointer,
4302	// non-interface field appearing in ForceSendFields will be sent to the
4303	// server regardless of whether the field is empty or not. This may be
4304	// used to include empty fields in Patch requests.
4305	ForceSendFields []string `json:"-"`
4306
4307	// NullFields is a list of field names (e.g. "Kind") to include in API
4308	// requests with the JSON null value. By default, fields with empty
4309	// values are omitted from API requests. However, any field with an
4310	// empty value appearing in NullFields will be sent to the server as
4311	// null. It is an error if a field in this list has a non-empty value.
4312	// This may be used to include null fields in Patch requests.
4313	NullFields []string `json:"-"`
4314}
4315
4316func (s *LiasettingsRequestInventoryVerificationResponse) MarshalJSON() ([]byte, error) {
4317	type NoMethod LiasettingsRequestInventoryVerificationResponse
4318	raw := NoMethod(*s)
4319	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4320}
4321
4322type LiasettingsSetInventoryVerificationContactResponse struct {
4323	// Kind: Identifies what kind of resource this is. Value: the fixed
4324	// string "content#liasettingsSetInventoryVerificationContactResponse".
4325	Kind string `json:"kind,omitempty"`
4326
4327	// ServerResponse contains the HTTP response code and headers from the
4328	// server.
4329	googleapi.ServerResponse `json:"-"`
4330
4331	// ForceSendFields is a list of field names (e.g. "Kind") to
4332	// unconditionally include in API requests. By default, fields with
4333	// empty values are omitted from API requests. However, any non-pointer,
4334	// non-interface field appearing in ForceSendFields will be sent to the
4335	// server regardless of whether the field is empty or not. This may be
4336	// used to include empty fields in Patch requests.
4337	ForceSendFields []string `json:"-"`
4338
4339	// NullFields is a list of field names (e.g. "Kind") to include in API
4340	// requests with the JSON null value. By default, fields with empty
4341	// values are omitted from API requests. However, any field with an
4342	// empty value appearing in NullFields will be sent to the server as
4343	// null. It is an error if a field in this list has a non-empty value.
4344	// This may be used to include null fields in Patch requests.
4345	NullFields []string `json:"-"`
4346}
4347
4348func (s *LiasettingsSetInventoryVerificationContactResponse) MarshalJSON() ([]byte, error) {
4349	type NoMethod LiasettingsSetInventoryVerificationContactResponse
4350	raw := NoMethod(*s)
4351	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4352}
4353
4354type LiasettingsSetPosDataProviderResponse struct {
4355	// Kind: Identifies what kind of resource this is. Value: the fixed
4356	// string "content#liasettingsSetPosDataProviderResponse".
4357	Kind string `json:"kind,omitempty"`
4358
4359	// ServerResponse contains the HTTP response code and headers from the
4360	// server.
4361	googleapi.ServerResponse `json:"-"`
4362
4363	// ForceSendFields is a list of field names (e.g. "Kind") to
4364	// unconditionally include in API requests. By default, fields with
4365	// empty values are omitted from API requests. However, any non-pointer,
4366	// non-interface field appearing in ForceSendFields will be sent to the
4367	// server regardless of whether the field is empty or not. This may be
4368	// used to include empty fields in Patch requests.
4369	ForceSendFields []string `json:"-"`
4370
4371	// NullFields is a list of field names (e.g. "Kind") to include in API
4372	// requests with the JSON null value. By default, fields with empty
4373	// values are omitted from API requests. However, any field with an
4374	// empty value appearing in NullFields will be sent to the server as
4375	// null. It is an error if a field in this list has a non-empty value.
4376	// This may be used to include null fields in Patch requests.
4377	NullFields []string `json:"-"`
4378}
4379
4380func (s *LiasettingsSetPosDataProviderResponse) MarshalJSON() ([]byte, error) {
4381	type NoMethod LiasettingsSetPosDataProviderResponse
4382	raw := NoMethod(*s)
4383	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4384}
4385
4386type LocationIdSet struct {
4387	// LocationIds: A non-empty list of location IDs. They must all be of
4388	// the same location type (e.g., state).
4389	LocationIds []string `json:"locationIds,omitempty"`
4390
4391	// ForceSendFields is a list of field names (e.g. "LocationIds") to
4392	// unconditionally include in API requests. By default, fields with
4393	// empty values are omitted from API requests. However, any non-pointer,
4394	// non-interface field appearing in ForceSendFields will be sent to the
4395	// server regardless of whether the field is empty or not. This may be
4396	// used to include empty fields in Patch requests.
4397	ForceSendFields []string `json:"-"`
4398
4399	// NullFields is a list of field names (e.g. "LocationIds") to include
4400	// in API requests with the JSON null value. By default, fields with
4401	// empty values are omitted from API requests. However, any field with
4402	// an empty value appearing in NullFields will be sent to the server as
4403	// null. It is an error if a field in this list has a non-empty value.
4404	// This may be used to include null fields in Patch requests.
4405	NullFields []string `json:"-"`
4406}
4407
4408func (s *LocationIdSet) MarshalJSON() ([]byte, error) {
4409	type NoMethod LocationIdSet
4410	raw := NoMethod(*s)
4411	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4412}
4413
4414type LoyaltyPoints struct {
4415	// Name: Name of loyalty points program. It is recommended to limit the
4416	// name to 12 full-width characters or 24 Roman characters.
4417	Name string `json:"name,omitempty"`
4418
4419	// PointsValue: The retailer's loyalty points in absolute value.
4420	PointsValue int64 `json:"pointsValue,omitempty,string"`
4421
4422	// Ratio: The ratio of a point when converted to currency. Google
4423	// assumes currency based on Merchant Center settings. If ratio is left
4424	// out, it defaults to 1.0.
4425	Ratio float64 `json:"ratio,omitempty"`
4426
4427	// ForceSendFields is a list of field names (e.g. "Name") to
4428	// unconditionally include in API requests. By default, fields with
4429	// empty values are omitted from API requests. However, any non-pointer,
4430	// non-interface field appearing in ForceSendFields will be sent to the
4431	// server regardless of whether the field is empty or not. This may be
4432	// used to include empty fields in Patch requests.
4433	ForceSendFields []string `json:"-"`
4434
4435	// NullFields is a list of field names (e.g. "Name") to include in API
4436	// requests with the JSON null value. By default, fields with empty
4437	// values are omitted from API requests. However, any field with an
4438	// empty value appearing in NullFields will be sent to the server as
4439	// null. It is an error if a field in this list has a non-empty value.
4440	// This may be used to include null fields in Patch requests.
4441	NullFields []string `json:"-"`
4442}
4443
4444func (s *LoyaltyPoints) MarshalJSON() ([]byte, error) {
4445	type NoMethod LoyaltyPoints
4446	raw := NoMethod(*s)
4447	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4448}
4449
4450func (s *LoyaltyPoints) UnmarshalJSON(data []byte) error {
4451	type NoMethod LoyaltyPoints
4452	var s1 struct {
4453		Ratio gensupport.JSONFloat64 `json:"ratio"`
4454		*NoMethod
4455	}
4456	s1.NoMethod = (*NoMethod)(s)
4457	if err := json.Unmarshal(data, &s1); err != nil {
4458		return err
4459	}
4460	s.Ratio = float64(s1.Ratio)
4461	return nil
4462}
4463
4464// MerchantOrderReturn: Order return. Production access (all methods)
4465// requires the order manager role. Sandbox access does not.
4466type MerchantOrderReturn struct {
4467	// CreationDate: The date of creation of the return, in ISO 8601 format.
4468	CreationDate string `json:"creationDate,omitempty"`
4469
4470	// MerchantOrderId: Merchant defined order ID.
4471	MerchantOrderId string `json:"merchantOrderId,omitempty"`
4472
4473	// OrderId: Google order ID.
4474	OrderId string `json:"orderId,omitempty"`
4475
4476	// OrderReturnId: Order return ID generated by Google.
4477	OrderReturnId string `json:"orderReturnId,omitempty"`
4478
4479	// ReturnItems: Items of the return.
4480	ReturnItems []*MerchantOrderReturnItem `json:"returnItems,omitempty"`
4481
4482	// ReturnShipments: Shipments of the return.
4483	ReturnShipments []*ReturnShipment `json:"returnShipments,omitempty"`
4484
4485	// ServerResponse contains the HTTP response code and headers from the
4486	// server.
4487	googleapi.ServerResponse `json:"-"`
4488
4489	// ForceSendFields is a list of field names (e.g. "CreationDate") to
4490	// unconditionally include in API requests. By default, fields with
4491	// empty values are omitted from API requests. However, any non-pointer,
4492	// non-interface field appearing in ForceSendFields will be sent to the
4493	// server regardless of whether the field is empty or not. This may be
4494	// used to include empty fields in Patch requests.
4495	ForceSendFields []string `json:"-"`
4496
4497	// NullFields is a list of field names (e.g. "CreationDate") to include
4498	// in API requests with the JSON null value. By default, fields with
4499	// empty values are omitted from API requests. However, any field with
4500	// an empty value appearing in NullFields will be sent to the server as
4501	// null. It is an error if a field in this list has a non-empty value.
4502	// This may be used to include null fields in Patch requests.
4503	NullFields []string `json:"-"`
4504}
4505
4506func (s *MerchantOrderReturn) MarshalJSON() ([]byte, error) {
4507	type NoMethod MerchantOrderReturn
4508	raw := NoMethod(*s)
4509	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4510}
4511
4512type MerchantOrderReturnItem struct {
4513	// CustomerReturnReason: The reason that the customer chooses to return
4514	// an item.
4515	CustomerReturnReason *CustomerReturnReason `json:"customerReturnReason,omitempty"`
4516
4517	// ItemId: Product level item ID. If the returned items are of the same
4518	// product, they will have the same ID.
4519	ItemId string `json:"itemId,omitempty"`
4520
4521	// MerchantReturnReason: The reason that merchant chooses to accept a
4522	// return item.
4523	MerchantReturnReason *RefundReason `json:"merchantReturnReason,omitempty"`
4524
4525	// Product: Product data from the time of the order placement.
4526	Product *OrderLineItemProduct `json:"product,omitempty"`
4527
4528	// ReturnShipmentIds: IDs of the return shipments that this return item
4529	// belongs to.
4530	ReturnShipmentIds []string `json:"returnShipmentIds,omitempty"`
4531
4532	// State: State of the item. Acceptable values are: - "canceled" -
4533	// "new" - "received" - "refunded" - "rejected"
4534	State string `json:"state,omitempty"`
4535
4536	// ForceSendFields is a list of field names (e.g.
4537	// "CustomerReturnReason") to unconditionally include in API requests.
4538	// By default, fields with empty values are omitted from API requests.
4539	// However, any non-pointer, non-interface field appearing in
4540	// ForceSendFields will be sent to the server regardless of whether the
4541	// field is empty or not. This may be used to include empty fields in
4542	// Patch requests.
4543	ForceSendFields []string `json:"-"`
4544
4545	// NullFields is a list of field names (e.g. "CustomerReturnReason") to
4546	// include in API requests with the JSON null value. By default, fields
4547	// with empty values are omitted from API requests. However, any field
4548	// with an empty value appearing in NullFields will be sent to the
4549	// server as null. It is an error if a field in this list has a
4550	// non-empty value. This may be used to include null fields in Patch
4551	// requests.
4552	NullFields []string `json:"-"`
4553}
4554
4555func (s *MerchantOrderReturnItem) MarshalJSON() ([]byte, error) {
4556	type NoMethod MerchantOrderReturnItem
4557	raw := NoMethod(*s)
4558	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4559}
4560
4561type MinimumOrderValueTable struct {
4562	StoreCodeSetWithMovs []*MinimumOrderValueTableStoreCodeSetWithMov `json:"storeCodeSetWithMovs,omitempty"`
4563
4564	// ForceSendFields is a list of field names (e.g.
4565	// "StoreCodeSetWithMovs") to unconditionally include in API requests.
4566	// By default, fields with empty values are omitted from API requests.
4567	// However, any non-pointer, non-interface field appearing in
4568	// ForceSendFields will be sent to the server regardless of whether the
4569	// field is empty or not. This may be used to include empty fields in
4570	// Patch requests.
4571	ForceSendFields []string `json:"-"`
4572
4573	// NullFields is a list of field names (e.g. "StoreCodeSetWithMovs") to
4574	// include in API requests with the JSON null value. By default, fields
4575	// with empty values are omitted from API requests. However, any field
4576	// with an empty value appearing in NullFields will be sent to the
4577	// server as null. It is an error if a field in this list has a
4578	// non-empty value. This may be used to include null fields in Patch
4579	// requests.
4580	NullFields []string `json:"-"`
4581}
4582
4583func (s *MinimumOrderValueTable) MarshalJSON() ([]byte, error) {
4584	type NoMethod MinimumOrderValueTable
4585	raw := NoMethod(*s)
4586	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4587}
4588
4589// MinimumOrderValueTableStoreCodeSetWithMov: A list of store code sets
4590// sharing the same minimum order value. At least two sets are required
4591// and the last one must be empty, which signifies 'MOV for all other
4592// stores'. Each store code can only appear once across all the sets.
4593// All prices within a service must have the same currency.
4594type MinimumOrderValueTableStoreCodeSetWithMov struct {
4595	// StoreCodes: A list of unique store codes or empty for the catch all.
4596	StoreCodes []string `json:"storeCodes,omitempty"`
4597
4598	// Value: The minimum order value for the given stores.
4599	Value *Price `json:"value,omitempty"`
4600
4601	// ForceSendFields is a list of field names (e.g. "StoreCodes") to
4602	// unconditionally include in API requests. By default, fields with
4603	// empty values are omitted from API requests. However, any non-pointer,
4604	// non-interface field appearing in ForceSendFields will be sent to the
4605	// server regardless of whether the field is empty or not. This may be
4606	// used to include empty fields in Patch requests.
4607	ForceSendFields []string `json:"-"`
4608
4609	// NullFields is a list of field names (e.g. "StoreCodes") to include in
4610	// API requests with the JSON null value. By default, fields with empty
4611	// values are omitted from API requests. However, any field with an
4612	// empty value appearing in NullFields will be sent to the server as
4613	// null. It is an error if a field in this list has a non-empty value.
4614	// This may be used to include null fields in Patch requests.
4615	NullFields []string `json:"-"`
4616}
4617
4618func (s *MinimumOrderValueTableStoreCodeSetWithMov) MarshalJSON() ([]byte, error) {
4619	type NoMethod MinimumOrderValueTableStoreCodeSetWithMov
4620	raw := NoMethod(*s)
4621	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4622}
4623
4624// Order: Order. Production access (all methods) requires the order
4625// manager role. Sandbox access does not.
4626type Order struct {
4627	// Acknowledged: Whether the order was acknowledged.
4628	Acknowledged bool `json:"acknowledged,omitempty"`
4629
4630	// ChannelType: Deprecated. Acceptable values are: - "googleExpress" -
4631	// "purchasesOnGoogle"
4632	ChannelType string `json:"channelType,omitempty"`
4633
4634	// Customer: The details of the customer who placed the order.
4635	Customer *OrderCustomer `json:"customer,omitempty"`
4636
4637	// DeliveryDetails: Delivery details for shipments of type `delivery`.
4638	DeliveryDetails *OrderDeliveryDetails `json:"deliveryDetails,omitempty"`
4639
4640	// Id: The REST ID of the order. Globally unique.
4641	Id string `json:"id,omitempty"`
4642
4643	// Kind: Identifies what kind of resource this is. Value: the fixed
4644	// string "content#order"
4645	Kind string `json:"kind,omitempty"`
4646
4647	// LineItems: Line items that are ordered.
4648	LineItems []*OrderLineItem `json:"lineItems,omitempty"`
4649
4650	MerchantId uint64 `json:"merchantId,omitempty,string"`
4651
4652	// MerchantOrderId: Merchant-provided ID of the order.
4653	MerchantOrderId string `json:"merchantOrderId,omitempty"`
4654
4655	// NetAmount: The net amount for the order. For example, if an order was
4656	// originally for a grand total of $100 and a refund was issued for $20,
4657	// the net amount will be $80.
4658	NetAmount *Price `json:"netAmount,omitempty"`
4659
4660	// PaymentMethod: The details of the payment method.
4661	PaymentMethod *OrderPaymentMethod `json:"paymentMethod,omitempty"`
4662
4663	// PaymentStatus: The status of the payment. Acceptable values are: -
4664	// "paymentCaptured" - "paymentRejected" - "paymentSecured" -
4665	// "pendingAuthorization"
4666	PaymentStatus string `json:"paymentStatus,omitempty"`
4667
4668	// PickupDetails: Pickup details for shipments of type `pickup`.
4669	PickupDetails *OrderPickupDetails `json:"pickupDetails,omitempty"`
4670
4671	// PlacedDate: The date when the order was placed, in ISO 8601 format.
4672	PlacedDate string `json:"placedDate,omitempty"`
4673
4674	// Promotions: The details of the merchant provided promotions applied
4675	// to the order. To determine which promotions apply to which products,
4676	// check the `Promotions[].Benefits[].OfferIds` field against the
4677	// `LineItems[].Product.OfferId` field for each promotion. If a
4678	// promotion is applied to more than 1 `offerId`, divide the discount
4679	// value by the number of affected offers to determine how much discount
4680	// to apply to each `offerId`. Examples: 1. To calculate the line item
4681	// level discount for a single specific item: For each promotion,
4682	// subtract the `Promotions[].Benefits[].Discount.value` amount from the
4683	// `LineItems[].Price.value`. 2. To calculate the line item level
4684	// discount for multiple quantity of a specific item: For each
4685	// promotion, divide the `Promotions[].Benefits[].Discount.value` by the
4686	// quantity of products and substract it from
4687	// `LineItems[].Product.Price.value` for each quantity item. Only 1
4688	// promotion can be applied to an offerId in a given order. To refund an
4689	// item which had a promotion applied to it, make sure to refund the
4690	// amount after first subtracting the promotion discount from the item
4691	// price. More details about the program are here.
4692	Promotions []*OrderLegacyPromotion `json:"promotions,omitempty"`
4693
4694	// Refunds: Refunds for the order.
4695	Refunds []*OrderRefund `json:"refunds,omitempty"`
4696
4697	// Shipments: Shipments of the order.
4698	Shipments []*OrderShipment `json:"shipments,omitempty"`
4699
4700	// ShippingCost: The total cost of shipping for all items.
4701	ShippingCost *Price `json:"shippingCost,omitempty"`
4702
4703	// ShippingCostTax: The tax for the total shipping cost.
4704	ShippingCostTax *Price `json:"shippingCostTax,omitempty"`
4705
4706	// ShippingOption: Deprecated. Shipping details are provided with line
4707	// items instead. Acceptable values are: - "economy" - "expedited" -
4708	// "oneDay" - "sameDay" - "standard" - "twoDay"
4709	ShippingOption string `json:"shippingOption,omitempty"`
4710
4711	// Status: The status of the order. Acceptable values are: -
4712	// "canceled" - "delivered" - "inProgress" -
4713	// "partiallyDelivered" - "partiallyReturned" - "partiallyShipped"
4714	// - "pendingShipment" - "returned" - "shipped"
4715	Status string `json:"status,omitempty"`
4716
4717	// TaxCollector: The party responsible for collecting and remitting
4718	// taxes. Acceptable values are: - "marketplaceFacilitator" -
4719	// "merchant"
4720	TaxCollector string `json:"taxCollector,omitempty"`
4721
4722	// ServerResponse contains the HTTP response code and headers from the
4723	// server.
4724	googleapi.ServerResponse `json:"-"`
4725
4726	// ForceSendFields is a list of field names (e.g. "Acknowledged") to
4727	// unconditionally include in API requests. By default, fields with
4728	// empty values are omitted from API requests. However, any non-pointer,
4729	// non-interface field appearing in ForceSendFields will be sent to the
4730	// server regardless of whether the field is empty or not. This may be
4731	// used to include empty fields in Patch requests.
4732	ForceSendFields []string `json:"-"`
4733
4734	// NullFields is a list of field names (e.g. "Acknowledged") to include
4735	// in API requests with the JSON null value. By default, fields with
4736	// empty values are omitted from API requests. However, any field with
4737	// an empty value appearing in NullFields will be sent to the server as
4738	// null. It is an error if a field in this list has a non-empty value.
4739	// This may be used to include null fields in Patch requests.
4740	NullFields []string `json:"-"`
4741}
4742
4743func (s *Order) MarshalJSON() ([]byte, error) {
4744	type NoMethod Order
4745	raw := NoMethod(*s)
4746	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4747}
4748
4749type OrderAddress struct {
4750	// Country: CLDR country code (e.g. "US").
4751	Country string `json:"country,omitempty"`
4752
4753	// FullAddress: Strings representing the lines of the printed label for
4754	// mailing the order, for example: John Smith 1600 Amphitheatre Parkway
4755	// Mountain View, CA, 94043 United States
4756	FullAddress []string `json:"fullAddress,omitempty"`
4757
4758	// IsPostOfficeBox: Whether the address is a post office box.
4759	IsPostOfficeBox bool `json:"isPostOfficeBox,omitempty"`
4760
4761	// Locality: City, town or commune. May also include dependent
4762	// localities or sublocalities (e.g. neighborhoods or suburbs).
4763	Locality string `json:"locality,omitempty"`
4764
4765	// PostalCode: Postal Code or ZIP (e.g. "94043").
4766	PostalCode string `json:"postalCode,omitempty"`
4767
4768	// RecipientName: Name of the recipient.
4769	RecipientName string `json:"recipientName,omitempty"`
4770
4771	// Region: Top-level administrative subdivision of the country. For
4772	// example, a state like California ("CA") or a province like Quebec
4773	// ("QC").
4774	Region string `json:"region,omitempty"`
4775
4776	// StreetAddress: Street-level part of the address.
4777	StreetAddress []string `json:"streetAddress,omitempty"`
4778
4779	// ForceSendFields is a list of field names (e.g. "Country") to
4780	// unconditionally include in API requests. By default, fields with
4781	// empty values are omitted from API requests. However, any non-pointer,
4782	// non-interface field appearing in ForceSendFields will be sent to the
4783	// server regardless of whether the field is empty or not. This may be
4784	// used to include empty fields in Patch requests.
4785	ForceSendFields []string `json:"-"`
4786
4787	// NullFields is a list of field names (e.g. "Country") to include in
4788	// API requests with the JSON null value. By default, fields with empty
4789	// values are omitted from API requests. However, any field with an
4790	// empty value appearing in NullFields will be sent to the server as
4791	// null. It is an error if a field in this list has a non-empty value.
4792	// This may be used to include null fields in Patch requests.
4793	NullFields []string `json:"-"`
4794}
4795
4796func (s *OrderAddress) MarshalJSON() ([]byte, error) {
4797	type NoMethod OrderAddress
4798	raw := NoMethod(*s)
4799	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4800}
4801
4802type OrderCancellation struct {
4803	// Actor: The actor that created the cancellation. Acceptable values
4804	// are: - "customer" - "googleBot" - "googleCustomerService" -
4805	// "googlePayments" - "googleSabre" - "merchant"
4806	Actor string `json:"actor,omitempty"`
4807
4808	// CreationDate: Date on which the cancellation has been created, in ISO
4809	// 8601 format.
4810	CreationDate string `json:"creationDate,omitempty"`
4811
4812	// Quantity: The quantity that was canceled.
4813	Quantity int64 `json:"quantity,omitempty"`
4814
4815	// Reason: The reason for the cancellation. Orders that are canceled
4816	// with a noInventory reason will lead to the removal of the product
4817	// from Buy on Google until you make an update to that product. This
4818	// will not affect your Shopping ads. Acceptable values are: -
4819	// "autoPostInternal" - "autoPostInvalidBillingAddress" -
4820	// "autoPostNoInventory" - "autoPostPriceError" -
4821	// "autoPostUndeliverableShippingAddress" - "couponAbuse" -
4822	// "customerCanceled" - "customerInitiatedCancel" -
4823	// "customerSupportRequested" - "failToPushOrderGoogleError" -
4824	// "failToPushOrderMerchantError" -
4825	// "failToPushOrderMerchantFulfillmentError" -
4826	// "failToPushOrderToMerchant" -
4827	// "failToPushOrderToMerchantOutOfStock" - "invalidCoupon" -
4828	// "malformedShippingAddress" - "merchantDidNotShipOnTime" -
4829	// "noInventory" - "orderTimeout" - "other" - "paymentAbuse" -
4830	// "paymentDeclined" - "priceError" - "returnRefundAbuse" -
4831	// "shippingPriceError" - "taxError" -
4832	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress"
4833	Reason string `json:"reason,omitempty"`
4834
4835	// ReasonText: The explanation of the reason.
4836	ReasonText string `json:"reasonText,omitempty"`
4837
4838	// ForceSendFields is a list of field names (e.g. "Actor") to
4839	// unconditionally include in API requests. By default, fields with
4840	// empty values are omitted from API requests. However, any non-pointer,
4841	// non-interface field appearing in ForceSendFields will be sent to the
4842	// server regardless of whether the field is empty or not. This may be
4843	// used to include empty fields in Patch requests.
4844	ForceSendFields []string `json:"-"`
4845
4846	// NullFields is a list of field names (e.g. "Actor") to include in API
4847	// requests with the JSON null value. By default, fields with empty
4848	// values are omitted from API requests. However, any field with an
4849	// empty value appearing in NullFields will be sent to the server as
4850	// null. It is an error if a field in this list has a non-empty value.
4851	// This may be used to include null fields in Patch requests.
4852	NullFields []string `json:"-"`
4853}
4854
4855func (s *OrderCancellation) MarshalJSON() ([]byte, error) {
4856	type NoMethod OrderCancellation
4857	raw := NoMethod(*s)
4858	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4859}
4860
4861type OrderCustomer struct {
4862	// Email: Deprecated.
4863	Email string `json:"email,omitempty"`
4864
4865	// ExplicitMarketingPreference: Deprecated. Please use
4866	// marketingRightsInfo instead.
4867	ExplicitMarketingPreference bool `json:"explicitMarketingPreference,omitempty"`
4868
4869	// FullName: Full name of the customer.
4870	FullName string `json:"fullName,omitempty"`
4871
4872	// InvoiceReceivingEmail: Email address for the merchant to send
4873	// value-added tax or invoice documentation of the order. Only the last
4874	// document sent is made available to the customer. For more
4875	// information, see About automated VAT invoicing for Buy on Google.
4876	InvoiceReceivingEmail string `json:"invoiceReceivingEmail,omitempty"`
4877
4878	// MarketingRightsInfo: Customer's marketing preferences. Contains the
4879	// marketing opt-in information that is current at the time that the
4880	// merchant call. User preference selections can change from one order
4881	// to the next so preferences must be checked with every order.
4882	MarketingRightsInfo *OrderCustomerMarketingRightsInfo `json:"marketingRightsInfo,omitempty"`
4883
4884	// ForceSendFields is a list of field names (e.g. "Email") to
4885	// unconditionally include in API requests. By default, fields with
4886	// empty values are omitted from API requests. However, any non-pointer,
4887	// non-interface field appearing in ForceSendFields will be sent to the
4888	// server regardless of whether the field is empty or not. This may be
4889	// used to include empty fields in Patch requests.
4890	ForceSendFields []string `json:"-"`
4891
4892	// NullFields is a list of field names (e.g. "Email") to include in API
4893	// requests with the JSON null value. By default, fields with empty
4894	// values are omitted from API requests. However, any field with an
4895	// empty value appearing in NullFields will be sent to the server as
4896	// null. It is an error if a field in this list has a non-empty value.
4897	// This may be used to include null fields in Patch requests.
4898	NullFields []string `json:"-"`
4899}
4900
4901func (s *OrderCustomer) MarshalJSON() ([]byte, error) {
4902	type NoMethod OrderCustomer
4903	raw := NoMethod(*s)
4904	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4905}
4906
4907type OrderCustomerMarketingRightsInfo struct {
4908	// ExplicitMarketingPreference: Last known customer selection regarding
4909	// marketing preferences. In certain cases this selection might not be
4910	// known, so this field would be empty. If a customer selected `granted`
4911	// in their most recent order, they can be subscribed to marketing
4912	// emails. Customers who have chosen `denied` must not be subscribed, or
4913	// must be unsubscribed if already opted-in. Acceptable values are: -
4914	// "denied" - "granted"
4915	ExplicitMarketingPreference string `json:"explicitMarketingPreference,omitempty"`
4916
4917	// LastUpdatedTimestamp: Timestamp when last time marketing preference
4918	// was updated. Could be empty, if user wasn't offered a selection yet.
4919	LastUpdatedTimestamp string `json:"lastUpdatedTimestamp,omitempty"`
4920
4921	// MarketingEmailAddress: Email address that can be used for marketing
4922	// purposes. The field may be empty even if
4923	// `explicitMarketingPreference` is 'granted'. This happens when
4924	// retrieving an old order from the customer who deleted their account.
4925	MarketingEmailAddress string `json:"marketingEmailAddress,omitempty"`
4926
4927	// ForceSendFields is a list of field names (e.g.
4928	// "ExplicitMarketingPreference") to unconditionally include in API
4929	// requests. By default, fields with empty values are omitted from API
4930	// requests. However, any non-pointer, non-interface field appearing in
4931	// ForceSendFields will be sent to the server regardless of whether the
4932	// field is empty or not. This may be used to include empty fields in
4933	// Patch requests.
4934	ForceSendFields []string `json:"-"`
4935
4936	// NullFields is a list of field names (e.g.
4937	// "ExplicitMarketingPreference") to include in API requests with the
4938	// JSON null value. By default, fields with empty values are omitted
4939	// from API requests. However, any field with an empty value appearing
4940	// in NullFields will be sent to the server as null. It is an error if a
4941	// field in this list has a non-empty value. This may be used to include
4942	// null fields in Patch requests.
4943	NullFields []string `json:"-"`
4944}
4945
4946func (s *OrderCustomerMarketingRightsInfo) MarshalJSON() ([]byte, error) {
4947	type NoMethod OrderCustomerMarketingRightsInfo
4948	raw := NoMethod(*s)
4949	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4950}
4951
4952type OrderDeliveryDetails struct {
4953	// Address: The delivery address
4954	Address *OrderAddress `json:"address,omitempty"`
4955
4956	// PhoneNumber: The phone number of the person receiving the delivery.
4957	PhoneNumber string `json:"phoneNumber,omitempty"`
4958
4959	// ForceSendFields is a list of field names (e.g. "Address") to
4960	// unconditionally include in API requests. By default, fields with
4961	// empty values are omitted from API requests. However, any non-pointer,
4962	// non-interface field appearing in ForceSendFields will be sent to the
4963	// server regardless of whether the field is empty or not. This may be
4964	// used to include empty fields in Patch requests.
4965	ForceSendFields []string `json:"-"`
4966
4967	// NullFields is a list of field names (e.g. "Address") to include in
4968	// API requests with the JSON null value. By default, fields with empty
4969	// values are omitted from API requests. However, any field with an
4970	// empty value appearing in NullFields will be sent to the server as
4971	// null. It is an error if a field in this list has a non-empty value.
4972	// This may be used to include null fields in Patch requests.
4973	NullFields []string `json:"-"`
4974}
4975
4976func (s *OrderDeliveryDetails) MarshalJSON() ([]byte, error) {
4977	type NoMethod OrderDeliveryDetails
4978	raw := NoMethod(*s)
4979	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4980}
4981
4982type OrderLegacyPromotion struct {
4983	Benefits []*OrderLegacyPromotionBenefit `json:"benefits,omitempty"`
4984
4985	// EffectiveDates: The date and time frame when the promotion is active
4986	// and ready for validation review. Note that the promotion live time
4987	// may be delayed for a few hours due to the validation review. Start
4988	// date and end date are separated by a forward slash (/). The start
4989	// date is specified by the format (YYYY-MM-DD), followed by the letter
4990	// ?T?, the time of the day when the sale starts (in Greenwich Mean
4991	// Time, GMT), followed by an expression of the time zone for the sale.
4992	// The end date is in the same format.
4993	EffectiveDates string `json:"effectiveDates,omitempty"`
4994
4995	// GenericRedemptionCode: Optional. The text code that corresponds to
4996	// the promotion when applied on the retailer?s website.
4997	GenericRedemptionCode string `json:"genericRedemptionCode,omitempty"`
4998
4999	// Id: The unique ID of the promotion.
5000	Id string `json:"id,omitempty"`
5001
5002	// LongTitle: The full title of the promotion.
5003	LongTitle string `json:"longTitle,omitempty"`
5004
5005	// ProductApplicability: Whether the promotion is applicable to all
5006	// products or only specific products. Acceptable values are: -
5007	// "allProducts" - "specificProducts"
5008	ProductApplicability string `json:"productApplicability,omitempty"`
5009
5010	// RedemptionChannel: Indicates that the promotion is valid online.
5011	// Acceptable values are: - "online"
5012	RedemptionChannel string `json:"redemptionChannel,omitempty"`
5013
5014	// ForceSendFields is a list of field names (e.g. "Benefits") to
5015	// unconditionally include in API requests. By default, fields with
5016	// empty values are omitted from API requests. However, any non-pointer,
5017	// non-interface field appearing in ForceSendFields will be sent to the
5018	// server regardless of whether the field is empty or not. This may be
5019	// used to include empty fields in Patch requests.
5020	ForceSendFields []string `json:"-"`
5021
5022	// NullFields is a list of field names (e.g. "Benefits") to include in
5023	// API requests with the JSON null value. By default, fields with empty
5024	// values are omitted from API requests. However, any field with an
5025	// empty value appearing in NullFields will be sent to the server as
5026	// null. It is an error if a field in this list has a non-empty value.
5027	// This may be used to include null fields in Patch requests.
5028	NullFields []string `json:"-"`
5029}
5030
5031func (s *OrderLegacyPromotion) MarshalJSON() ([]byte, error) {
5032	type NoMethod OrderLegacyPromotion
5033	raw := NoMethod(*s)
5034	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5035}
5036
5037type OrderLegacyPromotionBenefit struct {
5038	// Discount: The discount in the order price when the promotion is
5039	// applied.
5040	Discount *Price `json:"discount,omitempty"`
5041
5042	// OfferIds: The OfferId(s) that were purchased in this order and map to
5043	// this specific benefit of the promotion.
5044	OfferIds []string `json:"offerIds,omitempty"`
5045
5046	// SubType: Further describes the benefit of the promotion. Note that we
5047	// will expand on this enumeration as we support new promotion
5048	// sub-types. Acceptable values are: - "buyMGetMoneyOff" -
5049	// "buyMGetNMoneyOff" - "buyMGetNPercentOff" - "buyMGetPercentOff"
5050	// - "freeGift" - "freeGiftWithItemId" - "freeGiftWithValue" -
5051	// "freeOvernightShipping" - "freeShipping" - "freeTwoDayShipping"
5052	// - "moneyOff" - "percentageOff" - "rewardPoints" - "salePrice"
5053	SubType string `json:"subType,omitempty"`
5054
5055	// TaxImpact: The impact on tax when the promotion is applied.
5056	TaxImpact *Price `json:"taxImpact,omitempty"`
5057
5058	// Type: Describes whether the promotion applies to products (e.g. 20%
5059	// off) or to shipping (e.g. Free Shipping). Acceptable values are: -
5060	// "product" - "shipping"
5061	Type string `json:"type,omitempty"`
5062
5063	// ForceSendFields is a list of field names (e.g. "Discount") to
5064	// unconditionally include in API requests. By default, fields with
5065	// empty values are omitted from API requests. However, any non-pointer,
5066	// non-interface field appearing in ForceSendFields will be sent to the
5067	// server regardless of whether the field is empty or not. This may be
5068	// used to include empty fields in Patch requests.
5069	ForceSendFields []string `json:"-"`
5070
5071	// NullFields is a list of field names (e.g. "Discount") to include in
5072	// API requests with the JSON null value. By default, fields with empty
5073	// values are omitted from API requests. However, any field with an
5074	// empty value appearing in NullFields will be sent to the server as
5075	// null. It is an error if a field in this list has a non-empty value.
5076	// This may be used to include null fields in Patch requests.
5077	NullFields []string `json:"-"`
5078}
5079
5080func (s *OrderLegacyPromotionBenefit) MarshalJSON() ([]byte, error) {
5081	type NoMethod OrderLegacyPromotionBenefit
5082	raw := NoMethod(*s)
5083	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5084}
5085
5086type OrderLineItem struct {
5087	// Annotations: Annotations that are attached to the line item.
5088	Annotations []*OrderMerchantProvidedAnnotation `json:"annotations,omitempty"`
5089
5090	// Cancellations: Cancellations of the line item.
5091	Cancellations []*OrderCancellation `json:"cancellations,omitempty"`
5092
5093	// Id: The ID of the line item.
5094	Id string `json:"id,omitempty"`
5095
5096	// Price: Total price for the line item. For example, if two items for
5097	// $10 are purchased, the total price will be $20.
5098	Price *Price `json:"price,omitempty"`
5099
5100	// Product: Product data as seen by customer from the time of the order
5101	// placement. Note that certain attributes values (e.g. title or gtin)
5102	// might be reformatted and no longer match values submitted via product
5103	// feed.
5104	Product *OrderLineItemProduct `json:"product,omitempty"`
5105
5106	// QuantityCanceled: Number of items canceled.
5107	QuantityCanceled int64 `json:"quantityCanceled,omitempty"`
5108
5109	// QuantityDelivered: Number of items delivered.
5110	QuantityDelivered int64 `json:"quantityDelivered,omitempty"`
5111
5112	// QuantityOrdered: Number of items ordered.
5113	QuantityOrdered int64 `json:"quantityOrdered,omitempty"`
5114
5115	// QuantityPending: Number of items pending.
5116	QuantityPending int64 `json:"quantityPending,omitempty"`
5117
5118	// QuantityReadyForPickup: Number of items ready for pickup.
5119	QuantityReadyForPickup int64 `json:"quantityReadyForPickup,omitempty"`
5120
5121	// QuantityReturned: Number of items returned.
5122	QuantityReturned int64 `json:"quantityReturned,omitempty"`
5123
5124	// QuantityShipped: Number of items shipped.
5125	QuantityShipped int64 `json:"quantityShipped,omitempty"`
5126
5127	// ReturnInfo: Details of the return policy for the line item.
5128	ReturnInfo *OrderLineItemReturnInfo `json:"returnInfo,omitempty"`
5129
5130	// Returns: Returns of the line item.
5131	Returns []*OrderReturn `json:"returns,omitempty"`
5132
5133	// ShippingDetails: Details of the requested shipping for the line item.
5134	ShippingDetails *OrderLineItemShippingDetails `json:"shippingDetails,omitempty"`
5135
5136	// Tax: Total tax amount for the line item. For example, if two items
5137	// are purchased, and each have a cost tax of $2, the total tax amount
5138	// will be $4.
5139	Tax *Price `json:"tax,omitempty"`
5140
5141	// ForceSendFields is a list of field names (e.g. "Annotations") to
5142	// unconditionally include in API requests. By default, fields with
5143	// empty values are omitted from API requests. However, any non-pointer,
5144	// non-interface field appearing in ForceSendFields will be sent to the
5145	// server regardless of whether the field is empty or not. This may be
5146	// used to include empty fields in Patch requests.
5147	ForceSendFields []string `json:"-"`
5148
5149	// NullFields is a list of field names (e.g. "Annotations") to include
5150	// in API requests with the JSON null value. By default, fields with
5151	// empty values are omitted from API requests. However, any field with
5152	// an empty value appearing in NullFields will be sent to the server as
5153	// null. It is an error if a field in this list has a non-empty value.
5154	// This may be used to include null fields in Patch requests.
5155	NullFields []string `json:"-"`
5156}
5157
5158func (s *OrderLineItem) MarshalJSON() ([]byte, error) {
5159	type NoMethod OrderLineItem
5160	raw := NoMethod(*s)
5161	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5162}
5163
5164type OrderLineItemProduct struct {
5165	// Brand: Brand of the item.
5166	Brand string `json:"brand,omitempty"`
5167
5168	// Channel: The item's channel (online or local). Acceptable values are:
5169	// - "local" - "online"
5170	Channel string `json:"channel,omitempty"`
5171
5172	// Condition: Condition or state of the item. Acceptable values are: -
5173	// "new" - "refurbished" - "used"
5174	Condition string `json:"condition,omitempty"`
5175
5176	// ContentLanguage: The two-letter ISO 639-1 language code for the item.
5177	ContentLanguage string `json:"contentLanguage,omitempty"`
5178
5179	// Fees: Associated fees at order creation time.
5180	Fees []*OrderLineItemProductFee `json:"fees,omitempty"`
5181
5182	// Gtin: Global Trade Item Number (GTIN) of the item.
5183	Gtin string `json:"gtin,omitempty"`
5184
5185	// Id: The REST ID of the product.
5186	Id string `json:"id,omitempty"`
5187
5188	// ImageLink: URL of an image of the item.
5189	ImageLink string `json:"imageLink,omitempty"`
5190
5191	// ItemGroupId: Shared identifier for all variants of the same product.
5192	ItemGroupId string `json:"itemGroupId,omitempty"`
5193
5194	// Mpn: Manufacturer Part Number (MPN) of the item.
5195	Mpn string `json:"mpn,omitempty"`
5196
5197	// OfferId: An identifier of the item.
5198	OfferId string `json:"offerId,omitempty"`
5199
5200	// Price: Price of the item.
5201	Price *Price `json:"price,omitempty"`
5202
5203	// ShownImage: URL to the cached image shown to the user when order was
5204	// placed.
5205	ShownImage string `json:"shownImage,omitempty"`
5206
5207	// TargetCountry: The CLDR territory // code of the target country of
5208	// the product.
5209	TargetCountry string `json:"targetCountry,omitempty"`
5210
5211	// Title: The title of the product.
5212	Title string `json:"title,omitempty"`
5213
5214	// VariantAttributes: Variant attributes for the item. These are
5215	// dimensions of the product, such as color, gender, material, pattern,
5216	// and size. You can find a comprehensive list of variant attributes
5217	// here.
5218	VariantAttributes []*OrderLineItemProductVariantAttribute `json:"variantAttributes,omitempty"`
5219
5220	// ForceSendFields is a list of field names (e.g. "Brand") to
5221	// unconditionally include in API requests. By default, fields with
5222	// empty values are omitted from API requests. However, any non-pointer,
5223	// non-interface field appearing in ForceSendFields will be sent to the
5224	// server regardless of whether the field is empty or not. This may be
5225	// used to include empty fields in Patch requests.
5226	ForceSendFields []string `json:"-"`
5227
5228	// NullFields is a list of field names (e.g. "Brand") to include in API
5229	// requests with the JSON null value. By default, fields with empty
5230	// values are omitted from API requests. However, any field with an
5231	// empty value appearing in NullFields will be sent to the server as
5232	// null. It is an error if a field in this list has a non-empty value.
5233	// This may be used to include null fields in Patch requests.
5234	NullFields []string `json:"-"`
5235}
5236
5237func (s *OrderLineItemProduct) MarshalJSON() ([]byte, error) {
5238	type NoMethod OrderLineItemProduct
5239	raw := NoMethod(*s)
5240	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5241}
5242
5243type OrderLineItemProductFee struct {
5244	// Amount: Amount of the fee.
5245	Amount *Price `json:"amount,omitempty"`
5246
5247	// Name: Name of the fee.
5248	Name string `json:"name,omitempty"`
5249
5250	// ForceSendFields is a list of field names (e.g. "Amount") to
5251	// unconditionally include in API requests. By default, fields with
5252	// empty values are omitted from API requests. However, any non-pointer,
5253	// non-interface field appearing in ForceSendFields will be sent to the
5254	// server regardless of whether the field is empty or not. This may be
5255	// used to include empty fields in Patch requests.
5256	ForceSendFields []string `json:"-"`
5257
5258	// NullFields is a list of field names (e.g. "Amount") to include in API
5259	// requests with the JSON null value. By default, fields with empty
5260	// values are omitted from API requests. However, any field with an
5261	// empty value appearing in NullFields will be sent to the server as
5262	// null. It is an error if a field in this list has a non-empty value.
5263	// This may be used to include null fields in Patch requests.
5264	NullFields []string `json:"-"`
5265}
5266
5267func (s *OrderLineItemProductFee) MarshalJSON() ([]byte, error) {
5268	type NoMethod OrderLineItemProductFee
5269	raw := NoMethod(*s)
5270	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5271}
5272
5273type OrderLineItemProductVariantAttribute struct {
5274	// Dimension: The dimension of the variant.
5275	Dimension string `json:"dimension,omitempty"`
5276
5277	// Value: The value for the dimension.
5278	Value string `json:"value,omitempty"`
5279
5280	// ForceSendFields is a list of field names (e.g. "Dimension") to
5281	// unconditionally include in API requests. By default, fields with
5282	// empty values are omitted from API requests. However, any non-pointer,
5283	// non-interface field appearing in ForceSendFields will be sent to the
5284	// server regardless of whether the field is empty or not. This may be
5285	// used to include empty fields in Patch requests.
5286	ForceSendFields []string `json:"-"`
5287
5288	// NullFields is a list of field names (e.g. "Dimension") to include in
5289	// API requests with the JSON null value. By default, fields with empty
5290	// values are omitted from API requests. However, any field with an
5291	// empty value appearing in NullFields will be sent to the server as
5292	// null. It is an error if a field in this list has a non-empty value.
5293	// This may be used to include null fields in Patch requests.
5294	NullFields []string `json:"-"`
5295}
5296
5297func (s *OrderLineItemProductVariantAttribute) MarshalJSON() ([]byte, error) {
5298	type NoMethod OrderLineItemProductVariantAttribute
5299	raw := NoMethod(*s)
5300	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5301}
5302
5303type OrderLineItemReturnInfo struct {
5304	// DaysToReturn: Required. How many days later the item can be returned.
5305	DaysToReturn int64 `json:"daysToReturn,omitempty"`
5306
5307	// IsReturnable: Required. Whether the item is returnable.
5308	IsReturnable bool `json:"isReturnable,omitempty"`
5309
5310	// PolicyUrl: Required. URL of the item return policy.
5311	PolicyUrl string `json:"policyUrl,omitempty"`
5312
5313	// ForceSendFields is a list of field names (e.g. "DaysToReturn") to
5314	// unconditionally include in API requests. By default, fields with
5315	// empty values are omitted from API requests. However, any non-pointer,
5316	// non-interface field appearing in ForceSendFields will be sent to the
5317	// server regardless of whether the field is empty or not. This may be
5318	// used to include empty fields in Patch requests.
5319	ForceSendFields []string `json:"-"`
5320
5321	// NullFields is a list of field names (e.g. "DaysToReturn") to include
5322	// in API requests with the JSON null value. By default, fields with
5323	// empty values are omitted from API requests. However, any field with
5324	// an empty value appearing in NullFields will be sent to the server as
5325	// null. It is an error if a field in this list has a non-empty value.
5326	// This may be used to include null fields in Patch requests.
5327	NullFields []string `json:"-"`
5328}
5329
5330func (s *OrderLineItemReturnInfo) MarshalJSON() ([]byte, error) {
5331	type NoMethod OrderLineItemReturnInfo
5332	raw := NoMethod(*s)
5333	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5334}
5335
5336type OrderLineItemShippingDetails struct {
5337	// DeliverByDate: Required. The delivery by date, in ISO 8601 format.
5338	DeliverByDate string `json:"deliverByDate,omitempty"`
5339
5340	// Method: Required. Details of the shipping method.
5341	Method *OrderLineItemShippingDetailsMethod `json:"method,omitempty"`
5342
5343	// ShipByDate: Required. The ship by date, in ISO 8601 format.
5344	ShipByDate string `json:"shipByDate,omitempty"`
5345
5346	// Type: Type of shipment. Indicates whether `deliveryDetails` or
5347	// `pickupDetails` is applicable for this shipment. Acceptable values
5348	// are: - "delivery" - "pickup"
5349	Type string `json:"type,omitempty"`
5350
5351	// ForceSendFields is a list of field names (e.g. "DeliverByDate") to
5352	// unconditionally include in API requests. By default, fields with
5353	// empty values are omitted from API requests. However, any non-pointer,
5354	// non-interface field appearing in ForceSendFields will be sent to the
5355	// server regardless of whether the field is empty or not. This may be
5356	// used to include empty fields in Patch requests.
5357	ForceSendFields []string `json:"-"`
5358
5359	// NullFields is a list of field names (e.g. "DeliverByDate") to include
5360	// in API requests with the JSON null value. By default, fields with
5361	// empty values are omitted from API requests. However, any field with
5362	// an empty value appearing in NullFields will be sent to the server as
5363	// null. It is an error if a field in this list has a non-empty value.
5364	// This may be used to include null fields in Patch requests.
5365	NullFields []string `json:"-"`
5366}
5367
5368func (s *OrderLineItemShippingDetails) MarshalJSON() ([]byte, error) {
5369	type NoMethod OrderLineItemShippingDetails
5370	raw := NoMethod(*s)
5371	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5372}
5373
5374type OrderLineItemShippingDetailsMethod struct {
5375	// Carrier: The carrier for the shipping. Optional. See
5376	// `shipments[].carrier` for a list of acceptable values.
5377	Carrier string `json:"carrier,omitempty"`
5378
5379	// MaxDaysInTransit: Required. Maximum transit time.
5380	MaxDaysInTransit int64 `json:"maxDaysInTransit,omitempty"`
5381
5382	// MethodName: Required. The name of the shipping method.
5383	MethodName string `json:"methodName,omitempty"`
5384
5385	// MinDaysInTransit: Required. Minimum transit time.
5386	MinDaysInTransit int64 `json:"minDaysInTransit,omitempty"`
5387
5388	// ForceSendFields is a list of field names (e.g. "Carrier") to
5389	// unconditionally include in API requests. By default, fields with
5390	// empty values are omitted from API requests. However, any non-pointer,
5391	// non-interface field appearing in ForceSendFields will be sent to the
5392	// server regardless of whether the field is empty or not. This may be
5393	// used to include empty fields in Patch requests.
5394	ForceSendFields []string `json:"-"`
5395
5396	// NullFields is a list of field names (e.g. "Carrier") to include in
5397	// API requests with the JSON null value. By default, fields with empty
5398	// values are omitted from API requests. However, any field with an
5399	// empty value appearing in NullFields will be sent to the server as
5400	// null. It is an error if a field in this list has a non-empty value.
5401	// This may be used to include null fields in Patch requests.
5402	NullFields []string `json:"-"`
5403}
5404
5405func (s *OrderLineItemShippingDetailsMethod) MarshalJSON() ([]byte, error) {
5406	type NoMethod OrderLineItemShippingDetailsMethod
5407	raw := NoMethod(*s)
5408	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5409}
5410
5411type OrderMerchantProvidedAnnotation struct {
5412	// Key: Key for additional merchant provided (as key-value pairs)
5413	// annotation about the line item.
5414	Key string `json:"key,omitempty"`
5415
5416	// Value: Value for additional merchant provided (as key-value pairs)
5417	// annotation about the line item.
5418	Value string `json:"value,omitempty"`
5419
5420	// ForceSendFields is a list of field names (e.g. "Key") to
5421	// unconditionally include in API requests. By default, fields with
5422	// empty values are omitted from API requests. However, any non-pointer,
5423	// non-interface field appearing in ForceSendFields will be sent to the
5424	// server regardless of whether the field is empty or not. This may be
5425	// used to include empty fields in Patch requests.
5426	ForceSendFields []string `json:"-"`
5427
5428	// NullFields is a list of field names (e.g. "Key") to include in API
5429	// requests with the JSON null value. By default, fields with empty
5430	// values are omitted from API requests. However, any field with an
5431	// empty value appearing in NullFields will be sent to the server as
5432	// null. It is an error if a field in this list has a non-empty value.
5433	// This may be used to include null fields in Patch requests.
5434	NullFields []string `json:"-"`
5435}
5436
5437func (s *OrderMerchantProvidedAnnotation) MarshalJSON() ([]byte, error) {
5438	type NoMethod OrderMerchantProvidedAnnotation
5439	raw := NoMethod(*s)
5440	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5441}
5442
5443type OrderPaymentMethod struct {
5444	// BillingAddress: The billing address.
5445	BillingAddress *OrderAddress `json:"billingAddress,omitempty"`
5446
5447	// ExpirationMonth: The card expiration month (January = 1, February = 2
5448	// etc.).
5449	ExpirationMonth int64 `json:"expirationMonth,omitempty"`
5450
5451	// ExpirationYear: The card expiration year (4-digit, e.g. 2015).
5452	ExpirationYear int64 `json:"expirationYear,omitempty"`
5453
5454	// LastFourDigits: The last four digits of the card number.
5455	LastFourDigits string `json:"lastFourDigits,omitempty"`
5456
5457	// PhoneNumber: The billing phone number.
5458	PhoneNumber string `json:"phoneNumber,omitempty"`
5459
5460	// Type: The type of instrument. Acceptable values are: - "AMEX" -
5461	// "DISCOVER" - "JCB" - "MASTERCARD" - "UNIONPAY" - "VISA" -
5462	// ""
5463	Type string `json:"type,omitempty"`
5464
5465	// ForceSendFields is a list of field names (e.g. "BillingAddress") to
5466	// unconditionally include in API requests. By default, fields with
5467	// empty values are omitted from API requests. However, any non-pointer,
5468	// non-interface field appearing in ForceSendFields will be sent to the
5469	// server regardless of whether the field is empty or not. This may be
5470	// used to include empty fields in Patch requests.
5471	ForceSendFields []string `json:"-"`
5472
5473	// NullFields is a list of field names (e.g. "BillingAddress") to
5474	// include in API requests with the JSON null value. By default, fields
5475	// with empty values are omitted from API requests. However, any field
5476	// with an empty value appearing in NullFields will be sent to the
5477	// server as null. It is an error if a field in this list has a
5478	// non-empty value. This may be used to include null fields in Patch
5479	// requests.
5480	NullFields []string `json:"-"`
5481}
5482
5483func (s *OrderPaymentMethod) MarshalJSON() ([]byte, error) {
5484	type NoMethod OrderPaymentMethod
5485	raw := NoMethod(*s)
5486	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5487}
5488
5489type OrderPickupDetails struct {
5490	// Address: Address of the pickup location where the shipment should be
5491	// sent. Note that `recipientName` in the address is the name of the
5492	// business at the pickup location.
5493	Address *OrderAddress `json:"address,omitempty"`
5494
5495	// Collectors: Collectors authorized to pick up shipment from the pickup
5496	// location.
5497	Collectors []*OrderPickupDetailsCollector `json:"collectors,omitempty"`
5498
5499	// LocationId: ID of the pickup location.
5500	LocationId string `json:"locationId,omitempty"`
5501
5502	// ForceSendFields is a list of field names (e.g. "Address") to
5503	// unconditionally include in API requests. By default, fields with
5504	// empty values are omitted from API requests. However, any non-pointer,
5505	// non-interface field appearing in ForceSendFields will be sent to the
5506	// server regardless of whether the field is empty or not. This may be
5507	// used to include empty fields in Patch requests.
5508	ForceSendFields []string `json:"-"`
5509
5510	// NullFields is a list of field names (e.g. "Address") to include in
5511	// API requests with the JSON null value. By default, fields with empty
5512	// values are omitted from API requests. However, any field with an
5513	// empty value appearing in NullFields will be sent to the server as
5514	// null. It is an error if a field in this list has a non-empty value.
5515	// This may be used to include null fields in Patch requests.
5516	NullFields []string `json:"-"`
5517}
5518
5519func (s *OrderPickupDetails) MarshalJSON() ([]byte, error) {
5520	type NoMethod OrderPickupDetails
5521	raw := NoMethod(*s)
5522	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5523}
5524
5525type OrderPickupDetailsCollector struct {
5526	// Name: Name of the person picking up the shipment.
5527	Name string `json:"name,omitempty"`
5528
5529	// PhoneNumber: Phone number of the person picking up the shipment.
5530	PhoneNumber string `json:"phoneNumber,omitempty"`
5531
5532	// ForceSendFields is a list of field names (e.g. "Name") to
5533	// unconditionally include in API requests. By default, fields with
5534	// empty values are omitted from API requests. However, any non-pointer,
5535	// non-interface field appearing in ForceSendFields will be sent to the
5536	// server regardless of whether the field is empty or not. This may be
5537	// used to include empty fields in Patch requests.
5538	ForceSendFields []string `json:"-"`
5539
5540	// NullFields is a list of field names (e.g. "Name") to include in API
5541	// requests with the JSON null value. By default, fields with empty
5542	// values are omitted from API requests. However, any field with an
5543	// empty value appearing in NullFields will be sent to the server as
5544	// null. It is an error if a field in this list has a non-empty value.
5545	// This may be used to include null fields in Patch requests.
5546	NullFields []string `json:"-"`
5547}
5548
5549func (s *OrderPickupDetailsCollector) MarshalJSON() ([]byte, error) {
5550	type NoMethod OrderPickupDetailsCollector
5551	raw := NoMethod(*s)
5552	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5553}
5554
5555type OrderRefund struct {
5556	// Actor: The actor that created the refund. Acceptable values are: -
5557	// "customer" - "googleBot" - "googleCustomerService" -
5558	// "googlePayments" - "googleSabre" - "merchant"
5559	Actor string `json:"actor,omitempty"`
5560
5561	// Amount: The amount that is refunded.
5562	Amount *Price `json:"amount,omitempty"`
5563
5564	// CreationDate: Date on which the item has been created, in ISO 8601
5565	// format.
5566	CreationDate string `json:"creationDate,omitempty"`
5567
5568	// Reason: The reason for the refund. Acceptable values are: -
5569	// "adjustment" - "autoPostInternal" -
5570	// "autoPostInvalidBillingAddress" - "autoPostNoInventory" -
5571	// "autoPostPriceError" - "autoPostUndeliverableShippingAddress" -
5572	// "couponAbuse" - "courtesyAdjustment" - "customerCanceled" -
5573	// "customerDiscretionaryReturn" - "customerInitiatedMerchantCancel"
5574	// - "customerSupportRequested" - "deliveredLateByCarrier" -
5575	// "deliveredTooLate" - "expiredItem" -
5576	// "failToPushOrderGoogleError" - "failToPushOrderMerchantError" -
5577	// "failToPushOrderMerchantFulfillmentError" -
5578	// "failToPushOrderToMerchant" -
5579	// "failToPushOrderToMerchantOutOfStock" - "feeAdjustment" -
5580	// "invalidCoupon" - "lateShipmentCredit" -
5581	// "malformedShippingAddress" - "merchantDidNotShipOnTime" -
5582	// "noInventory" - "orderTimeout" - "other" - "paymentAbuse" -
5583	// "paymentDeclined" - "priceAdjustment" - "priceError" -
5584	// "productArrivedDamaged" - "productNotAsDescribed" -
5585	// "promoReallocation" - "qualityNotAsExpected" -
5586	// "returnRefundAbuse" - "shippingCostAdjustment" -
5587	// "shippingPriceError" - "taxAdjustment" - "taxError" -
5588	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress" -
5589	// "wrongProductShipped"
5590	Reason string `json:"reason,omitempty"`
5591
5592	// ReasonText: The explanation of the reason.
5593	ReasonText string `json:"reasonText,omitempty"`
5594
5595	// ForceSendFields is a list of field names (e.g. "Actor") to
5596	// unconditionally include in API requests. By default, fields with
5597	// empty values are omitted from API requests. However, any non-pointer,
5598	// non-interface field appearing in ForceSendFields will be sent to the
5599	// server regardless of whether the field is empty or not. This may be
5600	// used to include empty fields in Patch requests.
5601	ForceSendFields []string `json:"-"`
5602
5603	// NullFields is a list of field names (e.g. "Actor") to include in API
5604	// requests with the JSON null value. By default, fields with empty
5605	// values are omitted from API requests. However, any field with an
5606	// empty value appearing in NullFields will be sent to the server as
5607	// null. It is an error if a field in this list has a non-empty value.
5608	// This may be used to include null fields in Patch requests.
5609	NullFields []string `json:"-"`
5610}
5611
5612func (s *OrderRefund) MarshalJSON() ([]byte, error) {
5613	type NoMethod OrderRefund
5614	raw := NoMethod(*s)
5615	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5616}
5617
5618// OrderReportDisbursement: Order disbursement. All methods require the
5619// payment analyst role.
5620type OrderReportDisbursement struct {
5621	// DisbursementAmount: The disbursement amount.
5622	DisbursementAmount *Price `json:"disbursementAmount,omitempty"`
5623
5624	// DisbursementCreationDate: The disbursement date, in ISO 8601 format.
5625	DisbursementCreationDate string `json:"disbursementCreationDate,omitempty"`
5626
5627	// DisbursementDate: The date the disbursement was initiated, in ISO
5628	// 8601 format.
5629	DisbursementDate string `json:"disbursementDate,omitempty"`
5630
5631	// DisbursementId: The ID of the disbursement.
5632	DisbursementId string `json:"disbursementId,omitempty"`
5633
5634	// MerchantId: The ID of the managing account.
5635	MerchantId uint64 `json:"merchantId,omitempty,string"`
5636
5637	// ForceSendFields is a list of field names (e.g. "DisbursementAmount")
5638	// to unconditionally include in API requests. By default, fields with
5639	// empty values are omitted from API requests. However, any non-pointer,
5640	// non-interface field appearing in ForceSendFields will be sent to the
5641	// server regardless of whether the field is empty or not. This may be
5642	// used to include empty fields in Patch requests.
5643	ForceSendFields []string `json:"-"`
5644
5645	// NullFields is a list of field names (e.g. "DisbursementAmount") to
5646	// include in API requests with the JSON null value. By default, fields
5647	// with empty values are omitted from API requests. However, any field
5648	// with an empty value appearing in NullFields will be sent to the
5649	// server as null. It is an error if a field in this list has a
5650	// non-empty value. This may be used to include null fields in Patch
5651	// requests.
5652	NullFields []string `json:"-"`
5653}
5654
5655func (s *OrderReportDisbursement) MarshalJSON() ([]byte, error) {
5656	type NoMethod OrderReportDisbursement
5657	raw := NoMethod(*s)
5658	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5659}
5660
5661type OrderReportTransaction struct {
5662	// DisbursementAmount: The disbursement amount.
5663	DisbursementAmount *Price `json:"disbursementAmount,omitempty"`
5664
5665	// DisbursementCreationDate: The date the disbursement was created, in
5666	// ISO 8601 format.
5667	DisbursementCreationDate string `json:"disbursementCreationDate,omitempty"`
5668
5669	// DisbursementDate: The date the disbursement was initiated, in ISO
5670	// 8601 format.
5671	DisbursementDate string `json:"disbursementDate,omitempty"`
5672
5673	// DisbursementId: The ID of the disbursement.
5674	DisbursementId string `json:"disbursementId,omitempty"`
5675
5676	// MerchantId: The ID of the managing account.
5677	MerchantId uint64 `json:"merchantId,omitempty,string"`
5678
5679	// MerchantOrderId: Merchant-provided ID of the order.
5680	MerchantOrderId string `json:"merchantOrderId,omitempty"`
5681
5682	// OrderId: The ID of the order.
5683	OrderId string `json:"orderId,omitempty"`
5684
5685	// ProductAmount: Total amount for the items.
5686	ProductAmount *Amount `json:"productAmount,omitempty"`
5687
5688	// ProductAmountWithRemittedTax: Total amount with remitted tax for the
5689	// items.
5690	ProductAmountWithRemittedTax *ProductAmount `json:"productAmountWithRemittedTax,omitempty"`
5691
5692	// TransactionDate: The date of the transaction, in ISO 8601 format.
5693	TransactionDate string `json:"transactionDate,omitempty"`
5694
5695	// ForceSendFields is a list of field names (e.g. "DisbursementAmount")
5696	// to unconditionally include in API requests. By default, fields with
5697	// empty values are omitted from API requests. However, any non-pointer,
5698	// non-interface field appearing in ForceSendFields will be sent to the
5699	// server regardless of whether the field is empty or not. This may be
5700	// used to include empty fields in Patch requests.
5701	ForceSendFields []string `json:"-"`
5702
5703	// NullFields is a list of field names (e.g. "DisbursementAmount") to
5704	// include in API requests with the JSON null value. By default, fields
5705	// with empty values are omitted from API requests. However, any field
5706	// with an empty value appearing in NullFields will be sent to the
5707	// server as null. It is an error if a field in this list has a
5708	// non-empty value. This may be used to include null fields in Patch
5709	// requests.
5710	NullFields []string `json:"-"`
5711}
5712
5713func (s *OrderReportTransaction) MarshalJSON() ([]byte, error) {
5714	type NoMethod OrderReportTransaction
5715	raw := NoMethod(*s)
5716	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5717}
5718
5719type OrderReturn struct {
5720	// Actor: The actor that created the refund. Acceptable values are: -
5721	// "customer" - "googleBot" - "googleCustomerService" -
5722	// "googlePayments" - "googleSabre" - "merchant"
5723	Actor string `json:"actor,omitempty"`
5724
5725	// CreationDate: Date on which the item has been created, in ISO 8601
5726	// format.
5727	CreationDate string `json:"creationDate,omitempty"`
5728
5729	// Quantity: Quantity that is returned.
5730	Quantity int64 `json:"quantity,omitempty"`
5731
5732	// Reason: The reason for the return. Acceptable values are: -
5733	// "customerDiscretionaryReturn" - "customerInitiatedMerchantCancel"
5734	// - "deliveredTooLate" - "expiredItem" - "invalidCoupon" -
5735	// "malformedShippingAddress" - "other" - "productArrivedDamaged"
5736	// - "productNotAsDescribed" - "qualityNotAsExpected" -
5737	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress" -
5738	// "wrongProductShipped"
5739	Reason string `json:"reason,omitempty"`
5740
5741	// ReasonText: The explanation of the reason.
5742	ReasonText string `json:"reasonText,omitempty"`
5743
5744	// ForceSendFields is a list of field names (e.g. "Actor") to
5745	// unconditionally include in API requests. By default, fields with
5746	// empty values are omitted from API requests. However, any non-pointer,
5747	// non-interface field appearing in ForceSendFields will be sent to the
5748	// server regardless of whether the field is empty or not. This may be
5749	// used to include empty fields in Patch requests.
5750	ForceSendFields []string `json:"-"`
5751
5752	// NullFields is a list of field names (e.g. "Actor") to include in API
5753	// requests with the JSON null value. By default, fields with empty
5754	// values are omitted from API requests. However, any field with an
5755	// empty value appearing in NullFields will be sent to the server as
5756	// null. It is an error if a field in this list has a non-empty value.
5757	// This may be used to include null fields in Patch requests.
5758	NullFields []string `json:"-"`
5759}
5760
5761func (s *OrderReturn) MarshalJSON() ([]byte, error) {
5762	type NoMethod OrderReturn
5763	raw := NoMethod(*s)
5764	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5765}
5766
5767type OrderShipment struct {
5768	// Carrier: The carrier handling the shipment. For supported carriers,
5769	// Google includes the carrier name and tracking URL in emails to
5770	// customers. For select supported carriers, Google also automatically
5771	// updates the shipment status based on the provided shipment ID.
5772	// *Note:* You can also use unsupported carriers, but emails to
5773	// customers will not include the carrier name or tracking URL, and
5774	// there will be no automatic order status updates. Supported carriers
5775	// for US are: - "ups" (United Parcel Service) *automatic status
5776	// updates* - "usps" (United States Postal Service) *automatic status
5777	// updates* - "fedex" (FedEx) *automatic status updates * - "dhl"
5778	// (DHL eCommerce) *automatic status updates* (US only) - "ontrac"
5779	// (OnTrac) *automatic status updates * - "dhl express" (DHL Express)
5780	// - "deliv" (Deliv) - "dynamex" (TForce) - "lasership"
5781	// (LaserShip) - "mpx" (Military Parcel Xpress) - "uds" (United
5782	// Delivery Service) - "efw" (Estes Forwarding Worldwide) - "jd
5783	// logistics" (JD Logistics) - "yunexpress" (YunExpress) - "china
5784	// post" (China Post) - "china ems" (China Post Express Mail Service)
5785	// - "singapore post" (Singapore Post) - "pos malaysia" (Pos
5786	// Malaysia) - "postnl" (PostNL) - "ptt" (PTT Turkish Post) -
5787	// "eub" (ePacket) - "chukou1" (Chukou1 Logistics) - "bestex"
5788	// (Best Express) - "canada post" (Canada Post) - "purolator"
5789	// (Purolator) - "canpar" (Canpar) - "india post" (India Post) -
5790	// "blue dart" (Blue Dart) - "delhivery" (Delhivery) - "dtdc"
5791	// (DTDC) - "tpc india" (TPC India) Supported carriers for FR are: -
5792	// "la poste" (La Poste) *automatic status updates * - "colissimo"
5793	// (Colissimo by La Poste) *automatic status updates* - "ups" (United
5794	// Parcel Service) *automatic status updates * - "chronopost"
5795	// (Chronopost by La Poste) - "gls" (General Logistics Systems France)
5796	// - "dpd" (DPD Group by GeoPost) - "bpost" (Belgian Post Group) -
5797	// "colis prive" (Colis Privé) - "boxtal" (Boxtal) - "geodis"
5798	// (GEODIS) - "tnt" (TNT) - "db schenker" (DB Schenker) - "aramex"
5799	// (Aramex)
5800	Carrier string `json:"carrier,omitempty"`
5801
5802	// CreationDate: Date on which the shipment has been created, in ISO
5803	// 8601 format.
5804	CreationDate string `json:"creationDate,omitempty"`
5805
5806	// DeliveryDate: Date on which the shipment has been delivered, in ISO
5807	// 8601 format. Present only if `status` is `delivered`
5808	DeliveryDate string `json:"deliveryDate,omitempty"`
5809
5810	// Id: The ID of the shipment.
5811	Id string `json:"id,omitempty"`
5812
5813	// LineItems: The line items that are shipped.
5814	LineItems []*OrderShipmentLineItemShipment `json:"lineItems,omitempty"`
5815
5816	// ScheduledDeliveryDetails: Delivery details of the shipment if
5817	// scheduling is needed.
5818	ScheduledDeliveryDetails *OrderShipmentScheduledDeliveryDetails `json:"scheduledDeliveryDetails,omitempty"`
5819
5820	// Status: The status of the shipment. Acceptable values are: -
5821	// "delivered" - "readyForPickup" - "shipped" - "undeliverable"
5822	Status string `json:"status,omitempty"`
5823
5824	// TrackingId: The tracking ID for the shipment.
5825	TrackingId string `json:"trackingId,omitempty"`
5826
5827	// ForceSendFields is a list of field names (e.g. "Carrier") to
5828	// unconditionally include in API requests. By default, fields with
5829	// empty values are omitted from API requests. However, any non-pointer,
5830	// non-interface field appearing in ForceSendFields will be sent to the
5831	// server regardless of whether the field is empty or not. This may be
5832	// used to include empty fields in Patch requests.
5833	ForceSendFields []string `json:"-"`
5834
5835	// NullFields is a list of field names (e.g. "Carrier") to include in
5836	// API requests with the JSON null value. By default, fields with empty
5837	// values are omitted from API requests. However, any field with an
5838	// empty value appearing in NullFields will be sent to the server as
5839	// null. It is an error if a field in this list has a non-empty value.
5840	// This may be used to include null fields in Patch requests.
5841	NullFields []string `json:"-"`
5842}
5843
5844func (s *OrderShipment) MarshalJSON() ([]byte, error) {
5845	type NoMethod OrderShipment
5846	raw := NoMethod(*s)
5847	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5848}
5849
5850type OrderShipmentLineItemShipment struct {
5851	// LineItemId: The ID of the line item that is shipped. This value is
5852	// assigned by Google when an order is created. Either lineItemId or
5853	// productId is required.
5854	LineItemId string `json:"lineItemId,omitempty"`
5855
5856	// ProductId: The ID of the product to ship. This is the REST ID used in
5857	// the products service. Either lineItemId or productId is required.
5858	ProductId string `json:"productId,omitempty"`
5859
5860	// Quantity: The quantity that is shipped.
5861	Quantity int64 `json:"quantity,omitempty"`
5862
5863	// ForceSendFields is a list of field names (e.g. "LineItemId") to
5864	// unconditionally include in API requests. By default, fields with
5865	// empty values are omitted from API requests. However, any non-pointer,
5866	// non-interface field appearing in ForceSendFields will be sent to the
5867	// server regardless of whether the field is empty or not. This may be
5868	// used to include empty fields in Patch requests.
5869	ForceSendFields []string `json:"-"`
5870
5871	// NullFields is a list of field names (e.g. "LineItemId") to include in
5872	// API requests with the JSON null value. By default, fields with empty
5873	// values are omitted from API requests. However, any field with an
5874	// empty value appearing in NullFields will be sent to the server as
5875	// null. It is an error if a field in this list has a non-empty value.
5876	// This may be used to include null fields in Patch requests.
5877	NullFields []string `json:"-"`
5878}
5879
5880func (s *OrderShipmentLineItemShipment) MarshalJSON() ([]byte, error) {
5881	type NoMethod OrderShipmentLineItemShipment
5882	raw := NoMethod(*s)
5883	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5884}
5885
5886type OrderShipmentScheduledDeliveryDetails struct {
5887	// CarrierPhoneNumber: The phone number of the carrier fulfilling the
5888	// delivery. The phone number is formatted as the international notation
5889	// in ITU-T Recommendation E.123 (e.g., "+41 44 668 1800").
5890	CarrierPhoneNumber string `json:"carrierPhoneNumber,omitempty"`
5891
5892	// ScheduledDate: The date a shipment is scheduled for delivery, in ISO
5893	// 8601 format.
5894	ScheduledDate string `json:"scheduledDate,omitempty"`
5895
5896	// ForceSendFields is a list of field names (e.g. "CarrierPhoneNumber")
5897	// to unconditionally include in API requests. By default, fields with
5898	// empty values are omitted from API requests. However, any non-pointer,
5899	// non-interface field appearing in ForceSendFields will be sent to the
5900	// server regardless of whether the field is empty or not. This may be
5901	// used to include empty fields in Patch requests.
5902	ForceSendFields []string `json:"-"`
5903
5904	// NullFields is a list of field names (e.g. "CarrierPhoneNumber") to
5905	// include in API requests with the JSON null value. By default, fields
5906	// with empty values are omitted from API requests. However, any field
5907	// with an empty value appearing in NullFields will be sent to the
5908	// server as null. It is an error if a field in this list has a
5909	// non-empty value. This may be used to include null fields in Patch
5910	// requests.
5911	NullFields []string `json:"-"`
5912}
5913
5914func (s *OrderShipmentScheduledDeliveryDetails) MarshalJSON() ([]byte, error) {
5915	type NoMethod OrderShipmentScheduledDeliveryDetails
5916	raw := NoMethod(*s)
5917	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5918}
5919
5920type OrderinvoicesCreateChargeInvoiceRequest struct {
5921	// InvoiceId: [required] The ID of the invoice.
5922	InvoiceId string `json:"invoiceId,omitempty"`
5923
5924	// InvoiceSummary: [required] Invoice summary.
5925	InvoiceSummary *InvoiceSummary `json:"invoiceSummary,omitempty"`
5926
5927	// LineItemInvoices: [required] Invoice details per line item.
5928	LineItemInvoices []*ShipmentInvoiceLineItemInvoice `json:"lineItemInvoices,omitempty"`
5929
5930	// OperationId: [required] The ID of the operation, unique across all
5931	// operations for a given order.
5932	OperationId string `json:"operationId,omitempty"`
5933
5934	// ShipmentGroupId: [required] ID of the shipment group. It is assigned
5935	// by the merchant in the `shipLineItems` method and is used to group
5936	// multiple line items that have the same kind of shipping charges.
5937	ShipmentGroupId string `json:"shipmentGroupId,omitempty"`
5938
5939	// ForceSendFields is a list of field names (e.g. "InvoiceId") to
5940	// unconditionally include in API requests. By default, fields with
5941	// empty values are omitted from API requests. However, any non-pointer,
5942	// non-interface field appearing in ForceSendFields will be sent to the
5943	// server regardless of whether the field is empty or not. This may be
5944	// used to include empty fields in Patch requests.
5945	ForceSendFields []string `json:"-"`
5946
5947	// NullFields is a list of field names (e.g. "InvoiceId") to include in
5948	// API requests with the JSON null value. By default, fields with empty
5949	// values are omitted from API requests. However, any field with an
5950	// empty value appearing in NullFields will be sent to the server as
5951	// null. It is an error if a field in this list has a non-empty value.
5952	// This may be used to include null fields in Patch requests.
5953	NullFields []string `json:"-"`
5954}
5955
5956func (s *OrderinvoicesCreateChargeInvoiceRequest) MarshalJSON() ([]byte, error) {
5957	type NoMethod OrderinvoicesCreateChargeInvoiceRequest
5958	raw := NoMethod(*s)
5959	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5960}
5961
5962type OrderinvoicesCreateChargeInvoiceResponse struct {
5963	// ExecutionStatus: The status of the execution. Acceptable values are:
5964	// - "duplicate" - "executed"
5965	ExecutionStatus string `json:"executionStatus,omitempty"`
5966
5967	// Kind: Identifies what kind of resource this is. Value: the fixed
5968	// string "content#orderinvoicesCreateChargeInvoiceResponse".
5969	Kind string `json:"kind,omitempty"`
5970
5971	// ServerResponse contains the HTTP response code and headers from the
5972	// server.
5973	googleapi.ServerResponse `json:"-"`
5974
5975	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
5976	// unconditionally include in API requests. By default, fields with
5977	// empty values are omitted from API requests. However, any non-pointer,
5978	// non-interface field appearing in ForceSendFields will be sent to the
5979	// server regardless of whether the field is empty or not. This may be
5980	// used to include empty fields in Patch requests.
5981	ForceSendFields []string `json:"-"`
5982
5983	// NullFields is a list of field names (e.g. "ExecutionStatus") to
5984	// include in API requests with the JSON null value. By default, fields
5985	// with empty values are omitted from API requests. However, any field
5986	// with an empty value appearing in NullFields will be sent to the
5987	// server as null. It is an error if a field in this list has a
5988	// non-empty value. This may be used to include null fields in Patch
5989	// requests.
5990	NullFields []string `json:"-"`
5991}
5992
5993func (s *OrderinvoicesCreateChargeInvoiceResponse) MarshalJSON() ([]byte, error) {
5994	type NoMethod OrderinvoicesCreateChargeInvoiceResponse
5995	raw := NoMethod(*s)
5996	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5997}
5998
5999type OrderinvoicesCreateRefundInvoiceRequest struct {
6000	// InvoiceId: [required] The ID of the invoice.
6001	InvoiceId string `json:"invoiceId,omitempty"`
6002
6003	// OperationId: [required] The ID of the operation, unique across all
6004	// operations for a given order.
6005	OperationId string `json:"operationId,omitempty"`
6006
6007	// RefundOnlyOption: Option to create a refund-only invoice. Exactly one
6008	// of `refundOnlyOption` or `returnOption` must be provided.
6009	RefundOnlyOption *OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceRefundOption `json:"refundOnlyOption,omitempty"`
6010
6011	// ReturnOption: Option to create an invoice for a refund and mark all
6012	// items within the invoice as returned. Exactly one of
6013	// `refundOnlyOption` or `returnOption` must be provided.
6014	ReturnOption *OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceReturnOption `json:"returnOption,omitempty"`
6015
6016	// ShipmentInvoices: Invoice details for different shipment groups.
6017	ShipmentInvoices []*ShipmentInvoice `json:"shipmentInvoices,omitempty"`
6018
6019	// ForceSendFields is a list of field names (e.g. "InvoiceId") to
6020	// unconditionally include in API requests. By default, fields with
6021	// empty values are omitted from API requests. However, any non-pointer,
6022	// non-interface field appearing in ForceSendFields will be sent to the
6023	// server regardless of whether the field is empty or not. This may be
6024	// used to include empty fields in Patch requests.
6025	ForceSendFields []string `json:"-"`
6026
6027	// NullFields is a list of field names (e.g. "InvoiceId") to include in
6028	// API requests with the JSON null value. By default, fields with empty
6029	// values are omitted from API requests. However, any field with an
6030	// empty value appearing in NullFields will be sent to the server as
6031	// null. It is an error if a field in this list has a non-empty value.
6032	// This may be used to include null fields in Patch requests.
6033	NullFields []string `json:"-"`
6034}
6035
6036func (s *OrderinvoicesCreateRefundInvoiceRequest) MarshalJSON() ([]byte, error) {
6037	type NoMethod OrderinvoicesCreateRefundInvoiceRequest
6038	raw := NoMethod(*s)
6039	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6040}
6041
6042type OrderinvoicesCreateRefundInvoiceResponse struct {
6043	// ExecutionStatus: The status of the execution. Acceptable values are:
6044	// - "duplicate" - "executed"
6045	ExecutionStatus string `json:"executionStatus,omitempty"`
6046
6047	// Kind: Identifies what kind of resource this is. Value: the fixed
6048	// string "content#orderinvoicesCreateRefundInvoiceResponse".
6049	Kind string `json:"kind,omitempty"`
6050
6051	// ServerResponse contains the HTTP response code and headers from the
6052	// server.
6053	googleapi.ServerResponse `json:"-"`
6054
6055	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
6056	// unconditionally include in API requests. By default, fields with
6057	// empty values are omitted from API requests. However, any non-pointer,
6058	// non-interface field appearing in ForceSendFields will be sent to the
6059	// server regardless of whether the field is empty or not. This may be
6060	// used to include empty fields in Patch requests.
6061	ForceSendFields []string `json:"-"`
6062
6063	// NullFields is a list of field names (e.g. "ExecutionStatus") to
6064	// include in API requests with the JSON null value. By default, fields
6065	// with empty values are omitted from API requests. However, any field
6066	// with an empty value appearing in NullFields will be sent to the
6067	// server as null. It is an error if a field in this list has a
6068	// non-empty value. This may be used to include null fields in Patch
6069	// requests.
6070	NullFields []string `json:"-"`
6071}
6072
6073func (s *OrderinvoicesCreateRefundInvoiceResponse) MarshalJSON() ([]byte, error) {
6074	type NoMethod OrderinvoicesCreateRefundInvoiceResponse
6075	raw := NoMethod(*s)
6076	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6077}
6078
6079type OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceRefundOption struct {
6080	// Description: Optional description of the refund reason.
6081	Description string `json:"description,omitempty"`
6082
6083	// Reason: [required] Reason for the refund. Acceptable values are: -
6084	// "adjustment" - "autoPostInternal" -
6085	// "autoPostInvalidBillingAddress" - "autoPostNoInventory" -
6086	// "autoPostPriceError" - "autoPostUndeliverableShippingAddress" -
6087	// "couponAbuse" - "courtesyAdjustment" - "customerCanceled" -
6088	// "customerDiscretionaryReturn" - "customerInitiatedMerchantCancel"
6089	// - "customerSupportRequested" - "deliveredLateByCarrier" -
6090	// "deliveredTooLate" - "expiredItem" -
6091	// "failToPushOrderGoogleError" - "failToPushOrderMerchantError" -
6092	// "failToPushOrderMerchantFulfillmentError" -
6093	// "failToPushOrderToMerchant" -
6094	// "failToPushOrderToMerchantOutOfStock" - "feeAdjustment" -
6095	// "invalidCoupon" - "lateShipmentCredit" -
6096	// "malformedShippingAddress" - "merchantDidNotShipOnTime" -
6097	// "noInventory" - "orderTimeout" - "other" - "paymentAbuse" -
6098	// "paymentDeclined" - "priceAdjustment" - "priceError" -
6099	// "productArrivedDamaged" - "productNotAsDescribed" -
6100	// "promoReallocation" - "qualityNotAsExpected" -
6101	// "returnRefundAbuse" - "shippingCostAdjustment" -
6102	// "shippingPriceError" - "taxAdjustment" - "taxError" -
6103	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress" -
6104	// "wrongProductShipped"
6105	Reason string `json:"reason,omitempty"`
6106
6107	// ForceSendFields is a list of field names (e.g. "Description") to
6108	// unconditionally include in API requests. By default, fields with
6109	// empty values are omitted from API requests. However, any non-pointer,
6110	// non-interface field appearing in ForceSendFields will be sent to the
6111	// server regardless of whether the field is empty or not. This may be
6112	// used to include empty fields in Patch requests.
6113	ForceSendFields []string `json:"-"`
6114
6115	// NullFields is a list of field names (e.g. "Description") to include
6116	// in API requests with the JSON null value. By default, fields with
6117	// empty values are omitted from API requests. However, any field with
6118	// an empty value appearing in NullFields will be sent to the server as
6119	// null. It is an error if a field in this list has a non-empty value.
6120	// This may be used to include null fields in Patch requests.
6121	NullFields []string `json:"-"`
6122}
6123
6124func (s *OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceRefundOption) MarshalJSON() ([]byte, error) {
6125	type NoMethod OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceRefundOption
6126	raw := NoMethod(*s)
6127	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6128}
6129
6130type OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceReturnOption struct {
6131	// Description: Optional description of the return reason.
6132	Description string `json:"description,omitempty"`
6133
6134	// Reason: [required] Reason for the return. Acceptable values are: -
6135	// "customerDiscretionaryReturn" - "customerInitiatedMerchantCancel"
6136	// - "deliveredTooLate" - "expiredItem" - "invalidCoupon" -
6137	// "malformedShippingAddress" - "other" - "productArrivedDamaged"
6138	// - "productNotAsDescribed" - "qualityNotAsExpected" -
6139	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress" -
6140	// "wrongProductShipped"
6141	Reason string `json:"reason,omitempty"`
6142
6143	// ForceSendFields is a list of field names (e.g. "Description") to
6144	// unconditionally include in API requests. By default, fields with
6145	// empty values are omitted from API requests. However, any non-pointer,
6146	// non-interface field appearing in ForceSendFields will be sent to the
6147	// server regardless of whether the field is empty or not. This may be
6148	// used to include empty fields in Patch requests.
6149	ForceSendFields []string `json:"-"`
6150
6151	// NullFields is a list of field names (e.g. "Description") to include
6152	// in API requests with the JSON null value. By default, fields with
6153	// empty values are omitted from API requests. However, any field with
6154	// an empty value appearing in NullFields will be sent to the server as
6155	// null. It is an error if a field in this list has a non-empty value.
6156	// This may be used to include null fields in Patch requests.
6157	NullFields []string `json:"-"`
6158}
6159
6160func (s *OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceReturnOption) MarshalJSON() ([]byte, error) {
6161	type NoMethod OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceReturnOption
6162	raw := NoMethod(*s)
6163	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6164}
6165
6166type OrderreportsListDisbursementsResponse struct {
6167	// Disbursements: The list of disbursements.
6168	Disbursements []*OrderReportDisbursement `json:"disbursements,omitempty"`
6169
6170	// Kind: Identifies what kind of resource this is. Value: the fixed
6171	// string "content#orderreportsListDisbursementsResponse".
6172	Kind string `json:"kind,omitempty"`
6173
6174	// NextPageToken: The token for the retrieval of the next page of
6175	// disbursements.
6176	NextPageToken string `json:"nextPageToken,omitempty"`
6177
6178	// ServerResponse contains the HTTP response code and headers from the
6179	// server.
6180	googleapi.ServerResponse `json:"-"`
6181
6182	// ForceSendFields is a list of field names (e.g. "Disbursements") to
6183	// unconditionally include in API requests. By default, fields with
6184	// empty values are omitted from API requests. However, any non-pointer,
6185	// non-interface field appearing in ForceSendFields will be sent to the
6186	// server regardless of whether the field is empty or not. This may be
6187	// used to include empty fields in Patch requests.
6188	ForceSendFields []string `json:"-"`
6189
6190	// NullFields is a list of field names (e.g. "Disbursements") to include
6191	// in API requests with the JSON null value. By default, fields with
6192	// empty values are omitted from API requests. However, any field with
6193	// an empty value appearing in NullFields will be sent to the server as
6194	// null. It is an error if a field in this list has a non-empty value.
6195	// This may be used to include null fields in Patch requests.
6196	NullFields []string `json:"-"`
6197}
6198
6199func (s *OrderreportsListDisbursementsResponse) MarshalJSON() ([]byte, error) {
6200	type NoMethod OrderreportsListDisbursementsResponse
6201	raw := NoMethod(*s)
6202	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6203}
6204
6205type OrderreportsListTransactionsResponse struct {
6206	// Kind: Identifies what kind of resource this is. Value: the fixed
6207	// string "content#orderreportsListTransactionsResponse".
6208	Kind string `json:"kind,omitempty"`
6209
6210	// NextPageToken: The token for the retrieval of the next page of
6211	// transactions.
6212	NextPageToken string `json:"nextPageToken,omitempty"`
6213
6214	// Transactions: The list of transactions.
6215	Transactions []*OrderReportTransaction `json:"transactions,omitempty"`
6216
6217	// ServerResponse contains the HTTP response code and headers from the
6218	// server.
6219	googleapi.ServerResponse `json:"-"`
6220
6221	// ForceSendFields is a list of field names (e.g. "Kind") to
6222	// unconditionally include in API requests. By default, fields with
6223	// empty values are omitted from API requests. However, any non-pointer,
6224	// non-interface field appearing in ForceSendFields will be sent to the
6225	// server regardless of whether the field is empty or not. This may be
6226	// used to include empty fields in Patch requests.
6227	ForceSendFields []string `json:"-"`
6228
6229	// NullFields is a list of field names (e.g. "Kind") to include in API
6230	// requests with the JSON null value. By default, fields with empty
6231	// values are omitted from API requests. However, any field with an
6232	// empty value appearing in NullFields will be sent to the server as
6233	// null. It is an error if a field in this list has a non-empty value.
6234	// This may be used to include null fields in Patch requests.
6235	NullFields []string `json:"-"`
6236}
6237
6238func (s *OrderreportsListTransactionsResponse) MarshalJSON() ([]byte, error) {
6239	type NoMethod OrderreportsListTransactionsResponse
6240	raw := NoMethod(*s)
6241	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6242}
6243
6244type OrderreturnsListResponse struct {
6245	// Kind: Identifies what kind of resource this is. Value: the fixed
6246	// string "content#orderreturnsListResponse".
6247	Kind string `json:"kind,omitempty"`
6248
6249	// NextPageToken: The token for the retrieval of the next page of
6250	// returns.
6251	NextPageToken string `json:"nextPageToken,omitempty"`
6252
6253	Resources []*MerchantOrderReturn `json:"resources,omitempty"`
6254
6255	// ServerResponse contains the HTTP response code and headers from the
6256	// server.
6257	googleapi.ServerResponse `json:"-"`
6258
6259	// ForceSendFields is a list of field names (e.g. "Kind") to
6260	// unconditionally include in API requests. By default, fields with
6261	// empty values are omitted from API requests. However, any non-pointer,
6262	// non-interface field appearing in ForceSendFields will be sent to the
6263	// server regardless of whether the field is empty or not. This may be
6264	// used to include empty fields in Patch requests.
6265	ForceSendFields []string `json:"-"`
6266
6267	// NullFields is a list of field names (e.g. "Kind") to include in API
6268	// requests with the JSON null value. By default, fields with empty
6269	// values are omitted from API requests. However, any field with an
6270	// empty value appearing in NullFields will be sent to the server as
6271	// null. It is an error if a field in this list has a non-empty value.
6272	// This may be used to include null fields in Patch requests.
6273	NullFields []string `json:"-"`
6274}
6275
6276func (s *OrderreturnsListResponse) MarshalJSON() ([]byte, error) {
6277	type NoMethod OrderreturnsListResponse
6278	raw := NoMethod(*s)
6279	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6280}
6281
6282type OrdersAcknowledgeRequest struct {
6283	// OperationId: The ID of the operation. Unique across all operations
6284	// for a given order.
6285	OperationId string `json:"operationId,omitempty"`
6286
6287	// ForceSendFields is a list of field names (e.g. "OperationId") to
6288	// unconditionally include in API requests. By default, fields with
6289	// empty values are omitted from API requests. However, any non-pointer,
6290	// non-interface field appearing in ForceSendFields will be sent to the
6291	// server regardless of whether the field is empty or not. This may be
6292	// used to include empty fields in Patch requests.
6293	ForceSendFields []string `json:"-"`
6294
6295	// NullFields is a list of field names (e.g. "OperationId") to include
6296	// in API requests with the JSON null value. By default, fields with
6297	// empty values are omitted from API requests. However, any field with
6298	// an empty value appearing in NullFields will be sent to the server as
6299	// null. It is an error if a field in this list has a non-empty value.
6300	// This may be used to include null fields in Patch requests.
6301	NullFields []string `json:"-"`
6302}
6303
6304func (s *OrdersAcknowledgeRequest) MarshalJSON() ([]byte, error) {
6305	type NoMethod OrdersAcknowledgeRequest
6306	raw := NoMethod(*s)
6307	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6308}
6309
6310type OrdersAcknowledgeResponse struct {
6311	// ExecutionStatus: The status of the execution. Acceptable values are:
6312	// - "duplicate" - "executed"
6313	ExecutionStatus string `json:"executionStatus,omitempty"`
6314
6315	// Kind: Identifies what kind of resource this is. Value: the fixed
6316	// string "content#ordersAcknowledgeResponse".
6317	Kind string `json:"kind,omitempty"`
6318
6319	// ServerResponse contains the HTTP response code and headers from the
6320	// server.
6321	googleapi.ServerResponse `json:"-"`
6322
6323	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
6324	// unconditionally include in API requests. By default, fields with
6325	// empty values are omitted from API requests. However, any non-pointer,
6326	// non-interface field appearing in ForceSendFields will be sent to the
6327	// server regardless of whether the field is empty or not. This may be
6328	// used to include empty fields in Patch requests.
6329	ForceSendFields []string `json:"-"`
6330
6331	// NullFields is a list of field names (e.g. "ExecutionStatus") to
6332	// include in API requests with the JSON null value. By default, fields
6333	// with empty values are omitted from API requests. However, any field
6334	// with an empty value appearing in NullFields will be sent to the
6335	// server as null. It is an error if a field in this list has a
6336	// non-empty value. This may be used to include null fields in Patch
6337	// requests.
6338	NullFields []string `json:"-"`
6339}
6340
6341func (s *OrdersAcknowledgeResponse) MarshalJSON() ([]byte, error) {
6342	type NoMethod OrdersAcknowledgeResponse
6343	raw := NoMethod(*s)
6344	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6345}
6346
6347type OrdersAdvanceTestOrderResponse struct {
6348	// Kind: Identifies what kind of resource this is. Value: the fixed
6349	// string "content#ordersAdvanceTestOrderResponse".
6350	Kind string `json:"kind,omitempty"`
6351
6352	// ServerResponse contains the HTTP response code and headers from the
6353	// server.
6354	googleapi.ServerResponse `json:"-"`
6355
6356	// ForceSendFields is a list of field names (e.g. "Kind") to
6357	// unconditionally include in API requests. By default, fields with
6358	// empty values are omitted from API requests. However, any non-pointer,
6359	// non-interface field appearing in ForceSendFields will be sent to the
6360	// server regardless of whether the field is empty or not. This may be
6361	// used to include empty fields in Patch requests.
6362	ForceSendFields []string `json:"-"`
6363
6364	// NullFields is a list of field names (e.g. "Kind") to include in API
6365	// requests with the JSON null value. By default, fields with empty
6366	// values are omitted from API requests. However, any field with an
6367	// empty value appearing in NullFields will be sent to the server as
6368	// null. It is an error if a field in this list has a non-empty value.
6369	// This may be used to include null fields in Patch requests.
6370	NullFields []string `json:"-"`
6371}
6372
6373func (s *OrdersAdvanceTestOrderResponse) MarshalJSON() ([]byte, error) {
6374	type NoMethod OrdersAdvanceTestOrderResponse
6375	raw := NoMethod(*s)
6376	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6377}
6378
6379type OrdersCancelLineItemRequest struct {
6380	// Amount: Deprecated. Please use amountPretax and amountTax instead.
6381	Amount *Price `json:"amount,omitempty"`
6382
6383	// AmountPretax: Amount to refund for the cancelation. Optional. If not
6384	// set, Google will calculate the default based on the price and tax of
6385	// the items involved. The amount must not be larger than the net amount
6386	// left on the order.
6387	AmountPretax *Price `json:"amountPretax,omitempty"`
6388
6389	// AmountTax: Tax amount that corresponds to cancellation amount in
6390	// amountPretax. Optional, but if filled, then amountPretax must be set.
6391	// Calculated automatically if not provided.
6392	AmountTax *Price `json:"amountTax,omitempty"`
6393
6394	// LineItemId: The ID of the line item to cancel. Either lineItemId or
6395	// productId is required.
6396	LineItemId string `json:"lineItemId,omitempty"`
6397
6398	// OperationId: The ID of the operation. Unique across all operations
6399	// for a given order.
6400	OperationId string `json:"operationId,omitempty"`
6401
6402	// ProductId: The ID of the product to cancel. This is the REST ID used
6403	// in the products service. Either lineItemId or productId is required.
6404	ProductId string `json:"productId,omitempty"`
6405
6406	// Quantity: The quantity to cancel.
6407	Quantity int64 `json:"quantity,omitempty"`
6408
6409	// Reason: The reason for the cancellation. Acceptable values are: -
6410	// "customerInitiatedCancel" - "invalidCoupon" -
6411	// "malformedShippingAddress" - "noInventory" - "other" -
6412	// "priceError" - "shippingPriceError" - "taxError" -
6413	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress"
6414	Reason string `json:"reason,omitempty"`
6415
6416	// ReasonText: The explanation of the reason.
6417	ReasonText string `json:"reasonText,omitempty"`
6418
6419	// ForceSendFields is a list of field names (e.g. "Amount") to
6420	// unconditionally include in API requests. By default, fields with
6421	// empty values are omitted from API requests. However, any non-pointer,
6422	// non-interface field appearing in ForceSendFields will be sent to the
6423	// server regardless of whether the field is empty or not. This may be
6424	// used to include empty fields in Patch requests.
6425	ForceSendFields []string `json:"-"`
6426
6427	// NullFields is a list of field names (e.g. "Amount") to include in API
6428	// requests with the JSON null value. By default, fields with empty
6429	// values are omitted from API requests. However, any field with an
6430	// empty value appearing in NullFields will be sent to the server as
6431	// null. It is an error if a field in this list has a non-empty value.
6432	// This may be used to include null fields in Patch requests.
6433	NullFields []string `json:"-"`
6434}
6435
6436func (s *OrdersCancelLineItemRequest) MarshalJSON() ([]byte, error) {
6437	type NoMethod OrdersCancelLineItemRequest
6438	raw := NoMethod(*s)
6439	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6440}
6441
6442type OrdersCancelLineItemResponse struct {
6443	// ExecutionStatus: The status of the execution. Acceptable values are:
6444	// - "duplicate" - "executed"
6445	ExecutionStatus string `json:"executionStatus,omitempty"`
6446
6447	// Kind: Identifies what kind of resource this is. Value: the fixed
6448	// string "content#ordersCancelLineItemResponse".
6449	Kind string `json:"kind,omitempty"`
6450
6451	// ServerResponse contains the HTTP response code and headers from the
6452	// server.
6453	googleapi.ServerResponse `json:"-"`
6454
6455	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
6456	// unconditionally include in API requests. By default, fields with
6457	// empty values are omitted from API requests. However, any non-pointer,
6458	// non-interface field appearing in ForceSendFields will be sent to the
6459	// server regardless of whether the field is empty or not. This may be
6460	// used to include empty fields in Patch requests.
6461	ForceSendFields []string `json:"-"`
6462
6463	// NullFields is a list of field names (e.g. "ExecutionStatus") to
6464	// include in API requests with the JSON null value. By default, fields
6465	// with empty values are omitted from API requests. However, any field
6466	// with an empty value appearing in NullFields will be sent to the
6467	// server as null. It is an error if a field in this list has a
6468	// non-empty value. This may be used to include null fields in Patch
6469	// requests.
6470	NullFields []string `json:"-"`
6471}
6472
6473func (s *OrdersCancelLineItemResponse) MarshalJSON() ([]byte, error) {
6474	type NoMethod OrdersCancelLineItemResponse
6475	raw := NoMethod(*s)
6476	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6477}
6478
6479type OrdersCancelRequest struct {
6480	// OperationId: The ID of the operation. Unique across all operations
6481	// for a given order.
6482	OperationId string `json:"operationId,omitempty"`
6483
6484	// Reason: The reason for the cancellation. Acceptable values are: -
6485	// "customerInitiatedCancel" - "invalidCoupon" -
6486	// "malformedShippingAddress" - "noInventory" - "other" -
6487	// "priceError" - "shippingPriceError" - "taxError" -
6488	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress"
6489	Reason string `json:"reason,omitempty"`
6490
6491	// ReasonText: The explanation of the reason.
6492	ReasonText string `json:"reasonText,omitempty"`
6493
6494	// ForceSendFields is a list of field names (e.g. "OperationId") to
6495	// unconditionally include in API requests. By default, fields with
6496	// empty values are omitted from API requests. However, any non-pointer,
6497	// non-interface field appearing in ForceSendFields will be sent to the
6498	// server regardless of whether the field is empty or not. This may be
6499	// used to include empty fields in Patch requests.
6500	ForceSendFields []string `json:"-"`
6501
6502	// NullFields is a list of field names (e.g. "OperationId") to include
6503	// in API requests with the JSON null value. By default, fields with
6504	// empty values are omitted from API requests. However, any field with
6505	// an empty value appearing in NullFields will be sent to the server as
6506	// null. It is an error if a field in this list has a non-empty value.
6507	// This may be used to include null fields in Patch requests.
6508	NullFields []string `json:"-"`
6509}
6510
6511func (s *OrdersCancelRequest) MarshalJSON() ([]byte, error) {
6512	type NoMethod OrdersCancelRequest
6513	raw := NoMethod(*s)
6514	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6515}
6516
6517type OrdersCancelResponse struct {
6518	// ExecutionStatus: The status of the execution. Acceptable values are:
6519	// - "duplicate" - "executed"
6520	ExecutionStatus string `json:"executionStatus,omitempty"`
6521
6522	// Kind: Identifies what kind of resource this is. Value: the fixed
6523	// string "content#ordersCancelResponse".
6524	Kind string `json:"kind,omitempty"`
6525
6526	// ServerResponse contains the HTTP response code and headers from the
6527	// server.
6528	googleapi.ServerResponse `json:"-"`
6529
6530	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
6531	// unconditionally include in API requests. By default, fields with
6532	// empty values are omitted from API requests. However, any non-pointer,
6533	// non-interface field appearing in ForceSendFields will be sent to the
6534	// server regardless of whether the field is empty or not. This may be
6535	// used to include empty fields in Patch requests.
6536	ForceSendFields []string `json:"-"`
6537
6538	// NullFields is a list of field names (e.g. "ExecutionStatus") to
6539	// include in API requests with the JSON null value. By default, fields
6540	// with empty values are omitted from API requests. However, any field
6541	// with an empty value appearing in NullFields will be sent to the
6542	// server as null. It is an error if a field in this list has a
6543	// non-empty value. This may be used to include null fields in Patch
6544	// requests.
6545	NullFields []string `json:"-"`
6546}
6547
6548func (s *OrdersCancelResponse) MarshalJSON() ([]byte, error) {
6549	type NoMethod OrdersCancelResponse
6550	raw := NoMethod(*s)
6551	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6552}
6553
6554type OrdersCancelTestOrderByCustomerRequest struct {
6555	// Reason: The reason for the cancellation. Acceptable values are: -
6556	// "changedMind" - "orderedWrongItem" - "other"
6557	Reason string `json:"reason,omitempty"`
6558
6559	// ForceSendFields is a list of field names (e.g. "Reason") to
6560	// unconditionally include in API requests. By default, fields with
6561	// empty values are omitted from API requests. However, any non-pointer,
6562	// non-interface field appearing in ForceSendFields will be sent to the
6563	// server regardless of whether the field is empty or not. This may be
6564	// used to include empty fields in Patch requests.
6565	ForceSendFields []string `json:"-"`
6566
6567	// NullFields is a list of field names (e.g. "Reason") to include in API
6568	// requests with the JSON null value. By default, fields with empty
6569	// values are omitted from API requests. However, any field with an
6570	// empty value appearing in NullFields will be sent to the server as
6571	// null. It is an error if a field in this list has a non-empty value.
6572	// This may be used to include null fields in Patch requests.
6573	NullFields []string `json:"-"`
6574}
6575
6576func (s *OrdersCancelTestOrderByCustomerRequest) MarshalJSON() ([]byte, error) {
6577	type NoMethod OrdersCancelTestOrderByCustomerRequest
6578	raw := NoMethod(*s)
6579	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6580}
6581
6582type OrdersCancelTestOrderByCustomerResponse struct {
6583	// Kind: Identifies what kind of resource this is. Value: the fixed
6584	// string "content#ordersCancelTestOrderByCustomerResponse".
6585	Kind string `json:"kind,omitempty"`
6586
6587	// ServerResponse contains the HTTP response code and headers from the
6588	// server.
6589	googleapi.ServerResponse `json:"-"`
6590
6591	// ForceSendFields is a list of field names (e.g. "Kind") to
6592	// unconditionally include in API requests. By default, fields with
6593	// empty values are omitted from API requests. However, any non-pointer,
6594	// non-interface field appearing in ForceSendFields will be sent to the
6595	// server regardless of whether the field is empty or not. This may be
6596	// used to include empty fields in Patch requests.
6597	ForceSendFields []string `json:"-"`
6598
6599	// NullFields is a list of field names (e.g. "Kind") to include in API
6600	// requests with the JSON null value. By default, fields with empty
6601	// values are omitted from API requests. However, any field with an
6602	// empty value appearing in NullFields will be sent to the server as
6603	// null. It is an error if a field in this list has a non-empty value.
6604	// This may be used to include null fields in Patch requests.
6605	NullFields []string `json:"-"`
6606}
6607
6608func (s *OrdersCancelTestOrderByCustomerResponse) MarshalJSON() ([]byte, error) {
6609	type NoMethod OrdersCancelTestOrderByCustomerResponse
6610	raw := NoMethod(*s)
6611	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6612}
6613
6614type OrdersCreateTestOrderRequest struct {
6615	// Country: The CLDR territory code of the country of the test order to
6616	// create. Affects the currency and addresses of orders created via
6617	// `template_name`, or the addresses of orders created via `test_order`.
6618	// Acceptable values are: - "US" - "FR" Defaults to `US`.
6619	Country string `json:"country,omitempty"`
6620
6621	// TemplateName: The test order template to use. Specify as an
6622	// alternative to `testOrder` as a shortcut for retrieving a template
6623	// and then creating an order using that template. Acceptable values
6624	// are: - "template1" - "template1a" - "template1b" -
6625	// "template2" - "template3"
6626	TemplateName string `json:"templateName,omitempty"`
6627
6628	// TestOrder: The test order to create.
6629	TestOrder *TestOrder `json:"testOrder,omitempty"`
6630
6631	// ForceSendFields is a list of field names (e.g. "Country") to
6632	// unconditionally include in API requests. By default, fields with
6633	// empty values are omitted from API requests. However, any non-pointer,
6634	// non-interface field appearing in ForceSendFields will be sent to the
6635	// server regardless of whether the field is empty or not. This may be
6636	// used to include empty fields in Patch requests.
6637	ForceSendFields []string `json:"-"`
6638
6639	// NullFields is a list of field names (e.g. "Country") to include in
6640	// API requests with the JSON null value. By default, fields with empty
6641	// values are omitted from API requests. However, any field with an
6642	// empty value appearing in NullFields will be sent to the server as
6643	// null. It is an error if a field in this list has a non-empty value.
6644	// This may be used to include null fields in Patch requests.
6645	NullFields []string `json:"-"`
6646}
6647
6648func (s *OrdersCreateTestOrderRequest) MarshalJSON() ([]byte, error) {
6649	type NoMethod OrdersCreateTestOrderRequest
6650	raw := NoMethod(*s)
6651	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6652}
6653
6654type OrdersCreateTestOrderResponse struct {
6655	// Kind: Identifies what kind of resource this is. Value: the fixed
6656	// string "content#ordersCreateTestOrderResponse".
6657	Kind string `json:"kind,omitempty"`
6658
6659	// OrderId: The ID of the newly created test order.
6660	OrderId string `json:"orderId,omitempty"`
6661
6662	// ServerResponse contains the HTTP response code and headers from the
6663	// server.
6664	googleapi.ServerResponse `json:"-"`
6665
6666	// ForceSendFields is a list of field names (e.g. "Kind") to
6667	// unconditionally include in API requests. By default, fields with
6668	// empty values are omitted from API requests. However, any non-pointer,
6669	// non-interface field appearing in ForceSendFields will be sent to the
6670	// server regardless of whether the field is empty or not. This may be
6671	// used to include empty fields in Patch requests.
6672	ForceSendFields []string `json:"-"`
6673
6674	// NullFields is a list of field names (e.g. "Kind") to include in API
6675	// requests with the JSON null value. By default, fields with empty
6676	// values are omitted from API requests. However, any field with an
6677	// empty value appearing in NullFields will be sent to the server as
6678	// null. It is an error if a field in this list has a non-empty value.
6679	// This may be used to include null fields in Patch requests.
6680	NullFields []string `json:"-"`
6681}
6682
6683func (s *OrdersCreateTestOrderResponse) MarshalJSON() ([]byte, error) {
6684	type NoMethod OrdersCreateTestOrderResponse
6685	raw := NoMethod(*s)
6686	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6687}
6688
6689type OrdersCreateTestReturnRequest struct {
6690	// Items: Returned items.
6691	Items []*OrdersCustomBatchRequestEntryCreateTestReturnReturnItem `json:"items,omitempty"`
6692
6693	// ForceSendFields is a list of field names (e.g. "Items") to
6694	// unconditionally include in API requests. By default, fields with
6695	// empty values are omitted from API requests. However, any non-pointer,
6696	// non-interface field appearing in ForceSendFields will be sent to the
6697	// server regardless of whether the field is empty or not. This may be
6698	// used to include empty fields in Patch requests.
6699	ForceSendFields []string `json:"-"`
6700
6701	// NullFields is a list of field names (e.g. "Items") to include in API
6702	// requests with the JSON null value. By default, fields with empty
6703	// values are omitted from API requests. However, any field with an
6704	// empty value appearing in NullFields will be sent to the server as
6705	// null. It is an error if a field in this list has a non-empty value.
6706	// This may be used to include null fields in Patch requests.
6707	NullFields []string `json:"-"`
6708}
6709
6710func (s *OrdersCreateTestReturnRequest) MarshalJSON() ([]byte, error) {
6711	type NoMethod OrdersCreateTestReturnRequest
6712	raw := NoMethod(*s)
6713	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6714}
6715
6716type OrdersCreateTestReturnResponse struct {
6717	// Kind: Identifies what kind of resource this is. Value: the fixed
6718	// string "content#ordersCreateTestReturnResponse".
6719	Kind string `json:"kind,omitempty"`
6720
6721	// ReturnId: The ID of the newly created test order return.
6722	ReturnId string `json:"returnId,omitempty"`
6723
6724	// ServerResponse contains the HTTP response code and headers from the
6725	// server.
6726	googleapi.ServerResponse `json:"-"`
6727
6728	// ForceSendFields is a list of field names (e.g. "Kind") to
6729	// unconditionally include in API requests. By default, fields with
6730	// empty values are omitted from API requests. However, any non-pointer,
6731	// non-interface field appearing in ForceSendFields will be sent to the
6732	// server regardless of whether the field is empty or not. This may be
6733	// used to include empty fields in Patch requests.
6734	ForceSendFields []string `json:"-"`
6735
6736	// NullFields is a list of field names (e.g. "Kind") to include in API
6737	// requests with the JSON null value. By default, fields with empty
6738	// values are omitted from API requests. However, any field with an
6739	// empty value appearing in NullFields will be sent to the server as
6740	// null. It is an error if a field in this list has a non-empty value.
6741	// This may be used to include null fields in Patch requests.
6742	NullFields []string `json:"-"`
6743}
6744
6745func (s *OrdersCreateTestReturnResponse) MarshalJSON() ([]byte, error) {
6746	type NoMethod OrdersCreateTestReturnResponse
6747	raw := NoMethod(*s)
6748	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6749}
6750
6751type OrdersCustomBatchRequest struct {
6752	// Entries: The request entries to be processed in the batch.
6753	Entries []*OrdersCustomBatchRequestEntry `json:"entries,omitempty"`
6754
6755	// ForceSendFields is a list of field names (e.g. "Entries") to
6756	// unconditionally include in API requests. By default, fields with
6757	// empty values are omitted from API requests. However, any non-pointer,
6758	// non-interface field appearing in ForceSendFields will be sent to the
6759	// server regardless of whether the field is empty or not. This may be
6760	// used to include empty fields in Patch requests.
6761	ForceSendFields []string `json:"-"`
6762
6763	// NullFields is a list of field names (e.g. "Entries") to include in
6764	// API requests with the JSON null value. By default, fields with empty
6765	// values are omitted from API requests. However, any field with an
6766	// empty value appearing in NullFields will be sent to the server as
6767	// null. It is an error if a field in this list has a non-empty value.
6768	// This may be used to include null fields in Patch requests.
6769	NullFields []string `json:"-"`
6770}
6771
6772func (s *OrdersCustomBatchRequest) MarshalJSON() ([]byte, error) {
6773	type NoMethod OrdersCustomBatchRequest
6774	raw := NoMethod(*s)
6775	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6776}
6777
6778type OrdersCustomBatchRequestEntry struct {
6779	// BatchId: An entry ID, unique within the batch request.
6780	BatchId int64 `json:"batchId,omitempty"`
6781
6782	// Cancel: Required for `cancel` method.
6783	Cancel *OrdersCustomBatchRequestEntryCancel `json:"cancel,omitempty"`
6784
6785	// CancelLineItem: Required for `cancelLineItem` method.
6786	CancelLineItem *OrdersCustomBatchRequestEntryCancelLineItem `json:"cancelLineItem,omitempty"`
6787
6788	// InStoreRefundLineItem: Required for `inStoreReturnLineItem` method.
6789	InStoreRefundLineItem *OrdersCustomBatchRequestEntryInStoreRefundLineItem `json:"inStoreRefundLineItem,omitempty"`
6790
6791	// MerchantId: The ID of the managing account.
6792	MerchantId uint64 `json:"merchantId,omitempty,string"`
6793
6794	// MerchantOrderId: The merchant order ID. Required for
6795	// `updateMerchantOrderId` and `getByMerchantOrderId` methods.
6796	MerchantOrderId string `json:"merchantOrderId,omitempty"`
6797
6798	// Method: The method of the batch entry. Acceptable values are: -
6799	// "acknowledge" - "cancel" - "cancelLineItem" - "get" -
6800	// "getByMerchantOrderId" - "inStoreRefundLineItem" - "refund" -
6801	// "rejectReturnLineItem" - "returnLineItem" -
6802	// "returnRefundLineItem" - "setLineItemMetadata" -
6803	// "shipLineItems" - "updateLineItemShippingDetails" -
6804	// "updateMerchantOrderId" - "updateShipment"
6805	Method string `json:"method,omitempty"`
6806
6807	// OperationId: The ID of the operation. Unique across all operations
6808	// for a given order. Required for all methods beside `get` and
6809	// `getByMerchantOrderId`.
6810	OperationId string `json:"operationId,omitempty"`
6811
6812	// OrderId: The ID of the order. Required for all methods beside
6813	// `getByMerchantOrderId`.
6814	OrderId string `json:"orderId,omitempty"`
6815
6816	// Refund: Required for `refund` method.
6817	Refund *OrdersCustomBatchRequestEntryRefund `json:"refund,omitempty"`
6818
6819	// RejectReturnLineItem: Required for `rejectReturnLineItem` method.
6820	RejectReturnLineItem *OrdersCustomBatchRequestEntryRejectReturnLineItem `json:"rejectReturnLineItem,omitempty"`
6821
6822	// ReturnLineItem: Required for `returnLineItem` method.
6823	ReturnLineItem *OrdersCustomBatchRequestEntryReturnLineItem `json:"returnLineItem,omitempty"`
6824
6825	// ReturnRefundLineItem: Required for `returnRefundLineItem` method.
6826	ReturnRefundLineItem *OrdersCustomBatchRequestEntryReturnRefundLineItem `json:"returnRefundLineItem,omitempty"`
6827
6828	// SetLineItemMetadata: Required for `setLineItemMetadata` method.
6829	SetLineItemMetadata *OrdersCustomBatchRequestEntrySetLineItemMetadata `json:"setLineItemMetadata,omitempty"`
6830
6831	// ShipLineItems: Required for `shipLineItems` method.
6832	ShipLineItems *OrdersCustomBatchRequestEntryShipLineItems `json:"shipLineItems,omitempty"`
6833
6834	// UpdateLineItemShippingDetails: Required for
6835	// `updateLineItemShippingDate` method.
6836	UpdateLineItemShippingDetails *OrdersCustomBatchRequestEntryUpdateLineItemShippingDetails `json:"updateLineItemShippingDetails,omitempty"`
6837
6838	// UpdateShipment: Required for `updateShipment` method.
6839	UpdateShipment *OrdersCustomBatchRequestEntryUpdateShipment `json:"updateShipment,omitempty"`
6840
6841	// ForceSendFields is a list of field names (e.g. "BatchId") to
6842	// unconditionally include in API requests. By default, fields with
6843	// empty values are omitted from API requests. However, any non-pointer,
6844	// non-interface field appearing in ForceSendFields will be sent to the
6845	// server regardless of whether the field is empty or not. This may be
6846	// used to include empty fields in Patch requests.
6847	ForceSendFields []string `json:"-"`
6848
6849	// NullFields is a list of field names (e.g. "BatchId") to include in
6850	// API requests with the JSON null value. By default, fields with empty
6851	// values are omitted from API requests. However, any field with an
6852	// empty value appearing in NullFields will be sent to the server as
6853	// null. It is an error if a field in this list has a non-empty value.
6854	// This may be used to include null fields in Patch requests.
6855	NullFields []string `json:"-"`
6856}
6857
6858func (s *OrdersCustomBatchRequestEntry) MarshalJSON() ([]byte, error) {
6859	type NoMethod OrdersCustomBatchRequestEntry
6860	raw := NoMethod(*s)
6861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6862}
6863
6864type OrdersCustomBatchRequestEntryCancel struct {
6865	// Reason: The reason for the cancellation. Acceptable values are: -
6866	// "customerInitiatedCancel" - "invalidCoupon" -
6867	// "malformedShippingAddress" - "noInventory" - "other" -
6868	// "priceError" - "shippingPriceError" - "taxError" -
6869	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress"
6870	Reason string `json:"reason,omitempty"`
6871
6872	// ReasonText: The explanation of the reason.
6873	ReasonText string `json:"reasonText,omitempty"`
6874
6875	// ForceSendFields is a list of field names (e.g. "Reason") to
6876	// unconditionally include in API requests. By default, fields with
6877	// empty values are omitted from API requests. However, any non-pointer,
6878	// non-interface field appearing in ForceSendFields will be sent to the
6879	// server regardless of whether the field is empty or not. This may be
6880	// used to include empty fields in Patch requests.
6881	ForceSendFields []string `json:"-"`
6882
6883	// NullFields is a list of field names (e.g. "Reason") to include in API
6884	// requests with the JSON null value. By default, fields with empty
6885	// values are omitted from API requests. However, any field with an
6886	// empty value appearing in NullFields will be sent to the server as
6887	// null. It is an error if a field in this list has a non-empty value.
6888	// This may be used to include null fields in Patch requests.
6889	NullFields []string `json:"-"`
6890}
6891
6892func (s *OrdersCustomBatchRequestEntryCancel) MarshalJSON() ([]byte, error) {
6893	type NoMethod OrdersCustomBatchRequestEntryCancel
6894	raw := NoMethod(*s)
6895	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6896}
6897
6898type OrdersCustomBatchRequestEntryCancelLineItem struct {
6899	// Amount: Deprecated. Please use amountPretax and amountTax instead.
6900	Amount *Price `json:"amount,omitempty"`
6901
6902	// AmountPretax: Amount to refund for the cancelation. Optional. If not
6903	// set, Google will calculate the default based on the price and tax of
6904	// the items involved. The amount must not be larger than the net amount
6905	// left on the order.
6906	AmountPretax *Price `json:"amountPretax,omitempty"`
6907
6908	// AmountTax: Tax amount that corresponds to cancellation amount in
6909	// amountPretax. Optional, but if filled, then amountPretax must be set.
6910	// Calculated automatically if not provided.
6911	AmountTax *Price `json:"amountTax,omitempty"`
6912
6913	// LineItemId: The ID of the line item to cancel. Either lineItemId or
6914	// productId is required.
6915	LineItemId string `json:"lineItemId,omitempty"`
6916
6917	// ProductId: The ID of the product to cancel. This is the REST ID used
6918	// in the products service. Either lineItemId or productId is required.
6919	ProductId string `json:"productId,omitempty"`
6920
6921	// Quantity: The quantity to cancel.
6922	Quantity int64 `json:"quantity,omitempty"`
6923
6924	// Reason: The reason for the cancellation. Acceptable values are: -
6925	// "customerInitiatedCancel" - "invalidCoupon" -
6926	// "malformedShippingAddress" - "noInventory" - "other" -
6927	// "priceError" - "shippingPriceError" - "taxError" -
6928	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress"
6929	Reason string `json:"reason,omitempty"`
6930
6931	// ReasonText: The explanation of the reason.
6932	ReasonText string `json:"reasonText,omitempty"`
6933
6934	// ForceSendFields is a list of field names (e.g. "Amount") to
6935	// unconditionally include in API requests. By default, fields with
6936	// empty values are omitted from API requests. However, any non-pointer,
6937	// non-interface field appearing in ForceSendFields will be sent to the
6938	// server regardless of whether the field is empty or not. This may be
6939	// used to include empty fields in Patch requests.
6940	ForceSendFields []string `json:"-"`
6941
6942	// NullFields is a list of field names (e.g. "Amount") to include in API
6943	// requests with the JSON null value. By default, fields with empty
6944	// values are omitted from API requests. However, any field with an
6945	// empty value appearing in NullFields will be sent to the server as
6946	// null. It is an error if a field in this list has a non-empty value.
6947	// This may be used to include null fields in Patch requests.
6948	NullFields []string `json:"-"`
6949}
6950
6951func (s *OrdersCustomBatchRequestEntryCancelLineItem) MarshalJSON() ([]byte, error) {
6952	type NoMethod OrdersCustomBatchRequestEntryCancelLineItem
6953	raw := NoMethod(*s)
6954	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6955}
6956
6957type OrdersCustomBatchRequestEntryCreateTestReturnReturnItem struct {
6958	// LineItemId: The ID of the line item to return.
6959	LineItemId string `json:"lineItemId,omitempty"`
6960
6961	// Quantity: Quantity that is returned.
6962	Quantity int64 `json:"quantity,omitempty"`
6963
6964	// ForceSendFields is a list of field names (e.g. "LineItemId") to
6965	// unconditionally include in API requests. By default, fields with
6966	// empty values are omitted from API requests. However, any non-pointer,
6967	// non-interface field appearing in ForceSendFields will be sent to the
6968	// server regardless of whether the field is empty or not. This may be
6969	// used to include empty fields in Patch requests.
6970	ForceSendFields []string `json:"-"`
6971
6972	// NullFields is a list of field names (e.g. "LineItemId") to include in
6973	// API requests with the JSON null value. By default, fields with empty
6974	// values are omitted from API requests. However, any field with an
6975	// empty value appearing in NullFields will be sent to the server as
6976	// null. It is an error if a field in this list has a non-empty value.
6977	// This may be used to include null fields in Patch requests.
6978	NullFields []string `json:"-"`
6979}
6980
6981func (s *OrdersCustomBatchRequestEntryCreateTestReturnReturnItem) MarshalJSON() ([]byte, error) {
6982	type NoMethod OrdersCustomBatchRequestEntryCreateTestReturnReturnItem
6983	raw := NoMethod(*s)
6984	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6985}
6986
6987type OrdersCustomBatchRequestEntryInStoreRefundLineItem struct {
6988	// AmountPretax: The amount that is refunded. Required.
6989	AmountPretax *Price `json:"amountPretax,omitempty"`
6990
6991	// AmountTax: Tax amount that correspond to refund amount in
6992	// amountPretax. Required.
6993	AmountTax *Price `json:"amountTax,omitempty"`
6994
6995	// LineItemId: The ID of the line item to return. Either lineItemId or
6996	// productId is required.
6997	LineItemId string `json:"lineItemId,omitempty"`
6998
6999	// ProductId: The ID of the product to return. This is the REST ID used
7000	// in the products service. Either lineItemId or productId is required.
7001	ProductId string `json:"productId,omitempty"`
7002
7003	// Quantity: The quantity to return and refund.
7004	Quantity int64 `json:"quantity,omitempty"`
7005
7006	// Reason: The reason for the return. Acceptable values are: -
7007	// "customerDiscretionaryReturn" - "customerInitiatedMerchantCancel"
7008	// - "deliveredTooLate" - "expiredItem" - "invalidCoupon" -
7009	// "malformedShippingAddress" - "other" - "productArrivedDamaged"
7010	// - "productNotAsDescribed" - "qualityNotAsExpected" -
7011	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress" -
7012	// "wrongProductShipped"
7013	Reason string `json:"reason,omitempty"`
7014
7015	// ReasonText: The explanation of the reason.
7016	ReasonText string `json:"reasonText,omitempty"`
7017
7018	// ForceSendFields is a list of field names (e.g. "AmountPretax") to
7019	// unconditionally include in API requests. By default, fields with
7020	// empty values are omitted from API requests. However, any non-pointer,
7021	// non-interface field appearing in ForceSendFields will be sent to the
7022	// server regardless of whether the field is empty or not. This may be
7023	// used to include empty fields in Patch requests.
7024	ForceSendFields []string `json:"-"`
7025
7026	// NullFields is a list of field names (e.g. "AmountPretax") to include
7027	// in API requests with the JSON null value. By default, fields with
7028	// empty values are omitted from API requests. However, any field with
7029	// an empty value appearing in NullFields will be sent to the server as
7030	// null. It is an error if a field in this list has a non-empty value.
7031	// This may be used to include null fields in Patch requests.
7032	NullFields []string `json:"-"`
7033}
7034
7035func (s *OrdersCustomBatchRequestEntryInStoreRefundLineItem) MarshalJSON() ([]byte, error) {
7036	type NoMethod OrdersCustomBatchRequestEntryInStoreRefundLineItem
7037	raw := NoMethod(*s)
7038	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7039}
7040
7041type OrdersCustomBatchRequestEntryRefund struct {
7042	// Amount: Deprecated. Please use amountPretax and amountTax instead.
7043	Amount *Price `json:"amount,omitempty"`
7044
7045	// AmountPretax: The amount that is refunded. Either amount or
7046	// amountPretax should be filled.
7047	AmountPretax *Price `json:"amountPretax,omitempty"`
7048
7049	// AmountTax: Tax amount that corresponds to refund amount in
7050	// amountPretax. Optional, but if filled, amountPretax must be set.
7051	// Calculated automatically if not provided.
7052	AmountTax *Price `json:"amountTax,omitempty"`
7053
7054	// Reason: The reason for the refund. Acceptable values are: -
7055	// "adjustment" - "courtesyAdjustment" - "customerCanceled" -
7056	// "customerDiscretionaryReturn" - "deliveredLateByCarrier" -
7057	// "feeAdjustment" - "lateShipmentCredit" - "noInventory" -
7058	// "other" - "priceError" - "productArrivedDamaged" -
7059	// "productNotAsDescribed" - "shippingCostAdjustment" -
7060	// "taxAdjustment" - "undeliverableShippingAddress" -
7061	// "wrongProductShipped"
7062	Reason string `json:"reason,omitempty"`
7063
7064	// ReasonText: The explanation of the reason.
7065	ReasonText string `json:"reasonText,omitempty"`
7066
7067	// ForceSendFields is a list of field names (e.g. "Amount") to
7068	// unconditionally include in API requests. By default, fields with
7069	// empty values are omitted from API requests. However, any non-pointer,
7070	// non-interface field appearing in ForceSendFields will be sent to the
7071	// server regardless of whether the field is empty or not. This may be
7072	// used to include empty fields in Patch requests.
7073	ForceSendFields []string `json:"-"`
7074
7075	// NullFields is a list of field names (e.g. "Amount") to include in API
7076	// requests with the JSON null value. By default, fields with empty
7077	// values are omitted from API requests. However, any field with an
7078	// empty value appearing in NullFields will be sent to the server as
7079	// null. It is an error if a field in this list has a non-empty value.
7080	// This may be used to include null fields in Patch requests.
7081	NullFields []string `json:"-"`
7082}
7083
7084func (s *OrdersCustomBatchRequestEntryRefund) MarshalJSON() ([]byte, error) {
7085	type NoMethod OrdersCustomBatchRequestEntryRefund
7086	raw := NoMethod(*s)
7087	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7088}
7089
7090type OrdersCustomBatchRequestEntryRejectReturnLineItem struct {
7091	// LineItemId: The ID of the line item to return. Either lineItemId or
7092	// productId is required.
7093	LineItemId string `json:"lineItemId,omitempty"`
7094
7095	// ProductId: The ID of the product to return. This is the REST ID used
7096	// in the products service. Either lineItemId or productId is required.
7097	ProductId string `json:"productId,omitempty"`
7098
7099	// Quantity: The quantity to return and refund.
7100	Quantity int64 `json:"quantity,omitempty"`
7101
7102	// Reason: The reason for the return. Acceptable values are: -
7103	// "damagedOrUsed" - "missingComponent" - "notEligible" -
7104	// "other" - "outOfReturnWindow"
7105	Reason string `json:"reason,omitempty"`
7106
7107	// ReasonText: The explanation of the reason.
7108	ReasonText string `json:"reasonText,omitempty"`
7109
7110	// ForceSendFields is a list of field names (e.g. "LineItemId") to
7111	// unconditionally include in API requests. By default, fields with
7112	// empty values are omitted from API requests. However, any non-pointer,
7113	// non-interface field appearing in ForceSendFields will be sent to the
7114	// server regardless of whether the field is empty or not. This may be
7115	// used to include empty fields in Patch requests.
7116	ForceSendFields []string `json:"-"`
7117
7118	// NullFields is a list of field names (e.g. "LineItemId") to include in
7119	// API requests with the JSON null value. By default, fields with empty
7120	// values are omitted from API requests. However, any field with an
7121	// empty value appearing in NullFields will be sent to the server as
7122	// null. It is an error if a field in this list has a non-empty value.
7123	// This may be used to include null fields in Patch requests.
7124	NullFields []string `json:"-"`
7125}
7126
7127func (s *OrdersCustomBatchRequestEntryRejectReturnLineItem) MarshalJSON() ([]byte, error) {
7128	type NoMethod OrdersCustomBatchRequestEntryRejectReturnLineItem
7129	raw := NoMethod(*s)
7130	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7131}
7132
7133type OrdersCustomBatchRequestEntryReturnLineItem struct {
7134	// LineItemId: The ID of the line item to return. Either lineItemId or
7135	// productId is required.
7136	LineItemId string `json:"lineItemId,omitempty"`
7137
7138	// ProductId: The ID of the product to return. This is the REST ID used
7139	// in the products service. Either lineItemId or productId is required.
7140	ProductId string `json:"productId,omitempty"`
7141
7142	// Quantity: The quantity to return.
7143	Quantity int64 `json:"quantity,omitempty"`
7144
7145	// Reason: The reason for the return. Acceptable values are: -
7146	// "customerDiscretionaryReturn" - "customerInitiatedMerchantCancel"
7147	// - "deliveredTooLate" - "expiredItem" - "invalidCoupon" -
7148	// "malformedShippingAddress" - "other" - "productArrivedDamaged"
7149	// - "productNotAsDescribed" - "qualityNotAsExpected" -
7150	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress" -
7151	// "wrongProductShipped"
7152	Reason string `json:"reason,omitempty"`
7153
7154	// ReasonText: The explanation of the reason.
7155	ReasonText string `json:"reasonText,omitempty"`
7156
7157	// ForceSendFields is a list of field names (e.g. "LineItemId") to
7158	// unconditionally include in API requests. By default, fields with
7159	// empty values are omitted from API requests. However, any non-pointer,
7160	// non-interface field appearing in ForceSendFields will be sent to the
7161	// server regardless of whether the field is empty or not. This may be
7162	// used to include empty fields in Patch requests.
7163	ForceSendFields []string `json:"-"`
7164
7165	// NullFields is a list of field names (e.g. "LineItemId") to include in
7166	// API requests with the JSON null value. By default, fields with empty
7167	// values are omitted from API requests. However, any field with an
7168	// empty value appearing in NullFields will be sent to the server as
7169	// null. It is an error if a field in this list has a non-empty value.
7170	// This may be used to include null fields in Patch requests.
7171	NullFields []string `json:"-"`
7172}
7173
7174func (s *OrdersCustomBatchRequestEntryReturnLineItem) MarshalJSON() ([]byte, error) {
7175	type NoMethod OrdersCustomBatchRequestEntryReturnLineItem
7176	raw := NoMethod(*s)
7177	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7178}
7179
7180type OrdersCustomBatchRequestEntryReturnRefundLineItem struct {
7181	// AmountPretax: The amount that is refunded. If omitted, refundless
7182	// return is assumed (same as calling returnLineItem method).
7183	AmountPretax *Price `json:"amountPretax,omitempty"`
7184
7185	// AmountTax: Tax amount that corresponds to refund amount in
7186	// amountPretax. Optional, but if filled, then amountPretax must be set.
7187	// Calculated automatically if not provided.
7188	AmountTax *Price `json:"amountTax,omitempty"`
7189
7190	// LineItemId: The ID of the line item to return. Either lineItemId or
7191	// productId is required.
7192	LineItemId string `json:"lineItemId,omitempty"`
7193
7194	// ProductId: The ID of the product to return. This is the REST ID used
7195	// in the products service. Either lineItemId or productId is required.
7196	ProductId string `json:"productId,omitempty"`
7197
7198	// Quantity: The quantity to return and refund.
7199	Quantity int64 `json:"quantity,omitempty"`
7200
7201	// Reason: The reason for the return. Acceptable values are: -
7202	// "customerDiscretionaryReturn" - "customerInitiatedMerchantCancel"
7203	// - "deliveredTooLate" - "expiredItem" - "invalidCoupon" -
7204	// "malformedShippingAddress" - "other" - "productArrivedDamaged"
7205	// - "productNotAsDescribed" - "qualityNotAsExpected" -
7206	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress" -
7207	// "wrongProductShipped"
7208	Reason string `json:"reason,omitempty"`
7209
7210	// ReasonText: The explanation of the reason.
7211	ReasonText string `json:"reasonText,omitempty"`
7212
7213	// ForceSendFields is a list of field names (e.g. "AmountPretax") to
7214	// unconditionally include in API requests. By default, fields with
7215	// empty values are omitted from API requests. However, any non-pointer,
7216	// non-interface field appearing in ForceSendFields will be sent to the
7217	// server regardless of whether the field is empty or not. This may be
7218	// used to include empty fields in Patch requests.
7219	ForceSendFields []string `json:"-"`
7220
7221	// NullFields is a list of field names (e.g. "AmountPretax") to include
7222	// in API requests with the JSON null value. By default, fields with
7223	// empty values are omitted from API requests. However, any field with
7224	// an empty value appearing in NullFields will be sent to the server as
7225	// null. It is an error if a field in this list has a non-empty value.
7226	// This may be used to include null fields in Patch requests.
7227	NullFields []string `json:"-"`
7228}
7229
7230func (s *OrdersCustomBatchRequestEntryReturnRefundLineItem) MarshalJSON() ([]byte, error) {
7231	type NoMethod OrdersCustomBatchRequestEntryReturnRefundLineItem
7232	raw := NoMethod(*s)
7233	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7234}
7235
7236type OrdersCustomBatchRequestEntrySetLineItemMetadata struct {
7237	Annotations []*OrderMerchantProvidedAnnotation `json:"annotations,omitempty"`
7238
7239	// LineItemId: The ID of the line item to set metadata. Either
7240	// lineItemId or productId is required.
7241	LineItemId string `json:"lineItemId,omitempty"`
7242
7243	// ProductId: The ID of the product to set metadata. This is the REST ID
7244	// used in the products service. Either lineItemId or productId is
7245	// required.
7246	ProductId string `json:"productId,omitempty"`
7247
7248	// ForceSendFields is a list of field names (e.g. "Annotations") to
7249	// unconditionally include in API requests. By default, fields with
7250	// empty values are omitted from API requests. However, any non-pointer,
7251	// non-interface field appearing in ForceSendFields will be sent to the
7252	// server regardless of whether the field is empty or not. This may be
7253	// used to include empty fields in Patch requests.
7254	ForceSendFields []string `json:"-"`
7255
7256	// NullFields is a list of field names (e.g. "Annotations") to include
7257	// in API requests with the JSON null value. By default, fields with
7258	// empty values are omitted from API requests. However, any field with
7259	// an empty value appearing in NullFields will be sent to the server as
7260	// null. It is an error if a field in this list has a non-empty value.
7261	// This may be used to include null fields in Patch requests.
7262	NullFields []string `json:"-"`
7263}
7264
7265func (s *OrdersCustomBatchRequestEntrySetLineItemMetadata) MarshalJSON() ([]byte, error) {
7266	type NoMethod OrdersCustomBatchRequestEntrySetLineItemMetadata
7267	raw := NoMethod(*s)
7268	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7269}
7270
7271type OrdersCustomBatchRequestEntryShipLineItems struct {
7272	// Carrier: Deprecated. Please use shipmentInfo instead. The carrier
7273	// handling the shipment. See `shipments[].carrier` in the Orders
7274	// resource representation for a list of acceptable values.
7275	Carrier string `json:"carrier,omitempty"`
7276
7277	// LineItems: Line items to ship.
7278	LineItems []*OrderShipmentLineItemShipment `json:"lineItems,omitempty"`
7279
7280	// ShipmentGroupId: ID of the shipment group. Required for orders that
7281	// use the orderinvoices service.
7282	ShipmentGroupId string `json:"shipmentGroupId,omitempty"`
7283
7284	// ShipmentId: Deprecated. Please use shipmentInfo instead. The ID of
7285	// the shipment.
7286	ShipmentId string `json:"shipmentId,omitempty"`
7287
7288	// ShipmentInfos: Shipment information. This field is repeated because a
7289	// single line item can be shipped in several packages (and have several
7290	// tracking IDs).
7291	ShipmentInfos []*OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo `json:"shipmentInfos,omitempty"`
7292
7293	// TrackingId: Deprecated. Please use shipmentInfo instead. The tracking
7294	// ID for the shipment.
7295	TrackingId string `json:"trackingId,omitempty"`
7296
7297	// ForceSendFields is a list of field names (e.g. "Carrier") to
7298	// unconditionally include in API requests. By default, fields with
7299	// empty values are omitted from API requests. However, any non-pointer,
7300	// non-interface field appearing in ForceSendFields will be sent to the
7301	// server regardless of whether the field is empty or not. This may be
7302	// used to include empty fields in Patch requests.
7303	ForceSendFields []string `json:"-"`
7304
7305	// NullFields is a list of field names (e.g. "Carrier") to include in
7306	// API requests with the JSON null value. By default, fields with empty
7307	// values are omitted from API requests. However, any field with an
7308	// empty value appearing in NullFields will be sent to the server as
7309	// null. It is an error if a field in this list has a non-empty value.
7310	// This may be used to include null fields in Patch requests.
7311	NullFields []string `json:"-"`
7312}
7313
7314func (s *OrdersCustomBatchRequestEntryShipLineItems) MarshalJSON() ([]byte, error) {
7315	type NoMethod OrdersCustomBatchRequestEntryShipLineItems
7316	raw := NoMethod(*s)
7317	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7318}
7319
7320type OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo struct {
7321	// Carrier: The carrier handling the shipment. See `shipments[].carrier`
7322	// in the Orders resource representation for a list of acceptable
7323	// values.
7324	Carrier string `json:"carrier,omitempty"`
7325
7326	// ShipmentId: Required. The ID of the shipment. This is assigned by the
7327	// merchant and is unique to each shipment.
7328	ShipmentId string `json:"shipmentId,omitempty"`
7329
7330	// TrackingId: The tracking ID for the shipment.
7331	TrackingId string `json:"trackingId,omitempty"`
7332
7333	// ForceSendFields is a list of field names (e.g. "Carrier") to
7334	// unconditionally include in API requests. By default, fields with
7335	// empty values are omitted from API requests. However, any non-pointer,
7336	// non-interface field appearing in ForceSendFields will be sent to the
7337	// server regardless of whether the field is empty or not. This may be
7338	// used to include empty fields in Patch requests.
7339	ForceSendFields []string `json:"-"`
7340
7341	// NullFields is a list of field names (e.g. "Carrier") to include in
7342	// API requests with the JSON null value. By default, fields with empty
7343	// values are omitted from API requests. However, any field with an
7344	// empty value appearing in NullFields will be sent to the server as
7345	// null. It is an error if a field in this list has a non-empty value.
7346	// This may be used to include null fields in Patch requests.
7347	NullFields []string `json:"-"`
7348}
7349
7350func (s *OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo) MarshalJSON() ([]byte, error) {
7351	type NoMethod OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo
7352	raw := NoMethod(*s)
7353	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7354}
7355
7356type OrdersCustomBatchRequestEntryUpdateLineItemShippingDetails struct {
7357	// DeliverByDate: Updated delivery by date, in ISO 8601 format. If not
7358	// specified only ship by date is updated. Provided date should be
7359	// within 1 year timeframe and can not be a date in the past.
7360	DeliverByDate string `json:"deliverByDate,omitempty"`
7361
7362	// LineItemId: The ID of the line item to set metadata. Either
7363	// lineItemId or productId is required.
7364	LineItemId string `json:"lineItemId,omitempty"`
7365
7366	// ProductId: The ID of the product to set metadata. This is the REST ID
7367	// used in the products service. Either lineItemId or productId is
7368	// required.
7369	ProductId string `json:"productId,omitempty"`
7370
7371	// ShipByDate: Updated ship by date, in ISO 8601 format. If not
7372	// specified only deliver by date is updated. Provided date should be
7373	// within 1 year timeframe and can not be a date in the past.
7374	ShipByDate string `json:"shipByDate,omitempty"`
7375
7376	// ForceSendFields is a list of field names (e.g. "DeliverByDate") to
7377	// unconditionally include in API requests. By default, fields with
7378	// empty values are omitted from API requests. However, any non-pointer,
7379	// non-interface field appearing in ForceSendFields will be sent to the
7380	// server regardless of whether the field is empty or not. This may be
7381	// used to include empty fields in Patch requests.
7382	ForceSendFields []string `json:"-"`
7383
7384	// NullFields is a list of field names (e.g. "DeliverByDate") to include
7385	// in API requests with the JSON null value. By default, fields with
7386	// empty values are omitted from API requests. However, any field with
7387	// an empty value appearing in NullFields will be sent to the server as
7388	// null. It is an error if a field in this list has a non-empty value.
7389	// This may be used to include null fields in Patch requests.
7390	NullFields []string `json:"-"`
7391}
7392
7393func (s *OrdersCustomBatchRequestEntryUpdateLineItemShippingDetails) MarshalJSON() ([]byte, error) {
7394	type NoMethod OrdersCustomBatchRequestEntryUpdateLineItemShippingDetails
7395	raw := NoMethod(*s)
7396	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7397}
7398
7399type OrdersCustomBatchRequestEntryUpdateShipment struct {
7400	// Carrier: The carrier handling the shipment. Not updated if missing.
7401	// See `shipments[].carrier` in the Orders resource representation for a
7402	// list of acceptable values.
7403	Carrier string `json:"carrier,omitempty"`
7404
7405	// DeliveryDate: Date on which the shipment has been delivered, in ISO
7406	// 8601 format. Optional and can be provided only if `status` is
7407	// `delivered`.
7408	DeliveryDate string `json:"deliveryDate,omitempty"`
7409
7410	// ShipmentId: The ID of the shipment.
7411	ShipmentId string `json:"shipmentId,omitempty"`
7412
7413	// Status: New status for the shipment. Not updated if missing.
7414	// Acceptable values are: - "delivered" - "undeliverable" -
7415	// "readyForPickup"
7416	Status string `json:"status,omitempty"`
7417
7418	// TrackingId: The tracking ID for the shipment. Not updated if missing.
7419	TrackingId string `json:"trackingId,omitempty"`
7420
7421	// ForceSendFields is a list of field names (e.g. "Carrier") to
7422	// unconditionally include in API requests. By default, fields with
7423	// empty values are omitted from API requests. However, any non-pointer,
7424	// non-interface field appearing in ForceSendFields will be sent to the
7425	// server regardless of whether the field is empty or not. This may be
7426	// used to include empty fields in Patch requests.
7427	ForceSendFields []string `json:"-"`
7428
7429	// NullFields is a list of field names (e.g. "Carrier") to include in
7430	// API requests with the JSON null value. By default, fields with empty
7431	// values are omitted from API requests. However, any field with an
7432	// empty value appearing in NullFields will be sent to the server as
7433	// null. It is an error if a field in this list has a non-empty value.
7434	// This may be used to include null fields in Patch requests.
7435	NullFields []string `json:"-"`
7436}
7437
7438func (s *OrdersCustomBatchRequestEntryUpdateShipment) MarshalJSON() ([]byte, error) {
7439	type NoMethod OrdersCustomBatchRequestEntryUpdateShipment
7440	raw := NoMethod(*s)
7441	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7442}
7443
7444type OrdersCustomBatchResponse struct {
7445	// Entries: The result of the execution of the batch requests.
7446	Entries []*OrdersCustomBatchResponseEntry `json:"entries,omitempty"`
7447
7448	// Kind: Identifies what kind of resource this is. Value: the fixed
7449	// string "content#ordersCustomBatchResponse".
7450	Kind string `json:"kind,omitempty"`
7451
7452	// ServerResponse contains the HTTP response code and headers from the
7453	// server.
7454	googleapi.ServerResponse `json:"-"`
7455
7456	// ForceSendFields is a list of field names (e.g. "Entries") to
7457	// unconditionally include in API requests. By default, fields with
7458	// empty values are omitted from API requests. However, any non-pointer,
7459	// non-interface field appearing in ForceSendFields will be sent to the
7460	// server regardless of whether the field is empty or not. This may be
7461	// used to include empty fields in Patch requests.
7462	ForceSendFields []string `json:"-"`
7463
7464	// NullFields is a list of field names (e.g. "Entries") to include in
7465	// API requests with the JSON null value. By default, fields with empty
7466	// values are omitted from API requests. However, any field with an
7467	// empty value appearing in NullFields will be sent to the server as
7468	// null. It is an error if a field in this list has a non-empty value.
7469	// This may be used to include null fields in Patch requests.
7470	NullFields []string `json:"-"`
7471}
7472
7473func (s *OrdersCustomBatchResponse) MarshalJSON() ([]byte, error) {
7474	type NoMethod OrdersCustomBatchResponse
7475	raw := NoMethod(*s)
7476	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7477}
7478
7479type OrdersCustomBatchResponseEntry struct {
7480	// BatchId: The ID of the request entry this entry responds to.
7481	BatchId int64 `json:"batchId,omitempty"`
7482
7483	// Errors: A list of errors defined if and only if the request failed.
7484	Errors *Errors `json:"errors,omitempty"`
7485
7486	// ExecutionStatus: The status of the execution. Only defined if 1. the
7487	// request was successful; and 2. the method is not `get`,
7488	// `getByMerchantOrderId`, or one of the test methods. Acceptable values
7489	// are: - "duplicate" - "executed"
7490	ExecutionStatus string `json:"executionStatus,omitempty"`
7491
7492	// Kind: Identifies what kind of resource this is. Value: the fixed
7493	// string "content#ordersCustomBatchResponseEntry"
7494	Kind string `json:"kind,omitempty"`
7495
7496	// Order: The retrieved order. Only defined if the method is `get` and
7497	// if the request was successful.
7498	Order *Order `json:"order,omitempty"`
7499
7500	// ForceSendFields is a list of field names (e.g. "BatchId") to
7501	// unconditionally include in API requests. By default, fields with
7502	// empty values are omitted from API requests. However, any non-pointer,
7503	// non-interface field appearing in ForceSendFields will be sent to the
7504	// server regardless of whether the field is empty or not. This may be
7505	// used to include empty fields in Patch requests.
7506	ForceSendFields []string `json:"-"`
7507
7508	// NullFields is a list of field names (e.g. "BatchId") to include in
7509	// API requests with the JSON null value. By default, fields with empty
7510	// values are omitted from API requests. However, any field with an
7511	// empty value appearing in NullFields will be sent to the server as
7512	// null. It is an error if a field in this list has a non-empty value.
7513	// This may be used to include null fields in Patch requests.
7514	NullFields []string `json:"-"`
7515}
7516
7517func (s *OrdersCustomBatchResponseEntry) MarshalJSON() ([]byte, error) {
7518	type NoMethod OrdersCustomBatchResponseEntry
7519	raw := NoMethod(*s)
7520	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7521}
7522
7523type OrdersGetByMerchantOrderIdResponse struct {
7524	// Kind: Identifies what kind of resource this is. Value: the fixed
7525	// string "content#ordersGetByMerchantOrderIdResponse".
7526	Kind string `json:"kind,omitempty"`
7527
7528	// Order: The requested order.
7529	Order *Order `json:"order,omitempty"`
7530
7531	// ServerResponse contains the HTTP response code and headers from the
7532	// server.
7533	googleapi.ServerResponse `json:"-"`
7534
7535	// ForceSendFields is a list of field names (e.g. "Kind") to
7536	// unconditionally include in API requests. By default, fields with
7537	// empty values are omitted from API requests. However, any non-pointer,
7538	// non-interface field appearing in ForceSendFields will be sent to the
7539	// server regardless of whether the field is empty or not. This may be
7540	// used to include empty fields in Patch requests.
7541	ForceSendFields []string `json:"-"`
7542
7543	// NullFields is a list of field names (e.g. "Kind") to include in API
7544	// requests with the JSON null value. By default, fields with empty
7545	// values are omitted from API requests. However, any field with an
7546	// empty value appearing in NullFields will be sent to the server as
7547	// null. It is an error if a field in this list has a non-empty value.
7548	// This may be used to include null fields in Patch requests.
7549	NullFields []string `json:"-"`
7550}
7551
7552func (s *OrdersGetByMerchantOrderIdResponse) MarshalJSON() ([]byte, error) {
7553	type NoMethod OrdersGetByMerchantOrderIdResponse
7554	raw := NoMethod(*s)
7555	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7556}
7557
7558type OrdersGetTestOrderTemplateResponse struct {
7559	// Kind: Identifies what kind of resource this is. Value: the fixed
7560	// string "content#ordersGetTestOrderTemplateResponse".
7561	Kind string `json:"kind,omitempty"`
7562
7563	// Template: The requested test order template.
7564	Template *TestOrder `json:"template,omitempty"`
7565
7566	// ServerResponse contains the HTTP response code and headers from the
7567	// server.
7568	googleapi.ServerResponse `json:"-"`
7569
7570	// ForceSendFields is a list of field names (e.g. "Kind") to
7571	// unconditionally include in API requests. By default, fields with
7572	// empty values are omitted from API requests. However, any non-pointer,
7573	// non-interface field appearing in ForceSendFields will be sent to the
7574	// server regardless of whether the field is empty or not. This may be
7575	// used to include empty fields in Patch requests.
7576	ForceSendFields []string `json:"-"`
7577
7578	// NullFields is a list of field names (e.g. "Kind") to include in API
7579	// requests with the JSON null value. By default, fields with empty
7580	// values are omitted from API requests. However, any field with an
7581	// empty value appearing in NullFields will be sent to the server as
7582	// null. It is an error if a field in this list has a non-empty value.
7583	// This may be used to include null fields in Patch requests.
7584	NullFields []string `json:"-"`
7585}
7586
7587func (s *OrdersGetTestOrderTemplateResponse) MarshalJSON() ([]byte, error) {
7588	type NoMethod OrdersGetTestOrderTemplateResponse
7589	raw := NoMethod(*s)
7590	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7591}
7592
7593type OrdersInStoreRefundLineItemRequest struct {
7594	// AmountPretax: The amount that is refunded. Required.
7595	AmountPretax *Price `json:"amountPretax,omitempty"`
7596
7597	// AmountTax: Tax amount that correspond to refund amount in
7598	// amountPretax. Required.
7599	AmountTax *Price `json:"amountTax,omitempty"`
7600
7601	// LineItemId: The ID of the line item to return. Either lineItemId or
7602	// productId is required.
7603	LineItemId string `json:"lineItemId,omitempty"`
7604
7605	// OperationId: The ID of the operation. Unique across all operations
7606	// for a given order.
7607	OperationId string `json:"operationId,omitempty"`
7608
7609	// ProductId: The ID of the product to return. This is the REST ID used
7610	// in the products service. Either lineItemId or productId is required.
7611	ProductId string `json:"productId,omitempty"`
7612
7613	// Quantity: The quantity to return and refund.
7614	Quantity int64 `json:"quantity,omitempty"`
7615
7616	// Reason: The reason for the return. Acceptable values are: -
7617	// "customerDiscretionaryReturn" - "customerInitiatedMerchantCancel"
7618	// - "deliveredTooLate" - "expiredItem" - "invalidCoupon" -
7619	// "malformedShippingAddress" - "other" - "productArrivedDamaged"
7620	// - "productNotAsDescribed" - "qualityNotAsExpected" -
7621	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress" -
7622	// "wrongProductShipped"
7623	Reason string `json:"reason,omitempty"`
7624
7625	// ReasonText: The explanation of the reason.
7626	ReasonText string `json:"reasonText,omitempty"`
7627
7628	// ForceSendFields is a list of field names (e.g. "AmountPretax") to
7629	// unconditionally include in API requests. By default, fields with
7630	// empty values are omitted from API requests. However, any non-pointer,
7631	// non-interface field appearing in ForceSendFields will be sent to the
7632	// server regardless of whether the field is empty or not. This may be
7633	// used to include empty fields in Patch requests.
7634	ForceSendFields []string `json:"-"`
7635
7636	// NullFields is a list of field names (e.g. "AmountPretax") to include
7637	// in API requests with the JSON null value. By default, fields with
7638	// empty values are omitted from API requests. However, any field with
7639	// an empty value appearing in NullFields will be sent to the server as
7640	// null. It is an error if a field in this list has a non-empty value.
7641	// This may be used to include null fields in Patch requests.
7642	NullFields []string `json:"-"`
7643}
7644
7645func (s *OrdersInStoreRefundLineItemRequest) MarshalJSON() ([]byte, error) {
7646	type NoMethod OrdersInStoreRefundLineItemRequest
7647	raw := NoMethod(*s)
7648	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7649}
7650
7651type OrdersInStoreRefundLineItemResponse struct {
7652	// ExecutionStatus: The status of the execution. Acceptable values are:
7653	// - "duplicate" - "executed"
7654	ExecutionStatus string `json:"executionStatus,omitempty"`
7655
7656	// Kind: Identifies what kind of resource this is. Value: the fixed
7657	// string "content#ordersInStoreRefundLineItemResponse".
7658	Kind string `json:"kind,omitempty"`
7659
7660	// ServerResponse contains the HTTP response code and headers from the
7661	// server.
7662	googleapi.ServerResponse `json:"-"`
7663
7664	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
7665	// unconditionally include in API requests. By default, fields with
7666	// empty values are omitted from API requests. However, any non-pointer,
7667	// non-interface field appearing in ForceSendFields will be sent to the
7668	// server regardless of whether the field is empty or not. This may be
7669	// used to include empty fields in Patch requests.
7670	ForceSendFields []string `json:"-"`
7671
7672	// NullFields is a list of field names (e.g. "ExecutionStatus") to
7673	// include in API requests with the JSON null value. By default, fields
7674	// with empty values are omitted from API requests. However, any field
7675	// with an empty value appearing in NullFields will be sent to the
7676	// server as null. It is an error if a field in this list has a
7677	// non-empty value. This may be used to include null fields in Patch
7678	// requests.
7679	NullFields []string `json:"-"`
7680}
7681
7682func (s *OrdersInStoreRefundLineItemResponse) MarshalJSON() ([]byte, error) {
7683	type NoMethod OrdersInStoreRefundLineItemResponse
7684	raw := NoMethod(*s)
7685	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7686}
7687
7688type OrdersListResponse struct {
7689	// Kind: Identifies what kind of resource this is. Value: the fixed
7690	// string "content#ordersListResponse".
7691	Kind string `json:"kind,omitempty"`
7692
7693	// NextPageToken: The token for the retrieval of the next page of
7694	// orders.
7695	NextPageToken string `json:"nextPageToken,omitempty"`
7696
7697	Resources []*Order `json:"resources,omitempty"`
7698
7699	// ServerResponse contains the HTTP response code and headers from the
7700	// server.
7701	googleapi.ServerResponse `json:"-"`
7702
7703	// ForceSendFields is a list of field names (e.g. "Kind") to
7704	// unconditionally include in API requests. By default, fields with
7705	// empty values are omitted from API requests. However, any non-pointer,
7706	// non-interface field appearing in ForceSendFields will be sent to the
7707	// server regardless of whether the field is empty or not. This may be
7708	// used to include empty fields in Patch requests.
7709	ForceSendFields []string `json:"-"`
7710
7711	// NullFields is a list of field names (e.g. "Kind") to include in API
7712	// requests with the JSON null value. By default, fields with empty
7713	// values are omitted from API requests. However, any field with an
7714	// empty value appearing in NullFields will be sent to the server as
7715	// null. It is an error if a field in this list has a non-empty value.
7716	// This may be used to include null fields in Patch requests.
7717	NullFields []string `json:"-"`
7718}
7719
7720func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
7721	type NoMethod OrdersListResponse
7722	raw := NoMethod(*s)
7723	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7724}
7725
7726type OrdersRefundRequest struct {
7727	// Amount: Deprecated. Please use amountPretax and amountTax instead.
7728	Amount *Price `json:"amount,omitempty"`
7729
7730	// AmountPretax: The amount that is refunded. Either amount or
7731	// amountPretax should be filled.
7732	AmountPretax *Price `json:"amountPretax,omitempty"`
7733
7734	// AmountTax: Tax amount that corresponds to refund amount in
7735	// amountPretax. Optional, but if filled, amountPretax must be set.
7736	// Calculated automatically if not provided.
7737	AmountTax *Price `json:"amountTax,omitempty"`
7738
7739	// OperationId: The ID of the operation. Unique across all operations
7740	// for a given order.
7741	OperationId string `json:"operationId,omitempty"`
7742
7743	// Reason: The reason for the refund. Acceptable values are: -
7744	// "adjustment" - "courtesyAdjustment" - "customerCanceled" -
7745	// "customerDiscretionaryReturn" - "deliveredLateByCarrier" -
7746	// "feeAdjustment" - "lateShipmentCredit" - "noInventory" -
7747	// "other" - "priceError" - "productArrivedDamaged" -
7748	// "productNotAsDescribed" - "shippingCostAdjustment" -
7749	// "taxAdjustment" - "undeliverableShippingAddress" -
7750	// "wrongProductShipped"
7751	Reason string `json:"reason,omitempty"`
7752
7753	// ReasonText: The explanation of the reason.
7754	ReasonText string `json:"reasonText,omitempty"`
7755
7756	// ForceSendFields is a list of field names (e.g. "Amount") to
7757	// unconditionally include in API requests. By default, fields with
7758	// empty values are omitted from API requests. However, any non-pointer,
7759	// non-interface field appearing in ForceSendFields will be sent to the
7760	// server regardless of whether the field is empty or not. This may be
7761	// used to include empty fields in Patch requests.
7762	ForceSendFields []string `json:"-"`
7763
7764	// NullFields is a list of field names (e.g. "Amount") to include in API
7765	// requests with the JSON null value. By default, fields with empty
7766	// values are omitted from API requests. However, any field with an
7767	// empty value appearing in NullFields will be sent to the server as
7768	// null. It is an error if a field in this list has a non-empty value.
7769	// This may be used to include null fields in Patch requests.
7770	NullFields []string `json:"-"`
7771}
7772
7773func (s *OrdersRefundRequest) MarshalJSON() ([]byte, error) {
7774	type NoMethod OrdersRefundRequest
7775	raw := NoMethod(*s)
7776	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7777}
7778
7779type OrdersRefundResponse struct {
7780	// ExecutionStatus: The status of the execution. Acceptable values are:
7781	// - "duplicate" - "executed"
7782	ExecutionStatus string `json:"executionStatus,omitempty"`
7783
7784	// Kind: Identifies what kind of resource this is. Value: the fixed
7785	// string "content#ordersRefundResponse".
7786	Kind string `json:"kind,omitempty"`
7787
7788	// ServerResponse contains the HTTP response code and headers from the
7789	// server.
7790	googleapi.ServerResponse `json:"-"`
7791
7792	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
7793	// unconditionally include in API requests. By default, fields with
7794	// empty values are omitted from API requests. However, any non-pointer,
7795	// non-interface field appearing in ForceSendFields will be sent to the
7796	// server regardless of whether the field is empty or not. This may be
7797	// used to include empty fields in Patch requests.
7798	ForceSendFields []string `json:"-"`
7799
7800	// NullFields is a list of field names (e.g. "ExecutionStatus") to
7801	// include in API requests with the JSON null value. By default, fields
7802	// with empty values are omitted from API requests. However, any field
7803	// with an empty value appearing in NullFields will be sent to the
7804	// server as null. It is an error if a field in this list has a
7805	// non-empty value. This may be used to include null fields in Patch
7806	// requests.
7807	NullFields []string `json:"-"`
7808}
7809
7810func (s *OrdersRefundResponse) MarshalJSON() ([]byte, error) {
7811	type NoMethod OrdersRefundResponse
7812	raw := NoMethod(*s)
7813	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7814}
7815
7816type OrdersRejectReturnLineItemRequest struct {
7817	// LineItemId: The ID of the line item to return. Either lineItemId or
7818	// productId is required.
7819	LineItemId string `json:"lineItemId,omitempty"`
7820
7821	// OperationId: The ID of the operation. Unique across all operations
7822	// for a given order.
7823	OperationId string `json:"operationId,omitempty"`
7824
7825	// ProductId: The ID of the product to return. This is the REST ID used
7826	// in the products service. Either lineItemId or productId is required.
7827	ProductId string `json:"productId,omitempty"`
7828
7829	// Quantity: The quantity to return and refund.
7830	Quantity int64 `json:"quantity,omitempty"`
7831
7832	// Reason: The reason for the return. Acceptable values are: -
7833	// "damagedOrUsed" - "missingComponent" - "notEligible" -
7834	// "other" - "outOfReturnWindow"
7835	Reason string `json:"reason,omitempty"`
7836
7837	// ReasonText: The explanation of the reason.
7838	ReasonText string `json:"reasonText,omitempty"`
7839
7840	// ForceSendFields is a list of field names (e.g. "LineItemId") to
7841	// unconditionally include in API requests. By default, fields with
7842	// empty values are omitted from API requests. However, any non-pointer,
7843	// non-interface field appearing in ForceSendFields will be sent to the
7844	// server regardless of whether the field is empty or not. This may be
7845	// used to include empty fields in Patch requests.
7846	ForceSendFields []string `json:"-"`
7847
7848	// NullFields is a list of field names (e.g. "LineItemId") to include in
7849	// API requests with the JSON null value. By default, fields with empty
7850	// values are omitted from API requests. However, any field with an
7851	// empty value appearing in NullFields will be sent to the server as
7852	// null. It is an error if a field in this list has a non-empty value.
7853	// This may be used to include null fields in Patch requests.
7854	NullFields []string `json:"-"`
7855}
7856
7857func (s *OrdersRejectReturnLineItemRequest) MarshalJSON() ([]byte, error) {
7858	type NoMethod OrdersRejectReturnLineItemRequest
7859	raw := NoMethod(*s)
7860	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7861}
7862
7863type OrdersRejectReturnLineItemResponse struct {
7864	// ExecutionStatus: The status of the execution. Acceptable values are:
7865	// - "duplicate" - "executed"
7866	ExecutionStatus string `json:"executionStatus,omitempty"`
7867
7868	// Kind: Identifies what kind of resource this is. Value: the fixed
7869	// string "content#ordersRejectReturnLineItemResponse".
7870	Kind string `json:"kind,omitempty"`
7871
7872	// ServerResponse contains the HTTP response code and headers from the
7873	// server.
7874	googleapi.ServerResponse `json:"-"`
7875
7876	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
7877	// unconditionally include in API requests. By default, fields with
7878	// empty values are omitted from API requests. However, any non-pointer,
7879	// non-interface field appearing in ForceSendFields will be sent to the
7880	// server regardless of whether the field is empty or not. This may be
7881	// used to include empty fields in Patch requests.
7882	ForceSendFields []string `json:"-"`
7883
7884	// NullFields is a list of field names (e.g. "ExecutionStatus") to
7885	// include in API requests with the JSON null value. By default, fields
7886	// with empty values are omitted from API requests. However, any field
7887	// with an empty value appearing in NullFields will be sent to the
7888	// server as null. It is an error if a field in this list has a
7889	// non-empty value. This may be used to include null fields in Patch
7890	// requests.
7891	NullFields []string `json:"-"`
7892}
7893
7894func (s *OrdersRejectReturnLineItemResponse) MarshalJSON() ([]byte, error) {
7895	type NoMethod OrdersRejectReturnLineItemResponse
7896	raw := NoMethod(*s)
7897	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7898}
7899
7900type OrdersReturnLineItemRequest struct {
7901	// LineItemId: The ID of the line item to return. Either lineItemId or
7902	// productId is required.
7903	LineItemId string `json:"lineItemId,omitempty"`
7904
7905	// OperationId: The ID of the operation. Unique across all operations
7906	// for a given order.
7907	OperationId string `json:"operationId,omitempty"`
7908
7909	// ProductId: The ID of the product to return. This is the REST ID used
7910	// in the products service. Either lineItemId or productId is required.
7911	ProductId string `json:"productId,omitempty"`
7912
7913	// Quantity: The quantity to return.
7914	Quantity int64 `json:"quantity,omitempty"`
7915
7916	// Reason: The reason for the return. Acceptable values are: -
7917	// "customerDiscretionaryReturn" - "customerInitiatedMerchantCancel"
7918	// - "deliveredTooLate" - "expiredItem" - "invalidCoupon" -
7919	// "malformedShippingAddress" - "other" - "productArrivedDamaged"
7920	// - "productNotAsDescribed" - "qualityNotAsExpected" -
7921	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress" -
7922	// "wrongProductShipped"
7923	Reason string `json:"reason,omitempty"`
7924
7925	// ReasonText: The explanation of the reason.
7926	ReasonText string `json:"reasonText,omitempty"`
7927
7928	// ForceSendFields is a list of field names (e.g. "LineItemId") to
7929	// unconditionally include in API requests. By default, fields with
7930	// empty values are omitted from API requests. However, any non-pointer,
7931	// non-interface field appearing in ForceSendFields will be sent to the
7932	// server regardless of whether the field is empty or not. This may be
7933	// used to include empty fields in Patch requests.
7934	ForceSendFields []string `json:"-"`
7935
7936	// NullFields is a list of field names (e.g. "LineItemId") to include in
7937	// API requests with the JSON null value. By default, fields with empty
7938	// values are omitted from API requests. However, any field with an
7939	// empty value appearing in NullFields will be sent to the server as
7940	// null. It is an error if a field in this list has a non-empty value.
7941	// This may be used to include null fields in Patch requests.
7942	NullFields []string `json:"-"`
7943}
7944
7945func (s *OrdersReturnLineItemRequest) MarshalJSON() ([]byte, error) {
7946	type NoMethod OrdersReturnLineItemRequest
7947	raw := NoMethod(*s)
7948	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7949}
7950
7951type OrdersReturnLineItemResponse struct {
7952	// ExecutionStatus: The status of the execution. Acceptable values are:
7953	// - "duplicate" - "executed"
7954	ExecutionStatus string `json:"executionStatus,omitempty"`
7955
7956	// Kind: Identifies what kind of resource this is. Value: the fixed
7957	// string "content#ordersReturnLineItemResponse".
7958	Kind string `json:"kind,omitempty"`
7959
7960	// ServerResponse contains the HTTP response code and headers from the
7961	// server.
7962	googleapi.ServerResponse `json:"-"`
7963
7964	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
7965	// unconditionally include in API requests. By default, fields with
7966	// empty values are omitted from API requests. However, any non-pointer,
7967	// non-interface field appearing in ForceSendFields will be sent to the
7968	// server regardless of whether the field is empty or not. This may be
7969	// used to include empty fields in Patch requests.
7970	ForceSendFields []string `json:"-"`
7971
7972	// NullFields is a list of field names (e.g. "ExecutionStatus") to
7973	// include in API requests with the JSON null value. By default, fields
7974	// with empty values are omitted from API requests. However, any field
7975	// with an empty value appearing in NullFields will be sent to the
7976	// server as null. It is an error if a field in this list has a
7977	// non-empty value. This may be used to include null fields in Patch
7978	// requests.
7979	NullFields []string `json:"-"`
7980}
7981
7982func (s *OrdersReturnLineItemResponse) MarshalJSON() ([]byte, error) {
7983	type NoMethod OrdersReturnLineItemResponse
7984	raw := NoMethod(*s)
7985	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7986}
7987
7988type OrdersReturnRefundLineItemRequest struct {
7989	// AmountPretax: The amount that is refunded. If omitted, refundless
7990	// return is assumed (same as calling returnLineItem method).
7991	AmountPretax *Price `json:"amountPretax,omitempty"`
7992
7993	// AmountTax: Tax amount that corresponds to refund amount in
7994	// amountPretax. Optional, but if filled, then amountPretax must be set.
7995	// Calculated automatically if not provided.
7996	AmountTax *Price `json:"amountTax,omitempty"`
7997
7998	// LineItemId: The ID of the line item to return. Either lineItemId or
7999	// productId is required.
8000	LineItemId string `json:"lineItemId,omitempty"`
8001
8002	// OperationId: The ID of the operation. Unique across all operations
8003	// for a given order.
8004	OperationId string `json:"operationId,omitempty"`
8005
8006	// ProductId: The ID of the product to return. This is the REST ID used
8007	// in the products service. Either lineItemId or productId is required.
8008	ProductId string `json:"productId,omitempty"`
8009
8010	// Quantity: The quantity to return and refund. Quantity is required.
8011	Quantity int64 `json:"quantity,omitempty"`
8012
8013	// Reason: The reason for the return. Acceptable values are: -
8014	// "customerDiscretionaryReturn" - "customerInitiatedMerchantCancel"
8015	// - "deliveredTooLate" - "expiredItem" - "invalidCoupon" -
8016	// "malformedShippingAddress" - "other" - "productArrivedDamaged"
8017	// - "productNotAsDescribed" - "qualityNotAsExpected" -
8018	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress" -
8019	// "wrongProductShipped"
8020	Reason string `json:"reason,omitempty"`
8021
8022	// ReasonText: The explanation of the reason.
8023	ReasonText string `json:"reasonText,omitempty"`
8024
8025	// ForceSendFields is a list of field names (e.g. "AmountPretax") to
8026	// unconditionally include in API requests. By default, fields with
8027	// empty values are omitted from API requests. However, any non-pointer,
8028	// non-interface field appearing in ForceSendFields will be sent to the
8029	// server regardless of whether the field is empty or not. This may be
8030	// used to include empty fields in Patch requests.
8031	ForceSendFields []string `json:"-"`
8032
8033	// NullFields is a list of field names (e.g. "AmountPretax") to include
8034	// in API requests with the JSON null value. By default, fields with
8035	// empty values are omitted from API requests. However, any field with
8036	// an empty value appearing in NullFields will be sent to the server as
8037	// null. It is an error if a field in this list has a non-empty value.
8038	// This may be used to include null fields in Patch requests.
8039	NullFields []string `json:"-"`
8040}
8041
8042func (s *OrdersReturnRefundLineItemRequest) MarshalJSON() ([]byte, error) {
8043	type NoMethod OrdersReturnRefundLineItemRequest
8044	raw := NoMethod(*s)
8045	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8046}
8047
8048type OrdersReturnRefundLineItemResponse struct {
8049	// ExecutionStatus: The status of the execution. Acceptable values are:
8050	// - "duplicate" - "executed"
8051	ExecutionStatus string `json:"executionStatus,omitempty"`
8052
8053	// Kind: Identifies what kind of resource this is. Value: the fixed
8054	// string "content#ordersReturnRefundLineItemResponse".
8055	Kind string `json:"kind,omitempty"`
8056
8057	// ServerResponse contains the HTTP response code and headers from the
8058	// server.
8059	googleapi.ServerResponse `json:"-"`
8060
8061	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
8062	// unconditionally include in API requests. By default, fields with
8063	// empty values are omitted from API requests. However, any non-pointer,
8064	// non-interface field appearing in ForceSendFields will be sent to the
8065	// server regardless of whether the field is empty or not. This may be
8066	// used to include empty fields in Patch requests.
8067	ForceSendFields []string `json:"-"`
8068
8069	// NullFields is a list of field names (e.g. "ExecutionStatus") to
8070	// include in API requests with the JSON null value. By default, fields
8071	// with empty values are omitted from API requests. However, any field
8072	// with an empty value appearing in NullFields will be sent to the
8073	// server as null. It is an error if a field in this list has a
8074	// non-empty value. This may be used to include null fields in Patch
8075	// requests.
8076	NullFields []string `json:"-"`
8077}
8078
8079func (s *OrdersReturnRefundLineItemResponse) MarshalJSON() ([]byte, error) {
8080	type NoMethod OrdersReturnRefundLineItemResponse
8081	raw := NoMethod(*s)
8082	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8083}
8084
8085type OrdersSetLineItemMetadataRequest struct {
8086	Annotations []*OrderMerchantProvidedAnnotation `json:"annotations,omitempty"`
8087
8088	// LineItemId: The ID of the line item to set metadata. Either
8089	// lineItemId or productId is required.
8090	LineItemId string `json:"lineItemId,omitempty"`
8091
8092	// OperationId: The ID of the operation. Unique across all operations
8093	// for a given order.
8094	OperationId string `json:"operationId,omitempty"`
8095
8096	// ProductId: The ID of the product to set metadata. This is the REST ID
8097	// used in the products service. Either lineItemId or productId is
8098	// required.
8099	ProductId string `json:"productId,omitempty"`
8100
8101	// ForceSendFields is a list of field names (e.g. "Annotations") to
8102	// unconditionally include in API requests. By default, fields with
8103	// empty values are omitted from API requests. However, any non-pointer,
8104	// non-interface field appearing in ForceSendFields will be sent to the
8105	// server regardless of whether the field is empty or not. This may be
8106	// used to include empty fields in Patch requests.
8107	ForceSendFields []string `json:"-"`
8108
8109	// NullFields is a list of field names (e.g. "Annotations") to include
8110	// in API requests with the JSON null value. By default, fields with
8111	// empty values are omitted from API requests. However, any field with
8112	// an empty value appearing in NullFields will be sent to the server as
8113	// null. It is an error if a field in this list has a non-empty value.
8114	// This may be used to include null fields in Patch requests.
8115	NullFields []string `json:"-"`
8116}
8117
8118func (s *OrdersSetLineItemMetadataRequest) MarshalJSON() ([]byte, error) {
8119	type NoMethod OrdersSetLineItemMetadataRequest
8120	raw := NoMethod(*s)
8121	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8122}
8123
8124type OrdersSetLineItemMetadataResponse struct {
8125	// ExecutionStatus: The status of the execution. Acceptable values are:
8126	// - "duplicate" - "executed"
8127	ExecutionStatus string `json:"executionStatus,omitempty"`
8128
8129	// Kind: Identifies what kind of resource this is. Value: the fixed
8130	// string "content#ordersSetLineItemMetadataResponse".
8131	Kind string `json:"kind,omitempty"`
8132
8133	// ServerResponse contains the HTTP response code and headers from the
8134	// server.
8135	googleapi.ServerResponse `json:"-"`
8136
8137	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
8138	// unconditionally include in API requests. By default, fields with
8139	// empty values are omitted from API requests. However, any non-pointer,
8140	// non-interface field appearing in ForceSendFields will be sent to the
8141	// server regardless of whether the field is empty or not. This may be
8142	// used to include empty fields in Patch requests.
8143	ForceSendFields []string `json:"-"`
8144
8145	// NullFields is a list of field names (e.g. "ExecutionStatus") to
8146	// include in API requests with the JSON null value. By default, fields
8147	// with empty values are omitted from API requests. However, any field
8148	// with an empty value appearing in NullFields will be sent to the
8149	// server as null. It is an error if a field in this list has a
8150	// non-empty value. This may be used to include null fields in Patch
8151	// requests.
8152	NullFields []string `json:"-"`
8153}
8154
8155func (s *OrdersSetLineItemMetadataResponse) MarshalJSON() ([]byte, error) {
8156	type NoMethod OrdersSetLineItemMetadataResponse
8157	raw := NoMethod(*s)
8158	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8159}
8160
8161type OrdersShipLineItemsRequest struct {
8162	// Carrier: Deprecated. Please use shipmentInfo instead. The carrier
8163	// handling the shipment. See `shipments[].carrier` in the Orders
8164	// resource representation for a list of acceptable values.
8165	Carrier string `json:"carrier,omitempty"`
8166
8167	// LineItems: Line items to ship.
8168	LineItems []*OrderShipmentLineItemShipment `json:"lineItems,omitempty"`
8169
8170	// OperationId: The ID of the operation. Unique across all operations
8171	// for a given order.
8172	OperationId string `json:"operationId,omitempty"`
8173
8174	// ShipmentGroupId: ID of the shipment group. Required for orders that
8175	// use the orderinvoices service.
8176	ShipmentGroupId string `json:"shipmentGroupId,omitempty"`
8177
8178	// ShipmentId: Deprecated. Please use shipmentInfo instead. The ID of
8179	// the shipment.
8180	ShipmentId string `json:"shipmentId,omitempty"`
8181
8182	// ShipmentInfos: Shipment information. This field is repeated because a
8183	// single line item can be shipped in several packages (and have several
8184	// tracking IDs).
8185	ShipmentInfos []*OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo `json:"shipmentInfos,omitempty"`
8186
8187	// TrackingId: Deprecated. Please use shipmentInfo instead. The tracking
8188	// ID for the shipment.
8189	TrackingId string `json:"trackingId,omitempty"`
8190
8191	// ForceSendFields is a list of field names (e.g. "Carrier") to
8192	// unconditionally include in API requests. By default, fields with
8193	// empty values are omitted from API requests. However, any non-pointer,
8194	// non-interface field appearing in ForceSendFields will be sent to the
8195	// server regardless of whether the field is empty or not. This may be
8196	// used to include empty fields in Patch requests.
8197	ForceSendFields []string `json:"-"`
8198
8199	// NullFields is a list of field names (e.g. "Carrier") to include in
8200	// API requests with the JSON null value. By default, fields with empty
8201	// values are omitted from API requests. However, any field with an
8202	// empty value appearing in NullFields will be sent to the server as
8203	// null. It is an error if a field in this list has a non-empty value.
8204	// This may be used to include null fields in Patch requests.
8205	NullFields []string `json:"-"`
8206}
8207
8208func (s *OrdersShipLineItemsRequest) MarshalJSON() ([]byte, error) {
8209	type NoMethod OrdersShipLineItemsRequest
8210	raw := NoMethod(*s)
8211	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8212}
8213
8214type OrdersShipLineItemsResponse struct {
8215	// ExecutionStatus: The status of the execution. Acceptable values are:
8216	// - "duplicate" - "executed"
8217	ExecutionStatus string `json:"executionStatus,omitempty"`
8218
8219	// Kind: Identifies what kind of resource this is. Value: the fixed
8220	// string "content#ordersShipLineItemsResponse".
8221	Kind string `json:"kind,omitempty"`
8222
8223	// ServerResponse contains the HTTP response code and headers from the
8224	// server.
8225	googleapi.ServerResponse `json:"-"`
8226
8227	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
8228	// unconditionally include in API requests. By default, fields with
8229	// empty values are omitted from API requests. However, any non-pointer,
8230	// non-interface field appearing in ForceSendFields will be sent to the
8231	// server regardless of whether the field is empty or not. This may be
8232	// used to include empty fields in Patch requests.
8233	ForceSendFields []string `json:"-"`
8234
8235	// NullFields is a list of field names (e.g. "ExecutionStatus") to
8236	// include in API requests with the JSON null value. By default, fields
8237	// with empty values are omitted from API requests. However, any field
8238	// with an empty value appearing in NullFields will be sent to the
8239	// server as null. It is an error if a field in this list has a
8240	// non-empty value. This may be used to include null fields in Patch
8241	// requests.
8242	NullFields []string `json:"-"`
8243}
8244
8245func (s *OrdersShipLineItemsResponse) MarshalJSON() ([]byte, error) {
8246	type NoMethod OrdersShipLineItemsResponse
8247	raw := NoMethod(*s)
8248	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8249}
8250
8251type OrdersUpdateLineItemShippingDetailsRequest struct {
8252	// DeliverByDate: Updated delivery by date, in ISO 8601 format. If not
8253	// specified only ship by date is updated. Provided date should be
8254	// within 1 year timeframe and can not be a date in the past.
8255	DeliverByDate string `json:"deliverByDate,omitempty"`
8256
8257	// LineItemId: The ID of the line item to set metadata. Either
8258	// lineItemId or productId is required.
8259	LineItemId string `json:"lineItemId,omitempty"`
8260
8261	// OperationId: The ID of the operation. Unique across all operations
8262	// for a given order.
8263	OperationId string `json:"operationId,omitempty"`
8264
8265	// ProductId: The ID of the product to set metadata. This is the REST ID
8266	// used in the products service. Either lineItemId or productId is
8267	// required.
8268	ProductId string `json:"productId,omitempty"`
8269
8270	// ShipByDate: Updated ship by date, in ISO 8601 format. If not
8271	// specified only deliver by date is updated. Provided date should be
8272	// within 1 year timeframe and can not be a date in the past.
8273	ShipByDate string `json:"shipByDate,omitempty"`
8274
8275	// ForceSendFields is a list of field names (e.g. "DeliverByDate") to
8276	// unconditionally include in API requests. By default, fields with
8277	// empty values are omitted from API requests. However, any non-pointer,
8278	// non-interface field appearing in ForceSendFields will be sent to the
8279	// server regardless of whether the field is empty or not. This may be
8280	// used to include empty fields in Patch requests.
8281	ForceSendFields []string `json:"-"`
8282
8283	// NullFields is a list of field names (e.g. "DeliverByDate") to include
8284	// in API requests with the JSON null value. By default, fields with
8285	// empty values are omitted from API requests. However, any field with
8286	// an empty value appearing in NullFields will be sent to the server as
8287	// null. It is an error if a field in this list has a non-empty value.
8288	// This may be used to include null fields in Patch requests.
8289	NullFields []string `json:"-"`
8290}
8291
8292func (s *OrdersUpdateLineItemShippingDetailsRequest) MarshalJSON() ([]byte, error) {
8293	type NoMethod OrdersUpdateLineItemShippingDetailsRequest
8294	raw := NoMethod(*s)
8295	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8296}
8297
8298type OrdersUpdateLineItemShippingDetailsResponse struct {
8299	// ExecutionStatus: The status of the execution. Acceptable values are:
8300	// - "duplicate" - "executed"
8301	ExecutionStatus string `json:"executionStatus,omitempty"`
8302
8303	// Kind: Identifies what kind of resource this is. Value: the fixed
8304	// string "content#ordersUpdateLineItemShippingDetailsResponse".
8305	Kind string `json:"kind,omitempty"`
8306
8307	// ServerResponse contains the HTTP response code and headers from the
8308	// server.
8309	googleapi.ServerResponse `json:"-"`
8310
8311	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
8312	// unconditionally include in API requests. By default, fields with
8313	// empty values are omitted from API requests. However, any non-pointer,
8314	// non-interface field appearing in ForceSendFields will be sent to the
8315	// server regardless of whether the field is empty or not. This may be
8316	// used to include empty fields in Patch requests.
8317	ForceSendFields []string `json:"-"`
8318
8319	// NullFields is a list of field names (e.g. "ExecutionStatus") to
8320	// include in API requests with the JSON null value. By default, fields
8321	// with empty values are omitted from API requests. However, any field
8322	// with an empty value appearing in NullFields will be sent to the
8323	// server as null. It is an error if a field in this list has a
8324	// non-empty value. This may be used to include null fields in Patch
8325	// requests.
8326	NullFields []string `json:"-"`
8327}
8328
8329func (s *OrdersUpdateLineItemShippingDetailsResponse) MarshalJSON() ([]byte, error) {
8330	type NoMethod OrdersUpdateLineItemShippingDetailsResponse
8331	raw := NoMethod(*s)
8332	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8333}
8334
8335type OrdersUpdateMerchantOrderIdRequest struct {
8336	// MerchantOrderId: The merchant order id to be assigned to the order.
8337	// Must be unique per merchant.
8338	MerchantOrderId string `json:"merchantOrderId,omitempty"`
8339
8340	// OperationId: The ID of the operation. Unique across all operations
8341	// for a given order.
8342	OperationId string `json:"operationId,omitempty"`
8343
8344	// ForceSendFields is a list of field names (e.g. "MerchantOrderId") to
8345	// unconditionally include in API requests. By default, fields with
8346	// empty values are omitted from API requests. However, any non-pointer,
8347	// non-interface field appearing in ForceSendFields will be sent to the
8348	// server regardless of whether the field is empty or not. This may be
8349	// used to include empty fields in Patch requests.
8350	ForceSendFields []string `json:"-"`
8351
8352	// NullFields is a list of field names (e.g. "MerchantOrderId") to
8353	// include in API requests with the JSON null value. By default, fields
8354	// with empty values are omitted from API requests. However, any field
8355	// with an empty value appearing in NullFields will be sent to the
8356	// server as null. It is an error if a field in this list has a
8357	// non-empty value. This may be used to include null fields in Patch
8358	// requests.
8359	NullFields []string `json:"-"`
8360}
8361
8362func (s *OrdersUpdateMerchantOrderIdRequest) MarshalJSON() ([]byte, error) {
8363	type NoMethod OrdersUpdateMerchantOrderIdRequest
8364	raw := NoMethod(*s)
8365	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8366}
8367
8368type OrdersUpdateMerchantOrderIdResponse struct {
8369	// ExecutionStatus: The status of the execution. Acceptable values are:
8370	// - "duplicate" - "executed"
8371	ExecutionStatus string `json:"executionStatus,omitempty"`
8372
8373	// Kind: Identifies what kind of resource this is. Value: the fixed
8374	// string "content#ordersUpdateMerchantOrderIdResponse".
8375	Kind string `json:"kind,omitempty"`
8376
8377	// ServerResponse contains the HTTP response code and headers from the
8378	// server.
8379	googleapi.ServerResponse `json:"-"`
8380
8381	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
8382	// unconditionally include in API requests. By default, fields with
8383	// empty values are omitted from API requests. However, any non-pointer,
8384	// non-interface field appearing in ForceSendFields will be sent to the
8385	// server regardless of whether the field is empty or not. This may be
8386	// used to include empty fields in Patch requests.
8387	ForceSendFields []string `json:"-"`
8388
8389	// NullFields is a list of field names (e.g. "ExecutionStatus") to
8390	// include in API requests with the JSON null value. By default, fields
8391	// with empty values are omitted from API requests. However, any field
8392	// with an empty value appearing in NullFields will be sent to the
8393	// server as null. It is an error if a field in this list has a
8394	// non-empty value. This may be used to include null fields in Patch
8395	// requests.
8396	NullFields []string `json:"-"`
8397}
8398
8399func (s *OrdersUpdateMerchantOrderIdResponse) MarshalJSON() ([]byte, error) {
8400	type NoMethod OrdersUpdateMerchantOrderIdResponse
8401	raw := NoMethod(*s)
8402	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8403}
8404
8405type OrdersUpdateShipmentRequest struct {
8406	// Carrier: The carrier handling the shipment. Not updated if missing.
8407	// See `shipments[].carrier` in the Orders resource representation for a
8408	// list of acceptable values.
8409	Carrier string `json:"carrier,omitempty"`
8410
8411	// DeliveryDate: Date on which the shipment has been delivered, in ISO
8412	// 8601 format. Optional and can be provided only if `status` is
8413	// `delivered`.
8414	DeliveryDate string `json:"deliveryDate,omitempty"`
8415
8416	// OperationId: The ID of the operation. Unique across all operations
8417	// for a given order.
8418	OperationId string `json:"operationId,omitempty"`
8419
8420	// ShipmentId: The ID of the shipment.
8421	ShipmentId string `json:"shipmentId,omitempty"`
8422
8423	// Status: New status for the shipment. Not updated if missing.
8424	// Acceptable values are: - "delivered" - "undeliverable" -
8425	// "readyForPickup"
8426	Status string `json:"status,omitempty"`
8427
8428	// TrackingId: The tracking ID for the shipment. Not updated if missing.
8429	TrackingId string `json:"trackingId,omitempty"`
8430
8431	// ForceSendFields is a list of field names (e.g. "Carrier") to
8432	// unconditionally include in API requests. By default, fields with
8433	// empty values are omitted from API requests. However, any non-pointer,
8434	// non-interface field appearing in ForceSendFields will be sent to the
8435	// server regardless of whether the field is empty or not. This may be
8436	// used to include empty fields in Patch requests.
8437	ForceSendFields []string `json:"-"`
8438
8439	// NullFields is a list of field names (e.g. "Carrier") to include in
8440	// API requests with the JSON null value. By default, fields with empty
8441	// values are omitted from API requests. However, any field with an
8442	// empty value appearing in NullFields will be sent to the server as
8443	// null. It is an error if a field in this list has a non-empty value.
8444	// This may be used to include null fields in Patch requests.
8445	NullFields []string `json:"-"`
8446}
8447
8448func (s *OrdersUpdateShipmentRequest) MarshalJSON() ([]byte, error) {
8449	type NoMethod OrdersUpdateShipmentRequest
8450	raw := NoMethod(*s)
8451	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8452}
8453
8454type OrdersUpdateShipmentResponse struct {
8455	// ExecutionStatus: The status of the execution. Acceptable values are:
8456	// - "duplicate" - "executed"
8457	ExecutionStatus string `json:"executionStatus,omitempty"`
8458
8459	// Kind: Identifies what kind of resource this is. Value: the fixed
8460	// string "content#ordersUpdateShipmentResponse".
8461	Kind string `json:"kind,omitempty"`
8462
8463	// ServerResponse contains the HTTP response code and headers from the
8464	// server.
8465	googleapi.ServerResponse `json:"-"`
8466
8467	// ForceSendFields is a list of field names (e.g. "ExecutionStatus") to
8468	// unconditionally include in API requests. By default, fields with
8469	// empty values are omitted from API requests. However, any non-pointer,
8470	// non-interface field appearing in ForceSendFields will be sent to the
8471	// server regardless of whether the field is empty or not. This may be
8472	// used to include empty fields in Patch requests.
8473	ForceSendFields []string `json:"-"`
8474
8475	// NullFields is a list of field names (e.g. "ExecutionStatus") to
8476	// include in API requests with the JSON null value. By default, fields
8477	// with empty values are omitted from API requests. However, any field
8478	// with an empty value appearing in NullFields will be sent to the
8479	// server as null. It is an error if a field in this list has a
8480	// non-empty value. This may be used to include null fields in Patch
8481	// requests.
8482	NullFields []string `json:"-"`
8483}
8484
8485func (s *OrdersUpdateShipmentResponse) MarshalJSON() ([]byte, error) {
8486	type NoMethod OrdersUpdateShipmentResponse
8487	raw := NoMethod(*s)
8488	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8489}
8490
8491type PickupCarrierService struct {
8492	// CarrierName: The name of the pickup carrier (e.g., "UPS").
8493	// Required.
8494	CarrierName string `json:"carrierName,omitempty"`
8495
8496	// ServiceName: The name of the pickup service (e.g., "Access point").
8497	// Required.
8498	ServiceName string `json:"serviceName,omitempty"`
8499
8500	// ForceSendFields is a list of field names (e.g. "CarrierName") to
8501	// unconditionally include in API requests. By default, fields with
8502	// empty values are omitted from API requests. However, any non-pointer,
8503	// non-interface field appearing in ForceSendFields will be sent to the
8504	// server regardless of whether the field is empty or not. This may be
8505	// used to include empty fields in Patch requests.
8506	ForceSendFields []string `json:"-"`
8507
8508	// NullFields is a list of field names (e.g. "CarrierName") to include
8509	// in API requests with the JSON null value. By default, fields with
8510	// empty values are omitted from API requests. However, any field with
8511	// an empty value appearing in NullFields will be sent to the server as
8512	// null. It is an error if a field in this list has a non-empty value.
8513	// This may be used to include null fields in Patch requests.
8514	NullFields []string `json:"-"`
8515}
8516
8517func (s *PickupCarrierService) MarshalJSON() ([]byte, error) {
8518	type NoMethod PickupCarrierService
8519	raw := NoMethod(*s)
8520	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8521}
8522
8523type PickupServicesPickupService struct {
8524	// CarrierName: The name of the carrier (e.g., "UPS"). Always present.
8525	CarrierName string `json:"carrierName,omitempty"`
8526
8527	// Country: The CLDR country code of the carrier (e.g., "US"). Always
8528	// present.
8529	Country string `json:"country,omitempty"`
8530
8531	// ServiceName: The name of the pickup service (e.g., "Access point").
8532	// Always present.
8533	ServiceName string `json:"serviceName,omitempty"`
8534
8535	// ForceSendFields is a list of field names (e.g. "CarrierName") to
8536	// unconditionally include in API requests. By default, fields with
8537	// empty values are omitted from API requests. However, any non-pointer,
8538	// non-interface field appearing in ForceSendFields will be sent to the
8539	// server regardless of whether the field is empty or not. This may be
8540	// used to include empty fields in Patch requests.
8541	ForceSendFields []string `json:"-"`
8542
8543	// NullFields is a list of field names (e.g. "CarrierName") to include
8544	// in API requests with the JSON null value. By default, fields with
8545	// empty values are omitted from API requests. However, any field with
8546	// an empty value appearing in NullFields will be sent to the server as
8547	// null. It is an error if a field in this list has a non-empty value.
8548	// This may be used to include null fields in Patch requests.
8549	NullFields []string `json:"-"`
8550}
8551
8552func (s *PickupServicesPickupService) MarshalJSON() ([]byte, error) {
8553	type NoMethod PickupServicesPickupService
8554	raw := NoMethod(*s)
8555	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8556}
8557
8558type PosCustomBatchRequest struct {
8559	// Entries: The request entries to be processed in the batch.
8560	Entries []*PosCustomBatchRequestEntry `json:"entries,omitempty"`
8561
8562	// ForceSendFields is a list of field names (e.g. "Entries") to
8563	// unconditionally include in API requests. By default, fields with
8564	// empty values are omitted from API requests. However, any non-pointer,
8565	// non-interface field appearing in ForceSendFields will be sent to the
8566	// server regardless of whether the field is empty or not. This may be
8567	// used to include empty fields in Patch requests.
8568	ForceSendFields []string `json:"-"`
8569
8570	// NullFields is a list of field names (e.g. "Entries") to include in
8571	// API requests with the JSON null value. By default, fields with empty
8572	// values are omitted from API requests. However, any field with an
8573	// empty value appearing in NullFields will be sent to the server as
8574	// null. It is an error if a field in this list has a non-empty value.
8575	// This may be used to include null fields in Patch requests.
8576	NullFields []string `json:"-"`
8577}
8578
8579func (s *PosCustomBatchRequest) MarshalJSON() ([]byte, error) {
8580	type NoMethod PosCustomBatchRequest
8581	raw := NoMethod(*s)
8582	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8583}
8584
8585type PosCustomBatchRequestEntry struct {
8586	// BatchId: An entry ID, unique within the batch request.
8587	BatchId int64 `json:"batchId,omitempty"`
8588
8589	// Inventory: The inventory to submit. This should be set only if the
8590	// method is `inventory`.
8591	Inventory *PosInventory `json:"inventory,omitempty"`
8592
8593	// MerchantId: The ID of the POS data provider.
8594	MerchantId uint64 `json:"merchantId,omitempty,string"`
8595
8596	// Method: The method of the batch entry. Acceptable values are: -
8597	// "delete" - "get" - "insert" - "inventory" - "sale"
8598	Method string `json:"method,omitempty"`
8599
8600	// Sale: The sale information to submit. This should be set only if the
8601	// method is `sale`.
8602	Sale *PosSale `json:"sale,omitempty"`
8603
8604	// Store: The store information to submit. This should be set only if
8605	// the method is `insert`.
8606	Store *PosStore `json:"store,omitempty"`
8607
8608	// StoreCode: The store code. This should be set only if the method is
8609	// `delete` or `get`.
8610	StoreCode string `json:"storeCode,omitempty"`
8611
8612	// TargetMerchantId: The ID of the account for which to get/submit data.
8613	TargetMerchantId uint64 `json:"targetMerchantId,omitempty,string"`
8614
8615	// ForceSendFields is a list of field names (e.g. "BatchId") to
8616	// unconditionally include in API requests. By default, fields with
8617	// empty values are omitted from API requests. However, any non-pointer,
8618	// non-interface field appearing in ForceSendFields will be sent to the
8619	// server regardless of whether the field is empty or not. This may be
8620	// used to include empty fields in Patch requests.
8621	ForceSendFields []string `json:"-"`
8622
8623	// NullFields is a list of field names (e.g. "BatchId") to include in
8624	// API requests with the JSON null value. By default, fields with empty
8625	// values are omitted from API requests. However, any field with an
8626	// empty value appearing in NullFields will be sent to the server as
8627	// null. It is an error if a field in this list has a non-empty value.
8628	// This may be used to include null fields in Patch requests.
8629	NullFields []string `json:"-"`
8630}
8631
8632func (s *PosCustomBatchRequestEntry) MarshalJSON() ([]byte, error) {
8633	type NoMethod PosCustomBatchRequestEntry
8634	raw := NoMethod(*s)
8635	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8636}
8637
8638type PosCustomBatchResponse struct {
8639	// Entries: The result of the execution of the batch requests.
8640	Entries []*PosCustomBatchResponseEntry `json:"entries,omitempty"`
8641
8642	// Kind: Identifies what kind of resource this is. Value: the fixed
8643	// string "content#posCustomBatchResponse".
8644	Kind string `json:"kind,omitempty"`
8645
8646	// ServerResponse contains the HTTP response code and headers from the
8647	// server.
8648	googleapi.ServerResponse `json:"-"`
8649
8650	// ForceSendFields is a list of field names (e.g. "Entries") to
8651	// unconditionally include in API requests. By default, fields with
8652	// empty values are omitted from API requests. However, any non-pointer,
8653	// non-interface field appearing in ForceSendFields will be sent to the
8654	// server regardless of whether the field is empty or not. This may be
8655	// used to include empty fields in Patch requests.
8656	ForceSendFields []string `json:"-"`
8657
8658	// NullFields is a list of field names (e.g. "Entries") to include in
8659	// API requests with the JSON null value. By default, fields with empty
8660	// values are omitted from API requests. However, any field with an
8661	// empty value appearing in NullFields will be sent to the server as
8662	// null. It is an error if a field in this list has a non-empty value.
8663	// This may be used to include null fields in Patch requests.
8664	NullFields []string `json:"-"`
8665}
8666
8667func (s *PosCustomBatchResponse) MarshalJSON() ([]byte, error) {
8668	type NoMethod PosCustomBatchResponse
8669	raw := NoMethod(*s)
8670	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8671}
8672
8673type PosCustomBatchResponseEntry struct {
8674	// BatchId: The ID of the request entry to which this entry responds.
8675	BatchId int64 `json:"batchId,omitempty"`
8676
8677	// Errors: A list of errors defined if, and only if, the request failed.
8678	Errors *Errors `json:"errors,omitempty"`
8679
8680	// Inventory: The updated inventory information.
8681	Inventory *PosInventory `json:"inventory,omitempty"`
8682
8683	// Kind: Identifies what kind of resource this is. Value: the fixed
8684	// string "content#posCustomBatchResponseEntry"
8685	Kind string `json:"kind,omitempty"`
8686
8687	// Sale: The updated sale information.
8688	Sale *PosSale `json:"sale,omitempty"`
8689
8690	// Store: The retrieved or updated store information.
8691	Store *PosStore `json:"store,omitempty"`
8692
8693	// ForceSendFields is a list of field names (e.g. "BatchId") to
8694	// unconditionally include in API requests. By default, fields with
8695	// empty values are omitted from API requests. However, any non-pointer,
8696	// non-interface field appearing in ForceSendFields will be sent to the
8697	// server regardless of whether the field is empty or not. This may be
8698	// used to include empty fields in Patch requests.
8699	ForceSendFields []string `json:"-"`
8700
8701	// NullFields is a list of field names (e.g. "BatchId") to include in
8702	// API requests with the JSON null value. By default, fields with empty
8703	// values are omitted from API requests. However, any field with an
8704	// empty value appearing in NullFields will be sent to the server as
8705	// null. It is an error if a field in this list has a non-empty value.
8706	// This may be used to include null fields in Patch requests.
8707	NullFields []string `json:"-"`
8708}
8709
8710func (s *PosCustomBatchResponseEntry) MarshalJSON() ([]byte, error) {
8711	type NoMethod PosCustomBatchResponseEntry
8712	raw := NoMethod(*s)
8713	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8714}
8715
8716type PosDataProviders struct {
8717	// Country: Country code.
8718	Country string `json:"country,omitempty"`
8719
8720	// PosDataProviders: A list of POS data providers.
8721	PosDataProviders []*PosDataProvidersPosDataProvider `json:"posDataProviders,omitempty"`
8722
8723	// ForceSendFields is a list of field names (e.g. "Country") to
8724	// unconditionally include in API requests. By default, fields with
8725	// empty values are omitted from API requests. However, any non-pointer,
8726	// non-interface field appearing in ForceSendFields will be sent to the
8727	// server regardless of whether the field is empty or not. This may be
8728	// used to include empty fields in Patch requests.
8729	ForceSendFields []string `json:"-"`
8730
8731	// NullFields is a list of field names (e.g. "Country") to include in
8732	// API requests with the JSON null value. By default, fields with empty
8733	// values are omitted from API requests. However, any field with an
8734	// empty value appearing in NullFields will be sent to the server as
8735	// null. It is an error if a field in this list has a non-empty value.
8736	// This may be used to include null fields in Patch requests.
8737	NullFields []string `json:"-"`
8738}
8739
8740func (s *PosDataProviders) MarshalJSON() ([]byte, error) {
8741	type NoMethod PosDataProviders
8742	raw := NoMethod(*s)
8743	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8744}
8745
8746type PosDataProvidersPosDataProvider struct {
8747	// DisplayName: The display name of Pos data Provider.
8748	DisplayName string `json:"displayName,omitempty"`
8749
8750	// FullName: The full name of this POS data Provider.
8751	FullName string `json:"fullName,omitempty"`
8752
8753	// ProviderId: The ID of the account.
8754	ProviderId uint64 `json:"providerId,omitempty,string"`
8755
8756	// ForceSendFields is a list of field names (e.g. "DisplayName") to
8757	// unconditionally include in API requests. By default, fields with
8758	// empty values are omitted from API requests. However, any non-pointer,
8759	// non-interface field appearing in ForceSendFields will be sent to the
8760	// server regardless of whether the field is empty or not. This may be
8761	// used to include empty fields in Patch requests.
8762	ForceSendFields []string `json:"-"`
8763
8764	// NullFields is a list of field names (e.g. "DisplayName") to include
8765	// in API requests with the JSON null value. By default, fields with
8766	// empty values are omitted from API requests. However, any field with
8767	// an empty value appearing in NullFields will be sent to the server as
8768	// null. It is an error if a field in this list has a non-empty value.
8769	// This may be used to include null fields in Patch requests.
8770	NullFields []string `json:"-"`
8771}
8772
8773func (s *PosDataProvidersPosDataProvider) MarshalJSON() ([]byte, error) {
8774	type NoMethod PosDataProvidersPosDataProvider
8775	raw := NoMethod(*s)
8776	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8777}
8778
8779// PosInventory: The absolute quantity of an item available at the given
8780// store.
8781type PosInventory struct {
8782	// ContentLanguage: Required. The two-letter ISO 639-1 language code for
8783	// the item.
8784	ContentLanguage string `json:"contentLanguage,omitempty"`
8785
8786	// Gtin: Global Trade Item Number.
8787	Gtin string `json:"gtin,omitempty"`
8788
8789	// ItemId: Required. A unique identifier for the item.
8790	ItemId string `json:"itemId,omitempty"`
8791
8792	// Kind: Identifies what kind of resource this is. Value: the fixed
8793	// string "content#posInventory"
8794	Kind string `json:"kind,omitempty"`
8795
8796	// Price: Required. The current price of the item.
8797	Price *Price `json:"price,omitempty"`
8798
8799	// Quantity: Required. The available quantity of the item.
8800	Quantity int64 `json:"quantity,omitempty,string"`
8801
8802	// StoreCode: Required. The identifier of the merchant's store. Either a
8803	// `storeCode` inserted via the API or the code of the store in Google
8804	// My Business.
8805	StoreCode string `json:"storeCode,omitempty"`
8806
8807	// TargetCountry: Required. The CLDR territory code for the item.
8808	TargetCountry string `json:"targetCountry,omitempty"`
8809
8810	// Timestamp: Required. The inventory timestamp, in ISO 8601 format.
8811	Timestamp string `json:"timestamp,omitempty"`
8812
8813	// ForceSendFields is a list of field names (e.g. "ContentLanguage") to
8814	// unconditionally include in API requests. By default, fields with
8815	// empty values are omitted from API requests. However, any non-pointer,
8816	// non-interface field appearing in ForceSendFields will be sent to the
8817	// server regardless of whether the field is empty or not. This may be
8818	// used to include empty fields in Patch requests.
8819	ForceSendFields []string `json:"-"`
8820
8821	// NullFields is a list of field names (e.g. "ContentLanguage") to
8822	// include in API requests with the JSON null value. By default, fields
8823	// with empty values are omitted from API requests. However, any field
8824	// with an empty value appearing in NullFields will be sent to the
8825	// server as null. It is an error if a field in this list has a
8826	// non-empty value. This may be used to include null fields in Patch
8827	// requests.
8828	NullFields []string `json:"-"`
8829}
8830
8831func (s *PosInventory) MarshalJSON() ([]byte, error) {
8832	type NoMethod PosInventory
8833	raw := NoMethod(*s)
8834	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8835}
8836
8837type PosInventoryRequest struct {
8838	// ContentLanguage: Required. The two-letter ISO 639-1 language code for
8839	// the item.
8840	ContentLanguage string `json:"contentLanguage,omitempty"`
8841
8842	// Gtin: Global Trade Item Number.
8843	Gtin string `json:"gtin,omitempty"`
8844
8845	// ItemId: Required. A unique identifier for the item.
8846	ItemId string `json:"itemId,omitempty"`
8847
8848	// Price: Required. The current price of the item.
8849	Price *Price `json:"price,omitempty"`
8850
8851	// Quantity: Required. The available quantity of the item.
8852	Quantity int64 `json:"quantity,omitempty,string"`
8853
8854	// StoreCode: Required. The identifier of the merchant's store. Either a
8855	// `storeCode` inserted via the API or the code of the store in Google
8856	// My Business.
8857	StoreCode string `json:"storeCode,omitempty"`
8858
8859	// TargetCountry: Required. The CLDR territory code for the item.
8860	TargetCountry string `json:"targetCountry,omitempty"`
8861
8862	// Timestamp: Required. The inventory timestamp, in ISO 8601 format.
8863	Timestamp string `json:"timestamp,omitempty"`
8864
8865	// ForceSendFields is a list of field names (e.g. "ContentLanguage") to
8866	// unconditionally include in API requests. By default, fields with
8867	// empty values are omitted from API requests. However, any non-pointer,
8868	// non-interface field appearing in ForceSendFields will be sent to the
8869	// server regardless of whether the field is empty or not. This may be
8870	// used to include empty fields in Patch requests.
8871	ForceSendFields []string `json:"-"`
8872
8873	// NullFields is a list of field names (e.g. "ContentLanguage") to
8874	// include in API requests with the JSON null value. By default, fields
8875	// with empty values are omitted from API requests. However, any field
8876	// with an empty value appearing in NullFields will be sent to the
8877	// server as null. It is an error if a field in this list has a
8878	// non-empty value. This may be used to include null fields in Patch
8879	// requests.
8880	NullFields []string `json:"-"`
8881}
8882
8883func (s *PosInventoryRequest) MarshalJSON() ([]byte, error) {
8884	type NoMethod PosInventoryRequest
8885	raw := NoMethod(*s)
8886	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8887}
8888
8889type PosInventoryResponse struct {
8890	// ContentLanguage: Required. The two-letter ISO 639-1 language code for
8891	// the item.
8892	ContentLanguage string `json:"contentLanguage,omitempty"`
8893
8894	// Gtin: Global Trade Item Number.
8895	Gtin string `json:"gtin,omitempty"`
8896
8897	// ItemId: Required. A unique identifier for the item.
8898	ItemId string `json:"itemId,omitempty"`
8899
8900	// Kind: Identifies what kind of resource this is. Value: the fixed
8901	// string "content#posInventoryResponse".
8902	Kind string `json:"kind,omitempty"`
8903
8904	// Price: Required. The current price of the item.
8905	Price *Price `json:"price,omitempty"`
8906
8907	// Quantity: Required. The available quantity of the item.
8908	Quantity int64 `json:"quantity,omitempty,string"`
8909
8910	// StoreCode: Required. The identifier of the merchant's store. Either a
8911	// `storeCode` inserted via the API or the code of the store in Google
8912	// My Business.
8913	StoreCode string `json:"storeCode,omitempty"`
8914
8915	// TargetCountry: Required. The CLDR territory code for the item.
8916	TargetCountry string `json:"targetCountry,omitempty"`
8917
8918	// Timestamp: Required. The inventory timestamp, in ISO 8601 format.
8919	Timestamp string `json:"timestamp,omitempty"`
8920
8921	// ServerResponse contains the HTTP response code and headers from the
8922	// server.
8923	googleapi.ServerResponse `json:"-"`
8924
8925	// ForceSendFields is a list of field names (e.g. "ContentLanguage") to
8926	// unconditionally include in API requests. By default, fields with
8927	// empty values are omitted from API requests. However, any non-pointer,
8928	// non-interface field appearing in ForceSendFields will be sent to the
8929	// server regardless of whether the field is empty or not. This may be
8930	// used to include empty fields in Patch requests.
8931	ForceSendFields []string `json:"-"`
8932
8933	// NullFields is a list of field names (e.g. "ContentLanguage") to
8934	// include in API requests with the JSON null value. By default, fields
8935	// with empty values are omitted from API requests. However, any field
8936	// with an empty value appearing in NullFields will be sent to the
8937	// server as null. It is an error if a field in this list has a
8938	// non-empty value. This may be used to include null fields in Patch
8939	// requests.
8940	NullFields []string `json:"-"`
8941}
8942
8943func (s *PosInventoryResponse) MarshalJSON() ([]byte, error) {
8944	type NoMethod PosInventoryResponse
8945	raw := NoMethod(*s)
8946	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8947}
8948
8949type PosListResponse struct {
8950	// Kind: Identifies what kind of resource this is. Value: the fixed
8951	// string "content#posListResponse".
8952	Kind string `json:"kind,omitempty"`
8953
8954	Resources []*PosStore `json:"resources,omitempty"`
8955
8956	// ServerResponse contains the HTTP response code and headers from the
8957	// server.
8958	googleapi.ServerResponse `json:"-"`
8959
8960	// ForceSendFields is a list of field names (e.g. "Kind") to
8961	// unconditionally include in API requests. By default, fields with
8962	// empty values are omitted from API requests. However, any non-pointer,
8963	// non-interface field appearing in ForceSendFields will be sent to the
8964	// server regardless of whether the field is empty or not. This may be
8965	// used to include empty fields in Patch requests.
8966	ForceSendFields []string `json:"-"`
8967
8968	// NullFields is a list of field names (e.g. "Kind") to include in API
8969	// requests with the JSON null value. By default, fields with empty
8970	// values are omitted from API requests. However, any field with an
8971	// empty value appearing in NullFields will be sent to the server as
8972	// null. It is an error if a field in this list has a non-empty value.
8973	// This may be used to include null fields in Patch requests.
8974	NullFields []string `json:"-"`
8975}
8976
8977func (s *PosListResponse) MarshalJSON() ([]byte, error) {
8978	type NoMethod PosListResponse
8979	raw := NoMethod(*s)
8980	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8981}
8982
8983// PosSale: The change of the available quantity of an item at the given
8984// store.
8985type PosSale struct {
8986	// ContentLanguage: Required. The two-letter ISO 639-1 language code for
8987	// the item.
8988	ContentLanguage string `json:"contentLanguage,omitempty"`
8989
8990	// Gtin: Global Trade Item Number.
8991	Gtin string `json:"gtin,omitempty"`
8992
8993	// ItemId: Required. A unique identifier for the item.
8994	ItemId string `json:"itemId,omitempty"`
8995
8996	// Kind: Identifies what kind of resource this is. Value: the fixed
8997	// string "content#posSale"
8998	Kind string `json:"kind,omitempty"`
8999
9000	// Price: Required. The price of the item.
9001	Price *Price `json:"price,omitempty"`
9002
9003	// Quantity: Required. The relative change of the available quantity.
9004	// Negative for items returned.
9005	Quantity int64 `json:"quantity,omitempty,string"`
9006
9007	// SaleId: A unique ID to group items from the same sale event.
9008	SaleId string `json:"saleId,omitempty"`
9009
9010	// StoreCode: Required. The identifier of the merchant's store. Either a
9011	// `storeCode` inserted via the API or the code of the store in Google
9012	// My Business.
9013	StoreCode string `json:"storeCode,omitempty"`
9014
9015	// TargetCountry: Required. The CLDR territory code for the item.
9016	TargetCountry string `json:"targetCountry,omitempty"`
9017
9018	// Timestamp: Required. The inventory timestamp, in ISO 8601 format.
9019	Timestamp string `json:"timestamp,omitempty"`
9020
9021	// ForceSendFields is a list of field names (e.g. "ContentLanguage") to
9022	// unconditionally include in API requests. By default, fields with
9023	// empty values are omitted from API requests. However, any non-pointer,
9024	// non-interface field appearing in ForceSendFields will be sent to the
9025	// server regardless of whether the field is empty or not. This may be
9026	// used to include empty fields in Patch requests.
9027	ForceSendFields []string `json:"-"`
9028
9029	// NullFields is a list of field names (e.g. "ContentLanguage") to
9030	// include in API requests with the JSON null value. By default, fields
9031	// with empty values are omitted from API requests. However, any field
9032	// with an empty value appearing in NullFields will be sent to the
9033	// server as null. It is an error if a field in this list has a
9034	// non-empty value. This may be used to include null fields in Patch
9035	// requests.
9036	NullFields []string `json:"-"`
9037}
9038
9039func (s *PosSale) MarshalJSON() ([]byte, error) {
9040	type NoMethod PosSale
9041	raw := NoMethod(*s)
9042	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9043}
9044
9045type PosSaleRequest struct {
9046	// ContentLanguage: Required. The two-letter ISO 639-1 language code for
9047	// the item.
9048	ContentLanguage string `json:"contentLanguage,omitempty"`
9049
9050	// Gtin: Global Trade Item Number.
9051	Gtin string `json:"gtin,omitempty"`
9052
9053	// ItemId: Required. A unique identifier for the item.
9054	ItemId string `json:"itemId,omitempty"`
9055
9056	// Price: Required. The price of the item.
9057	Price *Price `json:"price,omitempty"`
9058
9059	// Quantity: Required. The relative change of the available quantity.
9060	// Negative for items returned.
9061	Quantity int64 `json:"quantity,omitempty,string"`
9062
9063	// SaleId: A unique ID to group items from the same sale event.
9064	SaleId string `json:"saleId,omitempty"`
9065
9066	// StoreCode: Required. The identifier of the merchant's store. Either a
9067	// `storeCode` inserted via the API or the code of the store in Google
9068	// My Business.
9069	StoreCode string `json:"storeCode,omitempty"`
9070
9071	// TargetCountry: Required. The CLDR territory code for the item.
9072	TargetCountry string `json:"targetCountry,omitempty"`
9073
9074	// Timestamp: Required. The inventory timestamp, in ISO 8601 format.
9075	Timestamp string `json:"timestamp,omitempty"`
9076
9077	// ForceSendFields is a list of field names (e.g. "ContentLanguage") to
9078	// unconditionally include in API requests. By default, fields with
9079	// empty values are omitted from API requests. However, any non-pointer,
9080	// non-interface field appearing in ForceSendFields will be sent to the
9081	// server regardless of whether the field is empty or not. This may be
9082	// used to include empty fields in Patch requests.
9083	ForceSendFields []string `json:"-"`
9084
9085	// NullFields is a list of field names (e.g. "ContentLanguage") to
9086	// include in API requests with the JSON null value. By default, fields
9087	// with empty values are omitted from API requests. However, any field
9088	// with an empty value appearing in NullFields will be sent to the
9089	// server as null. It is an error if a field in this list has a
9090	// non-empty value. This may be used to include null fields in Patch
9091	// requests.
9092	NullFields []string `json:"-"`
9093}
9094
9095func (s *PosSaleRequest) MarshalJSON() ([]byte, error) {
9096	type NoMethod PosSaleRequest
9097	raw := NoMethod(*s)
9098	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9099}
9100
9101type PosSaleResponse struct {
9102	// ContentLanguage: Required. The two-letter ISO 639-1 language code for
9103	// the item.
9104	ContentLanguage string `json:"contentLanguage,omitempty"`
9105
9106	// Gtin: Global Trade Item Number.
9107	Gtin string `json:"gtin,omitempty"`
9108
9109	// ItemId: Required. A unique identifier for the item.
9110	ItemId string `json:"itemId,omitempty"`
9111
9112	// Kind: Identifies what kind of resource this is. Value: the fixed
9113	// string "content#posSaleResponse".
9114	Kind string `json:"kind,omitempty"`
9115
9116	// Price: Required. The price of the item.
9117	Price *Price `json:"price,omitempty"`
9118
9119	// Quantity: Required. The relative change of the available quantity.
9120	// Negative for items returned.
9121	Quantity int64 `json:"quantity,omitempty,string"`
9122
9123	// SaleId: A unique ID to group items from the same sale event.
9124	SaleId string `json:"saleId,omitempty"`
9125
9126	// StoreCode: Required. The identifier of the merchant's store. Either a
9127	// `storeCode` inserted via the API or the code of the store in Google
9128	// My Business.
9129	StoreCode string `json:"storeCode,omitempty"`
9130
9131	// TargetCountry: Required. The CLDR territory code for the item.
9132	TargetCountry string `json:"targetCountry,omitempty"`
9133
9134	// Timestamp: Required. The inventory timestamp, in ISO 8601 format.
9135	Timestamp string `json:"timestamp,omitempty"`
9136
9137	// ServerResponse contains the HTTP response code and headers from the
9138	// server.
9139	googleapi.ServerResponse `json:"-"`
9140
9141	// ForceSendFields is a list of field names (e.g. "ContentLanguage") to
9142	// unconditionally include in API requests. By default, fields with
9143	// empty values are omitted from API requests. However, any non-pointer,
9144	// non-interface field appearing in ForceSendFields will be sent to the
9145	// server regardless of whether the field is empty or not. This may be
9146	// used to include empty fields in Patch requests.
9147	ForceSendFields []string `json:"-"`
9148
9149	// NullFields is a list of field names (e.g. "ContentLanguage") to
9150	// include in API requests with the JSON null value. By default, fields
9151	// with empty values are omitted from API requests. However, any field
9152	// with an empty value appearing in NullFields will be sent to the
9153	// server as null. It is an error if a field in this list has a
9154	// non-empty value. This may be used to include null fields in Patch
9155	// requests.
9156	NullFields []string `json:"-"`
9157}
9158
9159func (s *PosSaleResponse) MarshalJSON() ([]byte, error) {
9160	type NoMethod PosSaleResponse
9161	raw := NoMethod(*s)
9162	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9163}
9164
9165// PosStore: Store resource.
9166type PosStore struct {
9167	// Kind: Identifies what kind of resource this is. Value: the fixed
9168	// string "content#posStore"
9169	Kind string `json:"kind,omitempty"`
9170
9171	// StoreAddress: Required. The street address of the store.
9172	StoreAddress string `json:"storeAddress,omitempty"`
9173
9174	// StoreCode: Required. A store identifier that is unique for the given
9175	// merchant.
9176	StoreCode string `json:"storeCode,omitempty"`
9177
9178	// ServerResponse contains the HTTP response code and headers from the
9179	// server.
9180	googleapi.ServerResponse `json:"-"`
9181
9182	// ForceSendFields is a list of field names (e.g. "Kind") to
9183	// unconditionally include in API requests. By default, fields with
9184	// empty values are omitted from API requests. However, any non-pointer,
9185	// non-interface field appearing in ForceSendFields will be sent to the
9186	// server regardless of whether the field is empty or not. This may be
9187	// used to include empty fields in Patch requests.
9188	ForceSendFields []string `json:"-"`
9189
9190	// NullFields is a list of field names (e.g. "Kind") to include in API
9191	// requests with the JSON null value. By default, fields with empty
9192	// values are omitted from API requests. However, any field with an
9193	// empty value appearing in NullFields will be sent to the server as
9194	// null. It is an error if a field in this list has a non-empty value.
9195	// This may be used to include null fields in Patch requests.
9196	NullFields []string `json:"-"`
9197}
9198
9199func (s *PosStore) MarshalJSON() ([]byte, error) {
9200	type NoMethod PosStore
9201	raw := NoMethod(*s)
9202	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9203}
9204
9205type PostalCodeGroup struct {
9206	// Country: The CLDR territory code of the country the postal code group
9207	// applies to. Required.
9208	Country string `json:"country,omitempty"`
9209
9210	// Name: The name of the postal code group, referred to in headers.
9211	// Required.
9212	Name string `json:"name,omitempty"`
9213
9214	// PostalCodeRanges: A range of postal codes. Required.
9215	PostalCodeRanges []*PostalCodeRange `json:"postalCodeRanges,omitempty"`
9216
9217	// ForceSendFields is a list of field names (e.g. "Country") to
9218	// unconditionally include in API requests. By default, fields with
9219	// empty values are omitted from API requests. However, any non-pointer,
9220	// non-interface field appearing in ForceSendFields will be sent to the
9221	// server regardless of whether the field is empty or not. This may be
9222	// used to include empty fields in Patch requests.
9223	ForceSendFields []string `json:"-"`
9224
9225	// NullFields is a list of field names (e.g. "Country") to include in
9226	// API requests with the JSON null value. By default, fields with empty
9227	// values are omitted from API requests. However, any field with an
9228	// empty value appearing in NullFields will be sent to the server as
9229	// null. It is an error if a field in this list has a non-empty value.
9230	// This may be used to include null fields in Patch requests.
9231	NullFields []string `json:"-"`
9232}
9233
9234func (s *PostalCodeGroup) MarshalJSON() ([]byte, error) {
9235	type NoMethod PostalCodeGroup
9236	raw := NoMethod(*s)
9237	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9238}
9239
9240type PostalCodeRange struct {
9241	// PostalCodeRangeBegin: A postal code or a pattern of the form
9242	// `prefix*` denoting the inclusive lower bound of the range defining
9243	// the area. Examples values: "94108", "9410*", "9*". Required.
9244	PostalCodeRangeBegin string `json:"postalCodeRangeBegin,omitempty"`
9245
9246	// PostalCodeRangeEnd: A postal code or a pattern of the form `prefix*`
9247	// denoting the inclusive upper bound of the range defining the area. It
9248	// must have the same length as `postalCodeRangeBegin`: if
9249	// `postalCodeRangeBegin` is a postal code then `postalCodeRangeEnd`
9250	// must be a postal code too; if `postalCodeRangeBegin` is a pattern
9251	// then `postalCodeRangeEnd` must be a pattern with the same prefix
9252	// length. Optional: if not set, then the area is defined as being all
9253	// the postal codes matching `postalCodeRangeBegin`.
9254	PostalCodeRangeEnd string `json:"postalCodeRangeEnd,omitempty"`
9255
9256	// ForceSendFields is a list of field names (e.g.
9257	// "PostalCodeRangeBegin") to unconditionally include in API requests.
9258	// By default, fields with empty values are omitted from API requests.
9259	// However, any non-pointer, non-interface field appearing in
9260	// ForceSendFields will be sent to the server regardless of whether the
9261	// field is empty or not. This may be used to include empty fields in
9262	// Patch requests.
9263	ForceSendFields []string `json:"-"`
9264
9265	// NullFields is a list of field names (e.g. "PostalCodeRangeBegin") to
9266	// include in API requests with the JSON null value. By default, fields
9267	// with empty values are omitted from API requests. However, any field
9268	// with an empty value appearing in NullFields will be sent to the
9269	// server as null. It is an error if a field in this list has a
9270	// non-empty value. This may be used to include null fields in Patch
9271	// requests.
9272	NullFields []string `json:"-"`
9273}
9274
9275func (s *PostalCodeRange) MarshalJSON() ([]byte, error) {
9276	type NoMethod PostalCodeRange
9277	raw := NoMethod(*s)
9278	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9279}
9280
9281type Price struct {
9282	// Currency: The currency of the price.
9283	Currency string `json:"currency,omitempty"`
9284
9285	// Value: The price represented as a number.
9286	Value string `json:"value,omitempty"`
9287
9288	// ForceSendFields is a list of field names (e.g. "Currency") to
9289	// unconditionally include in API requests. By default, fields with
9290	// empty values are omitted from API requests. However, any non-pointer,
9291	// non-interface field appearing in ForceSendFields will be sent to the
9292	// server regardless of whether the field is empty or not. This may be
9293	// used to include empty fields in Patch requests.
9294	ForceSendFields []string `json:"-"`
9295
9296	// NullFields is a list of field names (e.g. "Currency") to include in
9297	// API requests with the JSON null value. By default, fields with empty
9298	// values are omitted from API requests. However, any field with an
9299	// empty value appearing in NullFields will be sent to the server as
9300	// null. It is an error if a field in this list has a non-empty value.
9301	// This may be used to include null fields in Patch requests.
9302	NullFields []string `json:"-"`
9303}
9304
9305func (s *Price) MarshalJSON() ([]byte, error) {
9306	type NoMethod Price
9307	raw := NoMethod(*s)
9308	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9309}
9310
9311// Product:  Required product attributes are primarily defined by the
9312// products data specification. See the Products Data Specification Help
9313// Center article for information. Some attributes are country-specific,
9314// so make sure you select the appropriate country in the drop-down
9315// selector at the top of the page. Product data. After inserting,
9316// updating, or deleting a product, it may take several minutes before
9317// changes take effect.
9318type Product struct {
9319	// AdditionalImageLinks: Additional URLs of images of the item.
9320	AdditionalImageLinks []string `json:"additionalImageLinks,omitempty"`
9321
9322	// AdditionalProductTypes: Additional categories of the item (formatted
9323	// as in products data specification).
9324	AdditionalProductTypes []string `json:"additionalProductTypes,omitempty"`
9325
9326	// Adult: Should be set to true if the item is targeted towards adults.
9327	Adult bool `json:"adult,omitempty"`
9328
9329	// AdwordsGrouping: Used to group items in an arbitrary way. Only for
9330	// CPA%, discouraged otherwise.
9331	AdwordsGrouping string `json:"adwordsGrouping,omitempty"`
9332
9333	// AdwordsLabels: Similar to adwords_grouping, but only works on CPC.
9334	AdwordsLabels []string `json:"adwordsLabels,omitempty"`
9335
9336	// AdwordsRedirect: Allows advertisers to override the item URL when the
9337	// product is shown within the context of Product Ads.
9338	AdwordsRedirect string `json:"adwordsRedirect,omitempty"`
9339
9340	// AgeGroup: Target age group of the item. Acceptable values are: -
9341	// "adult" - "infant" - "kids" - "newborn" - "toddler" -
9342	// "youngAdult"
9343	AgeGroup string `json:"ageGroup,omitempty"`
9344
9345	// Aspects: Deprecated. Do not use.
9346	Aspects []*ProductAspect `json:"aspects,omitempty"`
9347
9348	// Availability: Availability status of the item. Acceptable values are:
9349	// - "in stock" - "out of stock" - "preorder"
9350	Availability string `json:"availability,omitempty"`
9351
9352	// AvailabilityDate: The day a pre-ordered product becomes available for
9353	// delivery, in ISO 8601 format.
9354	AvailabilityDate string `json:"availabilityDate,omitempty"`
9355
9356	// Brand: Brand of the item.
9357	Brand string `json:"brand,omitempty"`
9358
9359	// CanonicalLink: URL for the canonical version of your item's landing
9360	// page.
9361	CanonicalLink string `json:"canonicalLink,omitempty"`
9362
9363	// Channel: Required. The item's channel (online or local). Acceptable
9364	// values are: - "local" - "online"
9365	Channel string `json:"channel,omitempty"`
9366
9367	// Color: Color of the item.
9368	Color string `json:"color,omitempty"`
9369
9370	// Condition: Condition or state of the item. Acceptable values are: -
9371	// "new" - "refurbished" - "used"
9372	Condition string `json:"condition,omitempty"`
9373
9374	// ContentLanguage: Required. The two-letter ISO 639-1 language code for
9375	// the item.
9376	ContentLanguage string `json:"contentLanguage,omitempty"`
9377
9378	// CostOfGoodsSold: Cost of goods sold. Used for gross profit reporting.
9379	CostOfGoodsSold *Price `json:"costOfGoodsSold,omitempty"`
9380
9381	// CustomAttributes: A list of custom (merchant-provided) attributes. It
9382	// can also be used for submitting any attribute of the feed
9383	// specification in its generic form (e.g., `{ "name": "size type",
9384	// "value": "regular" }`). This is useful for submitting attributes not
9385	// explicitly exposed by the API, such as additional attributes used for
9386	// Buy on Google (formerly known as Shopping Actions).
9387	CustomAttributes []*CustomAttribute `json:"customAttributes,omitempty"`
9388
9389	// CustomGroups: A list of custom (merchant-provided) custom attribute
9390	// groups.
9391	CustomGroups []*CustomGroup `json:"customGroups,omitempty"`
9392
9393	// CustomLabel0: Custom label 0 for custom grouping of items in a
9394	// Shopping campaign.
9395	CustomLabel0 string `json:"customLabel0,omitempty"`
9396
9397	// CustomLabel1: Custom label 1 for custom grouping of items in a
9398	// Shopping campaign.
9399	CustomLabel1 string `json:"customLabel1,omitempty"`
9400
9401	// CustomLabel2: Custom label 2 for custom grouping of items in a
9402	// Shopping campaign.
9403	CustomLabel2 string `json:"customLabel2,omitempty"`
9404
9405	// CustomLabel3: Custom label 3 for custom grouping of items in a
9406	// Shopping campaign.
9407	CustomLabel3 string `json:"customLabel3,omitempty"`
9408
9409	// CustomLabel4: Custom label 4 for custom grouping of items in a
9410	// Shopping campaign.
9411	CustomLabel4 string `json:"customLabel4,omitempty"`
9412
9413	// Description: Description of the item.
9414	Description string `json:"description,omitempty"`
9415
9416	// Destinations: Specifies the intended destinations for the product.
9417	Destinations []*ProductDestination `json:"destinations,omitempty"`
9418
9419	// DisplayAdsId: An identifier for an item for dynamic remarketing
9420	// campaigns.
9421	DisplayAdsId string `json:"displayAdsId,omitempty"`
9422
9423	// DisplayAdsLink: URL directly to your item's landing page for dynamic
9424	// remarketing campaigns.
9425	DisplayAdsLink string `json:"displayAdsLink,omitempty"`
9426
9427	// DisplayAdsSimilarIds: Advertiser-specified recommendations.
9428	DisplayAdsSimilarIds []string `json:"displayAdsSimilarIds,omitempty"`
9429
9430	// DisplayAdsTitle: Title of an item for dynamic remarketing campaigns.
9431	DisplayAdsTitle string `json:"displayAdsTitle,omitempty"`
9432
9433	// DisplayAdsValue: Offer margin for dynamic remarketing campaigns.
9434	DisplayAdsValue float64 `json:"displayAdsValue,omitempty"`
9435
9436	// EnergyEfficiencyClass: The energy efficiency class as defined in EU
9437	// directive 2010/30/EU. Acceptable values are: - "A" - "A+" -
9438	// "A++" - "A+++" - "B" - "C" - "D" - "E" - "F" - "G"
9439	EnergyEfficiencyClass string `json:"energyEfficiencyClass,omitempty"`
9440
9441	// ExpirationDate: Date on which the item should expire, as specified
9442	// upon insertion, in ISO 8601 format. The actual expiration date in
9443	// Google Shopping is exposed in `productstatuses` as
9444	// `googleExpirationDate` and might be earlier if `expirationDate` is
9445	// too far in the future.
9446	ExpirationDate string `json:"expirationDate,omitempty"`
9447
9448	// Gender: Target gender of the item. Acceptable values are: -
9449	// "female" - "male" - "unisex"
9450	Gender string `json:"gender,omitempty"`
9451
9452	// GoogleProductCategory: Google's category of the item (see Google
9453	// product taxonomy
9454	// (https://support.google.com/merchants/answer/1705911)). When querying
9455	// products, this field will contain the user provided value. There is
9456	// currently no way to get back the auto assigned google product
9457	// categories through the API.
9458	GoogleProductCategory string `json:"googleProductCategory,omitempty"`
9459
9460	// Gtin: Global Trade Item Number (GTIN) of the item.
9461	Gtin string `json:"gtin,omitempty"`
9462
9463	// Id: The REST ID of the product. Content API methods that operate on
9464	// products take this as their `productId` parameter. The REST ID for a
9465	// product is of the form channel:contentLanguage: targetCountry:
9466	// offerId.
9467	Id string `json:"id,omitempty"`
9468
9469	// IdentifierExists: False when the item does not have unique product
9470	// identifiers appropriate to its category, such as GTIN, MPN, and
9471	// brand. Required according to the Unique Product Identifier Rules for
9472	// all target countries except for Canada.
9473	IdentifierExists bool `json:"identifierExists,omitempty"`
9474
9475	// ImageLink: URL of an image of the item.
9476	ImageLink string `json:"imageLink,omitempty"`
9477
9478	// Installment: Number and amount of installments to pay for an item.
9479	Installment *Installment `json:"installment,omitempty"`
9480
9481	// IsBundle: Whether the item is a merchant-defined bundle. A bundle is
9482	// a custom grouping of different products sold by a merchant for a
9483	// single price.
9484	IsBundle bool `json:"isBundle,omitempty"`
9485
9486	// ItemGroupId: Shared identifier for all variants of the same product.
9487	ItemGroupId string `json:"itemGroupId,omitempty"`
9488
9489	// Kind: Identifies what kind of resource this is. Value: the fixed
9490	// string "content#product"
9491	Kind string `json:"kind,omitempty"`
9492
9493	// Link: URL directly linking to your item's page on your website.
9494	Link string `json:"link,omitempty"`
9495
9496	// LoyaltyPoints: Loyalty points that users receive after purchasing the
9497	// item. Japan only.
9498	LoyaltyPoints *LoyaltyPoints `json:"loyaltyPoints,omitempty"`
9499
9500	// Material: The material of which the item is made.
9501	Material string `json:"material,omitempty"`
9502
9503	// MaxEnergyEfficiencyClass: The energy efficiency class as defined in
9504	// EU directive 2010/30/EU. Acceptable values are: - "A" - "A+" -
9505	// "A++" - "A+++" - "B" - "C" - "D" - "E" - "F" - "G"
9506	MaxEnergyEfficiencyClass string `json:"maxEnergyEfficiencyClass,omitempty"`
9507
9508	// MaxHandlingTime: Maximal product handling time (in business days).
9509	MaxHandlingTime int64 `json:"maxHandlingTime,omitempty,string"`
9510
9511	// MinEnergyEfficiencyClass: The energy efficiency class as defined in
9512	// EU directive 2010/30/EU. Acceptable values are: - "A" - "A+" -
9513	// "A++" - "A+++" - "B" - "C" - "D" - "E" - "F" - "G"
9514	MinEnergyEfficiencyClass string `json:"minEnergyEfficiencyClass,omitempty"`
9515
9516	// MinHandlingTime: Minimal product handling time (in business days).
9517	MinHandlingTime int64 `json:"minHandlingTime,omitempty,string"`
9518
9519	// MobileLink: URL for the mobile-optimized version of your item's
9520	// landing page.
9521	MobileLink string `json:"mobileLink,omitempty"`
9522
9523	// Mpn: Manufacturer Part Number (MPN) of the item.
9524	Mpn string `json:"mpn,omitempty"`
9525
9526	// Multipack: The number of identical products in a merchant-defined
9527	// multipack.
9528	Multipack int64 `json:"multipack,omitempty,string"`
9529
9530	// OfferId: Required. A unique identifier for the item. Leading and
9531	// trailing whitespaces are stripped and multiple whitespaces are
9532	// replaced by a single whitespace upon submission. Only valid unicode
9533	// characters are accepted. See the products feed specification for
9534	// details. *Note:* Content API methods that operate on products take
9535	// the REST ID of the product, *not* this identifier.
9536	OfferId string `json:"offerId,omitempty"`
9537
9538	// OnlineOnly: Deprecated.
9539	OnlineOnly bool `json:"onlineOnly,omitempty"`
9540
9541	// Pattern: The item's pattern (e.g. polka dots).
9542	Pattern string `json:"pattern,omitempty"`
9543
9544	// Price: Price of the item.
9545	Price *Price `json:"price,omitempty"`
9546
9547	// ProductType: Your category of the item (formatted as in products data
9548	// specification).
9549	ProductType string `json:"productType,omitempty"`
9550
9551	// PromotionIds: The unique ID of a promotion.
9552	PromotionIds []string `json:"promotionIds,omitempty"`
9553
9554	// SalePrice: Advertised sale price of the item.
9555	SalePrice *Price `json:"salePrice,omitempty"`
9556
9557	// SalePriceEffectiveDate: Date range during which the item is on sale
9558	// (see products data specification ).
9559	SalePriceEffectiveDate string `json:"salePriceEffectiveDate,omitempty"`
9560
9561	// SellOnGoogleQuantity: The quantity of the product that is available
9562	// for selling on Google. Supported only for online products.
9563	SellOnGoogleQuantity int64 `json:"sellOnGoogleQuantity,omitempty,string"`
9564
9565	// Shipping: Shipping rules.
9566	Shipping []*ProductShipping `json:"shipping,omitempty"`
9567
9568	// ShippingHeight: Height of the item for shipping.
9569	ShippingHeight *ProductShippingDimension `json:"shippingHeight,omitempty"`
9570
9571	// ShippingLabel: The shipping label of the product, used to group
9572	// product in account-level shipping rules.
9573	ShippingLabel string `json:"shippingLabel,omitempty"`
9574
9575	// ShippingLength: Length of the item for shipping.
9576	ShippingLength *ProductShippingDimension `json:"shippingLength,omitempty"`
9577
9578	// ShippingWeight: Weight of the item for shipping.
9579	ShippingWeight *ProductShippingWeight `json:"shippingWeight,omitempty"`
9580
9581	// ShippingWidth: Width of the item for shipping.
9582	ShippingWidth *ProductShippingDimension `json:"shippingWidth,omitempty"`
9583
9584	// SizeSystem: System in which the size is specified. Recommended for
9585	// apparel items. Acceptable values are: - "AU" - "BR" - "CN" -
9586	// "DE" - "EU" - "FR" - "IT" - "JP" - "MEX" - "UK" -
9587	// "US"
9588	SizeSystem string `json:"sizeSystem,omitempty"`
9589
9590	// SizeType: The cut of the item. Recommended for apparel items.
9591	// Acceptable values are: - "big and tall" - "maternity" -
9592	// "oversize" - "petite" - "plus" - "regular"
9593	SizeType string `json:"sizeType,omitempty"`
9594
9595	// Sizes: Size of the item. Only one value is allowed. For variants with
9596	// different sizes, insert a separate product for each size with the
9597	// same `itemGroupId` value (see size definition).
9598	Sizes []string `json:"sizes,omitempty"`
9599
9600	// Source: The source of the offer, i.e., how the offer was created.
9601	// Acceptable values are: - "api" - "crawl" - "feed"
9602	Source string `json:"source,omitempty"`
9603
9604	// TargetCountry: Required. The CLDR territory code for the item.
9605	TargetCountry string `json:"targetCountry,omitempty"`
9606
9607	// Taxes: Tax information.
9608	Taxes []*ProductTax `json:"taxes,omitempty"`
9609
9610	// Title: Title of the item.
9611	Title string `json:"title,omitempty"`
9612
9613	// UnitPricingBaseMeasure: The preference of the denominator of the unit
9614	// price.
9615	UnitPricingBaseMeasure *ProductUnitPricingBaseMeasure `json:"unitPricingBaseMeasure,omitempty"`
9616
9617	// UnitPricingMeasure: The measure and dimension of an item.
9618	UnitPricingMeasure *ProductUnitPricingMeasure `json:"unitPricingMeasure,omitempty"`
9619
9620	// ValidatedDestinations: Deprecated. The read-only list of intended
9621	// destinations which passed validation.
9622	ValidatedDestinations []string `json:"validatedDestinations,omitempty"`
9623
9624	// Warnings: Read-only warnings.
9625	Warnings []*Error `json:"warnings,omitempty"`
9626
9627	// ServerResponse contains the HTTP response code and headers from the
9628	// server.
9629	googleapi.ServerResponse `json:"-"`
9630
9631	// ForceSendFields is a list of field names (e.g.
9632	// "AdditionalImageLinks") to unconditionally include in API requests.
9633	// By default, fields with empty values are omitted from API requests.
9634	// However, any non-pointer, non-interface field appearing in
9635	// ForceSendFields will be sent to the server regardless of whether the
9636	// field is empty or not. This may be used to include empty fields in
9637	// Patch requests.
9638	ForceSendFields []string `json:"-"`
9639
9640	// NullFields is a list of field names (e.g. "AdditionalImageLinks") to
9641	// include in API requests with the JSON null value. By default, fields
9642	// with empty values are omitted from API requests. However, any field
9643	// with an empty value appearing in NullFields will be sent to the
9644	// server as null. It is an error if a field in this list has a
9645	// non-empty value. This may be used to include null fields in Patch
9646	// requests.
9647	NullFields []string `json:"-"`
9648}
9649
9650func (s *Product) MarshalJSON() ([]byte, error) {
9651	type NoMethod Product
9652	raw := NoMethod(*s)
9653	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9654}
9655
9656func (s *Product) UnmarshalJSON(data []byte) error {
9657	type NoMethod Product
9658	var s1 struct {
9659		DisplayAdsValue gensupport.JSONFloat64 `json:"displayAdsValue"`
9660		*NoMethod
9661	}
9662	s1.NoMethod = (*NoMethod)(s)
9663	if err := json.Unmarshal(data, &s1); err != nil {
9664		return err
9665	}
9666	s.DisplayAdsValue = float64(s1.DisplayAdsValue)
9667	return nil
9668}
9669
9670type ProductAmount struct {
9671	// PriceAmount: The pre-tax or post-tax price depending on the location
9672	// of the order.
9673	PriceAmount *Price `json:"priceAmount,omitempty"`
9674
9675	// RemittedTaxAmount: Remitted tax value.
9676	RemittedTaxAmount *Price `json:"remittedTaxAmount,omitempty"`
9677
9678	// TaxAmount: Tax value.
9679	TaxAmount *Price `json:"taxAmount,omitempty"`
9680
9681	// ForceSendFields is a list of field names (e.g. "PriceAmount") to
9682	// unconditionally include in API requests. By default, fields with
9683	// empty values are omitted from API requests. However, any non-pointer,
9684	// non-interface field appearing in ForceSendFields will be sent to the
9685	// server regardless of whether the field is empty or not. This may be
9686	// used to include empty fields in Patch requests.
9687	ForceSendFields []string `json:"-"`
9688
9689	// NullFields is a list of field names (e.g. "PriceAmount") to include
9690	// in API requests with the JSON null value. By default, fields with
9691	// empty values are omitted from API requests. However, any field with
9692	// an empty value appearing in NullFields will be sent to the server as
9693	// null. It is an error if a field in this list has a non-empty value.
9694	// This may be used to include null fields in Patch requests.
9695	NullFields []string `json:"-"`
9696}
9697
9698func (s *ProductAmount) MarshalJSON() ([]byte, error) {
9699	type NoMethod ProductAmount
9700	raw := NoMethod(*s)
9701	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9702}
9703
9704type ProductAspect struct {
9705	// AspectName: Deprecated.
9706	AspectName string `json:"aspectName,omitempty"`
9707
9708	// DestinationName: Deprecated.
9709	DestinationName string `json:"destinationName,omitempty"`
9710
9711	// Intention: Deprecated.
9712	Intention string `json:"intention,omitempty"`
9713
9714	// ForceSendFields is a list of field names (e.g. "AspectName") to
9715	// unconditionally include in API requests. By default, fields with
9716	// empty values are omitted from API requests. However, any non-pointer,
9717	// non-interface field appearing in ForceSendFields will be sent to the
9718	// server regardless of whether the field is empty or not. This may be
9719	// used to include empty fields in Patch requests.
9720	ForceSendFields []string `json:"-"`
9721
9722	// NullFields is a list of field names (e.g. "AspectName") to include in
9723	// API requests with the JSON null value. By default, fields with empty
9724	// values are omitted from API requests. However, any field with an
9725	// empty value appearing in NullFields will be sent to the server as
9726	// null. It is an error if a field in this list has a non-empty value.
9727	// This may be used to include null fields in Patch requests.
9728	NullFields []string `json:"-"`
9729}
9730
9731func (s *ProductAspect) MarshalJSON() ([]byte, error) {
9732	type NoMethod ProductAspect
9733	raw := NoMethod(*s)
9734	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9735}
9736
9737type ProductDestination struct {
9738	// DestinationName: The name of the destination.
9739	DestinationName string `json:"destinationName,omitempty"`
9740
9741	// Intention: Whether the destination is required, excluded or should be
9742	// validated. Acceptable values are: - "default" - "excluded" -
9743	// "optional" - "required"
9744	Intention string `json:"intention,omitempty"`
9745
9746	// ForceSendFields is a list of field names (e.g. "DestinationName") to
9747	// unconditionally include in API requests. By default, fields with
9748	// empty values are omitted from API requests. However, any non-pointer,
9749	// non-interface field appearing in ForceSendFields will be sent to the
9750	// server regardless of whether the field is empty or not. This may be
9751	// used to include empty fields in Patch requests.
9752	ForceSendFields []string `json:"-"`
9753
9754	// NullFields is a list of field names (e.g. "DestinationName") to
9755	// include in API requests with the JSON null value. By default, fields
9756	// with empty values are omitted from API requests. However, any field
9757	// with an empty value appearing in NullFields will be sent to the
9758	// server as null. It is an error if a field in this list has a
9759	// non-empty value. This may be used to include null fields in Patch
9760	// requests.
9761	NullFields []string `json:"-"`
9762}
9763
9764func (s *ProductDestination) MarshalJSON() ([]byte, error) {
9765	type NoMethod ProductDestination
9766	raw := NoMethod(*s)
9767	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9768}
9769
9770type ProductShipping struct {
9771	// Country: The CLDR territory code of the country to which an item will
9772	// ship.
9773	Country string `json:"country,omitempty"`
9774
9775	// LocationGroupName: The location where the shipping is applicable,
9776	// represented by a location group name.
9777	LocationGroupName string `json:"locationGroupName,omitempty"`
9778
9779	// LocationId: The numeric ID of a location that the shipping rate
9780	// applies to as defined in the AdWords API.
9781	LocationId int64 `json:"locationId,omitempty,string"`
9782
9783	// PostalCode: The postal code range that the shipping rate applies to,
9784	// represented by a postal code, a postal code prefix followed by a *
9785	// wildcard, a range between two postal codes or two postal code
9786	// prefixes of equal length.
9787	PostalCode string `json:"postalCode,omitempty"`
9788
9789	// Price: Fixed shipping price, represented as a number.
9790	Price *Price `json:"price,omitempty"`
9791
9792	// Region: The geographic region to which a shipping rate applies.
9793	Region string `json:"region,omitempty"`
9794
9795	// Service: A free-form description of the service class or delivery
9796	// speed.
9797	Service string `json:"service,omitempty"`
9798
9799	// ForceSendFields is a list of field names (e.g. "Country") to
9800	// unconditionally include in API requests. By default, fields with
9801	// empty values are omitted from API requests. However, any non-pointer,
9802	// non-interface field appearing in ForceSendFields will be sent to the
9803	// server regardless of whether the field is empty or not. This may be
9804	// used to include empty fields in Patch requests.
9805	ForceSendFields []string `json:"-"`
9806
9807	// NullFields is a list of field names (e.g. "Country") to include in
9808	// API requests with the JSON null value. By default, fields with empty
9809	// values are omitted from API requests. However, any field with an
9810	// empty value appearing in NullFields will be sent to the server as
9811	// null. It is an error if a field in this list has a non-empty value.
9812	// This may be used to include null fields in Patch requests.
9813	NullFields []string `json:"-"`
9814}
9815
9816func (s *ProductShipping) MarshalJSON() ([]byte, error) {
9817	type NoMethod ProductShipping
9818	raw := NoMethod(*s)
9819	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9820}
9821
9822type ProductShippingDimension struct {
9823	// Unit: The unit of value.
9824	Unit string `json:"unit,omitempty"`
9825
9826	// Value: The dimension of the product used to calculate the shipping
9827	// cost of the item.
9828	Value float64 `json:"value,omitempty"`
9829
9830	// ForceSendFields is a list of field names (e.g. "Unit") to
9831	// unconditionally include in API requests. By default, fields with
9832	// empty values are omitted from API requests. However, any non-pointer,
9833	// non-interface field appearing in ForceSendFields will be sent to the
9834	// server regardless of whether the field is empty or not. This may be
9835	// used to include empty fields in Patch requests.
9836	ForceSendFields []string `json:"-"`
9837
9838	// NullFields is a list of field names (e.g. "Unit") to include in API
9839	// requests with the JSON null value. By default, fields with empty
9840	// values are omitted from API requests. However, any field with an
9841	// empty value appearing in NullFields will be sent to the server as
9842	// null. It is an error if a field in this list has a non-empty value.
9843	// This may be used to include null fields in Patch requests.
9844	NullFields []string `json:"-"`
9845}
9846
9847func (s *ProductShippingDimension) MarshalJSON() ([]byte, error) {
9848	type NoMethod ProductShippingDimension
9849	raw := NoMethod(*s)
9850	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9851}
9852
9853func (s *ProductShippingDimension) UnmarshalJSON(data []byte) error {
9854	type NoMethod ProductShippingDimension
9855	var s1 struct {
9856		Value gensupport.JSONFloat64 `json:"value"`
9857		*NoMethod
9858	}
9859	s1.NoMethod = (*NoMethod)(s)
9860	if err := json.Unmarshal(data, &s1); err != nil {
9861		return err
9862	}
9863	s.Value = float64(s1.Value)
9864	return nil
9865}
9866
9867type ProductShippingWeight struct {
9868	// Unit: The unit of value.
9869	Unit string `json:"unit,omitempty"`
9870
9871	// Value: The weight of the product used to calculate the shipping cost
9872	// of the item.
9873	Value float64 `json:"value,omitempty"`
9874
9875	// ForceSendFields is a list of field names (e.g. "Unit") to
9876	// unconditionally include in API requests. By default, fields with
9877	// empty values are omitted from API requests. However, any non-pointer,
9878	// non-interface field appearing in ForceSendFields will be sent to the
9879	// server regardless of whether the field is empty or not. This may be
9880	// used to include empty fields in Patch requests.
9881	ForceSendFields []string `json:"-"`
9882
9883	// NullFields is a list of field names (e.g. "Unit") to include in API
9884	// requests with the JSON null value. By default, fields with empty
9885	// values are omitted from API requests. However, any field with an
9886	// empty value appearing in NullFields will be sent to the server as
9887	// null. It is an error if a field in this list has a non-empty value.
9888	// This may be used to include null fields in Patch requests.
9889	NullFields []string `json:"-"`
9890}
9891
9892func (s *ProductShippingWeight) MarshalJSON() ([]byte, error) {
9893	type NoMethod ProductShippingWeight
9894	raw := NoMethod(*s)
9895	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9896}
9897
9898func (s *ProductShippingWeight) UnmarshalJSON(data []byte) error {
9899	type NoMethod ProductShippingWeight
9900	var s1 struct {
9901		Value gensupport.JSONFloat64 `json:"value"`
9902		*NoMethod
9903	}
9904	s1.NoMethod = (*NoMethod)(s)
9905	if err := json.Unmarshal(data, &s1); err != nil {
9906		return err
9907	}
9908	s.Value = float64(s1.Value)
9909	return nil
9910}
9911
9912// ProductStatus: The status of a product, i.e., information about a
9913// product computed asynchronously.
9914type ProductStatus struct {
9915	// CreationDate: Date on which the item has been created, in ISO 8601
9916	// format.
9917	CreationDate string `json:"creationDate,omitempty"`
9918
9919	// DataQualityIssues: DEPRECATED - never populated
9920	DataQualityIssues []*ProductStatusDataQualityIssue `json:"dataQualityIssues,omitempty"`
9921
9922	// DestinationStatuses: The intended destinations for the product.
9923	DestinationStatuses []*ProductStatusDestinationStatus `json:"destinationStatuses,omitempty"`
9924
9925	// GoogleExpirationDate: Date on which the item expires in Google
9926	// Shopping, in ISO 8601 format.
9927	GoogleExpirationDate string `json:"googleExpirationDate,omitempty"`
9928
9929	// ItemLevelIssues: A list of all issues associated with the product.
9930	ItemLevelIssues []*ProductStatusItemLevelIssue `json:"itemLevelIssues,omitempty"`
9931
9932	// Kind: Identifies what kind of resource this is. Value: the fixed
9933	// string "content#productStatus"
9934	Kind string `json:"kind,omitempty"`
9935
9936	// LastUpdateDate: Date on which the item has been last updated, in ISO
9937	// 8601 format.
9938	LastUpdateDate string `json:"lastUpdateDate,omitempty"`
9939
9940	// Link: The link to the product.
9941	Link string `json:"link,omitempty"`
9942
9943	// Product: Product data after applying all the join inputs.
9944	Product *Product `json:"product,omitempty"`
9945
9946	// ProductId: The ID of the product for which status is reported.
9947	ProductId string `json:"productId,omitempty"`
9948
9949	// Title: The title of the product.
9950	Title string `json:"title,omitempty"`
9951
9952	// ServerResponse contains the HTTP response code and headers from the
9953	// server.
9954	googleapi.ServerResponse `json:"-"`
9955
9956	// ForceSendFields is a list of field names (e.g. "CreationDate") to
9957	// unconditionally include in API requests. By default, fields with
9958	// empty values are omitted from API requests. However, any non-pointer,
9959	// non-interface field appearing in ForceSendFields will be sent to the
9960	// server regardless of whether the field is empty or not. This may be
9961	// used to include empty fields in Patch requests.
9962	ForceSendFields []string `json:"-"`
9963
9964	// NullFields is a list of field names (e.g. "CreationDate") to include
9965	// in API requests with the JSON null value. By default, fields with
9966	// empty values are omitted from API requests. However, any field with
9967	// an empty value appearing in NullFields will be sent to the server as
9968	// null. It is an error if a field in this list has a non-empty value.
9969	// This may be used to include null fields in Patch requests.
9970	NullFields []string `json:"-"`
9971}
9972
9973func (s *ProductStatus) MarshalJSON() ([]byte, error) {
9974	type NoMethod ProductStatus
9975	raw := NoMethod(*s)
9976	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9977}
9978
9979type ProductStatusDataQualityIssue struct {
9980	Destination string `json:"destination,omitempty"`
9981
9982	Detail string `json:"detail,omitempty"`
9983
9984	FetchStatus string `json:"fetchStatus,omitempty"`
9985
9986	Id string `json:"id,omitempty"`
9987
9988	Location string `json:"location,omitempty"`
9989
9990	Severity string `json:"severity,omitempty"`
9991
9992	Timestamp string `json:"timestamp,omitempty"`
9993
9994	ValueOnLandingPage string `json:"valueOnLandingPage,omitempty"`
9995
9996	ValueProvided string `json:"valueProvided,omitempty"`
9997
9998	// ForceSendFields is a list of field names (e.g. "Destination") to
9999	// unconditionally include in API requests. By default, fields with
10000	// empty values are omitted from API requests. However, any non-pointer,
10001	// non-interface field appearing in ForceSendFields will be sent to the
10002	// server regardless of whether the field is empty or not. This may be
10003	// used to include empty fields in Patch requests.
10004	ForceSendFields []string `json:"-"`
10005
10006	// NullFields is a list of field names (e.g. "Destination") to include
10007	// in API requests with the JSON null value. By default, fields with
10008	// empty values are omitted from API requests. However, any field with
10009	// an empty value appearing in NullFields will be sent to the server as
10010	// null. It is an error if a field in this list has a non-empty value.
10011	// This may be used to include null fields in Patch requests.
10012	NullFields []string `json:"-"`
10013}
10014
10015func (s *ProductStatusDataQualityIssue) MarshalJSON() ([]byte, error) {
10016	type NoMethod ProductStatusDataQualityIssue
10017	raw := NoMethod(*s)
10018	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10019}
10020
10021type ProductStatusDestinationStatus struct {
10022	// ApprovalPending: Whether the approval status might change due to
10023	// further processing.
10024	ApprovalPending bool `json:"approvalPending,omitempty"`
10025
10026	// ApprovalStatus: The destination's approval status. Acceptable values
10027	// are: - "approved" - "disapproved"
10028	ApprovalStatus string `json:"approvalStatus,omitempty"`
10029
10030	// Destination: The name of the destination
10031	Destination string `json:"destination,omitempty"`
10032
10033	// Intention: Provided for backward compatibility only. Always set to
10034	// "required". Acceptable values are: - "default" - "excluded" -
10035	// "optional" - "required"
10036	Intention string `json:"intention,omitempty"`
10037
10038	// ForceSendFields is a list of field names (e.g. "ApprovalPending") to
10039	// unconditionally include in API requests. By default, fields with
10040	// empty values are omitted from API requests. However, any non-pointer,
10041	// non-interface field appearing in ForceSendFields will be sent to the
10042	// server regardless of whether the field is empty or not. This may be
10043	// used to include empty fields in Patch requests.
10044	ForceSendFields []string `json:"-"`
10045
10046	// NullFields is a list of field names (e.g. "ApprovalPending") to
10047	// include in API requests with the JSON null value. By default, fields
10048	// with empty values are omitted from API requests. However, any field
10049	// with an empty value appearing in NullFields will be sent to the
10050	// server as null. It is an error if a field in this list has a
10051	// non-empty value. This may be used to include null fields in Patch
10052	// requests.
10053	NullFields []string `json:"-"`
10054}
10055
10056func (s *ProductStatusDestinationStatus) MarshalJSON() ([]byte, error) {
10057	type NoMethod ProductStatusDestinationStatus
10058	raw := NoMethod(*s)
10059	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10060}
10061
10062type ProductStatusItemLevelIssue struct {
10063	// AttributeName: The attribute's name, if the issue is caused by a
10064	// single attribute.
10065	AttributeName string `json:"attributeName,omitempty"`
10066
10067	// Code: The error code of the issue.
10068	Code string `json:"code,omitempty"`
10069
10070	// Description: A short issue description in English.
10071	Description string `json:"description,omitempty"`
10072
10073	// Destination: The destination the issue applies to.
10074	Destination string `json:"destination,omitempty"`
10075
10076	// Detail: A detailed issue description in English.
10077	Detail string `json:"detail,omitempty"`
10078
10079	// Documentation: The URL of a web page to help with resolving this
10080	// issue.
10081	Documentation string `json:"documentation,omitempty"`
10082
10083	// Resolution: Whether the issue can be resolved by the merchant.
10084	Resolution string `json:"resolution,omitempty"`
10085
10086	// Servability: How this issue affects serving of the offer.
10087	Servability string `json:"servability,omitempty"`
10088
10089	// ForceSendFields is a list of field names (e.g. "AttributeName") to
10090	// unconditionally include in API requests. By default, fields with
10091	// empty values are omitted from API requests. However, any non-pointer,
10092	// non-interface field appearing in ForceSendFields will be sent to the
10093	// server regardless of whether the field is empty or not. This may be
10094	// used to include empty fields in Patch requests.
10095	ForceSendFields []string `json:"-"`
10096
10097	// NullFields is a list of field names (e.g. "AttributeName") to include
10098	// in API requests with the JSON null value. By default, fields with
10099	// empty values are omitted from API requests. However, any field with
10100	// an empty value appearing in NullFields will be sent to the server as
10101	// null. It is an error if a field in this list has a non-empty value.
10102	// This may be used to include null fields in Patch requests.
10103	NullFields []string `json:"-"`
10104}
10105
10106func (s *ProductStatusItemLevelIssue) MarshalJSON() ([]byte, error) {
10107	type NoMethod ProductStatusItemLevelIssue
10108	raw := NoMethod(*s)
10109	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10110}
10111
10112type ProductTax struct {
10113	// Country: The country within which the item is taxed, specified as a
10114	// CLDR territory code.
10115	Country string `json:"country,omitempty"`
10116
10117	// LocationId: The numeric ID of a location that the tax rate applies to
10118	// as defined in the AdWords API.
10119	LocationId int64 `json:"locationId,omitempty,string"`
10120
10121	// PostalCode: The postal code range that the tax rate applies to,
10122	// represented by a ZIP code, a ZIP code prefix using * wildcard, a
10123	// range between two ZIP codes or two ZIP code prefixes of equal length.
10124	// Examples: 94114, 94*, 94002-95460, 94*-95*.
10125	PostalCode string `json:"postalCode,omitempty"`
10126
10127	// Rate: The percentage of tax rate that applies to the item price.
10128	Rate float64 `json:"rate,omitempty"`
10129
10130	// Region: The geographic region to which the tax rate applies.
10131	Region string `json:"region,omitempty"`
10132
10133	// TaxShip: Should be set to true if tax is charged on shipping.
10134	TaxShip bool `json:"taxShip,omitempty"`
10135
10136	// ForceSendFields is a list of field names (e.g. "Country") to
10137	// unconditionally include in API requests. By default, fields with
10138	// empty values are omitted from API requests. However, any non-pointer,
10139	// non-interface field appearing in ForceSendFields will be sent to the
10140	// server regardless of whether the field is empty or not. This may be
10141	// used to include empty fields in Patch requests.
10142	ForceSendFields []string `json:"-"`
10143
10144	// NullFields is a list of field names (e.g. "Country") to include in
10145	// API requests with the JSON null value. By default, fields with empty
10146	// values are omitted from API requests. However, any field with an
10147	// empty value appearing in NullFields will be sent to the server as
10148	// null. It is an error if a field in this list has a non-empty value.
10149	// This may be used to include null fields in Patch requests.
10150	NullFields []string `json:"-"`
10151}
10152
10153func (s *ProductTax) MarshalJSON() ([]byte, error) {
10154	type NoMethod ProductTax
10155	raw := NoMethod(*s)
10156	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10157}
10158
10159func (s *ProductTax) UnmarshalJSON(data []byte) error {
10160	type NoMethod ProductTax
10161	var s1 struct {
10162		Rate gensupport.JSONFloat64 `json:"rate"`
10163		*NoMethod
10164	}
10165	s1.NoMethod = (*NoMethod)(s)
10166	if err := json.Unmarshal(data, &s1); err != nil {
10167		return err
10168	}
10169	s.Rate = float64(s1.Rate)
10170	return nil
10171}
10172
10173type ProductUnitPricingBaseMeasure struct {
10174	// Unit: The unit of the denominator.
10175	Unit string `json:"unit,omitempty"`
10176
10177	// Value: The denominator of the unit price.
10178	Value int64 `json:"value,omitempty,string"`
10179
10180	// ForceSendFields is a list of field names (e.g. "Unit") to
10181	// unconditionally include in API requests. By default, fields with
10182	// empty values are omitted from API requests. However, any non-pointer,
10183	// non-interface field appearing in ForceSendFields will be sent to the
10184	// server regardless of whether the field is empty or not. This may be
10185	// used to include empty fields in Patch requests.
10186	ForceSendFields []string `json:"-"`
10187
10188	// NullFields is a list of field names (e.g. "Unit") to include in API
10189	// requests with the JSON null value. By default, fields with empty
10190	// values are omitted from API requests. However, any field with an
10191	// empty value appearing in NullFields will be sent to the server as
10192	// null. It is an error if a field in this list has a non-empty value.
10193	// This may be used to include null fields in Patch requests.
10194	NullFields []string `json:"-"`
10195}
10196
10197func (s *ProductUnitPricingBaseMeasure) MarshalJSON() ([]byte, error) {
10198	type NoMethod ProductUnitPricingBaseMeasure
10199	raw := NoMethod(*s)
10200	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10201}
10202
10203type ProductUnitPricingMeasure struct {
10204	// Unit: The unit of the measure.
10205	Unit string `json:"unit,omitempty"`
10206
10207	// Value: The measure of an item.
10208	Value float64 `json:"value,omitempty"`
10209
10210	// ForceSendFields is a list of field names (e.g. "Unit") to
10211	// unconditionally include in API requests. By default, fields with
10212	// empty values are omitted from API requests. However, any non-pointer,
10213	// non-interface field appearing in ForceSendFields will be sent to the
10214	// server regardless of whether the field is empty or not. This may be
10215	// used to include empty fields in Patch requests.
10216	ForceSendFields []string `json:"-"`
10217
10218	// NullFields is a list of field names (e.g. "Unit") to include in API
10219	// requests with the JSON null value. By default, fields with empty
10220	// values are omitted from API requests. However, any field with an
10221	// empty value appearing in NullFields will be sent to the server as
10222	// null. It is an error if a field in this list has a non-empty value.
10223	// This may be used to include null fields in Patch requests.
10224	NullFields []string `json:"-"`
10225}
10226
10227func (s *ProductUnitPricingMeasure) MarshalJSON() ([]byte, error) {
10228	type NoMethod ProductUnitPricingMeasure
10229	raw := NoMethod(*s)
10230	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10231}
10232
10233func (s *ProductUnitPricingMeasure) UnmarshalJSON(data []byte) error {
10234	type NoMethod ProductUnitPricingMeasure
10235	var s1 struct {
10236		Value gensupport.JSONFloat64 `json:"value"`
10237		*NoMethod
10238	}
10239	s1.NoMethod = (*NoMethod)(s)
10240	if err := json.Unmarshal(data, &s1); err != nil {
10241		return err
10242	}
10243	s.Value = float64(s1.Value)
10244	return nil
10245}
10246
10247type ProductsCustomBatchRequest struct {
10248	// Entries: The request entries to be processed in the batch.
10249	Entries []*ProductsCustomBatchRequestEntry `json:"entries,omitempty"`
10250
10251	// ForceSendFields is a list of field names (e.g. "Entries") to
10252	// unconditionally include in API requests. By default, fields with
10253	// empty values are omitted from API requests. However, any non-pointer,
10254	// non-interface field appearing in ForceSendFields will be sent to the
10255	// server regardless of whether the field is empty or not. This may be
10256	// used to include empty fields in Patch requests.
10257	ForceSendFields []string `json:"-"`
10258
10259	// NullFields is a list of field names (e.g. "Entries") to include in
10260	// API requests with the JSON null value. By default, fields with empty
10261	// values are omitted from API requests. However, any field with an
10262	// empty value appearing in NullFields will be sent to the server as
10263	// null. It is an error if a field in this list has a non-empty value.
10264	// This may be used to include null fields in Patch requests.
10265	NullFields []string `json:"-"`
10266}
10267
10268func (s *ProductsCustomBatchRequest) MarshalJSON() ([]byte, error) {
10269	type NoMethod ProductsCustomBatchRequest
10270	raw := NoMethod(*s)
10271	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10272}
10273
10274// ProductsCustomBatchRequestEntry: A batch entry encoding a single
10275// non-batch products request.
10276type ProductsCustomBatchRequestEntry struct {
10277	// BatchId: An entry ID, unique within the batch request.
10278	BatchId int64 `json:"batchId,omitempty"`
10279
10280	// MerchantId: The ID of the managing account.
10281	MerchantId uint64 `json:"merchantId,omitempty,string"`
10282
10283	// Method: The method of the batch entry. Acceptable values are: -
10284	// "delete" - "get" - "insert"
10285	Method string `json:"method,omitempty"`
10286
10287	// Product: The product to insert. Only required if the method is
10288	// `insert`.
10289	Product *Product `json:"product,omitempty"`
10290
10291	// ProductId: The ID of the product to get or delete. Only defined if
10292	// the method is `get` or `delete`.
10293	ProductId string `json:"productId,omitempty"`
10294
10295	// ForceSendFields is a list of field names (e.g. "BatchId") to
10296	// unconditionally include in API requests. By default, fields with
10297	// empty values are omitted from API requests. However, any non-pointer,
10298	// non-interface field appearing in ForceSendFields will be sent to the
10299	// server regardless of whether the field is empty or not. This may be
10300	// used to include empty fields in Patch requests.
10301	ForceSendFields []string `json:"-"`
10302
10303	// NullFields is a list of field names (e.g. "BatchId") to include in
10304	// API requests with the JSON null value. By default, fields with empty
10305	// values are omitted from API requests. However, any field with an
10306	// empty value appearing in NullFields will be sent to the server as
10307	// null. It is an error if a field in this list has a non-empty value.
10308	// This may be used to include null fields in Patch requests.
10309	NullFields []string `json:"-"`
10310}
10311
10312func (s *ProductsCustomBatchRequestEntry) MarshalJSON() ([]byte, error) {
10313	type NoMethod ProductsCustomBatchRequestEntry
10314	raw := NoMethod(*s)
10315	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10316}
10317
10318type ProductsCustomBatchResponse struct {
10319	// Entries: The result of the execution of the batch requests.
10320	Entries []*ProductsCustomBatchResponseEntry `json:"entries,omitempty"`
10321
10322	// Kind: Identifies what kind of resource this is. Value: the fixed
10323	// string "content#productsCustomBatchResponse".
10324	Kind string `json:"kind,omitempty"`
10325
10326	// ServerResponse contains the HTTP response code and headers from the
10327	// server.
10328	googleapi.ServerResponse `json:"-"`
10329
10330	// ForceSendFields is a list of field names (e.g. "Entries") to
10331	// unconditionally include in API requests. By default, fields with
10332	// empty values are omitted from API requests. However, any non-pointer,
10333	// non-interface field appearing in ForceSendFields will be sent to the
10334	// server regardless of whether the field is empty or not. This may be
10335	// used to include empty fields in Patch requests.
10336	ForceSendFields []string `json:"-"`
10337
10338	// NullFields is a list of field names (e.g. "Entries") to include in
10339	// API requests with the JSON null value. By default, fields with empty
10340	// values are omitted from API requests. However, any field with an
10341	// empty value appearing in NullFields will be sent to the server as
10342	// null. It is an error if a field in this list has a non-empty value.
10343	// This may be used to include null fields in Patch requests.
10344	NullFields []string `json:"-"`
10345}
10346
10347func (s *ProductsCustomBatchResponse) MarshalJSON() ([]byte, error) {
10348	type NoMethod ProductsCustomBatchResponse
10349	raw := NoMethod(*s)
10350	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10351}
10352
10353// ProductsCustomBatchResponseEntry: A batch entry encoding a single
10354// non-batch products response.
10355type ProductsCustomBatchResponseEntry struct {
10356	// BatchId: The ID of the request entry this entry responds to.
10357	BatchId int64 `json:"batchId,omitempty"`
10358
10359	// Errors: A list of errors defined if and only if the request failed.
10360	Errors *Errors `json:"errors,omitempty"`
10361
10362	// Kind: Identifies what kind of resource this is. Value: the fixed
10363	// string "content#productsCustomBatchResponseEntry"
10364	Kind string `json:"kind,omitempty"`
10365
10366	// Product: The inserted product. Only defined if the method is `insert`
10367	// and if the request was successful.
10368	Product *Product `json:"product,omitempty"`
10369
10370	// ForceSendFields is a list of field names (e.g. "BatchId") to
10371	// unconditionally include in API requests. By default, fields with
10372	// empty values are omitted from API requests. However, any non-pointer,
10373	// non-interface field appearing in ForceSendFields will be sent to the
10374	// server regardless of whether the field is empty or not. This may be
10375	// used to include empty fields in Patch requests.
10376	ForceSendFields []string `json:"-"`
10377
10378	// NullFields is a list of field names (e.g. "BatchId") to include in
10379	// API requests with the JSON null value. By default, fields with empty
10380	// values are omitted from API requests. However, any field with an
10381	// empty value appearing in NullFields will be sent to the server as
10382	// null. It is an error if a field in this list has a non-empty value.
10383	// This may be used to include null fields in Patch requests.
10384	NullFields []string `json:"-"`
10385}
10386
10387func (s *ProductsCustomBatchResponseEntry) MarshalJSON() ([]byte, error) {
10388	type NoMethod ProductsCustomBatchResponseEntry
10389	raw := NoMethod(*s)
10390	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10391}
10392
10393type ProductsListResponse struct {
10394	// Kind: Identifies what kind of resource this is. Value: the fixed
10395	// string "content#productsListResponse".
10396	Kind string `json:"kind,omitempty"`
10397
10398	// NextPageToken: The token for the retrieval of the next page of
10399	// products.
10400	NextPageToken string `json:"nextPageToken,omitempty"`
10401
10402	Resources []*Product `json:"resources,omitempty"`
10403
10404	// ServerResponse contains the HTTP response code and headers from the
10405	// server.
10406	googleapi.ServerResponse `json:"-"`
10407
10408	// ForceSendFields is a list of field names (e.g. "Kind") to
10409	// unconditionally include in API requests. By default, fields with
10410	// empty values are omitted from API requests. However, any non-pointer,
10411	// non-interface field appearing in ForceSendFields will be sent to the
10412	// server regardless of whether the field is empty or not. This may be
10413	// used to include empty fields in Patch requests.
10414	ForceSendFields []string `json:"-"`
10415
10416	// NullFields is a list of field names (e.g. "Kind") to include in API
10417	// requests with the JSON null value. By default, fields with empty
10418	// values are omitted from API requests. However, any field with an
10419	// empty value appearing in NullFields will be sent to the server as
10420	// null. It is an error if a field in this list has a non-empty value.
10421	// This may be used to include null fields in Patch requests.
10422	NullFields []string `json:"-"`
10423}
10424
10425func (s *ProductsListResponse) MarshalJSON() ([]byte, error) {
10426	type NoMethod ProductsListResponse
10427	raw := NoMethod(*s)
10428	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10429}
10430
10431type ProductstatusesCustomBatchRequest struct {
10432	// Entries: The request entries to be processed in the batch.
10433	Entries []*ProductstatusesCustomBatchRequestEntry `json:"entries,omitempty"`
10434
10435	// ForceSendFields is a list of field names (e.g. "Entries") to
10436	// unconditionally include in API requests. By default, fields with
10437	// empty values are omitted from API requests. However, any non-pointer,
10438	// non-interface field appearing in ForceSendFields will be sent to the
10439	// server regardless of whether the field is empty or not. This may be
10440	// used to include empty fields in Patch requests.
10441	ForceSendFields []string `json:"-"`
10442
10443	// NullFields is a list of field names (e.g. "Entries") to include in
10444	// API requests with the JSON null value. By default, fields with empty
10445	// values are omitted from API requests. However, any field with an
10446	// empty value appearing in NullFields will be sent to the server as
10447	// null. It is an error if a field in this list has a non-empty value.
10448	// This may be used to include null fields in Patch requests.
10449	NullFields []string `json:"-"`
10450}
10451
10452func (s *ProductstatusesCustomBatchRequest) MarshalJSON() ([]byte, error) {
10453	type NoMethod ProductstatusesCustomBatchRequest
10454	raw := NoMethod(*s)
10455	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10456}
10457
10458// ProductstatusesCustomBatchRequestEntry: A batch entry encoding a
10459// single non-batch productstatuses request.
10460type ProductstatusesCustomBatchRequestEntry struct {
10461	// BatchId: An entry ID, unique within the batch request.
10462	BatchId int64 `json:"batchId,omitempty"`
10463
10464	// Destinations: If set, only issues for the specified destinations are
10465	// returned, otherwise only issues for the Shopping destination.
10466	Destinations []string `json:"destinations,omitempty"`
10467
10468	IncludeAttributes bool `json:"includeAttributes,omitempty"`
10469
10470	// MerchantId: The ID of the managing account.
10471	MerchantId uint64 `json:"merchantId,omitempty,string"`
10472
10473	// Method: The method of the batch entry. Acceptable values are: -
10474	// "get"
10475	Method string `json:"method,omitempty"`
10476
10477	// ProductId: The ID of the product whose status to get.
10478	ProductId string `json:"productId,omitempty"`
10479
10480	// ForceSendFields is a list of field names (e.g. "BatchId") to
10481	// unconditionally include in API requests. By default, fields with
10482	// empty values are omitted from API requests. However, any non-pointer,
10483	// non-interface field appearing in ForceSendFields will be sent to the
10484	// server regardless of whether the field is empty or not. This may be
10485	// used to include empty fields in Patch requests.
10486	ForceSendFields []string `json:"-"`
10487
10488	// NullFields is a list of field names (e.g. "BatchId") to include in
10489	// API requests with the JSON null value. By default, fields with empty
10490	// values are omitted from API requests. However, any field with an
10491	// empty value appearing in NullFields will be sent to the server as
10492	// null. It is an error if a field in this list has a non-empty value.
10493	// This may be used to include null fields in Patch requests.
10494	NullFields []string `json:"-"`
10495}
10496
10497func (s *ProductstatusesCustomBatchRequestEntry) MarshalJSON() ([]byte, error) {
10498	type NoMethod ProductstatusesCustomBatchRequestEntry
10499	raw := NoMethod(*s)
10500	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10501}
10502
10503type ProductstatusesCustomBatchResponse struct {
10504	// Entries: The result of the execution of the batch requests.
10505	Entries []*ProductstatusesCustomBatchResponseEntry `json:"entries,omitempty"`
10506
10507	// Kind: Identifies what kind of resource this is. Value: the fixed
10508	// string "content#productstatusesCustomBatchResponse".
10509	Kind string `json:"kind,omitempty"`
10510
10511	// ServerResponse contains the HTTP response code and headers from the
10512	// server.
10513	googleapi.ServerResponse `json:"-"`
10514
10515	// ForceSendFields is a list of field names (e.g. "Entries") to
10516	// unconditionally include in API requests. By default, fields with
10517	// empty values are omitted from API requests. However, any non-pointer,
10518	// non-interface field appearing in ForceSendFields will be sent to the
10519	// server regardless of whether the field is empty or not. This may be
10520	// used to include empty fields in Patch requests.
10521	ForceSendFields []string `json:"-"`
10522
10523	// NullFields is a list of field names (e.g. "Entries") to include in
10524	// API requests with the JSON null value. By default, fields with empty
10525	// values are omitted from API requests. However, any field with an
10526	// empty value appearing in NullFields will be sent to the server as
10527	// null. It is an error if a field in this list has a non-empty value.
10528	// This may be used to include null fields in Patch requests.
10529	NullFields []string `json:"-"`
10530}
10531
10532func (s *ProductstatusesCustomBatchResponse) MarshalJSON() ([]byte, error) {
10533	type NoMethod ProductstatusesCustomBatchResponse
10534	raw := NoMethod(*s)
10535	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10536}
10537
10538// ProductstatusesCustomBatchResponseEntry: A batch entry encoding a
10539// single non-batch productstatuses response.
10540type ProductstatusesCustomBatchResponseEntry struct {
10541	// BatchId: The ID of the request entry this entry responds to.
10542	BatchId int64 `json:"batchId,omitempty"`
10543
10544	// Errors: A list of errors, if the request failed.
10545	Errors *Errors `json:"errors,omitempty"`
10546
10547	// Kind: Identifies what kind of resource this is. Value: the fixed
10548	// string "content#productstatusesCustomBatchResponseEntry"
10549	Kind string `json:"kind,omitempty"`
10550
10551	// ProductStatus: The requested product status. Only defined if the
10552	// request was successful.
10553	ProductStatus *ProductStatus `json:"productStatus,omitempty"`
10554
10555	// ForceSendFields is a list of field names (e.g. "BatchId") to
10556	// unconditionally include in API requests. By default, fields with
10557	// empty values are omitted from API requests. However, any non-pointer,
10558	// non-interface field appearing in ForceSendFields will be sent to the
10559	// server regardless of whether the field is empty or not. This may be
10560	// used to include empty fields in Patch requests.
10561	ForceSendFields []string `json:"-"`
10562
10563	// NullFields is a list of field names (e.g. "BatchId") to include in
10564	// API requests with the JSON null value. By default, fields with empty
10565	// values are omitted from API requests. However, any field with an
10566	// empty value appearing in NullFields will be sent to the server as
10567	// null. It is an error if a field in this list has a non-empty value.
10568	// This may be used to include null fields in Patch requests.
10569	NullFields []string `json:"-"`
10570}
10571
10572func (s *ProductstatusesCustomBatchResponseEntry) MarshalJSON() ([]byte, error) {
10573	type NoMethod ProductstatusesCustomBatchResponseEntry
10574	raw := NoMethod(*s)
10575	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10576}
10577
10578type ProductstatusesListResponse struct {
10579	// Kind: Identifies what kind of resource this is. Value: the fixed
10580	// string "content#productstatusesListResponse".
10581	Kind string `json:"kind,omitempty"`
10582
10583	// NextPageToken: The token for the retrieval of the next page of
10584	// products statuses.
10585	NextPageToken string `json:"nextPageToken,omitempty"`
10586
10587	Resources []*ProductStatus `json:"resources,omitempty"`
10588
10589	// ServerResponse contains the HTTP response code and headers from the
10590	// server.
10591	googleapi.ServerResponse `json:"-"`
10592
10593	// ForceSendFields is a list of field names (e.g. "Kind") to
10594	// unconditionally include in API requests. By default, fields with
10595	// empty values are omitted from API requests. However, any non-pointer,
10596	// non-interface field appearing in ForceSendFields will be sent to the
10597	// server regardless of whether the field is empty or not. This may be
10598	// used to include empty fields in Patch requests.
10599	ForceSendFields []string `json:"-"`
10600
10601	// NullFields is a list of field names (e.g. "Kind") to include in API
10602	// requests with the JSON null value. By default, fields with empty
10603	// values are omitted from API requests. However, any field with an
10604	// empty value appearing in NullFields will be sent to the server as
10605	// null. It is an error if a field in this list has a non-empty value.
10606	// This may be used to include null fields in Patch requests.
10607	NullFields []string `json:"-"`
10608}
10609
10610func (s *ProductstatusesListResponse) MarshalJSON() ([]byte, error) {
10611	type NoMethod ProductstatusesListResponse
10612	raw := NoMethod(*s)
10613	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10614}
10615
10616type Promotion struct {
10617	// PromotionAmount: [required] Amount of the promotion. The values here
10618	// are the promotion applied to the unit price pretax and to the total
10619	// of the tax amounts.
10620	PromotionAmount *Amount `json:"promotionAmount,omitempty"`
10621
10622	// PromotionId: [required] ID of the promotion.
10623	PromotionId string `json:"promotionId,omitempty"`
10624
10625	// ForceSendFields is a list of field names (e.g. "PromotionAmount") to
10626	// unconditionally include in API requests. By default, fields with
10627	// empty values are omitted from API requests. However, any non-pointer,
10628	// non-interface field appearing in ForceSendFields will be sent to the
10629	// server regardless of whether the field is empty or not. This may be
10630	// used to include empty fields in Patch requests.
10631	ForceSendFields []string `json:"-"`
10632
10633	// NullFields is a list of field names (e.g. "PromotionAmount") to
10634	// include in API requests with the JSON null value. By default, fields
10635	// with empty values are omitted from API requests. However, any field
10636	// with an empty value appearing in NullFields will be sent to the
10637	// server as null. It is an error if a field in this list has a
10638	// non-empty value. This may be used to include null fields in Patch
10639	// requests.
10640	NullFields []string `json:"-"`
10641}
10642
10643func (s *Promotion) MarshalJSON() ([]byte, error) {
10644	type NoMethod Promotion
10645	raw := NoMethod(*s)
10646	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10647}
10648
10649type RateGroup struct {
10650	// ApplicableShippingLabels: A list of shipping labels defining the
10651	// products to which this rate group applies to. This is a disjunction:
10652	// only one of the labels has to match for the rate group to apply. May
10653	// only be empty for the last rate group of a service. Required.
10654	ApplicableShippingLabels []string `json:"applicableShippingLabels,omitempty"`
10655
10656	// CarrierRates: A list of carrier rates that can be referred to by
10657	// `mainTable` or `singleValue`.
10658	CarrierRates []*CarrierRate `json:"carrierRates,omitempty"`
10659
10660	// MainTable: A table defining the rate group, when `singleValue` is not
10661	// expressive enough. Can only be set if `singleValue` is not set.
10662	MainTable *Table `json:"mainTable,omitempty"`
10663
10664	// Name: Name of the rate group. Optional. If set has to be unique
10665	// within shipping service.
10666	Name string `json:"name,omitempty"`
10667
10668	// SingleValue: The value of the rate group (e.g. flat rate $10). Can
10669	// only be set if `mainTable` and `subtables` are not set.
10670	SingleValue *Value `json:"singleValue,omitempty"`
10671
10672	// Subtables: A list of subtables referred to by `mainTable`. Can only
10673	// be set if `mainTable` is set.
10674	Subtables []*Table `json:"subtables,omitempty"`
10675
10676	// ForceSendFields is a list of field names (e.g.
10677	// "ApplicableShippingLabels") to unconditionally include in API
10678	// requests. By default, fields with empty values are omitted from API
10679	// requests. However, any non-pointer, non-interface field appearing in
10680	// ForceSendFields will be sent to the server regardless of whether the
10681	// field is empty or not. This may be used to include empty fields in
10682	// Patch requests.
10683	ForceSendFields []string `json:"-"`
10684
10685	// NullFields is a list of field names (e.g. "ApplicableShippingLabels")
10686	// to include in API requests with the JSON null value. By default,
10687	// fields with empty values are omitted from API requests. However, any
10688	// field with an empty value appearing in NullFields will be sent to the
10689	// server as null. It is an error if a field in this list has a
10690	// non-empty value. This may be used to include null fields in Patch
10691	// requests.
10692	NullFields []string `json:"-"`
10693}
10694
10695func (s *RateGroup) MarshalJSON() ([]byte, error) {
10696	type NoMethod RateGroup
10697	raw := NoMethod(*s)
10698	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10699}
10700
10701type RefundReason struct {
10702	// Description: Description of the reason.
10703	Description string `json:"description,omitempty"`
10704
10705	// ReasonCode: Code of the refund reason. Acceptable values are: -
10706	// "adjustment" - "autoPostInternal" -
10707	// "autoPostInvalidBillingAddress" - "autoPostNoInventory" -
10708	// "autoPostPriceError" - "autoPostUndeliverableShippingAddress" -
10709	// "couponAbuse" - "courtesyAdjustment" - "customerCanceled" -
10710	// "customerDiscretionaryReturn" - "customerInitiatedMerchantCancel"
10711	// - "customerSupportRequested" - "deliveredLateByCarrier" -
10712	// "deliveredTooLate" - "expiredItem" -
10713	// "failToPushOrderGoogleError" - "failToPushOrderMerchantError" -
10714	// "failToPushOrderMerchantFulfillmentError" -
10715	// "failToPushOrderToMerchant" -
10716	// "failToPushOrderToMerchantOutOfStock" - "feeAdjustment" -
10717	// "invalidCoupon" - "lateShipmentCredit" -
10718	// "malformedShippingAddress" - "merchantDidNotShipOnTime" -
10719	// "noInventory" - "orderTimeout" - "other" - "paymentAbuse" -
10720	// "paymentDeclined" - "priceAdjustment" - "priceError" -
10721	// "productArrivedDamaged" - "productNotAsDescribed" -
10722	// "promoReallocation" - "qualityNotAsExpected" -
10723	// "returnRefundAbuse" - "shippingCostAdjustment" -
10724	// "shippingPriceError" - "taxAdjustment" - "taxError" -
10725	// "undeliverableShippingAddress" - "unsupportedPoBoxAddress" -
10726	// "wrongProductShipped"
10727	ReasonCode string `json:"reasonCode,omitempty"`
10728
10729	// ForceSendFields is a list of field names (e.g. "Description") to
10730	// unconditionally include in API requests. By default, fields with
10731	// empty values are omitted from API requests. However, any non-pointer,
10732	// non-interface field appearing in ForceSendFields will be sent to the
10733	// server regardless of whether the field is empty or not. This may be
10734	// used to include empty fields in Patch requests.
10735	ForceSendFields []string `json:"-"`
10736
10737	// NullFields is a list of field names (e.g. "Description") to include
10738	// in API requests with the JSON null value. By default, fields with
10739	// empty values are omitted from API requests. However, any field with
10740	// an empty value appearing in NullFields will be sent to the server as
10741	// null. It is an error if a field in this list has a non-empty value.
10742	// This may be used to include null fields in Patch requests.
10743	NullFields []string `json:"-"`
10744}
10745
10746func (s *RefundReason) MarshalJSON() ([]byte, error) {
10747	type NoMethod RefundReason
10748	raw := NoMethod(*s)
10749	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10750}
10751
10752type ReturnShipment struct {
10753	// CreationDate: The date of creation of the shipment, in ISO 8601
10754	// format.
10755	CreationDate string `json:"creationDate,omitempty"`
10756
10757	// DeliveryDate: The date of delivery of the shipment, in ISO 8601
10758	// format.
10759	DeliveryDate string `json:"deliveryDate,omitempty"`
10760
10761	// ReturnMethodType: Type of the return method. Acceptable values are: -
10762	// "byMail" - "contactCustomerSupport" - "returnless"
10763	ReturnMethodType string `json:"returnMethodType,omitempty"`
10764
10765	// ShipmentId: Shipment ID generated by Google.
10766	ShipmentId string `json:"shipmentId,omitempty"`
10767
10768	// ShipmentTrackingInfos: Tracking information of the shipment. One
10769	// return shipment might be handled by several shipping carriers
10770	// sequentially.
10771	ShipmentTrackingInfos []*ShipmentTrackingInfo `json:"shipmentTrackingInfos,omitempty"`
10772
10773	// ShippingDate: The date of shipping of the shipment, in ISO 8601
10774	// format.
10775	ShippingDate string `json:"shippingDate,omitempty"`
10776
10777	// State: State of the shipment. Acceptable values are: - "completed"
10778	// - "new" - "shipped" - "undeliverable" - "pending"
10779	State string `json:"state,omitempty"`
10780
10781	// ForceSendFields is a list of field names (e.g. "CreationDate") to
10782	// unconditionally include in API requests. By default, fields with
10783	// empty values are omitted from API requests. However, any non-pointer,
10784	// non-interface field appearing in ForceSendFields will be sent to the
10785	// server regardless of whether the field is empty or not. This may be
10786	// used to include empty fields in Patch requests.
10787	ForceSendFields []string `json:"-"`
10788
10789	// NullFields is a list of field names (e.g. "CreationDate") to include
10790	// in API requests with the JSON null value. By default, fields with
10791	// empty values are omitted from API requests. However, any field with
10792	// an empty value appearing in NullFields will be sent to the server as
10793	// null. It is an error if a field in this list has a non-empty value.
10794	// This may be used to include null fields in Patch requests.
10795	NullFields []string `json:"-"`
10796}
10797
10798func (s *ReturnShipment) MarshalJSON() ([]byte, error) {
10799	type NoMethod ReturnShipment
10800	raw := NoMethod(*s)
10801	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10802}
10803
10804type Row struct {
10805	// Cells: The list of cells that constitute the row. Must have the same
10806	// length as `columnHeaders` for two-dimensional tables, a length of 1
10807	// for one-dimensional tables. Required.
10808	Cells []*Value `json:"cells,omitempty"`
10809
10810	// ForceSendFields is a list of field names (e.g. "Cells") to
10811	// unconditionally include in API requests. By default, fields with
10812	// empty values are omitted from API requests. However, any non-pointer,
10813	// non-interface field appearing in ForceSendFields will be sent to the
10814	// server regardless of whether the field is empty or not. This may be
10815	// used to include empty fields in Patch requests.
10816	ForceSendFields []string `json:"-"`
10817
10818	// NullFields is a list of field names (e.g. "Cells") to include in API
10819	// requests with the JSON null value. By default, fields with empty
10820	// values are omitted from API requests. However, any field with an
10821	// empty value appearing in NullFields will be sent to the server as
10822	// null. It is an error if a field in this list has a non-empty value.
10823	// This may be used to include null fields in Patch requests.
10824	NullFields []string `json:"-"`
10825}
10826
10827func (s *Row) MarshalJSON() ([]byte, error) {
10828	type NoMethod Row
10829	raw := NoMethod(*s)
10830	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10831}
10832
10833type Service struct {
10834	// Active: A boolean exposing the active status of the shipping service.
10835	// Required.
10836	Active bool `json:"active,omitempty"`
10837
10838	// Currency: The CLDR code of the currency to which this service
10839	// applies. Must match that of the prices in rate groups.
10840	Currency string `json:"currency,omitempty"`
10841
10842	// DeliveryCountry: The CLDR territory code of the country to which the
10843	// service applies. Required.
10844	DeliveryCountry string `json:"deliveryCountry,omitempty"`
10845
10846	// DeliveryTime: Time spent in various aspects from order to the
10847	// delivery of the product. Required.
10848	DeliveryTime *DeliveryTime `json:"deliveryTime,omitempty"`
10849
10850	// Eligibility: Eligibility for this service. Acceptable values are: -
10851	// "All scenarios" - "All scenarios except Shopping Actions" -
10852	// "Shopping Actions"
10853	Eligibility string `json:"eligibility,omitempty"`
10854
10855	// MinimumOrderValue: Minimum order value for this service. If set,
10856	// indicates that customers will have to spend at least this amount. All
10857	// prices within a service must have the same currency. Cannot be set
10858	// together with minimum_order_value_table.
10859	MinimumOrderValue *Price `json:"minimumOrderValue,omitempty"`
10860
10861	// MinimumOrderValueTable: Table of per store minimum order values for
10862	// the pickup fulfillment type. Cannot be set together with
10863	// minimum_order_value.
10864	MinimumOrderValueTable *MinimumOrderValueTable `json:"minimumOrderValueTable,omitempty"`
10865
10866	// Name: Free-form name of the service. Must be unique within target
10867	// account. Required.
10868	Name string `json:"name,omitempty"`
10869
10870	// PickupService: The carrier-service pair delivering items to
10871	// collection points. The list of supported pickup services can be
10872	// retrieved via the `getSupportedPickupServices` method. Required if
10873	// and only if the service delivery type is `pickup`.
10874	PickupService *PickupCarrierService `json:"pickupService,omitempty"`
10875
10876	// RateGroups: Shipping rate group definitions. Only the last one is
10877	// allowed to have an empty `applicableShippingLabels`, which means
10878	// "everything else". The other `applicableShippingLabels` must not
10879	// overlap.
10880	RateGroups []*RateGroup `json:"rateGroups,omitempty"`
10881
10882	// ShipmentType: Type of locations this service ships orders to.
10883	// Acceptable values are: - "delivery" - "pickup"
10884	ShipmentType string `json:"shipmentType,omitempty"`
10885
10886	// ForceSendFields is a list of field names (e.g. "Active") to
10887	// unconditionally include in API requests. By default, fields with
10888	// empty values are omitted from API requests. However, any non-pointer,
10889	// non-interface field appearing in ForceSendFields will be sent to the
10890	// server regardless of whether the field is empty or not. This may be
10891	// used to include empty fields in Patch requests.
10892	ForceSendFields []string `json:"-"`
10893
10894	// NullFields is a list of field names (e.g. "Active") to include in API
10895	// requests with the JSON null value. By default, fields with empty
10896	// values are omitted from API requests. However, any field with an
10897	// empty value appearing in NullFields will be sent to the server as
10898	// null. It is an error if a field in this list has a non-empty value.
10899	// This may be used to include null fields in Patch requests.
10900	NullFields []string `json:"-"`
10901}
10902
10903func (s *Service) MarshalJSON() ([]byte, error) {
10904	type NoMethod Service
10905	raw := NoMethod(*s)
10906	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10907}
10908
10909type ShipmentInvoice struct {
10910	// InvoiceSummary: [required] Invoice summary.
10911	InvoiceSummary *InvoiceSummary `json:"invoiceSummary,omitempty"`
10912
10913	// LineItemInvoices: [required] Invoice details per line item.
10914	LineItemInvoices []*ShipmentInvoiceLineItemInvoice `json:"lineItemInvoices,omitempty"`
10915
10916	// ShipmentGroupId: [required] ID of the shipment group. It is assigned
10917	// by the merchant in the `shipLineItems` method and is used to group
10918	// multiple line items that have the same kind of shipping charges.
10919	ShipmentGroupId string `json:"shipmentGroupId,omitempty"`
10920
10921	// ForceSendFields is a list of field names (e.g. "InvoiceSummary") to
10922	// unconditionally include in API requests. By default, fields with
10923	// empty values are omitted from API requests. However, any non-pointer,
10924	// non-interface field appearing in ForceSendFields will be sent to the
10925	// server regardless of whether the field is empty or not. This may be
10926	// used to include empty fields in Patch requests.
10927	ForceSendFields []string `json:"-"`
10928
10929	// NullFields is a list of field names (e.g. "InvoiceSummary") to
10930	// include in API requests with the JSON null value. By default, fields
10931	// with empty values are omitted from API requests. However, any field
10932	// with an empty value appearing in NullFields will be sent to the
10933	// server as null. It is an error if a field in this list has a
10934	// non-empty value. This may be used to include null fields in Patch
10935	// requests.
10936	NullFields []string `json:"-"`
10937}
10938
10939func (s *ShipmentInvoice) MarshalJSON() ([]byte, error) {
10940	type NoMethod ShipmentInvoice
10941	raw := NoMethod(*s)
10942	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10943}
10944
10945type ShipmentInvoiceLineItemInvoice struct {
10946	// LineItemId: ID of the line item. Either lineItemId or productId must
10947	// be set.
10948	LineItemId string `json:"lineItemId,omitempty"`
10949
10950	// ProductId: ID of the product. This is the REST ID used in the
10951	// products service. Either lineItemId or productId must be set.
10952	ProductId string `json:"productId,omitempty"`
10953
10954	// ShipmentUnitIds: [required] The shipment unit ID is assigned by the
10955	// merchant and defines individual quantities within a line item. The
10956	// same ID can be assigned to units that are the same while units that
10957	// differ must be assigned a different ID (for example: free or
10958	// promotional units).
10959	ShipmentUnitIds []string `json:"shipmentUnitIds,omitempty"`
10960
10961	// UnitInvoice: [required] Invoice details for a single unit.
10962	UnitInvoice *UnitInvoice `json:"unitInvoice,omitempty"`
10963
10964	// ForceSendFields is a list of field names (e.g. "LineItemId") to
10965	// unconditionally include in API requests. By default, fields with
10966	// empty values are omitted from API requests. However, any non-pointer,
10967	// non-interface field appearing in ForceSendFields will be sent to the
10968	// server regardless of whether the field is empty or not. This may be
10969	// used to include empty fields in Patch requests.
10970	ForceSendFields []string `json:"-"`
10971
10972	// NullFields is a list of field names (e.g. "LineItemId") to include in
10973	// API requests with the JSON null value. By default, fields with empty
10974	// values are omitted from API requests. However, any field with an
10975	// empty value appearing in NullFields will be sent to the server as
10976	// null. It is an error if a field in this list has a non-empty value.
10977	// This may be used to include null fields in Patch requests.
10978	NullFields []string `json:"-"`
10979}
10980
10981func (s *ShipmentInvoiceLineItemInvoice) MarshalJSON() ([]byte, error) {
10982	type NoMethod ShipmentInvoiceLineItemInvoice
10983	raw := NoMethod(*s)
10984	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10985}
10986
10987type ShipmentTrackingInfo struct {
10988	// Carrier: The shipping carrier that handles the package. Acceptable
10989	// values are: - "boxtal" - "bpost" - "chronopost" -
10990	// "colisPrive" - "colissimo" - "cxt" - "deliv" - "dhl" -
10991	// "dpd" - "dynamex" - "eCourier" - "easypost" - "efw" -
10992	// "fedex" - "fedexSmartpost" - "geodis" - "gls" -
10993	// "googleCourier" - "gsx" - "jdLogistics" - "laPoste" -
10994	// "lasership" - "manual" - "mpx" - "onTrac" - "other" -
10995	// "tnt" - "uds" - "ups" - "usps"
10996	Carrier string `json:"carrier,omitempty"`
10997
10998	// TrackingNumber: The tracking number for the package.
10999	TrackingNumber string `json:"trackingNumber,omitempty"`
11000
11001	// ForceSendFields is a list of field names (e.g. "Carrier") to
11002	// unconditionally include in API requests. By default, fields with
11003	// empty values are omitted from API requests. However, any non-pointer,
11004	// non-interface field appearing in ForceSendFields will be sent to the
11005	// server regardless of whether the field is empty or not. This may be
11006	// used to include empty fields in Patch requests.
11007	ForceSendFields []string `json:"-"`
11008
11009	// NullFields is a list of field names (e.g. "Carrier") to include in
11010	// API requests with the JSON null value. By default, fields with empty
11011	// values are omitted from API requests. However, any field with an
11012	// empty value appearing in NullFields will be sent to the server as
11013	// null. It is an error if a field in this list has a non-empty value.
11014	// This may be used to include null fields in Patch requests.
11015	NullFields []string `json:"-"`
11016}
11017
11018func (s *ShipmentTrackingInfo) MarshalJSON() ([]byte, error) {
11019	type NoMethod ShipmentTrackingInfo
11020	raw := NoMethod(*s)
11021	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11022}
11023
11024// ShippingSettings: The merchant account's shipping settings. All
11025// methods except getsupportedcarriers and getsupportedholidays require
11026// the admin role.
11027type ShippingSettings struct {
11028	// AccountId: The ID of the account to which these account shipping
11029	// settings belong. Ignored upon update, always present in get request
11030	// responses.
11031	AccountId uint64 `json:"accountId,omitempty,string"`
11032
11033	// PostalCodeGroups: A list of postal code groups that can be referred
11034	// to in `services`. Optional.
11035	PostalCodeGroups []*PostalCodeGroup `json:"postalCodeGroups,omitempty"`
11036
11037	// Services: The target account's list of services. Optional.
11038	Services []*Service `json:"services,omitempty"`
11039
11040	// ServerResponse contains the HTTP response code and headers from the
11041	// server.
11042	googleapi.ServerResponse `json:"-"`
11043
11044	// ForceSendFields is a list of field names (e.g. "AccountId") to
11045	// unconditionally include in API requests. By default, fields with
11046	// empty values are omitted from API requests. However, any non-pointer,
11047	// non-interface field appearing in ForceSendFields will be sent to the
11048	// server regardless of whether the field is empty or not. This may be
11049	// used to include empty fields in Patch requests.
11050	ForceSendFields []string `json:"-"`
11051
11052	// NullFields is a list of field names (e.g. "AccountId") to include in
11053	// API requests with the JSON null value. By default, fields with empty
11054	// values are omitted from API requests. However, any field with an
11055	// empty value appearing in NullFields will be sent to the server as
11056	// null. It is an error if a field in this list has a non-empty value.
11057	// This may be used to include null fields in Patch requests.
11058	NullFields []string `json:"-"`
11059}
11060
11061func (s *ShippingSettings) MarshalJSON() ([]byte, error) {
11062	type NoMethod ShippingSettings
11063	raw := NoMethod(*s)
11064	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11065}
11066
11067type ShippingsettingsCustomBatchRequest struct {
11068	// Entries: The request entries to be processed in the batch.
11069	Entries []*ShippingsettingsCustomBatchRequestEntry `json:"entries,omitempty"`
11070
11071	// ForceSendFields is a list of field names (e.g. "Entries") to
11072	// unconditionally include in API requests. By default, fields with
11073	// empty values are omitted from API requests. However, any non-pointer,
11074	// non-interface field appearing in ForceSendFields will be sent to the
11075	// server regardless of whether the field is empty or not. This may be
11076	// used to include empty fields in Patch requests.
11077	ForceSendFields []string `json:"-"`
11078
11079	// NullFields is a list of field names (e.g. "Entries") to include in
11080	// API requests with the JSON null value. By default, fields with empty
11081	// values are omitted from API requests. However, any field with an
11082	// empty value appearing in NullFields will be sent to the server as
11083	// null. It is an error if a field in this list has a non-empty value.
11084	// This may be used to include null fields in Patch requests.
11085	NullFields []string `json:"-"`
11086}
11087
11088func (s *ShippingsettingsCustomBatchRequest) MarshalJSON() ([]byte, error) {
11089	type NoMethod ShippingsettingsCustomBatchRequest
11090	raw := NoMethod(*s)
11091	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11092}
11093
11094// ShippingsettingsCustomBatchRequestEntry: A batch entry encoding a
11095// single non-batch shippingsettings request.
11096type ShippingsettingsCustomBatchRequestEntry struct {
11097	// AccountId: The ID of the account for which to get/update account
11098	// shipping settings.
11099	AccountId uint64 `json:"accountId,omitempty,string"`
11100
11101	// BatchId: An entry ID, unique within the batch request.
11102	BatchId int64 `json:"batchId,omitempty"`
11103
11104	// MerchantId: The ID of the managing account.
11105	MerchantId uint64 `json:"merchantId,omitempty,string"`
11106
11107	// Method: The method of the batch entry. Acceptable values are: -
11108	// "get" - "update"
11109	Method string `json:"method,omitempty"`
11110
11111	// ShippingSettings: The account shipping settings to update. Only
11112	// defined if the method is `update`.
11113	ShippingSettings *ShippingSettings `json:"shippingSettings,omitempty"`
11114
11115	// ForceSendFields is a list of field names (e.g. "AccountId") to
11116	// unconditionally include in API requests. By default, fields with
11117	// empty values are omitted from API requests. However, any non-pointer,
11118	// non-interface field appearing in ForceSendFields will be sent to the
11119	// server regardless of whether the field is empty or not. This may be
11120	// used to include empty fields in Patch requests.
11121	ForceSendFields []string `json:"-"`
11122
11123	// NullFields is a list of field names (e.g. "AccountId") to include in
11124	// API requests with the JSON null value. By default, fields with empty
11125	// values are omitted from API requests. However, any field with an
11126	// empty value appearing in NullFields will be sent to the server as
11127	// null. It is an error if a field in this list has a non-empty value.
11128	// This may be used to include null fields in Patch requests.
11129	NullFields []string `json:"-"`
11130}
11131
11132func (s *ShippingsettingsCustomBatchRequestEntry) MarshalJSON() ([]byte, error) {
11133	type NoMethod ShippingsettingsCustomBatchRequestEntry
11134	raw := NoMethod(*s)
11135	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11136}
11137
11138type ShippingsettingsCustomBatchResponse struct {
11139	// Entries: The result of the execution of the batch requests.
11140	Entries []*ShippingsettingsCustomBatchResponseEntry `json:"entries,omitempty"`
11141
11142	// Kind: Identifies what kind of resource this is. Value: the fixed
11143	// string "content#shippingsettingsCustomBatchResponse".
11144	Kind string `json:"kind,omitempty"`
11145
11146	// ServerResponse contains the HTTP response code and headers from the
11147	// server.
11148	googleapi.ServerResponse `json:"-"`
11149
11150	// ForceSendFields is a list of field names (e.g. "Entries") to
11151	// unconditionally include in API requests. By default, fields with
11152	// empty values are omitted from API requests. However, any non-pointer,
11153	// non-interface field appearing in ForceSendFields will be sent to the
11154	// server regardless of whether the field is empty or not. This may be
11155	// used to include empty fields in Patch requests.
11156	ForceSendFields []string `json:"-"`
11157
11158	// NullFields is a list of field names (e.g. "Entries") to include in
11159	// API requests with the JSON null value. By default, fields with empty
11160	// values are omitted from API requests. However, any field with an
11161	// empty value appearing in NullFields will be sent to the server as
11162	// null. It is an error if a field in this list has a non-empty value.
11163	// This may be used to include null fields in Patch requests.
11164	NullFields []string `json:"-"`
11165}
11166
11167func (s *ShippingsettingsCustomBatchResponse) MarshalJSON() ([]byte, error) {
11168	type NoMethod ShippingsettingsCustomBatchResponse
11169	raw := NoMethod(*s)
11170	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11171}
11172
11173// ShippingsettingsCustomBatchResponseEntry: A batch entry encoding a
11174// single non-batch shipping settings response.
11175type ShippingsettingsCustomBatchResponseEntry struct {
11176	// BatchId: The ID of the request entry to which this entry responds.
11177	BatchId int64 `json:"batchId,omitempty"`
11178
11179	// Errors: A list of errors defined if, and only if, the request failed.
11180	Errors *Errors `json:"errors,omitempty"`
11181
11182	// Kind: Identifies what kind of resource this is. Value: the fixed
11183	// string "content#shippingsettingsCustomBatchResponseEntry"
11184	Kind string `json:"kind,omitempty"`
11185
11186	// ShippingSettings: The retrieved or updated account shipping settings.
11187	ShippingSettings *ShippingSettings `json:"shippingSettings,omitempty"`
11188
11189	// ForceSendFields is a list of field names (e.g. "BatchId") to
11190	// unconditionally include in API requests. By default, fields with
11191	// empty values are omitted from API requests. However, any non-pointer,
11192	// non-interface field appearing in ForceSendFields will be sent to the
11193	// server regardless of whether the field is empty or not. This may be
11194	// used to include empty fields in Patch requests.
11195	ForceSendFields []string `json:"-"`
11196
11197	// NullFields is a list of field names (e.g. "BatchId") to include in
11198	// API requests with the JSON null value. By default, fields with empty
11199	// values are omitted from API requests. However, any field with an
11200	// empty value appearing in NullFields will be sent to the server as
11201	// null. It is an error if a field in this list has a non-empty value.
11202	// This may be used to include null fields in Patch requests.
11203	NullFields []string `json:"-"`
11204}
11205
11206func (s *ShippingsettingsCustomBatchResponseEntry) MarshalJSON() ([]byte, error) {
11207	type NoMethod ShippingsettingsCustomBatchResponseEntry
11208	raw := NoMethod(*s)
11209	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11210}
11211
11212type ShippingsettingsGetSupportedCarriersResponse struct {
11213	// Carriers: A list of supported carriers. May be empty.
11214	Carriers []*CarriersCarrier `json:"carriers,omitempty"`
11215
11216	// Kind: Identifies what kind of resource this is. Value: the fixed
11217	// string "content#shippingsettingsGetSupportedCarriersResponse".
11218	Kind string `json:"kind,omitempty"`
11219
11220	// ServerResponse contains the HTTP response code and headers from the
11221	// server.
11222	googleapi.ServerResponse `json:"-"`
11223
11224	// ForceSendFields is a list of field names (e.g. "Carriers") to
11225	// unconditionally include in API requests. By default, fields with
11226	// empty values are omitted from API requests. However, any non-pointer,
11227	// non-interface field appearing in ForceSendFields will be sent to the
11228	// server regardless of whether the field is empty or not. This may be
11229	// used to include empty fields in Patch requests.
11230	ForceSendFields []string `json:"-"`
11231
11232	// NullFields is a list of field names (e.g. "Carriers") to include in
11233	// API requests with the JSON null value. By default, fields with empty
11234	// values are omitted from API requests. However, any field with an
11235	// empty value appearing in NullFields will be sent to the server as
11236	// null. It is an error if a field in this list has a non-empty value.
11237	// This may be used to include null fields in Patch requests.
11238	NullFields []string `json:"-"`
11239}
11240
11241func (s *ShippingsettingsGetSupportedCarriersResponse) MarshalJSON() ([]byte, error) {
11242	type NoMethod ShippingsettingsGetSupportedCarriersResponse
11243	raw := NoMethod(*s)
11244	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11245}
11246
11247type ShippingsettingsGetSupportedHolidaysResponse struct {
11248	// Holidays: A list of holidays applicable for delivery guarantees. May
11249	// be empty.
11250	Holidays []*HolidaysHoliday `json:"holidays,omitempty"`
11251
11252	// Kind: Identifies what kind of resource this is. Value: the fixed
11253	// string "content#shippingsettingsGetSupportedHolidaysResponse".
11254	Kind string `json:"kind,omitempty"`
11255
11256	// ServerResponse contains the HTTP response code and headers from the
11257	// server.
11258	googleapi.ServerResponse `json:"-"`
11259
11260	// ForceSendFields is a list of field names (e.g. "Holidays") to
11261	// unconditionally include in API requests. By default, fields with
11262	// empty values are omitted from API requests. However, any non-pointer,
11263	// non-interface field appearing in ForceSendFields will be sent to the
11264	// server regardless of whether the field is empty or not. This may be
11265	// used to include empty fields in Patch requests.
11266	ForceSendFields []string `json:"-"`
11267
11268	// NullFields is a list of field names (e.g. "Holidays") to include in
11269	// API requests with the JSON null value. By default, fields with empty
11270	// values are omitted from API requests. However, any field with an
11271	// empty value appearing in NullFields will be sent to the server as
11272	// null. It is an error if a field in this list has a non-empty value.
11273	// This may be used to include null fields in Patch requests.
11274	NullFields []string `json:"-"`
11275}
11276
11277func (s *ShippingsettingsGetSupportedHolidaysResponse) MarshalJSON() ([]byte, error) {
11278	type NoMethod ShippingsettingsGetSupportedHolidaysResponse
11279	raw := NoMethod(*s)
11280	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11281}
11282
11283type ShippingsettingsGetSupportedPickupServicesResponse struct {
11284	// Kind: Identifies what kind of resource this is. Value: the fixed
11285	// string "content#shippingsettingsGetSupportedPickupServicesResponse".
11286	Kind string `json:"kind,omitempty"`
11287
11288	// PickupServices: A list of supported pickup services. May be empty.
11289	PickupServices []*PickupServicesPickupService `json:"pickupServices,omitempty"`
11290
11291	// ServerResponse contains the HTTP response code and headers from the
11292	// server.
11293	googleapi.ServerResponse `json:"-"`
11294
11295	// ForceSendFields is a list of field names (e.g. "Kind") to
11296	// unconditionally include in API requests. By default, fields with
11297	// empty values are omitted from API requests. However, any non-pointer,
11298	// non-interface field appearing in ForceSendFields will be sent to the
11299	// server regardless of whether the field is empty or not. This may be
11300	// used to include empty fields in Patch requests.
11301	ForceSendFields []string `json:"-"`
11302
11303	// NullFields is a list of field names (e.g. "Kind") to include in API
11304	// requests with the JSON null value. By default, fields with empty
11305	// values are omitted from API requests. However, any field with an
11306	// empty value appearing in NullFields will be sent to the server as
11307	// null. It is an error if a field in this list has a non-empty value.
11308	// This may be used to include null fields in Patch requests.
11309	NullFields []string `json:"-"`
11310}
11311
11312func (s *ShippingsettingsGetSupportedPickupServicesResponse) MarshalJSON() ([]byte, error) {
11313	type NoMethod ShippingsettingsGetSupportedPickupServicesResponse
11314	raw := NoMethod(*s)
11315	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11316}
11317
11318type ShippingsettingsListResponse struct {
11319	// Kind: Identifies what kind of resource this is. Value: the fixed
11320	// string "content#shippingsettingsListResponse".
11321	Kind string `json:"kind,omitempty"`
11322
11323	// NextPageToken: The token for the retrieval of the next page of
11324	// shipping settings.
11325	NextPageToken string `json:"nextPageToken,omitempty"`
11326
11327	Resources []*ShippingSettings `json:"resources,omitempty"`
11328
11329	// ServerResponse contains the HTTP response code and headers from the
11330	// server.
11331	googleapi.ServerResponse `json:"-"`
11332
11333	// ForceSendFields is a list of field names (e.g. "Kind") to
11334	// unconditionally include in API requests. By default, fields with
11335	// empty values are omitted from API requests. However, any non-pointer,
11336	// non-interface field appearing in ForceSendFields will be sent to the
11337	// server regardless of whether the field is empty or not. This may be
11338	// used to include empty fields in Patch requests.
11339	ForceSendFields []string `json:"-"`
11340
11341	// NullFields is a list of field names (e.g. "Kind") to include in API
11342	// requests with the JSON null value. By default, fields with empty
11343	// values are omitted from API requests. However, any field with an
11344	// empty value appearing in NullFields will be sent to the server as
11345	// null. It is an error if a field in this list has a non-empty value.
11346	// This may be used to include null fields in Patch requests.
11347	NullFields []string `json:"-"`
11348}
11349
11350func (s *ShippingsettingsListResponse) MarshalJSON() ([]byte, error) {
11351	type NoMethod ShippingsettingsListResponse
11352	raw := NoMethod(*s)
11353	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11354}
11355
11356type Table struct {
11357	// ColumnHeaders: Headers of the table's columns. Optional: if not set
11358	// then the table has only one dimension.
11359	ColumnHeaders *Headers `json:"columnHeaders,omitempty"`
11360
11361	// Name: Name of the table. Required for subtables, ignored for the main
11362	// table.
11363	Name string `json:"name,omitempty"`
11364
11365	// RowHeaders: Headers of the table's rows. Required.
11366	RowHeaders *Headers `json:"rowHeaders,omitempty"`
11367
11368	// Rows: The list of rows that constitute the table. Must have the same
11369	// length as `rowHeaders`. Required.
11370	Rows []*Row `json:"rows,omitempty"`
11371
11372	// ForceSendFields is a list of field names (e.g. "ColumnHeaders") to
11373	// unconditionally include in API requests. By default, fields with
11374	// empty values are omitted from API requests. However, any non-pointer,
11375	// non-interface field appearing in ForceSendFields will be sent to the
11376	// server regardless of whether the field is empty or not. This may be
11377	// used to include empty fields in Patch requests.
11378	ForceSendFields []string `json:"-"`
11379
11380	// NullFields is a list of field names (e.g. "ColumnHeaders") to include
11381	// in API requests with the JSON null value. By default, fields with
11382	// empty values are omitted from API requests. However, any field with
11383	// an empty value appearing in NullFields will be sent to the server as
11384	// null. It is an error if a field in this list has a non-empty value.
11385	// This may be used to include null fields in Patch requests.
11386	NullFields []string `json:"-"`
11387}
11388
11389func (s *Table) MarshalJSON() ([]byte, error) {
11390	type NoMethod Table
11391	raw := NoMethod(*s)
11392	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11393}
11394
11395type TestOrder struct {
11396	// Customer: Required. The details of the customer who placed the order.
11397	Customer *TestOrderCustomer `json:"customer,omitempty"`
11398
11399	// EnableOrderinvoices: Whether the orderinvoices service should support
11400	// this order.
11401	EnableOrderinvoices bool `json:"enableOrderinvoices,omitempty"`
11402
11403	// Kind: Identifies what kind of resource this is. Value: the fixed
11404	// string "content#testOrder"
11405	Kind string `json:"kind,omitempty"`
11406
11407	// LineItems: Required. Line items that are ordered. At least one line
11408	// item must be provided.
11409	LineItems []*TestOrderLineItem `json:"lineItems,omitempty"`
11410
11411	// NotificationMode: Restricted. Do not use.
11412	NotificationMode string `json:"notificationMode,omitempty"`
11413
11414	// PaymentMethod: The details of the payment method.
11415	PaymentMethod *TestOrderPaymentMethod `json:"paymentMethod,omitempty"`
11416
11417	// PredefinedDeliveryAddress: Required. Identifier of one of the
11418	// predefined delivery addresses for the delivery. Acceptable values
11419	// are: - "dwight" - "jim" - "pam"
11420	PredefinedDeliveryAddress string `json:"predefinedDeliveryAddress,omitempty"`
11421
11422	// PredefinedPickupDetails: Identifier of one of the predefined pickup
11423	// details. Required for orders containing line items with shipping type
11424	// `pickup`. Acceptable values are: - "dwight" - "jim" - "pam"
11425	PredefinedPickupDetails string `json:"predefinedPickupDetails,omitempty"`
11426
11427	// Promotions: Deprecated. Ignored if provided.
11428	Promotions []*OrderLegacyPromotion `json:"promotions,omitempty"`
11429
11430	// ShippingCost: Required. The price of shipping for all items. Shipping
11431	// tax is automatically calculated for orders where marketplace
11432	// facilitator tax laws are applicable. Otherwise, tax settings from
11433	// Merchant Center are applied. Note that shipping is not taxed in
11434	// certain states.
11435	ShippingCost *Price `json:"shippingCost,omitempty"`
11436
11437	// ShippingCostTax: Deprecated. Ignored if provided.
11438	ShippingCostTax *Price `json:"shippingCostTax,omitempty"`
11439
11440	// ShippingOption: Required. The requested shipping option. Acceptable
11441	// values are: - "economy" - "expedited" - "oneDay" - "sameDay"
11442	// - "standard" - "twoDay"
11443	ShippingOption string `json:"shippingOption,omitempty"`
11444
11445	// ForceSendFields is a list of field names (e.g. "Customer") to
11446	// unconditionally include in API requests. By default, fields with
11447	// empty values are omitted from API requests. However, any non-pointer,
11448	// non-interface field appearing in ForceSendFields will be sent to the
11449	// server regardless of whether the field is empty or not. This may be
11450	// used to include empty fields in Patch requests.
11451	ForceSendFields []string `json:"-"`
11452
11453	// NullFields is a list of field names (e.g. "Customer") to include in
11454	// API requests with the JSON null value. By default, fields with empty
11455	// values are omitted from API requests. However, any field with an
11456	// empty value appearing in NullFields will be sent to the server as
11457	// null. It is an error if a field in this list has a non-empty value.
11458	// This may be used to include null fields in Patch requests.
11459	NullFields []string `json:"-"`
11460}
11461
11462func (s *TestOrder) MarshalJSON() ([]byte, error) {
11463	type NoMethod TestOrder
11464	raw := NoMethod(*s)
11465	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11466}
11467
11468type TestOrderCustomer struct {
11469	// Email: Required. Email address of the customer. Acceptable values
11470	// are: - "pog.dwight.schrute@gmail.com" -
11471	// "pog.jim.halpert@gmail.com" - "penpog.pam.beesly@gmail.comding"
11472	Email string `json:"email,omitempty"`
11473
11474	// ExplicitMarketingPreference: Deprecated. Please use
11475	// marketingRightsInfo instead.
11476	ExplicitMarketingPreference bool `json:"explicitMarketingPreference,omitempty"`
11477
11478	// FullName: Full name of the customer.
11479	FullName string `json:"fullName,omitempty"`
11480
11481	// MarketingRightsInfo: Customer's marketing preferences.
11482	MarketingRightsInfo *TestOrderCustomerMarketingRightsInfo `json:"marketingRightsInfo,omitempty"`
11483
11484	// ForceSendFields is a list of field names (e.g. "Email") to
11485	// unconditionally include in API requests. By default, fields with
11486	// empty values are omitted from API requests. However, any non-pointer,
11487	// non-interface field appearing in ForceSendFields will be sent to the
11488	// server regardless of whether the field is empty or not. This may be
11489	// used to include empty fields in Patch requests.
11490	ForceSendFields []string `json:"-"`
11491
11492	// NullFields is a list of field names (e.g. "Email") to include in API
11493	// requests with the JSON null value. By default, fields with empty
11494	// values are omitted from API requests. However, any field with an
11495	// empty value appearing in NullFields will be sent to the server as
11496	// null. It is an error if a field in this list has a non-empty value.
11497	// This may be used to include null fields in Patch requests.
11498	NullFields []string `json:"-"`
11499}
11500
11501func (s *TestOrderCustomer) MarshalJSON() ([]byte, error) {
11502	type NoMethod TestOrderCustomer
11503	raw := NoMethod(*s)
11504	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11505}
11506
11507type TestOrderCustomerMarketingRightsInfo struct {
11508	// ExplicitMarketingPreference: Last know user use selection regards
11509	// marketing preferences. In certain cases selection might not be known,
11510	// so this field would be empty. Acceptable values are: - "denied" -
11511	// "granted"
11512	ExplicitMarketingPreference string `json:"explicitMarketingPreference,omitempty"`
11513
11514	// LastUpdatedTimestamp: Timestamp when last time marketing preference
11515	// was updated. Could be empty, if user wasn't offered a selection yet.
11516	LastUpdatedTimestamp string `json:"lastUpdatedTimestamp,omitempty"`
11517
11518	// ForceSendFields is a list of field names (e.g.
11519	// "ExplicitMarketingPreference") to unconditionally include in API
11520	// requests. By default, fields with empty values are omitted from API
11521	// requests. However, any non-pointer, non-interface field appearing in
11522	// ForceSendFields will be sent to the server regardless of whether the
11523	// field is empty or not. This may be used to include empty fields in
11524	// Patch requests.
11525	ForceSendFields []string `json:"-"`
11526
11527	// NullFields is a list of field names (e.g.
11528	// "ExplicitMarketingPreference") to include in API requests with the
11529	// JSON null value. By default, fields with empty values are omitted
11530	// from API requests. However, any field with an empty value appearing
11531	// in NullFields will be sent to the server as null. It is an error if a
11532	// field in this list has a non-empty value. This may be used to include
11533	// null fields in Patch requests.
11534	NullFields []string `json:"-"`
11535}
11536
11537func (s *TestOrderCustomerMarketingRightsInfo) MarshalJSON() ([]byte, error) {
11538	type NoMethod TestOrderCustomerMarketingRightsInfo
11539	raw := NoMethod(*s)
11540	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11541}
11542
11543type TestOrderLineItem struct {
11544	// Product: Required. Product data from the time of the order placement.
11545	Product *TestOrderLineItemProduct `json:"product,omitempty"`
11546
11547	// QuantityOrdered: Required. Number of items ordered.
11548	QuantityOrdered int64 `json:"quantityOrdered,omitempty"`
11549
11550	// ReturnInfo: Required. Details of the return policy for the line item.
11551	ReturnInfo *OrderLineItemReturnInfo `json:"returnInfo,omitempty"`
11552
11553	// ShippingDetails: Required. Details of the requested shipping for the
11554	// line item.
11555	ShippingDetails *OrderLineItemShippingDetails `json:"shippingDetails,omitempty"`
11556
11557	// UnitTax: Deprecated. Ignored if provided.
11558	UnitTax *Price `json:"unitTax,omitempty"`
11559
11560	// ForceSendFields is a list of field names (e.g. "Product") to
11561	// unconditionally include in API requests. By default, fields with
11562	// empty values are omitted from API requests. However, any non-pointer,
11563	// non-interface field appearing in ForceSendFields will be sent to the
11564	// server regardless of whether the field is empty or not. This may be
11565	// used to include empty fields in Patch requests.
11566	ForceSendFields []string `json:"-"`
11567
11568	// NullFields is a list of field names (e.g. "Product") to include in
11569	// API requests with the JSON null value. By default, fields with empty
11570	// values are omitted from API requests. However, any field with an
11571	// empty value appearing in NullFields will be sent to the server as
11572	// null. It is an error if a field in this list has a non-empty value.
11573	// This may be used to include null fields in Patch requests.
11574	NullFields []string `json:"-"`
11575}
11576
11577func (s *TestOrderLineItem) MarshalJSON() ([]byte, error) {
11578	type NoMethod TestOrderLineItem
11579	raw := NoMethod(*s)
11580	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11581}
11582
11583type TestOrderLineItemProduct struct {
11584	// Brand: Required. Brand of the item.
11585	Brand string `json:"brand,omitempty"`
11586
11587	// Channel: Deprecated. Acceptable values are: - "online"
11588	Channel string `json:"channel,omitempty"`
11589
11590	// Condition: Required. Condition or state of the item. Acceptable
11591	// values are: - "new"
11592	Condition string `json:"condition,omitempty"`
11593
11594	// ContentLanguage: Required. The two-letter ISO 639-1 language code for
11595	// the item. Acceptable values are: - "en" - "fr"
11596	ContentLanguage string `json:"contentLanguage,omitempty"`
11597
11598	// Fees: Fees for the item. Optional.
11599	Fees []*OrderLineItemProductFee `json:"fees,omitempty"`
11600
11601	// Gtin: Global Trade Item Number (GTIN) of the item. Optional.
11602	Gtin string `json:"gtin,omitempty"`
11603
11604	// ImageLink: Required. URL of an image of the item.
11605	ImageLink string `json:"imageLink,omitempty"`
11606
11607	// ItemGroupId: Shared identifier for all variants of the same product.
11608	// Optional.
11609	ItemGroupId string `json:"itemGroupId,omitempty"`
11610
11611	// Mpn: Manufacturer Part Number (MPN) of the item. Optional.
11612	Mpn string `json:"mpn,omitempty"`
11613
11614	// OfferId: Required. An identifier of the item.
11615	OfferId string `json:"offerId,omitempty"`
11616
11617	// Price: Required. The price for the product. Tax is automatically
11618	// calculated for orders where marketplace facilitator tax laws are
11619	// applicable. Otherwise, tax settings from Merchant Center are applied.
11620	Price *Price `json:"price,omitempty"`
11621
11622	// TargetCountry: Required. The CLDR territory // code of the target
11623	// country of the product.
11624	TargetCountry string `json:"targetCountry,omitempty"`
11625
11626	// Title: Required. The title of the product.
11627	Title string `json:"title,omitempty"`
11628
11629	// VariantAttributes: Variant attributes for the item. Optional.
11630	VariantAttributes []*OrderLineItemProductVariantAttribute `json:"variantAttributes,omitempty"`
11631
11632	// ForceSendFields is a list of field names (e.g. "Brand") to
11633	// unconditionally include in API requests. By default, fields with
11634	// empty values are omitted from API requests. However, any non-pointer,
11635	// non-interface field appearing in ForceSendFields will be sent to the
11636	// server regardless of whether the field is empty or not. This may be
11637	// used to include empty fields in Patch requests.
11638	ForceSendFields []string `json:"-"`
11639
11640	// NullFields is a list of field names (e.g. "Brand") to include in API
11641	// requests with the JSON null value. By default, fields with empty
11642	// values are omitted from API requests. However, any field with an
11643	// empty value appearing in NullFields will be sent to the server as
11644	// null. It is an error if a field in this list has a non-empty value.
11645	// This may be used to include null fields in Patch requests.
11646	NullFields []string `json:"-"`
11647}
11648
11649func (s *TestOrderLineItemProduct) MarshalJSON() ([]byte, error) {
11650	type NoMethod TestOrderLineItemProduct
11651	raw := NoMethod(*s)
11652	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11653}
11654
11655type TestOrderPaymentMethod struct {
11656	// ExpirationMonth: The card expiration month (January = 1, February = 2
11657	// etc.).
11658	ExpirationMonth int64 `json:"expirationMonth,omitempty"`
11659
11660	// ExpirationYear: The card expiration year (4-digit, e.g. 2015).
11661	ExpirationYear int64 `json:"expirationYear,omitempty"`
11662
11663	// LastFourDigits: The last four digits of the card number.
11664	LastFourDigits string `json:"lastFourDigits,omitempty"`
11665
11666	// PredefinedBillingAddress: The billing address. Acceptable values are:
11667	// - "dwight" - "jim" - "pam"
11668	PredefinedBillingAddress string `json:"predefinedBillingAddress,omitempty"`
11669
11670	// Type: The type of instrument. Note that real orders might have
11671	// different values than the four values accepted by `createTestOrder`.
11672	// Acceptable values are: - "AMEX" - "DISCOVER" - "MASTERCARD" -
11673	// "VISA"
11674	Type string `json:"type,omitempty"`
11675
11676	// ForceSendFields is a list of field names (e.g. "ExpirationMonth") to
11677	// unconditionally include in API requests. By default, fields with
11678	// empty values are omitted from API requests. However, any non-pointer,
11679	// non-interface field appearing in ForceSendFields will be sent to the
11680	// server regardless of whether the field is empty or not. This may be
11681	// used to include empty fields in Patch requests.
11682	ForceSendFields []string `json:"-"`
11683
11684	// NullFields is a list of field names (e.g. "ExpirationMonth") to
11685	// include in API requests with the JSON null value. By default, fields
11686	// with empty values are omitted from API requests. However, any field
11687	// with an empty value appearing in NullFields will be sent to the
11688	// server as null. It is an error if a field in this list has a
11689	// non-empty value. This may be used to include null fields in Patch
11690	// requests.
11691	NullFields []string `json:"-"`
11692}
11693
11694func (s *TestOrderPaymentMethod) MarshalJSON() ([]byte, error) {
11695	type NoMethod TestOrderPaymentMethod
11696	raw := NoMethod(*s)
11697	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11698}
11699
11700type TransitTable struct {
11701	// PostalCodeGroupNames: A list of postal group names. The last value
11702	// can be "all other locations". Example: `["zone 1", "zone 2", "all
11703	// other locations"]`. The referred postal code groups must match the
11704	// delivery country of the service.
11705	PostalCodeGroupNames []string `json:"postalCodeGroupNames,omitempty"`
11706
11707	Rows []*TransitTableTransitTimeRow `json:"rows,omitempty"`
11708
11709	// TransitTimeLabels: A list of transit time labels. The last value can
11710	// be "all other labels". Example: `["food", "electronics", "all other
11711	// labels"]`.
11712	TransitTimeLabels []string `json:"transitTimeLabels,omitempty"`
11713
11714	// ForceSendFields is a list of field names (e.g.
11715	// "PostalCodeGroupNames") to unconditionally include in API requests.
11716	// By default, fields with empty values are omitted from API requests.
11717	// However, any non-pointer, non-interface field appearing in
11718	// ForceSendFields will be sent to the server regardless of whether the
11719	// field is empty or not. This may be used to include empty fields in
11720	// Patch requests.
11721	ForceSendFields []string `json:"-"`
11722
11723	// NullFields is a list of field names (e.g. "PostalCodeGroupNames") to
11724	// include in API requests with the JSON null value. By default, fields
11725	// with empty values are omitted from API requests. However, any field
11726	// with an empty value appearing in NullFields will be sent to the
11727	// server as null. It is an error if a field in this list has a
11728	// non-empty value. This may be used to include null fields in Patch
11729	// requests.
11730	NullFields []string `json:"-"`
11731}
11732
11733func (s *TransitTable) MarshalJSON() ([]byte, error) {
11734	type NoMethod TransitTable
11735	raw := NoMethod(*s)
11736	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11737}
11738
11739type TransitTableTransitTimeRow struct {
11740	Values []*TransitTableTransitTimeRowTransitTimeValue `json:"values,omitempty"`
11741
11742	// ForceSendFields is a list of field names (e.g. "Values") to
11743	// unconditionally include in API requests. By default, fields with
11744	// empty values are omitted from API requests. However, any non-pointer,
11745	// non-interface field appearing in ForceSendFields will be sent to the
11746	// server regardless of whether the field is empty or not. This may be
11747	// used to include empty fields in Patch requests.
11748	ForceSendFields []string `json:"-"`
11749
11750	// NullFields is a list of field names (e.g. "Values") to include in API
11751	// requests with the JSON null value. By default, fields with empty
11752	// values are omitted from API requests. However, any field with an
11753	// empty value appearing in NullFields will be sent to the server as
11754	// null. It is an error if a field in this list has a non-empty value.
11755	// This may be used to include null fields in Patch requests.
11756	NullFields []string `json:"-"`
11757}
11758
11759func (s *TransitTableTransitTimeRow) MarshalJSON() ([]byte, error) {
11760	type NoMethod TransitTableTransitTimeRow
11761	raw := NoMethod(*s)
11762	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11763}
11764
11765type TransitTableTransitTimeRowTransitTimeValue struct {
11766	// MaxTransitTimeInDays: Must be greater than or equal to
11767	// `minTransitTimeInDays`.
11768	MaxTransitTimeInDays int64 `json:"maxTransitTimeInDays,omitempty"`
11769
11770	// MinTransitTimeInDays: Transit time range (min-max) in business days.
11771	// 0 means same day delivery, 1 means next day delivery.
11772	MinTransitTimeInDays int64 `json:"minTransitTimeInDays,omitempty"`
11773
11774	// ForceSendFields is a list of field names (e.g.
11775	// "MaxTransitTimeInDays") to unconditionally include in API requests.
11776	// By default, fields with empty values are omitted from API requests.
11777	// However, any non-pointer, non-interface field appearing in
11778	// ForceSendFields will be sent to the server regardless of whether the
11779	// field is empty or not. This may be used to include empty fields in
11780	// Patch requests.
11781	ForceSendFields []string `json:"-"`
11782
11783	// NullFields is a list of field names (e.g. "MaxTransitTimeInDays") to
11784	// include in API requests with the JSON null value. By default, fields
11785	// with empty values are omitted from API requests. However, any field
11786	// with an empty value appearing in NullFields will be sent to the
11787	// server as null. It is an error if a field in this list has a
11788	// non-empty value. This may be used to include null fields in Patch
11789	// requests.
11790	NullFields []string `json:"-"`
11791}
11792
11793func (s *TransitTableTransitTimeRowTransitTimeValue) MarshalJSON() ([]byte, error) {
11794	type NoMethod TransitTableTransitTimeRowTransitTimeValue
11795	raw := NoMethod(*s)
11796	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11797}
11798
11799type UnitInvoice struct {
11800	// AdditionalCharges: Additional charges for a unit, e.g. shipping
11801	// costs.
11802	AdditionalCharges []*UnitInvoiceAdditionalCharge `json:"additionalCharges,omitempty"`
11803
11804	// Promotions: Deprecated.
11805	Promotions []*Promotion `json:"promotions,omitempty"`
11806
11807	// UnitPricePretax: [required] Price of the unit, before applying taxes.
11808	UnitPricePretax *Price `json:"unitPricePretax,omitempty"`
11809
11810	// UnitPriceTaxes: Tax amounts to apply to the unit price.
11811	UnitPriceTaxes []*UnitInvoiceTaxLine `json:"unitPriceTaxes,omitempty"`
11812
11813	// ForceSendFields is a list of field names (e.g. "AdditionalCharges")
11814	// to unconditionally include in API requests. By default, fields with
11815	// empty values are omitted from API requests. However, any non-pointer,
11816	// non-interface field appearing in ForceSendFields will be sent to the
11817	// server regardless of whether the field is empty or not. This may be
11818	// used to include empty fields in Patch requests.
11819	ForceSendFields []string `json:"-"`
11820
11821	// NullFields is a list of field names (e.g. "AdditionalCharges") to
11822	// include in API requests with the JSON null value. By default, fields
11823	// with empty values are omitted from API requests. However, any field
11824	// with an empty value appearing in NullFields will be sent to the
11825	// server as null. It is an error if a field in this list has a
11826	// non-empty value. This may be used to include null fields in Patch
11827	// requests.
11828	NullFields []string `json:"-"`
11829}
11830
11831func (s *UnitInvoice) MarshalJSON() ([]byte, error) {
11832	type NoMethod UnitInvoice
11833	raw := NoMethod(*s)
11834	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11835}
11836
11837type UnitInvoiceAdditionalCharge struct {
11838	// AdditionalChargeAmount: [required] Amount of the additional charge.
11839	AdditionalChargeAmount *Amount `json:"additionalChargeAmount,omitempty"`
11840
11841	// AdditionalChargePromotions: Deprecated.
11842	AdditionalChargePromotions []*Promotion `json:"additionalChargePromotions,omitempty"`
11843
11844	// Type: [required] Type of the additional charge. Acceptable values
11845	// are: - "shipping"
11846	Type string `json:"type,omitempty"`
11847
11848	// ForceSendFields is a list of field names (e.g.
11849	// "AdditionalChargeAmount") to unconditionally include in API requests.
11850	// By default, fields with empty values are omitted from API requests.
11851	// However, any non-pointer, non-interface field appearing in
11852	// ForceSendFields will be sent to the server regardless of whether the
11853	// field is empty or not. This may be used to include empty fields in
11854	// Patch requests.
11855	ForceSendFields []string `json:"-"`
11856
11857	// NullFields is a list of field names (e.g. "AdditionalChargeAmount")
11858	// to include in API requests with the JSON null value. By default,
11859	// fields with empty values are omitted from API requests. However, any
11860	// field with an empty value appearing in NullFields will be sent to the
11861	// server as null. It is an error if a field in this list has a
11862	// non-empty value. This may be used to include null fields in Patch
11863	// requests.
11864	NullFields []string `json:"-"`
11865}
11866
11867func (s *UnitInvoiceAdditionalCharge) MarshalJSON() ([]byte, error) {
11868	type NoMethod UnitInvoiceAdditionalCharge
11869	raw := NoMethod(*s)
11870	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11871}
11872
11873type UnitInvoiceTaxLine struct {
11874	// TaxAmount: [required] Tax amount for the tax type.
11875	TaxAmount *Price `json:"taxAmount,omitempty"`
11876
11877	// TaxName: Optional name of the tax type. This should only be provided
11878	// if `taxType` is `otherFeeTax`.
11879	TaxName string `json:"taxName,omitempty"`
11880
11881	// TaxType: [required] Type of the tax. Acceptable values are: -
11882	// "otherFee" - "otherFeeTax" - "sales"
11883	TaxType string `json:"taxType,omitempty"`
11884
11885	// ForceSendFields is a list of field names (e.g. "TaxAmount") to
11886	// unconditionally include in API requests. By default, fields with
11887	// empty values are omitted from API requests. However, any non-pointer,
11888	// non-interface field appearing in ForceSendFields will be sent to the
11889	// server regardless of whether the field is empty or not. This may be
11890	// used to include empty fields in Patch requests.
11891	ForceSendFields []string `json:"-"`
11892
11893	// NullFields is a list of field names (e.g. "TaxAmount") to include in
11894	// API requests with the JSON null value. By default, fields with empty
11895	// values are omitted from API requests. However, any field with an
11896	// empty value appearing in NullFields will be sent to the server as
11897	// null. It is an error if a field in this list has a non-empty value.
11898	// This may be used to include null fields in Patch requests.
11899	NullFields []string `json:"-"`
11900}
11901
11902func (s *UnitInvoiceTaxLine) MarshalJSON() ([]byte, error) {
11903	type NoMethod UnitInvoiceTaxLine
11904	raw := NoMethod(*s)
11905	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11906}
11907
11908// Value: The single value of a rate group or the value of a rate group
11909// table's cell. Exactly one of `noShipping`, `flatRate`,
11910// `pricePercentage`, `carrierRateName`, `subtableName` must be set.
11911type Value struct {
11912	// CarrierRateName: The name of a carrier rate referring to a carrier
11913	// rate defined in the same rate group. Can only be set if all other
11914	// fields are not set.
11915	CarrierRateName string `json:"carrierRateName,omitempty"`
11916
11917	// FlatRate: A flat rate. Can only be set if all other fields are not
11918	// set.
11919	FlatRate *Price `json:"flatRate,omitempty"`
11920
11921	// NoShipping: If true, then the product can't ship. Must be true when
11922	// set, can only be set if all other fields are not set.
11923	NoShipping bool `json:"noShipping,omitempty"`
11924
11925	// PricePercentage: A percentage of the price represented as a number in
11926	// decimal notation (e.g., "5.4"). Can only be set if all other fields
11927	// are not set.
11928	PricePercentage string `json:"pricePercentage,omitempty"`
11929
11930	// SubtableName: The name of a subtable. Can only be set in table cells
11931	// (i.e., not for single values), and only if all other fields are not
11932	// set.
11933	SubtableName string `json:"subtableName,omitempty"`
11934
11935	// ForceSendFields is a list of field names (e.g. "CarrierRateName") to
11936	// unconditionally include in API requests. By default, fields with
11937	// empty values are omitted from API requests. However, any non-pointer,
11938	// non-interface field appearing in ForceSendFields will be sent to the
11939	// server regardless of whether the field is empty or not. This may be
11940	// used to include empty fields in Patch requests.
11941	ForceSendFields []string `json:"-"`
11942
11943	// NullFields is a list of field names (e.g. "CarrierRateName") to
11944	// include in API requests with the JSON null value. By default, fields
11945	// with empty values are omitted from API requests. However, any field
11946	// with an empty value appearing in NullFields will be sent to the
11947	// server as null. It is an error if a field in this list has a
11948	// non-empty value. This may be used to include null fields in Patch
11949	// requests.
11950	NullFields []string `json:"-"`
11951}
11952
11953func (s *Value) MarshalJSON() ([]byte, error) {
11954	type NoMethod Value
11955	raw := NoMethod(*s)
11956	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11957}
11958
11959type Weight struct {
11960	// Unit: Required. The weight unit. Acceptable values are: - "kg" -
11961	// "lb"
11962	Unit string `json:"unit,omitempty"`
11963
11964	// Value: Required. The weight represented as a number.
11965	Value string `json:"value,omitempty"`
11966
11967	// ForceSendFields is a list of field names (e.g. "Unit") to
11968	// unconditionally include in API requests. By default, fields with
11969	// empty values are omitted from API requests. However, any non-pointer,
11970	// non-interface field appearing in ForceSendFields will be sent to the
11971	// server regardless of whether the field is empty or not. This may be
11972	// used to include empty fields in Patch requests.
11973	ForceSendFields []string `json:"-"`
11974
11975	// NullFields is a list of field names (e.g. "Unit") to include in API
11976	// requests with the JSON null value. By default, fields with empty
11977	// values are omitted from API requests. However, any field with an
11978	// empty value appearing in NullFields will be sent to the server as
11979	// null. It is an error if a field in this list has a non-empty value.
11980	// This may be used to include null fields in Patch requests.
11981	NullFields []string `json:"-"`
11982}
11983
11984func (s *Weight) MarshalJSON() ([]byte, error) {
11985	type NoMethod Weight
11986	raw := NoMethod(*s)
11987	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11988}
11989
11990// method id "content.accounts.authinfo":
11991
11992type AccountsAuthinfoCall struct {
11993	s            *APIService
11994	urlParams_   gensupport.URLParams
11995	ifNoneMatch_ string
11996	ctx_         context.Context
11997	header_      http.Header
11998}
11999
12000// Authinfo: Returns information about the authenticated user.
12001func (r *AccountsService) Authinfo() *AccountsAuthinfoCall {
12002	c := &AccountsAuthinfoCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12003	return c
12004}
12005
12006// Fields allows partial responses to be retrieved. See
12007// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12008// for more information.
12009func (c *AccountsAuthinfoCall) Fields(s ...googleapi.Field) *AccountsAuthinfoCall {
12010	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12011	return c
12012}
12013
12014// IfNoneMatch sets the optional parameter which makes the operation
12015// fail if the object's ETag matches the given value. This is useful for
12016// getting updates only after the object has changed since the last
12017// request. Use googleapi.IsNotModified to check whether the response
12018// error from Do is the result of In-None-Match.
12019func (c *AccountsAuthinfoCall) IfNoneMatch(entityTag string) *AccountsAuthinfoCall {
12020	c.ifNoneMatch_ = entityTag
12021	return c
12022}
12023
12024// Context sets the context to be used in this call's Do method. Any
12025// pending HTTP request will be aborted if the provided context is
12026// canceled.
12027func (c *AccountsAuthinfoCall) Context(ctx context.Context) *AccountsAuthinfoCall {
12028	c.ctx_ = ctx
12029	return c
12030}
12031
12032// Header returns an http.Header that can be modified by the caller to
12033// add HTTP headers to the request.
12034func (c *AccountsAuthinfoCall) Header() http.Header {
12035	if c.header_ == nil {
12036		c.header_ = make(http.Header)
12037	}
12038	return c.header_
12039}
12040
12041func (c *AccountsAuthinfoCall) doRequest(alt string) (*http.Response, error) {
12042	reqHeaders := make(http.Header)
12043	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12044	for k, v := range c.header_ {
12045		reqHeaders[k] = v
12046	}
12047	reqHeaders.Set("User-Agent", c.s.userAgent())
12048	if c.ifNoneMatch_ != "" {
12049		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12050	}
12051	var body io.Reader = nil
12052	c.urlParams_.Set("alt", alt)
12053	c.urlParams_.Set("prettyPrint", "false")
12054	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/authinfo")
12055	urls += "?" + c.urlParams_.Encode()
12056	req, err := http.NewRequest("GET", urls, body)
12057	if err != nil {
12058		return nil, err
12059	}
12060	req.Header = reqHeaders
12061	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12062}
12063
12064// Do executes the "content.accounts.authinfo" call.
12065// Exactly one of *AccountsAuthInfoResponse or error will be non-nil.
12066// Any non-2xx status code is an error. Response headers are in either
12067// *AccountsAuthInfoResponse.ServerResponse.Header or (if a response was
12068// returned at all) in error.(*googleapi.Error).Header. Use
12069// googleapi.IsNotModified to check whether the returned error was
12070// because http.StatusNotModified was returned.
12071func (c *AccountsAuthinfoCall) Do(opts ...googleapi.CallOption) (*AccountsAuthInfoResponse, error) {
12072	gensupport.SetOptions(c.urlParams_, opts...)
12073	res, err := c.doRequest("json")
12074	if res != nil && res.StatusCode == http.StatusNotModified {
12075		if res.Body != nil {
12076			res.Body.Close()
12077		}
12078		return nil, &googleapi.Error{
12079			Code:   res.StatusCode,
12080			Header: res.Header,
12081		}
12082	}
12083	if err != nil {
12084		return nil, err
12085	}
12086	defer googleapi.CloseBody(res)
12087	if err := googleapi.CheckResponse(res); err != nil {
12088		return nil, err
12089	}
12090	ret := &AccountsAuthInfoResponse{
12091		ServerResponse: googleapi.ServerResponse{
12092			Header:         res.Header,
12093			HTTPStatusCode: res.StatusCode,
12094		},
12095	}
12096	target := &ret
12097	if err := gensupport.DecodeResponse(target, res); err != nil {
12098		return nil, err
12099	}
12100	return ret, nil
12101	// {
12102	//   "description": "Returns information about the authenticated user.",
12103	//   "flatPath": "accounts/authinfo",
12104	//   "httpMethod": "GET",
12105	//   "id": "content.accounts.authinfo",
12106	//   "parameterOrder": [],
12107	//   "parameters": {},
12108	//   "path": "accounts/authinfo",
12109	//   "response": {
12110	//     "$ref": "AccountsAuthInfoResponse"
12111	//   },
12112	//   "scopes": [
12113	//     "https://www.googleapis.com/auth/content"
12114	//   ]
12115	// }
12116
12117}
12118
12119// method id "content.accounts.claimwebsite":
12120
12121type AccountsClaimwebsiteCall struct {
12122	s          *APIService
12123	merchantId uint64
12124	accountId  uint64
12125	urlParams_ gensupport.URLParams
12126	ctx_       context.Context
12127	header_    http.Header
12128}
12129
12130// Claimwebsite: Claims the website of a Merchant Center sub-account.
12131//
12132// - accountId: The ID of the account whose website is claimed.
12133// - merchantId: The ID of the managing account. If this parameter is
12134//   not the same as accountId, then this account must be a multi-client
12135//   account and `accountId` must be the ID of a sub-account of this
12136//   account.
12137func (r *AccountsService) Claimwebsite(merchantId uint64, accountId uint64) *AccountsClaimwebsiteCall {
12138	c := &AccountsClaimwebsiteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12139	c.merchantId = merchantId
12140	c.accountId = accountId
12141	return c
12142}
12143
12144// Overwrite sets the optional parameter "overwrite": Only available to
12145// selected merchants. When set to `True`, this flag removes any
12146// existing claim on the requested website by another account and
12147// replaces it with a claim from this account.
12148func (c *AccountsClaimwebsiteCall) Overwrite(overwrite bool) *AccountsClaimwebsiteCall {
12149	c.urlParams_.Set("overwrite", fmt.Sprint(overwrite))
12150	return c
12151}
12152
12153// Fields allows partial responses to be retrieved. See
12154// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12155// for more information.
12156func (c *AccountsClaimwebsiteCall) Fields(s ...googleapi.Field) *AccountsClaimwebsiteCall {
12157	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12158	return c
12159}
12160
12161// Context sets the context to be used in this call's Do method. Any
12162// pending HTTP request will be aborted if the provided context is
12163// canceled.
12164func (c *AccountsClaimwebsiteCall) Context(ctx context.Context) *AccountsClaimwebsiteCall {
12165	c.ctx_ = ctx
12166	return c
12167}
12168
12169// Header returns an http.Header that can be modified by the caller to
12170// add HTTP headers to the request.
12171func (c *AccountsClaimwebsiteCall) Header() http.Header {
12172	if c.header_ == nil {
12173		c.header_ = make(http.Header)
12174	}
12175	return c.header_
12176}
12177
12178func (c *AccountsClaimwebsiteCall) doRequest(alt string) (*http.Response, error) {
12179	reqHeaders := make(http.Header)
12180	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12181	for k, v := range c.header_ {
12182		reqHeaders[k] = v
12183	}
12184	reqHeaders.Set("User-Agent", c.s.userAgent())
12185	var body io.Reader = nil
12186	c.urlParams_.Set("alt", alt)
12187	c.urlParams_.Set("prettyPrint", "false")
12188	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts/{accountId}/claimwebsite")
12189	urls += "?" + c.urlParams_.Encode()
12190	req, err := http.NewRequest("POST", urls, body)
12191	if err != nil {
12192		return nil, err
12193	}
12194	req.Header = reqHeaders
12195	googleapi.Expand(req.URL, map[string]string{
12196		"merchantId": strconv.FormatUint(c.merchantId, 10),
12197		"accountId":  strconv.FormatUint(c.accountId, 10),
12198	})
12199	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12200}
12201
12202// Do executes the "content.accounts.claimwebsite" call.
12203// Exactly one of *AccountsClaimWebsiteResponse or error will be
12204// non-nil. Any non-2xx status code is an error. Response headers are in
12205// either *AccountsClaimWebsiteResponse.ServerResponse.Header or (if a
12206// response was returned at all) in error.(*googleapi.Error).Header. Use
12207// googleapi.IsNotModified to check whether the returned error was
12208// because http.StatusNotModified was returned.
12209func (c *AccountsClaimwebsiteCall) Do(opts ...googleapi.CallOption) (*AccountsClaimWebsiteResponse, error) {
12210	gensupport.SetOptions(c.urlParams_, opts...)
12211	res, err := c.doRequest("json")
12212	if res != nil && res.StatusCode == http.StatusNotModified {
12213		if res.Body != nil {
12214			res.Body.Close()
12215		}
12216		return nil, &googleapi.Error{
12217			Code:   res.StatusCode,
12218			Header: res.Header,
12219		}
12220	}
12221	if err != nil {
12222		return nil, err
12223	}
12224	defer googleapi.CloseBody(res)
12225	if err := googleapi.CheckResponse(res); err != nil {
12226		return nil, err
12227	}
12228	ret := &AccountsClaimWebsiteResponse{
12229		ServerResponse: googleapi.ServerResponse{
12230			Header:         res.Header,
12231			HTTPStatusCode: res.StatusCode,
12232		},
12233	}
12234	target := &ret
12235	if err := gensupport.DecodeResponse(target, res); err != nil {
12236		return nil, err
12237	}
12238	return ret, nil
12239	// {
12240	//   "description": "Claims the website of a Merchant Center sub-account.",
12241	//   "flatPath": "{merchantId}/accounts/{accountId}/claimwebsite",
12242	//   "httpMethod": "POST",
12243	//   "id": "content.accounts.claimwebsite",
12244	//   "parameterOrder": [
12245	//     "merchantId",
12246	//     "accountId"
12247	//   ],
12248	//   "parameters": {
12249	//     "accountId": {
12250	//       "description": "The ID of the account whose website is claimed.",
12251	//       "format": "uint64",
12252	//       "location": "path",
12253	//       "required": true,
12254	//       "type": "string"
12255	//     },
12256	//     "merchantId": {
12257	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
12258	//       "format": "uint64",
12259	//       "location": "path",
12260	//       "required": true,
12261	//       "type": "string"
12262	//     },
12263	//     "overwrite": {
12264	//       "description": "Only available to selected merchants. When set to `True`, this flag removes any existing claim on the requested website by another account and replaces it with a claim from this account.",
12265	//       "location": "query",
12266	//       "type": "boolean"
12267	//     }
12268	//   },
12269	//   "path": "{merchantId}/accounts/{accountId}/claimwebsite",
12270	//   "response": {
12271	//     "$ref": "AccountsClaimWebsiteResponse"
12272	//   },
12273	//   "scopes": [
12274	//     "https://www.googleapis.com/auth/content"
12275	//   ]
12276	// }
12277
12278}
12279
12280// method id "content.accounts.custombatch":
12281
12282type AccountsCustombatchCall struct {
12283	s                          *APIService
12284	accountscustombatchrequest *AccountsCustomBatchRequest
12285	urlParams_                 gensupport.URLParams
12286	ctx_                       context.Context
12287	header_                    http.Header
12288}
12289
12290// Custombatch: Retrieves, inserts, updates, and deletes multiple
12291// Merchant Center (sub-)accounts in a single request.
12292func (r *AccountsService) Custombatch(accountscustombatchrequest *AccountsCustomBatchRequest) *AccountsCustombatchCall {
12293	c := &AccountsCustombatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12294	c.accountscustombatchrequest = accountscustombatchrequest
12295	return c
12296}
12297
12298// DryRun sets the optional parameter "dryRun": Flag to simulate a
12299// request like in a live environment. If set to true, dry-run mode
12300// checks the validity of the request and returns errors (if any).
12301func (c *AccountsCustombatchCall) DryRun(dryRun bool) *AccountsCustombatchCall {
12302	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
12303	return c
12304}
12305
12306// Fields allows partial responses to be retrieved. See
12307// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12308// for more information.
12309func (c *AccountsCustombatchCall) Fields(s ...googleapi.Field) *AccountsCustombatchCall {
12310	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12311	return c
12312}
12313
12314// Context sets the context to be used in this call's Do method. Any
12315// pending HTTP request will be aborted if the provided context is
12316// canceled.
12317func (c *AccountsCustombatchCall) Context(ctx context.Context) *AccountsCustombatchCall {
12318	c.ctx_ = ctx
12319	return c
12320}
12321
12322// Header returns an http.Header that can be modified by the caller to
12323// add HTTP headers to the request.
12324func (c *AccountsCustombatchCall) Header() http.Header {
12325	if c.header_ == nil {
12326		c.header_ = make(http.Header)
12327	}
12328	return c.header_
12329}
12330
12331func (c *AccountsCustombatchCall) doRequest(alt string) (*http.Response, error) {
12332	reqHeaders := make(http.Header)
12333	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12334	for k, v := range c.header_ {
12335		reqHeaders[k] = v
12336	}
12337	reqHeaders.Set("User-Agent", c.s.userAgent())
12338	var body io.Reader = nil
12339	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountscustombatchrequest)
12340	if err != nil {
12341		return nil, err
12342	}
12343	reqHeaders.Set("Content-Type", "application/json")
12344	c.urlParams_.Set("alt", alt)
12345	c.urlParams_.Set("prettyPrint", "false")
12346	urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/batch")
12347	urls += "?" + c.urlParams_.Encode()
12348	req, err := http.NewRequest("POST", urls, body)
12349	if err != nil {
12350		return nil, err
12351	}
12352	req.Header = reqHeaders
12353	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12354}
12355
12356// Do executes the "content.accounts.custombatch" call.
12357// Exactly one of *AccountsCustomBatchResponse or error will be non-nil.
12358// Any non-2xx status code is an error. Response headers are in either
12359// *AccountsCustomBatchResponse.ServerResponse.Header or (if a response
12360// was returned at all) in error.(*googleapi.Error).Header. Use
12361// googleapi.IsNotModified to check whether the returned error was
12362// because http.StatusNotModified was returned.
12363func (c *AccountsCustombatchCall) Do(opts ...googleapi.CallOption) (*AccountsCustomBatchResponse, error) {
12364	gensupport.SetOptions(c.urlParams_, opts...)
12365	res, err := c.doRequest("json")
12366	if res != nil && res.StatusCode == http.StatusNotModified {
12367		if res.Body != nil {
12368			res.Body.Close()
12369		}
12370		return nil, &googleapi.Error{
12371			Code:   res.StatusCode,
12372			Header: res.Header,
12373		}
12374	}
12375	if err != nil {
12376		return nil, err
12377	}
12378	defer googleapi.CloseBody(res)
12379	if err := googleapi.CheckResponse(res); err != nil {
12380		return nil, err
12381	}
12382	ret := &AccountsCustomBatchResponse{
12383		ServerResponse: googleapi.ServerResponse{
12384			Header:         res.Header,
12385			HTTPStatusCode: res.StatusCode,
12386		},
12387	}
12388	target := &ret
12389	if err := gensupport.DecodeResponse(target, res); err != nil {
12390		return nil, err
12391	}
12392	return ret, nil
12393	// {
12394	//   "description": "Retrieves, inserts, updates, and deletes multiple Merchant Center (sub-)accounts in a single request.",
12395	//   "flatPath": "accounts/batch",
12396	//   "httpMethod": "POST",
12397	//   "id": "content.accounts.custombatch",
12398	//   "parameterOrder": [],
12399	//   "parameters": {
12400	//     "dryRun": {
12401	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
12402	//       "location": "query",
12403	//       "type": "boolean"
12404	//     }
12405	//   },
12406	//   "path": "accounts/batch",
12407	//   "request": {
12408	//     "$ref": "AccountsCustomBatchRequest"
12409	//   },
12410	//   "response": {
12411	//     "$ref": "AccountsCustomBatchResponse"
12412	//   },
12413	//   "scopes": [
12414	//     "https://www.googleapis.com/auth/content"
12415	//   ]
12416	// }
12417
12418}
12419
12420// method id "content.accounts.delete":
12421
12422type AccountsDeleteCall struct {
12423	s          *APIService
12424	merchantId uint64
12425	accountId  uint64
12426	urlParams_ gensupport.URLParams
12427	ctx_       context.Context
12428	header_    http.Header
12429}
12430
12431// Delete: Deletes a Merchant Center sub-account.
12432//
12433// - accountId: The ID of the account.
12434// - merchantId: The ID of the managing account. This must be a
12435//   multi-client account, and accountId must be the ID of a sub-account
12436//   of this account.
12437func (r *AccountsService) Delete(merchantId uint64, accountId uint64) *AccountsDeleteCall {
12438	c := &AccountsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12439	c.merchantId = merchantId
12440	c.accountId = accountId
12441	return c
12442}
12443
12444// DryRun sets the optional parameter "dryRun": Flag to simulate a
12445// request like in a live environment. If set to true, dry-run mode
12446// checks the validity of the request and returns errors (if any).
12447func (c *AccountsDeleteCall) DryRun(dryRun bool) *AccountsDeleteCall {
12448	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
12449	return c
12450}
12451
12452// Force sets the optional parameter "force": Flag to delete
12453// sub-accounts with products. The default value is false.
12454func (c *AccountsDeleteCall) Force(force bool) *AccountsDeleteCall {
12455	c.urlParams_.Set("force", fmt.Sprint(force))
12456	return c
12457}
12458
12459// Fields allows partial responses to be retrieved. See
12460// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12461// for more information.
12462func (c *AccountsDeleteCall) Fields(s ...googleapi.Field) *AccountsDeleteCall {
12463	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12464	return c
12465}
12466
12467// Context sets the context to be used in this call's Do method. Any
12468// pending HTTP request will be aborted if the provided context is
12469// canceled.
12470func (c *AccountsDeleteCall) Context(ctx context.Context) *AccountsDeleteCall {
12471	c.ctx_ = ctx
12472	return c
12473}
12474
12475// Header returns an http.Header that can be modified by the caller to
12476// add HTTP headers to the request.
12477func (c *AccountsDeleteCall) Header() http.Header {
12478	if c.header_ == nil {
12479		c.header_ = make(http.Header)
12480	}
12481	return c.header_
12482}
12483
12484func (c *AccountsDeleteCall) doRequest(alt string) (*http.Response, error) {
12485	reqHeaders := make(http.Header)
12486	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12487	for k, v := range c.header_ {
12488		reqHeaders[k] = v
12489	}
12490	reqHeaders.Set("User-Agent", c.s.userAgent())
12491	var body io.Reader = nil
12492	c.urlParams_.Set("alt", alt)
12493	c.urlParams_.Set("prettyPrint", "false")
12494	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts/{accountId}")
12495	urls += "?" + c.urlParams_.Encode()
12496	req, err := http.NewRequest("DELETE", urls, body)
12497	if err != nil {
12498		return nil, err
12499	}
12500	req.Header = reqHeaders
12501	googleapi.Expand(req.URL, map[string]string{
12502		"merchantId": strconv.FormatUint(c.merchantId, 10),
12503		"accountId":  strconv.FormatUint(c.accountId, 10),
12504	})
12505	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12506}
12507
12508// Do executes the "content.accounts.delete" call.
12509func (c *AccountsDeleteCall) Do(opts ...googleapi.CallOption) error {
12510	gensupport.SetOptions(c.urlParams_, opts...)
12511	res, err := c.doRequest("json")
12512	if err != nil {
12513		return err
12514	}
12515	defer googleapi.CloseBody(res)
12516	if err := googleapi.CheckResponse(res); err != nil {
12517		return err
12518	}
12519	return nil
12520	// {
12521	//   "description": "Deletes a Merchant Center sub-account.",
12522	//   "flatPath": "{merchantId}/accounts/{accountId}",
12523	//   "httpMethod": "DELETE",
12524	//   "id": "content.accounts.delete",
12525	//   "parameterOrder": [
12526	//     "merchantId",
12527	//     "accountId"
12528	//   ],
12529	//   "parameters": {
12530	//     "accountId": {
12531	//       "description": "The ID of the account.",
12532	//       "format": "uint64",
12533	//       "location": "path",
12534	//       "required": true,
12535	//       "type": "string"
12536	//     },
12537	//     "dryRun": {
12538	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
12539	//       "location": "query",
12540	//       "type": "boolean"
12541	//     },
12542	//     "force": {
12543	//       "default": "false",
12544	//       "description": "Flag to delete sub-accounts with products. The default value is false.",
12545	//       "location": "query",
12546	//       "type": "boolean"
12547	//     },
12548	//     "merchantId": {
12549	//       "description": "The ID of the managing account. This must be a multi-client account, and accountId must be the ID of a sub-account of this account.",
12550	//       "format": "uint64",
12551	//       "location": "path",
12552	//       "required": true,
12553	//       "type": "string"
12554	//     }
12555	//   },
12556	//   "path": "{merchantId}/accounts/{accountId}",
12557	//   "scopes": [
12558	//     "https://www.googleapis.com/auth/content"
12559	//   ]
12560	// }
12561
12562}
12563
12564// method id "content.accounts.get":
12565
12566type AccountsGetCall struct {
12567	s            *APIService
12568	merchantId   uint64
12569	accountId    uint64
12570	urlParams_   gensupport.URLParams
12571	ifNoneMatch_ string
12572	ctx_         context.Context
12573	header_      http.Header
12574}
12575
12576// Get: Retrieves a Merchant Center account.
12577//
12578// - accountId: The ID of the account.
12579// - merchantId: The ID of the managing account. If this parameter is
12580//   not the same as accountId, then this account must be a multi-client
12581//   account and `accountId` must be the ID of a sub-account of this
12582//   account.
12583func (r *AccountsService) Get(merchantId uint64, accountId uint64) *AccountsGetCall {
12584	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12585	c.merchantId = merchantId
12586	c.accountId = accountId
12587	return c
12588}
12589
12590// Fields allows partial responses to be retrieved. See
12591// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12592// for more information.
12593func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
12594	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12595	return c
12596}
12597
12598// IfNoneMatch sets the optional parameter which makes the operation
12599// fail if the object's ETag matches the given value. This is useful for
12600// getting updates only after the object has changed since the last
12601// request. Use googleapi.IsNotModified to check whether the response
12602// error from Do is the result of In-None-Match.
12603func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
12604	c.ifNoneMatch_ = entityTag
12605	return c
12606}
12607
12608// Context sets the context to be used in this call's Do method. Any
12609// pending HTTP request will be aborted if the provided context is
12610// canceled.
12611func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
12612	c.ctx_ = ctx
12613	return c
12614}
12615
12616// Header returns an http.Header that can be modified by the caller to
12617// add HTTP headers to the request.
12618func (c *AccountsGetCall) Header() http.Header {
12619	if c.header_ == nil {
12620		c.header_ = make(http.Header)
12621	}
12622	return c.header_
12623}
12624
12625func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
12626	reqHeaders := make(http.Header)
12627	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12628	for k, v := range c.header_ {
12629		reqHeaders[k] = v
12630	}
12631	reqHeaders.Set("User-Agent", c.s.userAgent())
12632	if c.ifNoneMatch_ != "" {
12633		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12634	}
12635	var body io.Reader = nil
12636	c.urlParams_.Set("alt", alt)
12637	c.urlParams_.Set("prettyPrint", "false")
12638	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts/{accountId}")
12639	urls += "?" + c.urlParams_.Encode()
12640	req, err := http.NewRequest("GET", urls, body)
12641	if err != nil {
12642		return nil, err
12643	}
12644	req.Header = reqHeaders
12645	googleapi.Expand(req.URL, map[string]string{
12646		"merchantId": strconv.FormatUint(c.merchantId, 10),
12647		"accountId":  strconv.FormatUint(c.accountId, 10),
12648	})
12649	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12650}
12651
12652// Do executes the "content.accounts.get" call.
12653// Exactly one of *Account or error will be non-nil. Any non-2xx status
12654// code is an error. Response headers are in either
12655// *Account.ServerResponse.Header or (if a response was returned at all)
12656// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12657// check whether the returned error was because http.StatusNotModified
12658// was returned.
12659func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
12660	gensupport.SetOptions(c.urlParams_, opts...)
12661	res, err := c.doRequest("json")
12662	if res != nil && res.StatusCode == http.StatusNotModified {
12663		if res.Body != nil {
12664			res.Body.Close()
12665		}
12666		return nil, &googleapi.Error{
12667			Code:   res.StatusCode,
12668			Header: res.Header,
12669		}
12670	}
12671	if err != nil {
12672		return nil, err
12673	}
12674	defer googleapi.CloseBody(res)
12675	if err := googleapi.CheckResponse(res); err != nil {
12676		return nil, err
12677	}
12678	ret := &Account{
12679		ServerResponse: googleapi.ServerResponse{
12680			Header:         res.Header,
12681			HTTPStatusCode: res.StatusCode,
12682		},
12683	}
12684	target := &ret
12685	if err := gensupport.DecodeResponse(target, res); err != nil {
12686		return nil, err
12687	}
12688	return ret, nil
12689	// {
12690	//   "description": "Retrieves a Merchant Center account.",
12691	//   "flatPath": "{merchantId}/accounts/{accountId}",
12692	//   "httpMethod": "GET",
12693	//   "id": "content.accounts.get",
12694	//   "parameterOrder": [
12695	//     "merchantId",
12696	//     "accountId"
12697	//   ],
12698	//   "parameters": {
12699	//     "accountId": {
12700	//       "description": "The ID of the account.",
12701	//       "format": "uint64",
12702	//       "location": "path",
12703	//       "required": true,
12704	//       "type": "string"
12705	//     },
12706	//     "merchantId": {
12707	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
12708	//       "format": "uint64",
12709	//       "location": "path",
12710	//       "required": true,
12711	//       "type": "string"
12712	//     }
12713	//   },
12714	//   "path": "{merchantId}/accounts/{accountId}",
12715	//   "response": {
12716	//     "$ref": "Account"
12717	//   },
12718	//   "scopes": [
12719	//     "https://www.googleapis.com/auth/content"
12720	//   ]
12721	// }
12722
12723}
12724
12725// method id "content.accounts.insert":
12726
12727type AccountsInsertCall struct {
12728	s          *APIService
12729	merchantId uint64
12730	account    *Account
12731	urlParams_ gensupport.URLParams
12732	ctx_       context.Context
12733	header_    http.Header
12734}
12735
12736// Insert: Creates a Merchant Center sub-account.
12737//
12738// - merchantId: The ID of the managing account. This must be a
12739//   multi-client account.
12740func (r *AccountsService) Insert(merchantId uint64, account *Account) *AccountsInsertCall {
12741	c := &AccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12742	c.merchantId = merchantId
12743	c.account = account
12744	return c
12745}
12746
12747// DryRun sets the optional parameter "dryRun": Flag to simulate a
12748// request like in a live environment. If set to true, dry-run mode
12749// checks the validity of the request and returns errors (if any).
12750func (c *AccountsInsertCall) DryRun(dryRun bool) *AccountsInsertCall {
12751	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
12752	return c
12753}
12754
12755// Fields allows partial responses to be retrieved. See
12756// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12757// for more information.
12758func (c *AccountsInsertCall) Fields(s ...googleapi.Field) *AccountsInsertCall {
12759	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12760	return c
12761}
12762
12763// Context sets the context to be used in this call's Do method. Any
12764// pending HTTP request will be aborted if the provided context is
12765// canceled.
12766func (c *AccountsInsertCall) Context(ctx context.Context) *AccountsInsertCall {
12767	c.ctx_ = ctx
12768	return c
12769}
12770
12771// Header returns an http.Header that can be modified by the caller to
12772// add HTTP headers to the request.
12773func (c *AccountsInsertCall) Header() http.Header {
12774	if c.header_ == nil {
12775		c.header_ = make(http.Header)
12776	}
12777	return c.header_
12778}
12779
12780func (c *AccountsInsertCall) doRequest(alt string) (*http.Response, error) {
12781	reqHeaders := make(http.Header)
12782	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12783	for k, v := range c.header_ {
12784		reqHeaders[k] = v
12785	}
12786	reqHeaders.Set("User-Agent", c.s.userAgent())
12787	var body io.Reader = nil
12788	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
12789	if err != nil {
12790		return nil, err
12791	}
12792	reqHeaders.Set("Content-Type", "application/json")
12793	c.urlParams_.Set("alt", alt)
12794	c.urlParams_.Set("prettyPrint", "false")
12795	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts")
12796	urls += "?" + c.urlParams_.Encode()
12797	req, err := http.NewRequest("POST", urls, body)
12798	if err != nil {
12799		return nil, err
12800	}
12801	req.Header = reqHeaders
12802	googleapi.Expand(req.URL, map[string]string{
12803		"merchantId": strconv.FormatUint(c.merchantId, 10),
12804	})
12805	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12806}
12807
12808// Do executes the "content.accounts.insert" call.
12809// Exactly one of *Account or error will be non-nil. Any non-2xx status
12810// code is an error. Response headers are in either
12811// *Account.ServerResponse.Header or (if a response was returned at all)
12812// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12813// check whether the returned error was because http.StatusNotModified
12814// was returned.
12815func (c *AccountsInsertCall) Do(opts ...googleapi.CallOption) (*Account, error) {
12816	gensupport.SetOptions(c.urlParams_, opts...)
12817	res, err := c.doRequest("json")
12818	if res != nil && res.StatusCode == http.StatusNotModified {
12819		if res.Body != nil {
12820			res.Body.Close()
12821		}
12822		return nil, &googleapi.Error{
12823			Code:   res.StatusCode,
12824			Header: res.Header,
12825		}
12826	}
12827	if err != nil {
12828		return nil, err
12829	}
12830	defer googleapi.CloseBody(res)
12831	if err := googleapi.CheckResponse(res); err != nil {
12832		return nil, err
12833	}
12834	ret := &Account{
12835		ServerResponse: googleapi.ServerResponse{
12836			Header:         res.Header,
12837			HTTPStatusCode: res.StatusCode,
12838		},
12839	}
12840	target := &ret
12841	if err := gensupport.DecodeResponse(target, res); err != nil {
12842		return nil, err
12843	}
12844	return ret, nil
12845	// {
12846	//   "description": "Creates a Merchant Center sub-account.",
12847	//   "flatPath": "{merchantId}/accounts",
12848	//   "httpMethod": "POST",
12849	//   "id": "content.accounts.insert",
12850	//   "parameterOrder": [
12851	//     "merchantId"
12852	//   ],
12853	//   "parameters": {
12854	//     "dryRun": {
12855	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
12856	//       "location": "query",
12857	//       "type": "boolean"
12858	//     },
12859	//     "merchantId": {
12860	//       "description": "The ID of the managing account. This must be a multi-client account.",
12861	//       "format": "uint64",
12862	//       "location": "path",
12863	//       "required": true,
12864	//       "type": "string"
12865	//     }
12866	//   },
12867	//   "path": "{merchantId}/accounts",
12868	//   "request": {
12869	//     "$ref": "Account"
12870	//   },
12871	//   "response": {
12872	//     "$ref": "Account"
12873	//   },
12874	//   "scopes": [
12875	//     "https://www.googleapis.com/auth/content"
12876	//   ]
12877	// }
12878
12879}
12880
12881// method id "content.accounts.link":
12882
12883type AccountsLinkCall struct {
12884	s                   *APIService
12885	merchantId          uint64
12886	accountId           uint64
12887	accountslinkrequest *AccountsLinkRequest
12888	urlParams_          gensupport.URLParams
12889	ctx_                context.Context
12890	header_             http.Header
12891}
12892
12893// Link: Performs an action on a link between two Merchant Center
12894// accounts, namely accountId and linkedAccountId.
12895//
12896// - accountId: The ID of the account that should be linked.
12897// - merchantId: The ID of the managing account. If this parameter is
12898//   not the same as accountId, then this account must be a multi-client
12899//   account and `accountId` must be the ID of a sub-account of this
12900//   account.
12901func (r *AccountsService) Link(merchantId uint64, accountId uint64, accountslinkrequest *AccountsLinkRequest) *AccountsLinkCall {
12902	c := &AccountsLinkCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12903	c.merchantId = merchantId
12904	c.accountId = accountId
12905	c.accountslinkrequest = accountslinkrequest
12906	return c
12907}
12908
12909// Fields allows partial responses to be retrieved. See
12910// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12911// for more information.
12912func (c *AccountsLinkCall) Fields(s ...googleapi.Field) *AccountsLinkCall {
12913	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12914	return c
12915}
12916
12917// Context sets the context to be used in this call's Do method. Any
12918// pending HTTP request will be aborted if the provided context is
12919// canceled.
12920func (c *AccountsLinkCall) Context(ctx context.Context) *AccountsLinkCall {
12921	c.ctx_ = ctx
12922	return c
12923}
12924
12925// Header returns an http.Header that can be modified by the caller to
12926// add HTTP headers to the request.
12927func (c *AccountsLinkCall) Header() http.Header {
12928	if c.header_ == nil {
12929		c.header_ = make(http.Header)
12930	}
12931	return c.header_
12932}
12933
12934func (c *AccountsLinkCall) doRequest(alt string) (*http.Response, error) {
12935	reqHeaders := make(http.Header)
12936	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
12937	for k, v := range c.header_ {
12938		reqHeaders[k] = v
12939	}
12940	reqHeaders.Set("User-Agent", c.s.userAgent())
12941	var body io.Reader = nil
12942	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountslinkrequest)
12943	if err != nil {
12944		return nil, err
12945	}
12946	reqHeaders.Set("Content-Type", "application/json")
12947	c.urlParams_.Set("alt", alt)
12948	c.urlParams_.Set("prettyPrint", "false")
12949	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts/{accountId}/link")
12950	urls += "?" + c.urlParams_.Encode()
12951	req, err := http.NewRequest("POST", urls, body)
12952	if err != nil {
12953		return nil, err
12954	}
12955	req.Header = reqHeaders
12956	googleapi.Expand(req.URL, map[string]string{
12957		"merchantId": strconv.FormatUint(c.merchantId, 10),
12958		"accountId":  strconv.FormatUint(c.accountId, 10),
12959	})
12960	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12961}
12962
12963// Do executes the "content.accounts.link" call.
12964// Exactly one of *AccountsLinkResponse or error will be non-nil. Any
12965// non-2xx status code is an error. Response headers are in either
12966// *AccountsLinkResponse.ServerResponse.Header or (if a response was
12967// returned at all) in error.(*googleapi.Error).Header. Use
12968// googleapi.IsNotModified to check whether the returned error was
12969// because http.StatusNotModified was returned.
12970func (c *AccountsLinkCall) Do(opts ...googleapi.CallOption) (*AccountsLinkResponse, error) {
12971	gensupport.SetOptions(c.urlParams_, opts...)
12972	res, err := c.doRequest("json")
12973	if res != nil && res.StatusCode == http.StatusNotModified {
12974		if res.Body != nil {
12975			res.Body.Close()
12976		}
12977		return nil, &googleapi.Error{
12978			Code:   res.StatusCode,
12979			Header: res.Header,
12980		}
12981	}
12982	if err != nil {
12983		return nil, err
12984	}
12985	defer googleapi.CloseBody(res)
12986	if err := googleapi.CheckResponse(res); err != nil {
12987		return nil, err
12988	}
12989	ret := &AccountsLinkResponse{
12990		ServerResponse: googleapi.ServerResponse{
12991			Header:         res.Header,
12992			HTTPStatusCode: res.StatusCode,
12993		},
12994	}
12995	target := &ret
12996	if err := gensupport.DecodeResponse(target, res); err != nil {
12997		return nil, err
12998	}
12999	return ret, nil
13000	// {
13001	//   "description": "Performs an action on a link between two Merchant Center accounts, namely accountId and linkedAccountId.",
13002	//   "flatPath": "{merchantId}/accounts/{accountId}/link",
13003	//   "httpMethod": "POST",
13004	//   "id": "content.accounts.link",
13005	//   "parameterOrder": [
13006	//     "merchantId",
13007	//     "accountId"
13008	//   ],
13009	//   "parameters": {
13010	//     "accountId": {
13011	//       "description": "The ID of the account that should be linked.",
13012	//       "format": "uint64",
13013	//       "location": "path",
13014	//       "required": true,
13015	//       "type": "string"
13016	//     },
13017	//     "merchantId": {
13018	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
13019	//       "format": "uint64",
13020	//       "location": "path",
13021	//       "required": true,
13022	//       "type": "string"
13023	//     }
13024	//   },
13025	//   "path": "{merchantId}/accounts/{accountId}/link",
13026	//   "request": {
13027	//     "$ref": "AccountsLinkRequest"
13028	//   },
13029	//   "response": {
13030	//     "$ref": "AccountsLinkResponse"
13031	//   },
13032	//   "scopes": [
13033	//     "https://www.googleapis.com/auth/content"
13034	//   ]
13035	// }
13036
13037}
13038
13039// method id "content.accounts.list":
13040
13041type AccountsListCall struct {
13042	s            *APIService
13043	merchantId   uint64
13044	urlParams_   gensupport.URLParams
13045	ifNoneMatch_ string
13046	ctx_         context.Context
13047	header_      http.Header
13048}
13049
13050// List: Lists the sub-accounts in your Merchant Center account.
13051//
13052// - merchantId: The ID of the managing account. This must be a
13053//   multi-client account.
13054func (r *AccountsService) List(merchantId uint64) *AccountsListCall {
13055	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13056	c.merchantId = merchantId
13057	return c
13058}
13059
13060// MaxResults sets the optional parameter "maxResults": The maximum
13061// number of accounts to return in the response, used for paging.
13062func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
13063	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
13064	return c
13065}
13066
13067// PageToken sets the optional parameter "pageToken": The token returned
13068// by the previous request.
13069func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
13070	c.urlParams_.Set("pageToken", pageToken)
13071	return c
13072}
13073
13074// Fields allows partial responses to be retrieved. See
13075// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13076// for more information.
13077func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
13078	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13079	return c
13080}
13081
13082// IfNoneMatch sets the optional parameter which makes the operation
13083// fail if the object's ETag matches the given value. This is useful for
13084// getting updates only after the object has changed since the last
13085// request. Use googleapi.IsNotModified to check whether the response
13086// error from Do is the result of In-None-Match.
13087func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
13088	c.ifNoneMatch_ = entityTag
13089	return c
13090}
13091
13092// Context sets the context to be used in this call's Do method. Any
13093// pending HTTP request will be aborted if the provided context is
13094// canceled.
13095func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
13096	c.ctx_ = ctx
13097	return c
13098}
13099
13100// Header returns an http.Header that can be modified by the caller to
13101// add HTTP headers to the request.
13102func (c *AccountsListCall) Header() http.Header {
13103	if c.header_ == nil {
13104		c.header_ = make(http.Header)
13105	}
13106	return c.header_
13107}
13108
13109func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
13110	reqHeaders := make(http.Header)
13111	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13112	for k, v := range c.header_ {
13113		reqHeaders[k] = v
13114	}
13115	reqHeaders.Set("User-Agent", c.s.userAgent())
13116	if c.ifNoneMatch_ != "" {
13117		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13118	}
13119	var body io.Reader = nil
13120	c.urlParams_.Set("alt", alt)
13121	c.urlParams_.Set("prettyPrint", "false")
13122	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts")
13123	urls += "?" + c.urlParams_.Encode()
13124	req, err := http.NewRequest("GET", urls, body)
13125	if err != nil {
13126		return nil, err
13127	}
13128	req.Header = reqHeaders
13129	googleapi.Expand(req.URL, map[string]string{
13130		"merchantId": strconv.FormatUint(c.merchantId, 10),
13131	})
13132	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13133}
13134
13135// Do executes the "content.accounts.list" call.
13136// Exactly one of *AccountsListResponse or error will be non-nil. Any
13137// non-2xx status code is an error. Response headers are in either
13138// *AccountsListResponse.ServerResponse.Header or (if a response was
13139// returned at all) in error.(*googleapi.Error).Header. Use
13140// googleapi.IsNotModified to check whether the returned error was
13141// because http.StatusNotModified was returned.
13142func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
13143	gensupport.SetOptions(c.urlParams_, opts...)
13144	res, err := c.doRequest("json")
13145	if res != nil && res.StatusCode == http.StatusNotModified {
13146		if res.Body != nil {
13147			res.Body.Close()
13148		}
13149		return nil, &googleapi.Error{
13150			Code:   res.StatusCode,
13151			Header: res.Header,
13152		}
13153	}
13154	if err != nil {
13155		return nil, err
13156	}
13157	defer googleapi.CloseBody(res)
13158	if err := googleapi.CheckResponse(res); err != nil {
13159		return nil, err
13160	}
13161	ret := &AccountsListResponse{
13162		ServerResponse: googleapi.ServerResponse{
13163			Header:         res.Header,
13164			HTTPStatusCode: res.StatusCode,
13165		},
13166	}
13167	target := &ret
13168	if err := gensupport.DecodeResponse(target, res); err != nil {
13169		return nil, err
13170	}
13171	return ret, nil
13172	// {
13173	//   "description": "Lists the sub-accounts in your Merchant Center account.",
13174	//   "flatPath": "{merchantId}/accounts",
13175	//   "httpMethod": "GET",
13176	//   "id": "content.accounts.list",
13177	//   "parameterOrder": [
13178	//     "merchantId"
13179	//   ],
13180	//   "parameters": {
13181	//     "maxResults": {
13182	//       "description": "The maximum number of accounts to return in the response, used for paging.",
13183	//       "format": "uint32",
13184	//       "location": "query",
13185	//       "type": "integer"
13186	//     },
13187	//     "merchantId": {
13188	//       "description": "The ID of the managing account. This must be a multi-client account.",
13189	//       "format": "uint64",
13190	//       "location": "path",
13191	//       "required": true,
13192	//       "type": "string"
13193	//     },
13194	//     "pageToken": {
13195	//       "description": "The token returned by the previous request.",
13196	//       "location": "query",
13197	//       "type": "string"
13198	//     }
13199	//   },
13200	//   "path": "{merchantId}/accounts",
13201	//   "response": {
13202	//     "$ref": "AccountsListResponse"
13203	//   },
13204	//   "scopes": [
13205	//     "https://www.googleapis.com/auth/content"
13206	//   ]
13207	// }
13208
13209}
13210
13211// Pages invokes f for each page of results.
13212// A non-nil error returned from f will halt the iteration.
13213// The provided context supersedes any context provided to the Context method.
13214func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
13215	c.ctx_ = ctx
13216	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
13217	for {
13218		x, err := c.Do()
13219		if err != nil {
13220			return err
13221		}
13222		if err := f(x); err != nil {
13223			return err
13224		}
13225		if x.NextPageToken == "" {
13226			return nil
13227		}
13228		c.PageToken(x.NextPageToken)
13229	}
13230}
13231
13232// method id "content.accounts.update":
13233
13234type AccountsUpdateCall struct {
13235	s          *APIService
13236	merchantId uint64
13237	accountId  uint64
13238	account    *Account
13239	urlParams_ gensupport.URLParams
13240	ctx_       context.Context
13241	header_    http.Header
13242}
13243
13244// Update: Updates a Merchant Center account. Any fields that are not
13245// provided are deleted from the resource.
13246//
13247// - accountId: The ID of the account.
13248// - merchantId: The ID of the managing account. If this parameter is
13249//   not the same as accountId, then this account must be a multi-client
13250//   account and `accountId` must be the ID of a sub-account of this
13251//   account.
13252func (r *AccountsService) Update(merchantId uint64, accountId uint64, account *Account) *AccountsUpdateCall {
13253	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13254	c.merchantId = merchantId
13255	c.accountId = accountId
13256	c.account = account
13257	return c
13258}
13259
13260// DryRun sets the optional parameter "dryRun": Flag to simulate a
13261// request like in a live environment. If set to true, dry-run mode
13262// checks the validity of the request and returns errors (if any).
13263func (c *AccountsUpdateCall) DryRun(dryRun bool) *AccountsUpdateCall {
13264	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
13265	return c
13266}
13267
13268// Fields allows partial responses to be retrieved. See
13269// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13270// for more information.
13271func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
13272	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13273	return c
13274}
13275
13276// Context sets the context to be used in this call's Do method. Any
13277// pending HTTP request will be aborted if the provided context is
13278// canceled.
13279func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
13280	c.ctx_ = ctx
13281	return c
13282}
13283
13284// Header returns an http.Header that can be modified by the caller to
13285// add HTTP headers to the request.
13286func (c *AccountsUpdateCall) Header() http.Header {
13287	if c.header_ == nil {
13288		c.header_ = make(http.Header)
13289	}
13290	return c.header_
13291}
13292
13293func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
13294	reqHeaders := make(http.Header)
13295	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13296	for k, v := range c.header_ {
13297		reqHeaders[k] = v
13298	}
13299	reqHeaders.Set("User-Agent", c.s.userAgent())
13300	var body io.Reader = nil
13301	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
13302	if err != nil {
13303		return nil, err
13304	}
13305	reqHeaders.Set("Content-Type", "application/json")
13306	c.urlParams_.Set("alt", alt)
13307	c.urlParams_.Set("prettyPrint", "false")
13308	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounts/{accountId}")
13309	urls += "?" + c.urlParams_.Encode()
13310	req, err := http.NewRequest("PUT", urls, body)
13311	if err != nil {
13312		return nil, err
13313	}
13314	req.Header = reqHeaders
13315	googleapi.Expand(req.URL, map[string]string{
13316		"merchantId": strconv.FormatUint(c.merchantId, 10),
13317		"accountId":  strconv.FormatUint(c.accountId, 10),
13318	})
13319	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13320}
13321
13322// Do executes the "content.accounts.update" call.
13323// Exactly one of *Account or error will be non-nil. Any non-2xx status
13324// code is an error. Response headers are in either
13325// *Account.ServerResponse.Header or (if a response was returned at all)
13326// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13327// check whether the returned error was because http.StatusNotModified
13328// was returned.
13329func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
13330	gensupport.SetOptions(c.urlParams_, opts...)
13331	res, err := c.doRequest("json")
13332	if res != nil && res.StatusCode == http.StatusNotModified {
13333		if res.Body != nil {
13334			res.Body.Close()
13335		}
13336		return nil, &googleapi.Error{
13337			Code:   res.StatusCode,
13338			Header: res.Header,
13339		}
13340	}
13341	if err != nil {
13342		return nil, err
13343	}
13344	defer googleapi.CloseBody(res)
13345	if err := googleapi.CheckResponse(res); err != nil {
13346		return nil, err
13347	}
13348	ret := &Account{
13349		ServerResponse: googleapi.ServerResponse{
13350			Header:         res.Header,
13351			HTTPStatusCode: res.StatusCode,
13352		},
13353	}
13354	target := &ret
13355	if err := gensupport.DecodeResponse(target, res); err != nil {
13356		return nil, err
13357	}
13358	return ret, nil
13359	// {
13360	//   "description": "Updates a Merchant Center account. Any fields that are not provided are deleted from the resource.",
13361	//   "flatPath": "{merchantId}/accounts/{accountId}",
13362	//   "httpMethod": "PUT",
13363	//   "id": "content.accounts.update",
13364	//   "parameterOrder": [
13365	//     "merchantId",
13366	//     "accountId"
13367	//   ],
13368	//   "parameters": {
13369	//     "accountId": {
13370	//       "description": "The ID of the account.",
13371	//       "format": "uint64",
13372	//       "location": "path",
13373	//       "required": true,
13374	//       "type": "string"
13375	//     },
13376	//     "dryRun": {
13377	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
13378	//       "location": "query",
13379	//       "type": "boolean"
13380	//     },
13381	//     "merchantId": {
13382	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
13383	//       "format": "uint64",
13384	//       "location": "path",
13385	//       "required": true,
13386	//       "type": "string"
13387	//     }
13388	//   },
13389	//   "path": "{merchantId}/accounts/{accountId}",
13390	//   "request": {
13391	//     "$ref": "Account"
13392	//   },
13393	//   "response": {
13394	//     "$ref": "Account"
13395	//   },
13396	//   "scopes": [
13397	//     "https://www.googleapis.com/auth/content"
13398	//   ]
13399	// }
13400
13401}
13402
13403// method id "content.accountstatuses.custombatch":
13404
13405type AccountstatusesCustombatchCall struct {
13406	s                                 *APIService
13407	accountstatusescustombatchrequest *AccountstatusesCustomBatchRequest
13408	urlParams_                        gensupport.URLParams
13409	ctx_                              context.Context
13410	header_                           http.Header
13411}
13412
13413// Custombatch: Retrieves multiple Merchant Center account statuses in a
13414// single request.
13415func (r *AccountstatusesService) Custombatch(accountstatusescustombatchrequest *AccountstatusesCustomBatchRequest) *AccountstatusesCustombatchCall {
13416	c := &AccountstatusesCustombatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13417	c.accountstatusescustombatchrequest = accountstatusescustombatchrequest
13418	return c
13419}
13420
13421// Fields allows partial responses to be retrieved. See
13422// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13423// for more information.
13424func (c *AccountstatusesCustombatchCall) Fields(s ...googleapi.Field) *AccountstatusesCustombatchCall {
13425	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13426	return c
13427}
13428
13429// Context sets the context to be used in this call's Do method. Any
13430// pending HTTP request will be aborted if the provided context is
13431// canceled.
13432func (c *AccountstatusesCustombatchCall) Context(ctx context.Context) *AccountstatusesCustombatchCall {
13433	c.ctx_ = ctx
13434	return c
13435}
13436
13437// Header returns an http.Header that can be modified by the caller to
13438// add HTTP headers to the request.
13439func (c *AccountstatusesCustombatchCall) Header() http.Header {
13440	if c.header_ == nil {
13441		c.header_ = make(http.Header)
13442	}
13443	return c.header_
13444}
13445
13446func (c *AccountstatusesCustombatchCall) doRequest(alt string) (*http.Response, error) {
13447	reqHeaders := make(http.Header)
13448	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13449	for k, v := range c.header_ {
13450		reqHeaders[k] = v
13451	}
13452	reqHeaders.Set("User-Agent", c.s.userAgent())
13453	var body io.Reader = nil
13454	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountstatusescustombatchrequest)
13455	if err != nil {
13456		return nil, err
13457	}
13458	reqHeaders.Set("Content-Type", "application/json")
13459	c.urlParams_.Set("alt", alt)
13460	c.urlParams_.Set("prettyPrint", "false")
13461	urls := googleapi.ResolveRelative(c.s.BasePath, "accountstatuses/batch")
13462	urls += "?" + c.urlParams_.Encode()
13463	req, err := http.NewRequest("POST", urls, body)
13464	if err != nil {
13465		return nil, err
13466	}
13467	req.Header = reqHeaders
13468	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13469}
13470
13471// Do executes the "content.accountstatuses.custombatch" call.
13472// Exactly one of *AccountstatusesCustomBatchResponse or error will be
13473// non-nil. Any non-2xx status code is an error. Response headers are in
13474// either *AccountstatusesCustomBatchResponse.ServerResponse.Header or
13475// (if a response was returned at all) in
13476// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
13477// whether the returned error was because http.StatusNotModified was
13478// returned.
13479func (c *AccountstatusesCustombatchCall) Do(opts ...googleapi.CallOption) (*AccountstatusesCustomBatchResponse, error) {
13480	gensupport.SetOptions(c.urlParams_, opts...)
13481	res, err := c.doRequest("json")
13482	if res != nil && res.StatusCode == http.StatusNotModified {
13483		if res.Body != nil {
13484			res.Body.Close()
13485		}
13486		return nil, &googleapi.Error{
13487			Code:   res.StatusCode,
13488			Header: res.Header,
13489		}
13490	}
13491	if err != nil {
13492		return nil, err
13493	}
13494	defer googleapi.CloseBody(res)
13495	if err := googleapi.CheckResponse(res); err != nil {
13496		return nil, err
13497	}
13498	ret := &AccountstatusesCustomBatchResponse{
13499		ServerResponse: googleapi.ServerResponse{
13500			Header:         res.Header,
13501			HTTPStatusCode: res.StatusCode,
13502		},
13503	}
13504	target := &ret
13505	if err := gensupport.DecodeResponse(target, res); err != nil {
13506		return nil, err
13507	}
13508	return ret, nil
13509	// {
13510	//   "description": "Retrieves multiple Merchant Center account statuses in a single request.",
13511	//   "flatPath": "accountstatuses/batch",
13512	//   "httpMethod": "POST",
13513	//   "id": "content.accountstatuses.custombatch",
13514	//   "parameterOrder": [],
13515	//   "parameters": {},
13516	//   "path": "accountstatuses/batch",
13517	//   "request": {
13518	//     "$ref": "AccountstatusesCustomBatchRequest"
13519	//   },
13520	//   "response": {
13521	//     "$ref": "AccountstatusesCustomBatchResponse"
13522	//   },
13523	//   "scopes": [
13524	//     "https://www.googleapis.com/auth/content"
13525	//   ]
13526	// }
13527
13528}
13529
13530// method id "content.accountstatuses.get":
13531
13532type AccountstatusesGetCall struct {
13533	s            *APIService
13534	merchantId   uint64
13535	accountId    uint64
13536	urlParams_   gensupport.URLParams
13537	ifNoneMatch_ string
13538	ctx_         context.Context
13539	header_      http.Header
13540}
13541
13542// Get: Retrieves the status of a Merchant Center account. No
13543// itemLevelIssues are returned for multi-client accounts.
13544//
13545// - accountId: The ID of the account.
13546// - merchantId: The ID of the managing account. If this parameter is
13547//   not the same as accountId, then this account must be a multi-client
13548//   account and `accountId` must be the ID of a sub-account of this
13549//   account.
13550func (r *AccountstatusesService) Get(merchantId uint64, accountId uint64) *AccountstatusesGetCall {
13551	c := &AccountstatusesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13552	c.merchantId = merchantId
13553	c.accountId = accountId
13554	return c
13555}
13556
13557// Destinations sets the optional parameter "destinations": If set, only
13558// issues for the specified destinations are returned, otherwise only
13559// issues for the Shopping destination.
13560func (c *AccountstatusesGetCall) Destinations(destinations ...string) *AccountstatusesGetCall {
13561	c.urlParams_.SetMulti("destinations", append([]string{}, destinations...))
13562	return c
13563}
13564
13565// Fields allows partial responses to be retrieved. See
13566// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13567// for more information.
13568func (c *AccountstatusesGetCall) Fields(s ...googleapi.Field) *AccountstatusesGetCall {
13569	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13570	return c
13571}
13572
13573// IfNoneMatch sets the optional parameter which makes the operation
13574// fail if the object's ETag matches the given value. This is useful for
13575// getting updates only after the object has changed since the last
13576// request. Use googleapi.IsNotModified to check whether the response
13577// error from Do is the result of In-None-Match.
13578func (c *AccountstatusesGetCall) IfNoneMatch(entityTag string) *AccountstatusesGetCall {
13579	c.ifNoneMatch_ = entityTag
13580	return c
13581}
13582
13583// Context sets the context to be used in this call's Do method. Any
13584// pending HTTP request will be aborted if the provided context is
13585// canceled.
13586func (c *AccountstatusesGetCall) Context(ctx context.Context) *AccountstatusesGetCall {
13587	c.ctx_ = ctx
13588	return c
13589}
13590
13591// Header returns an http.Header that can be modified by the caller to
13592// add HTTP headers to the request.
13593func (c *AccountstatusesGetCall) Header() http.Header {
13594	if c.header_ == nil {
13595		c.header_ = make(http.Header)
13596	}
13597	return c.header_
13598}
13599
13600func (c *AccountstatusesGetCall) doRequest(alt string) (*http.Response, error) {
13601	reqHeaders := make(http.Header)
13602	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13603	for k, v := range c.header_ {
13604		reqHeaders[k] = v
13605	}
13606	reqHeaders.Set("User-Agent", c.s.userAgent())
13607	if c.ifNoneMatch_ != "" {
13608		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13609	}
13610	var body io.Reader = nil
13611	c.urlParams_.Set("alt", alt)
13612	c.urlParams_.Set("prettyPrint", "false")
13613	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accountstatuses/{accountId}")
13614	urls += "?" + c.urlParams_.Encode()
13615	req, err := http.NewRequest("GET", urls, body)
13616	if err != nil {
13617		return nil, err
13618	}
13619	req.Header = reqHeaders
13620	googleapi.Expand(req.URL, map[string]string{
13621		"merchantId": strconv.FormatUint(c.merchantId, 10),
13622		"accountId":  strconv.FormatUint(c.accountId, 10),
13623	})
13624	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13625}
13626
13627// Do executes the "content.accountstatuses.get" call.
13628// Exactly one of *AccountStatus or error will be non-nil. Any non-2xx
13629// status code is an error. Response headers are in either
13630// *AccountStatus.ServerResponse.Header or (if a response was returned
13631// at all) in error.(*googleapi.Error).Header. Use
13632// googleapi.IsNotModified to check whether the returned error was
13633// because http.StatusNotModified was returned.
13634func (c *AccountstatusesGetCall) Do(opts ...googleapi.CallOption) (*AccountStatus, error) {
13635	gensupport.SetOptions(c.urlParams_, opts...)
13636	res, err := c.doRequest("json")
13637	if res != nil && res.StatusCode == http.StatusNotModified {
13638		if res.Body != nil {
13639			res.Body.Close()
13640		}
13641		return nil, &googleapi.Error{
13642			Code:   res.StatusCode,
13643			Header: res.Header,
13644		}
13645	}
13646	if err != nil {
13647		return nil, err
13648	}
13649	defer googleapi.CloseBody(res)
13650	if err := googleapi.CheckResponse(res); err != nil {
13651		return nil, err
13652	}
13653	ret := &AccountStatus{
13654		ServerResponse: googleapi.ServerResponse{
13655			Header:         res.Header,
13656			HTTPStatusCode: res.StatusCode,
13657		},
13658	}
13659	target := &ret
13660	if err := gensupport.DecodeResponse(target, res); err != nil {
13661		return nil, err
13662	}
13663	return ret, nil
13664	// {
13665	//   "description": "Retrieves the status of a Merchant Center account. No itemLevelIssues are returned for multi-client accounts.",
13666	//   "flatPath": "{merchantId}/accountstatuses/{accountId}",
13667	//   "httpMethod": "GET",
13668	//   "id": "content.accountstatuses.get",
13669	//   "parameterOrder": [
13670	//     "merchantId",
13671	//     "accountId"
13672	//   ],
13673	//   "parameters": {
13674	//     "accountId": {
13675	//       "description": "The ID of the account.",
13676	//       "format": "uint64",
13677	//       "location": "path",
13678	//       "required": true,
13679	//       "type": "string"
13680	//     },
13681	//     "destinations": {
13682	//       "description": "If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination.",
13683	//       "location": "query",
13684	//       "repeated": true,
13685	//       "type": "string"
13686	//     },
13687	//     "merchantId": {
13688	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
13689	//       "format": "uint64",
13690	//       "location": "path",
13691	//       "required": true,
13692	//       "type": "string"
13693	//     }
13694	//   },
13695	//   "path": "{merchantId}/accountstatuses/{accountId}",
13696	//   "response": {
13697	//     "$ref": "AccountStatus"
13698	//   },
13699	//   "scopes": [
13700	//     "https://www.googleapis.com/auth/content"
13701	//   ]
13702	// }
13703
13704}
13705
13706// method id "content.accountstatuses.list":
13707
13708type AccountstatusesListCall struct {
13709	s            *APIService
13710	merchantId   uint64
13711	urlParams_   gensupport.URLParams
13712	ifNoneMatch_ string
13713	ctx_         context.Context
13714	header_      http.Header
13715}
13716
13717// List: Lists the statuses of the sub-accounts in your Merchant Center
13718// account.
13719//
13720// - merchantId: The ID of the managing account. This must be a
13721//   multi-client account.
13722func (r *AccountstatusesService) List(merchantId uint64) *AccountstatusesListCall {
13723	c := &AccountstatusesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13724	c.merchantId = merchantId
13725	return c
13726}
13727
13728// Destinations sets the optional parameter "destinations": If set, only
13729// issues for the specified destinations are returned, otherwise only
13730// issues for the Shopping destination.
13731func (c *AccountstatusesListCall) Destinations(destinations ...string) *AccountstatusesListCall {
13732	c.urlParams_.SetMulti("destinations", append([]string{}, destinations...))
13733	return c
13734}
13735
13736// MaxResults sets the optional parameter "maxResults": The maximum
13737// number of account statuses to return in the response, used for
13738// paging.
13739func (c *AccountstatusesListCall) MaxResults(maxResults int64) *AccountstatusesListCall {
13740	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
13741	return c
13742}
13743
13744// PageToken sets the optional parameter "pageToken": The token returned
13745// by the previous request.
13746func (c *AccountstatusesListCall) PageToken(pageToken string) *AccountstatusesListCall {
13747	c.urlParams_.Set("pageToken", pageToken)
13748	return c
13749}
13750
13751// Fields allows partial responses to be retrieved. See
13752// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13753// for more information.
13754func (c *AccountstatusesListCall) Fields(s ...googleapi.Field) *AccountstatusesListCall {
13755	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13756	return c
13757}
13758
13759// IfNoneMatch sets the optional parameter which makes the operation
13760// fail if the object's ETag matches the given value. This is useful for
13761// getting updates only after the object has changed since the last
13762// request. Use googleapi.IsNotModified to check whether the response
13763// error from Do is the result of In-None-Match.
13764func (c *AccountstatusesListCall) IfNoneMatch(entityTag string) *AccountstatusesListCall {
13765	c.ifNoneMatch_ = entityTag
13766	return c
13767}
13768
13769// Context sets the context to be used in this call's Do method. Any
13770// pending HTTP request will be aborted if the provided context is
13771// canceled.
13772func (c *AccountstatusesListCall) Context(ctx context.Context) *AccountstatusesListCall {
13773	c.ctx_ = ctx
13774	return c
13775}
13776
13777// Header returns an http.Header that can be modified by the caller to
13778// add HTTP headers to the request.
13779func (c *AccountstatusesListCall) Header() http.Header {
13780	if c.header_ == nil {
13781		c.header_ = make(http.Header)
13782	}
13783	return c.header_
13784}
13785
13786func (c *AccountstatusesListCall) doRequest(alt string) (*http.Response, error) {
13787	reqHeaders := make(http.Header)
13788	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13789	for k, v := range c.header_ {
13790		reqHeaders[k] = v
13791	}
13792	reqHeaders.Set("User-Agent", c.s.userAgent())
13793	if c.ifNoneMatch_ != "" {
13794		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13795	}
13796	var body io.Reader = nil
13797	c.urlParams_.Set("alt", alt)
13798	c.urlParams_.Set("prettyPrint", "false")
13799	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accountstatuses")
13800	urls += "?" + c.urlParams_.Encode()
13801	req, err := http.NewRequest("GET", urls, body)
13802	if err != nil {
13803		return nil, err
13804	}
13805	req.Header = reqHeaders
13806	googleapi.Expand(req.URL, map[string]string{
13807		"merchantId": strconv.FormatUint(c.merchantId, 10),
13808	})
13809	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13810}
13811
13812// Do executes the "content.accountstatuses.list" call.
13813// Exactly one of *AccountstatusesListResponse or error will be non-nil.
13814// Any non-2xx status code is an error. Response headers are in either
13815// *AccountstatusesListResponse.ServerResponse.Header or (if a response
13816// was returned at all) in error.(*googleapi.Error).Header. Use
13817// googleapi.IsNotModified to check whether the returned error was
13818// because http.StatusNotModified was returned.
13819func (c *AccountstatusesListCall) Do(opts ...googleapi.CallOption) (*AccountstatusesListResponse, error) {
13820	gensupport.SetOptions(c.urlParams_, opts...)
13821	res, err := c.doRequest("json")
13822	if res != nil && res.StatusCode == http.StatusNotModified {
13823		if res.Body != nil {
13824			res.Body.Close()
13825		}
13826		return nil, &googleapi.Error{
13827			Code:   res.StatusCode,
13828			Header: res.Header,
13829		}
13830	}
13831	if err != nil {
13832		return nil, err
13833	}
13834	defer googleapi.CloseBody(res)
13835	if err := googleapi.CheckResponse(res); err != nil {
13836		return nil, err
13837	}
13838	ret := &AccountstatusesListResponse{
13839		ServerResponse: googleapi.ServerResponse{
13840			Header:         res.Header,
13841			HTTPStatusCode: res.StatusCode,
13842		},
13843	}
13844	target := &ret
13845	if err := gensupport.DecodeResponse(target, res); err != nil {
13846		return nil, err
13847	}
13848	return ret, nil
13849	// {
13850	//   "description": "Lists the statuses of the sub-accounts in your Merchant Center account.",
13851	//   "flatPath": "{merchantId}/accountstatuses",
13852	//   "httpMethod": "GET",
13853	//   "id": "content.accountstatuses.list",
13854	//   "parameterOrder": [
13855	//     "merchantId"
13856	//   ],
13857	//   "parameters": {
13858	//     "destinations": {
13859	//       "description": "If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination.",
13860	//       "location": "query",
13861	//       "repeated": true,
13862	//       "type": "string"
13863	//     },
13864	//     "maxResults": {
13865	//       "description": "The maximum number of account statuses to return in the response, used for paging.",
13866	//       "format": "uint32",
13867	//       "location": "query",
13868	//       "type": "integer"
13869	//     },
13870	//     "merchantId": {
13871	//       "description": "The ID of the managing account. This must be a multi-client account.",
13872	//       "format": "uint64",
13873	//       "location": "path",
13874	//       "required": true,
13875	//       "type": "string"
13876	//     },
13877	//     "pageToken": {
13878	//       "description": "The token returned by the previous request.",
13879	//       "location": "query",
13880	//       "type": "string"
13881	//     }
13882	//   },
13883	//   "path": "{merchantId}/accountstatuses",
13884	//   "response": {
13885	//     "$ref": "AccountstatusesListResponse"
13886	//   },
13887	//   "scopes": [
13888	//     "https://www.googleapis.com/auth/content"
13889	//   ]
13890	// }
13891
13892}
13893
13894// Pages invokes f for each page of results.
13895// A non-nil error returned from f will halt the iteration.
13896// The provided context supersedes any context provided to the Context method.
13897func (c *AccountstatusesListCall) Pages(ctx context.Context, f func(*AccountstatusesListResponse) error) error {
13898	c.ctx_ = ctx
13899	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
13900	for {
13901		x, err := c.Do()
13902		if err != nil {
13903			return err
13904		}
13905		if err := f(x); err != nil {
13906			return err
13907		}
13908		if x.NextPageToken == "" {
13909			return nil
13910		}
13911		c.PageToken(x.NextPageToken)
13912	}
13913}
13914
13915// method id "content.accounttax.custombatch":
13916
13917type AccounttaxCustombatchCall struct {
13918	s                            *APIService
13919	accounttaxcustombatchrequest *AccounttaxCustomBatchRequest
13920	urlParams_                   gensupport.URLParams
13921	ctx_                         context.Context
13922	header_                      http.Header
13923}
13924
13925// Custombatch: Retrieves and updates tax settings of multiple accounts
13926// in a single request.
13927func (r *AccounttaxService) Custombatch(accounttaxcustombatchrequest *AccounttaxCustomBatchRequest) *AccounttaxCustombatchCall {
13928	c := &AccounttaxCustombatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13929	c.accounttaxcustombatchrequest = accounttaxcustombatchrequest
13930	return c
13931}
13932
13933// DryRun sets the optional parameter "dryRun": Flag to simulate a
13934// request like in a live environment. If set to true, dry-run mode
13935// checks the validity of the request and returns errors (if any).
13936func (c *AccounttaxCustombatchCall) DryRun(dryRun bool) *AccounttaxCustombatchCall {
13937	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
13938	return c
13939}
13940
13941// Fields allows partial responses to be retrieved. See
13942// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13943// for more information.
13944func (c *AccounttaxCustombatchCall) Fields(s ...googleapi.Field) *AccounttaxCustombatchCall {
13945	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13946	return c
13947}
13948
13949// Context sets the context to be used in this call's Do method. Any
13950// pending HTTP request will be aborted if the provided context is
13951// canceled.
13952func (c *AccounttaxCustombatchCall) Context(ctx context.Context) *AccounttaxCustombatchCall {
13953	c.ctx_ = ctx
13954	return c
13955}
13956
13957// Header returns an http.Header that can be modified by the caller to
13958// add HTTP headers to the request.
13959func (c *AccounttaxCustombatchCall) Header() http.Header {
13960	if c.header_ == nil {
13961		c.header_ = make(http.Header)
13962	}
13963	return c.header_
13964}
13965
13966func (c *AccounttaxCustombatchCall) doRequest(alt string) (*http.Response, error) {
13967	reqHeaders := make(http.Header)
13968	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
13969	for k, v := range c.header_ {
13970		reqHeaders[k] = v
13971	}
13972	reqHeaders.Set("User-Agent", c.s.userAgent())
13973	var body io.Reader = nil
13974	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accounttaxcustombatchrequest)
13975	if err != nil {
13976		return nil, err
13977	}
13978	reqHeaders.Set("Content-Type", "application/json")
13979	c.urlParams_.Set("alt", alt)
13980	c.urlParams_.Set("prettyPrint", "false")
13981	urls := googleapi.ResolveRelative(c.s.BasePath, "accounttax/batch")
13982	urls += "?" + c.urlParams_.Encode()
13983	req, err := http.NewRequest("POST", urls, body)
13984	if err != nil {
13985		return nil, err
13986	}
13987	req.Header = reqHeaders
13988	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13989}
13990
13991// Do executes the "content.accounttax.custombatch" call.
13992// Exactly one of *AccounttaxCustomBatchResponse or error will be
13993// non-nil. Any non-2xx status code is an error. Response headers are in
13994// either *AccounttaxCustomBatchResponse.ServerResponse.Header or (if a
13995// response was returned at all) in error.(*googleapi.Error).Header. Use
13996// googleapi.IsNotModified to check whether the returned error was
13997// because http.StatusNotModified was returned.
13998func (c *AccounttaxCustombatchCall) Do(opts ...googleapi.CallOption) (*AccounttaxCustomBatchResponse, error) {
13999	gensupport.SetOptions(c.urlParams_, opts...)
14000	res, err := c.doRequest("json")
14001	if res != nil && res.StatusCode == http.StatusNotModified {
14002		if res.Body != nil {
14003			res.Body.Close()
14004		}
14005		return nil, &googleapi.Error{
14006			Code:   res.StatusCode,
14007			Header: res.Header,
14008		}
14009	}
14010	if err != nil {
14011		return nil, err
14012	}
14013	defer googleapi.CloseBody(res)
14014	if err := googleapi.CheckResponse(res); err != nil {
14015		return nil, err
14016	}
14017	ret := &AccounttaxCustomBatchResponse{
14018		ServerResponse: googleapi.ServerResponse{
14019			Header:         res.Header,
14020			HTTPStatusCode: res.StatusCode,
14021		},
14022	}
14023	target := &ret
14024	if err := gensupport.DecodeResponse(target, res); err != nil {
14025		return nil, err
14026	}
14027	return ret, nil
14028	// {
14029	//   "description": "Retrieves and updates tax settings of multiple accounts in a single request.",
14030	//   "flatPath": "accounttax/batch",
14031	//   "httpMethod": "POST",
14032	//   "id": "content.accounttax.custombatch",
14033	//   "parameterOrder": [],
14034	//   "parameters": {
14035	//     "dryRun": {
14036	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
14037	//       "location": "query",
14038	//       "type": "boolean"
14039	//     }
14040	//   },
14041	//   "path": "accounttax/batch",
14042	//   "request": {
14043	//     "$ref": "AccounttaxCustomBatchRequest"
14044	//   },
14045	//   "response": {
14046	//     "$ref": "AccounttaxCustomBatchResponse"
14047	//   },
14048	//   "scopes": [
14049	//     "https://www.googleapis.com/auth/content"
14050	//   ]
14051	// }
14052
14053}
14054
14055// method id "content.accounttax.get":
14056
14057type AccounttaxGetCall struct {
14058	s            *APIService
14059	merchantId   uint64
14060	accountId    uint64
14061	urlParams_   gensupport.URLParams
14062	ifNoneMatch_ string
14063	ctx_         context.Context
14064	header_      http.Header
14065}
14066
14067// Get: Retrieves the tax settings of the account.
14068//
14069// - accountId: The ID of the account for which to get/update account
14070//   tax settings.
14071// - merchantId: The ID of the managing account. If this parameter is
14072//   not the same as accountId, then this account must be a multi-client
14073//   account and `accountId` must be the ID of a sub-account of this
14074//   account.
14075func (r *AccounttaxService) Get(merchantId uint64, accountId uint64) *AccounttaxGetCall {
14076	c := &AccounttaxGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14077	c.merchantId = merchantId
14078	c.accountId = accountId
14079	return c
14080}
14081
14082// Fields allows partial responses to be retrieved. See
14083// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14084// for more information.
14085func (c *AccounttaxGetCall) Fields(s ...googleapi.Field) *AccounttaxGetCall {
14086	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14087	return c
14088}
14089
14090// IfNoneMatch sets the optional parameter which makes the operation
14091// fail if the object's ETag matches the given value. This is useful for
14092// getting updates only after the object has changed since the last
14093// request. Use googleapi.IsNotModified to check whether the response
14094// error from Do is the result of In-None-Match.
14095func (c *AccounttaxGetCall) IfNoneMatch(entityTag string) *AccounttaxGetCall {
14096	c.ifNoneMatch_ = entityTag
14097	return c
14098}
14099
14100// Context sets the context to be used in this call's Do method. Any
14101// pending HTTP request will be aborted if the provided context is
14102// canceled.
14103func (c *AccounttaxGetCall) Context(ctx context.Context) *AccounttaxGetCall {
14104	c.ctx_ = ctx
14105	return c
14106}
14107
14108// Header returns an http.Header that can be modified by the caller to
14109// add HTTP headers to the request.
14110func (c *AccounttaxGetCall) Header() http.Header {
14111	if c.header_ == nil {
14112		c.header_ = make(http.Header)
14113	}
14114	return c.header_
14115}
14116
14117func (c *AccounttaxGetCall) doRequest(alt string) (*http.Response, error) {
14118	reqHeaders := make(http.Header)
14119	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14120	for k, v := range c.header_ {
14121		reqHeaders[k] = v
14122	}
14123	reqHeaders.Set("User-Agent", c.s.userAgent())
14124	if c.ifNoneMatch_ != "" {
14125		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14126	}
14127	var body io.Reader = nil
14128	c.urlParams_.Set("alt", alt)
14129	c.urlParams_.Set("prettyPrint", "false")
14130	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounttax/{accountId}")
14131	urls += "?" + c.urlParams_.Encode()
14132	req, err := http.NewRequest("GET", urls, body)
14133	if err != nil {
14134		return nil, err
14135	}
14136	req.Header = reqHeaders
14137	googleapi.Expand(req.URL, map[string]string{
14138		"merchantId": strconv.FormatUint(c.merchantId, 10),
14139		"accountId":  strconv.FormatUint(c.accountId, 10),
14140	})
14141	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14142}
14143
14144// Do executes the "content.accounttax.get" call.
14145// Exactly one of *AccountTax or error will be non-nil. Any non-2xx
14146// status code is an error. Response headers are in either
14147// *AccountTax.ServerResponse.Header or (if a response was returned at
14148// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
14149// to check whether the returned error was because
14150// http.StatusNotModified was returned.
14151func (c *AccounttaxGetCall) Do(opts ...googleapi.CallOption) (*AccountTax, error) {
14152	gensupport.SetOptions(c.urlParams_, opts...)
14153	res, err := c.doRequest("json")
14154	if res != nil && res.StatusCode == http.StatusNotModified {
14155		if res.Body != nil {
14156			res.Body.Close()
14157		}
14158		return nil, &googleapi.Error{
14159			Code:   res.StatusCode,
14160			Header: res.Header,
14161		}
14162	}
14163	if err != nil {
14164		return nil, err
14165	}
14166	defer googleapi.CloseBody(res)
14167	if err := googleapi.CheckResponse(res); err != nil {
14168		return nil, err
14169	}
14170	ret := &AccountTax{
14171		ServerResponse: googleapi.ServerResponse{
14172			Header:         res.Header,
14173			HTTPStatusCode: res.StatusCode,
14174		},
14175	}
14176	target := &ret
14177	if err := gensupport.DecodeResponse(target, res); err != nil {
14178		return nil, err
14179	}
14180	return ret, nil
14181	// {
14182	//   "description": "Retrieves the tax settings of the account.",
14183	//   "flatPath": "{merchantId}/accounttax/{accountId}",
14184	//   "httpMethod": "GET",
14185	//   "id": "content.accounttax.get",
14186	//   "parameterOrder": [
14187	//     "merchantId",
14188	//     "accountId"
14189	//   ],
14190	//   "parameters": {
14191	//     "accountId": {
14192	//       "description": "The ID of the account for which to get/update account tax settings.",
14193	//       "format": "uint64",
14194	//       "location": "path",
14195	//       "required": true,
14196	//       "type": "string"
14197	//     },
14198	//     "merchantId": {
14199	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
14200	//       "format": "uint64",
14201	//       "location": "path",
14202	//       "required": true,
14203	//       "type": "string"
14204	//     }
14205	//   },
14206	//   "path": "{merchantId}/accounttax/{accountId}",
14207	//   "response": {
14208	//     "$ref": "AccountTax"
14209	//   },
14210	//   "scopes": [
14211	//     "https://www.googleapis.com/auth/content"
14212	//   ]
14213	// }
14214
14215}
14216
14217// method id "content.accounttax.list":
14218
14219type AccounttaxListCall struct {
14220	s            *APIService
14221	merchantId   uint64
14222	urlParams_   gensupport.URLParams
14223	ifNoneMatch_ string
14224	ctx_         context.Context
14225	header_      http.Header
14226}
14227
14228// List: Lists the tax settings of the sub-accounts in your Merchant
14229// Center account.
14230//
14231// - merchantId: The ID of the managing account. This must be a
14232//   multi-client account.
14233func (r *AccounttaxService) List(merchantId uint64) *AccounttaxListCall {
14234	c := &AccounttaxListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14235	c.merchantId = merchantId
14236	return c
14237}
14238
14239// MaxResults sets the optional parameter "maxResults": The maximum
14240// number of tax settings to return in the response, used for paging.
14241func (c *AccounttaxListCall) MaxResults(maxResults int64) *AccounttaxListCall {
14242	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
14243	return c
14244}
14245
14246// PageToken sets the optional parameter "pageToken": The token returned
14247// by the previous request.
14248func (c *AccounttaxListCall) PageToken(pageToken string) *AccounttaxListCall {
14249	c.urlParams_.Set("pageToken", pageToken)
14250	return c
14251}
14252
14253// Fields allows partial responses to be retrieved. See
14254// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14255// for more information.
14256func (c *AccounttaxListCall) Fields(s ...googleapi.Field) *AccounttaxListCall {
14257	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14258	return c
14259}
14260
14261// IfNoneMatch sets the optional parameter which makes the operation
14262// fail if the object's ETag matches the given value. This is useful for
14263// getting updates only after the object has changed since the last
14264// request. Use googleapi.IsNotModified to check whether the response
14265// error from Do is the result of In-None-Match.
14266func (c *AccounttaxListCall) IfNoneMatch(entityTag string) *AccounttaxListCall {
14267	c.ifNoneMatch_ = entityTag
14268	return c
14269}
14270
14271// Context sets the context to be used in this call's Do method. Any
14272// pending HTTP request will be aborted if the provided context is
14273// canceled.
14274func (c *AccounttaxListCall) Context(ctx context.Context) *AccounttaxListCall {
14275	c.ctx_ = ctx
14276	return c
14277}
14278
14279// Header returns an http.Header that can be modified by the caller to
14280// add HTTP headers to the request.
14281func (c *AccounttaxListCall) Header() http.Header {
14282	if c.header_ == nil {
14283		c.header_ = make(http.Header)
14284	}
14285	return c.header_
14286}
14287
14288func (c *AccounttaxListCall) doRequest(alt string) (*http.Response, error) {
14289	reqHeaders := make(http.Header)
14290	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14291	for k, v := range c.header_ {
14292		reqHeaders[k] = v
14293	}
14294	reqHeaders.Set("User-Agent", c.s.userAgent())
14295	if c.ifNoneMatch_ != "" {
14296		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14297	}
14298	var body io.Reader = nil
14299	c.urlParams_.Set("alt", alt)
14300	c.urlParams_.Set("prettyPrint", "false")
14301	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounttax")
14302	urls += "?" + c.urlParams_.Encode()
14303	req, err := http.NewRequest("GET", urls, body)
14304	if err != nil {
14305		return nil, err
14306	}
14307	req.Header = reqHeaders
14308	googleapi.Expand(req.URL, map[string]string{
14309		"merchantId": strconv.FormatUint(c.merchantId, 10),
14310	})
14311	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14312}
14313
14314// Do executes the "content.accounttax.list" call.
14315// Exactly one of *AccounttaxListResponse or error will be non-nil. Any
14316// non-2xx status code is an error. Response headers are in either
14317// *AccounttaxListResponse.ServerResponse.Header or (if a response was
14318// returned at all) in error.(*googleapi.Error).Header. Use
14319// googleapi.IsNotModified to check whether the returned error was
14320// because http.StatusNotModified was returned.
14321func (c *AccounttaxListCall) Do(opts ...googleapi.CallOption) (*AccounttaxListResponse, error) {
14322	gensupport.SetOptions(c.urlParams_, opts...)
14323	res, err := c.doRequest("json")
14324	if res != nil && res.StatusCode == http.StatusNotModified {
14325		if res.Body != nil {
14326			res.Body.Close()
14327		}
14328		return nil, &googleapi.Error{
14329			Code:   res.StatusCode,
14330			Header: res.Header,
14331		}
14332	}
14333	if err != nil {
14334		return nil, err
14335	}
14336	defer googleapi.CloseBody(res)
14337	if err := googleapi.CheckResponse(res); err != nil {
14338		return nil, err
14339	}
14340	ret := &AccounttaxListResponse{
14341		ServerResponse: googleapi.ServerResponse{
14342			Header:         res.Header,
14343			HTTPStatusCode: res.StatusCode,
14344		},
14345	}
14346	target := &ret
14347	if err := gensupport.DecodeResponse(target, res); err != nil {
14348		return nil, err
14349	}
14350	return ret, nil
14351	// {
14352	//   "description": "Lists the tax settings of the sub-accounts in your Merchant Center account.",
14353	//   "flatPath": "{merchantId}/accounttax",
14354	//   "httpMethod": "GET",
14355	//   "id": "content.accounttax.list",
14356	//   "parameterOrder": [
14357	//     "merchantId"
14358	//   ],
14359	//   "parameters": {
14360	//     "maxResults": {
14361	//       "description": "The maximum number of tax settings to return in the response, used for paging.",
14362	//       "format": "uint32",
14363	//       "location": "query",
14364	//       "type": "integer"
14365	//     },
14366	//     "merchantId": {
14367	//       "description": "The ID of the managing account. This must be a multi-client account.",
14368	//       "format": "uint64",
14369	//       "location": "path",
14370	//       "required": true,
14371	//       "type": "string"
14372	//     },
14373	//     "pageToken": {
14374	//       "description": "The token returned by the previous request.",
14375	//       "location": "query",
14376	//       "type": "string"
14377	//     }
14378	//   },
14379	//   "path": "{merchantId}/accounttax",
14380	//   "response": {
14381	//     "$ref": "AccounttaxListResponse"
14382	//   },
14383	//   "scopes": [
14384	//     "https://www.googleapis.com/auth/content"
14385	//   ]
14386	// }
14387
14388}
14389
14390// Pages invokes f for each page of results.
14391// A non-nil error returned from f will halt the iteration.
14392// The provided context supersedes any context provided to the Context method.
14393func (c *AccounttaxListCall) Pages(ctx context.Context, f func(*AccounttaxListResponse) error) error {
14394	c.ctx_ = ctx
14395	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
14396	for {
14397		x, err := c.Do()
14398		if err != nil {
14399			return err
14400		}
14401		if err := f(x); err != nil {
14402			return err
14403		}
14404		if x.NextPageToken == "" {
14405			return nil
14406		}
14407		c.PageToken(x.NextPageToken)
14408	}
14409}
14410
14411// method id "content.accounttax.update":
14412
14413type AccounttaxUpdateCall struct {
14414	s          *APIService
14415	merchantId uint64
14416	accountId  uint64
14417	accounttax *AccountTax
14418	urlParams_ gensupport.URLParams
14419	ctx_       context.Context
14420	header_    http.Header
14421}
14422
14423// Update: Updates the tax settings of the account. Any fields that are
14424// not provided are deleted from the resource.
14425//
14426// - accountId: The ID of the account for which to get/update account
14427//   tax settings.
14428// - merchantId: The ID of the managing account. If this parameter is
14429//   not the same as accountId, then this account must be a multi-client
14430//   account and `accountId` must be the ID of a sub-account of this
14431//   account.
14432func (r *AccounttaxService) Update(merchantId uint64, accountId uint64, accounttax *AccountTax) *AccounttaxUpdateCall {
14433	c := &AccounttaxUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14434	c.merchantId = merchantId
14435	c.accountId = accountId
14436	c.accounttax = accounttax
14437	return c
14438}
14439
14440// DryRun sets the optional parameter "dryRun": Flag to simulate a
14441// request like in a live environment. If set to true, dry-run mode
14442// checks the validity of the request and returns errors (if any).
14443func (c *AccounttaxUpdateCall) DryRun(dryRun bool) *AccounttaxUpdateCall {
14444	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
14445	return c
14446}
14447
14448// Fields allows partial responses to be retrieved. See
14449// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14450// for more information.
14451func (c *AccounttaxUpdateCall) Fields(s ...googleapi.Field) *AccounttaxUpdateCall {
14452	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14453	return c
14454}
14455
14456// Context sets the context to be used in this call's Do method. Any
14457// pending HTTP request will be aborted if the provided context is
14458// canceled.
14459func (c *AccounttaxUpdateCall) Context(ctx context.Context) *AccounttaxUpdateCall {
14460	c.ctx_ = ctx
14461	return c
14462}
14463
14464// Header returns an http.Header that can be modified by the caller to
14465// add HTTP headers to the request.
14466func (c *AccounttaxUpdateCall) Header() http.Header {
14467	if c.header_ == nil {
14468		c.header_ = make(http.Header)
14469	}
14470	return c.header_
14471}
14472
14473func (c *AccounttaxUpdateCall) doRequest(alt string) (*http.Response, error) {
14474	reqHeaders := make(http.Header)
14475	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14476	for k, v := range c.header_ {
14477		reqHeaders[k] = v
14478	}
14479	reqHeaders.Set("User-Agent", c.s.userAgent())
14480	var body io.Reader = nil
14481	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accounttax)
14482	if err != nil {
14483		return nil, err
14484	}
14485	reqHeaders.Set("Content-Type", "application/json")
14486	c.urlParams_.Set("alt", alt)
14487	c.urlParams_.Set("prettyPrint", "false")
14488	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/accounttax/{accountId}")
14489	urls += "?" + c.urlParams_.Encode()
14490	req, err := http.NewRequest("PUT", urls, body)
14491	if err != nil {
14492		return nil, err
14493	}
14494	req.Header = reqHeaders
14495	googleapi.Expand(req.URL, map[string]string{
14496		"merchantId": strconv.FormatUint(c.merchantId, 10),
14497		"accountId":  strconv.FormatUint(c.accountId, 10),
14498	})
14499	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14500}
14501
14502// Do executes the "content.accounttax.update" call.
14503// Exactly one of *AccountTax or error will be non-nil. Any non-2xx
14504// status code is an error. Response headers are in either
14505// *AccountTax.ServerResponse.Header or (if a response was returned at
14506// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
14507// to check whether the returned error was because
14508// http.StatusNotModified was returned.
14509func (c *AccounttaxUpdateCall) Do(opts ...googleapi.CallOption) (*AccountTax, error) {
14510	gensupport.SetOptions(c.urlParams_, opts...)
14511	res, err := c.doRequest("json")
14512	if res != nil && res.StatusCode == http.StatusNotModified {
14513		if res.Body != nil {
14514			res.Body.Close()
14515		}
14516		return nil, &googleapi.Error{
14517			Code:   res.StatusCode,
14518			Header: res.Header,
14519		}
14520	}
14521	if err != nil {
14522		return nil, err
14523	}
14524	defer googleapi.CloseBody(res)
14525	if err := googleapi.CheckResponse(res); err != nil {
14526		return nil, err
14527	}
14528	ret := &AccountTax{
14529		ServerResponse: googleapi.ServerResponse{
14530			Header:         res.Header,
14531			HTTPStatusCode: res.StatusCode,
14532		},
14533	}
14534	target := &ret
14535	if err := gensupport.DecodeResponse(target, res); err != nil {
14536		return nil, err
14537	}
14538	return ret, nil
14539	// {
14540	//   "description": "Updates the tax settings of the account. Any fields that are not provided are deleted from the resource.",
14541	//   "flatPath": "{merchantId}/accounttax/{accountId}",
14542	//   "httpMethod": "PUT",
14543	//   "id": "content.accounttax.update",
14544	//   "parameterOrder": [
14545	//     "merchantId",
14546	//     "accountId"
14547	//   ],
14548	//   "parameters": {
14549	//     "accountId": {
14550	//       "description": "The ID of the account for which to get/update account tax settings.",
14551	//       "format": "uint64",
14552	//       "location": "path",
14553	//       "required": true,
14554	//       "type": "string"
14555	//     },
14556	//     "dryRun": {
14557	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
14558	//       "location": "query",
14559	//       "type": "boolean"
14560	//     },
14561	//     "merchantId": {
14562	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
14563	//       "format": "uint64",
14564	//       "location": "path",
14565	//       "required": true,
14566	//       "type": "string"
14567	//     }
14568	//   },
14569	//   "path": "{merchantId}/accounttax/{accountId}",
14570	//   "request": {
14571	//     "$ref": "AccountTax"
14572	//   },
14573	//   "response": {
14574	//     "$ref": "AccountTax"
14575	//   },
14576	//   "scopes": [
14577	//     "https://www.googleapis.com/auth/content"
14578	//   ]
14579	// }
14580
14581}
14582
14583// method id "content.datafeeds.custombatch":
14584
14585type DatafeedsCustombatchCall struct {
14586	s                           *APIService
14587	datafeedscustombatchrequest *DatafeedsCustomBatchRequest
14588	urlParams_                  gensupport.URLParams
14589	ctx_                        context.Context
14590	header_                     http.Header
14591}
14592
14593// Custombatch: Deletes, fetches, gets, inserts and updates multiple
14594// datafeeds in a single request.
14595func (r *DatafeedsService) Custombatch(datafeedscustombatchrequest *DatafeedsCustomBatchRequest) *DatafeedsCustombatchCall {
14596	c := &DatafeedsCustombatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14597	c.datafeedscustombatchrequest = datafeedscustombatchrequest
14598	return c
14599}
14600
14601// DryRun sets the optional parameter "dryRun": Flag to simulate a
14602// request like in a live environment. If set to true, dry-run mode
14603// checks the validity of the request and returns errors (if any).
14604func (c *DatafeedsCustombatchCall) DryRun(dryRun bool) *DatafeedsCustombatchCall {
14605	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
14606	return c
14607}
14608
14609// Fields allows partial responses to be retrieved. See
14610// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14611// for more information.
14612func (c *DatafeedsCustombatchCall) Fields(s ...googleapi.Field) *DatafeedsCustombatchCall {
14613	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14614	return c
14615}
14616
14617// Context sets the context to be used in this call's Do method. Any
14618// pending HTTP request will be aborted if the provided context is
14619// canceled.
14620func (c *DatafeedsCustombatchCall) Context(ctx context.Context) *DatafeedsCustombatchCall {
14621	c.ctx_ = ctx
14622	return c
14623}
14624
14625// Header returns an http.Header that can be modified by the caller to
14626// add HTTP headers to the request.
14627func (c *DatafeedsCustombatchCall) Header() http.Header {
14628	if c.header_ == nil {
14629		c.header_ = make(http.Header)
14630	}
14631	return c.header_
14632}
14633
14634func (c *DatafeedsCustombatchCall) doRequest(alt string) (*http.Response, error) {
14635	reqHeaders := make(http.Header)
14636	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14637	for k, v := range c.header_ {
14638		reqHeaders[k] = v
14639	}
14640	reqHeaders.Set("User-Agent", c.s.userAgent())
14641	var body io.Reader = nil
14642	body, err := googleapi.WithoutDataWrapper.JSONReader(c.datafeedscustombatchrequest)
14643	if err != nil {
14644		return nil, err
14645	}
14646	reqHeaders.Set("Content-Type", "application/json")
14647	c.urlParams_.Set("alt", alt)
14648	c.urlParams_.Set("prettyPrint", "false")
14649	urls := googleapi.ResolveRelative(c.s.BasePath, "datafeeds/batch")
14650	urls += "?" + c.urlParams_.Encode()
14651	req, err := http.NewRequest("POST", urls, body)
14652	if err != nil {
14653		return nil, err
14654	}
14655	req.Header = reqHeaders
14656	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14657}
14658
14659// Do executes the "content.datafeeds.custombatch" call.
14660// Exactly one of *DatafeedsCustomBatchResponse or error will be
14661// non-nil. Any non-2xx status code is an error. Response headers are in
14662// either *DatafeedsCustomBatchResponse.ServerResponse.Header or (if a
14663// response was returned at all) in error.(*googleapi.Error).Header. Use
14664// googleapi.IsNotModified to check whether the returned error was
14665// because http.StatusNotModified was returned.
14666func (c *DatafeedsCustombatchCall) Do(opts ...googleapi.CallOption) (*DatafeedsCustomBatchResponse, error) {
14667	gensupport.SetOptions(c.urlParams_, opts...)
14668	res, err := c.doRequest("json")
14669	if res != nil && res.StatusCode == http.StatusNotModified {
14670		if res.Body != nil {
14671			res.Body.Close()
14672		}
14673		return nil, &googleapi.Error{
14674			Code:   res.StatusCode,
14675			Header: res.Header,
14676		}
14677	}
14678	if err != nil {
14679		return nil, err
14680	}
14681	defer googleapi.CloseBody(res)
14682	if err := googleapi.CheckResponse(res); err != nil {
14683		return nil, err
14684	}
14685	ret := &DatafeedsCustomBatchResponse{
14686		ServerResponse: googleapi.ServerResponse{
14687			Header:         res.Header,
14688			HTTPStatusCode: res.StatusCode,
14689		},
14690	}
14691	target := &ret
14692	if err := gensupport.DecodeResponse(target, res); err != nil {
14693		return nil, err
14694	}
14695	return ret, nil
14696	// {
14697	//   "description": "Deletes, fetches, gets, inserts and updates multiple datafeeds in a single request.",
14698	//   "flatPath": "datafeeds/batch",
14699	//   "httpMethod": "POST",
14700	//   "id": "content.datafeeds.custombatch",
14701	//   "parameterOrder": [],
14702	//   "parameters": {
14703	//     "dryRun": {
14704	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
14705	//       "location": "query",
14706	//       "type": "boolean"
14707	//     }
14708	//   },
14709	//   "path": "datafeeds/batch",
14710	//   "request": {
14711	//     "$ref": "DatafeedsCustomBatchRequest"
14712	//   },
14713	//   "response": {
14714	//     "$ref": "DatafeedsCustomBatchResponse"
14715	//   },
14716	//   "scopes": [
14717	//     "https://www.googleapis.com/auth/content"
14718	//   ]
14719	// }
14720
14721}
14722
14723// method id "content.datafeeds.delete":
14724
14725type DatafeedsDeleteCall struct {
14726	s          *APIService
14727	merchantId uint64
14728	datafeedId uint64
14729	urlParams_ gensupport.URLParams
14730	ctx_       context.Context
14731	header_    http.Header
14732}
14733
14734// Delete: Deletes a datafeed configuration from your Merchant Center
14735// account.
14736//
14737// - datafeedId: The ID of the datafeed.
14738// - merchantId: The ID of the account that manages the datafeed. This
14739//   account cannot be a multi-client account.
14740func (r *DatafeedsService) Delete(merchantId uint64, datafeedId uint64) *DatafeedsDeleteCall {
14741	c := &DatafeedsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14742	c.merchantId = merchantId
14743	c.datafeedId = datafeedId
14744	return c
14745}
14746
14747// DryRun sets the optional parameter "dryRun": Flag to simulate a
14748// request like in a live environment. If set to true, dry-run mode
14749// checks the validity of the request and returns errors (if any).
14750func (c *DatafeedsDeleteCall) DryRun(dryRun bool) *DatafeedsDeleteCall {
14751	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
14752	return c
14753}
14754
14755// Fields allows partial responses to be retrieved. See
14756// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14757// for more information.
14758func (c *DatafeedsDeleteCall) Fields(s ...googleapi.Field) *DatafeedsDeleteCall {
14759	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14760	return c
14761}
14762
14763// Context sets the context to be used in this call's Do method. Any
14764// pending HTTP request will be aborted if the provided context is
14765// canceled.
14766func (c *DatafeedsDeleteCall) Context(ctx context.Context) *DatafeedsDeleteCall {
14767	c.ctx_ = ctx
14768	return c
14769}
14770
14771// Header returns an http.Header that can be modified by the caller to
14772// add HTTP headers to the request.
14773func (c *DatafeedsDeleteCall) Header() http.Header {
14774	if c.header_ == nil {
14775		c.header_ = make(http.Header)
14776	}
14777	return c.header_
14778}
14779
14780func (c *DatafeedsDeleteCall) doRequest(alt string) (*http.Response, error) {
14781	reqHeaders := make(http.Header)
14782	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14783	for k, v := range c.header_ {
14784		reqHeaders[k] = v
14785	}
14786	reqHeaders.Set("User-Agent", c.s.userAgent())
14787	var body io.Reader = nil
14788	c.urlParams_.Set("alt", alt)
14789	c.urlParams_.Set("prettyPrint", "false")
14790	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeeds/{datafeedId}")
14791	urls += "?" + c.urlParams_.Encode()
14792	req, err := http.NewRequest("DELETE", urls, body)
14793	if err != nil {
14794		return nil, err
14795	}
14796	req.Header = reqHeaders
14797	googleapi.Expand(req.URL, map[string]string{
14798		"merchantId": strconv.FormatUint(c.merchantId, 10),
14799		"datafeedId": strconv.FormatUint(c.datafeedId, 10),
14800	})
14801	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14802}
14803
14804// Do executes the "content.datafeeds.delete" call.
14805func (c *DatafeedsDeleteCall) Do(opts ...googleapi.CallOption) error {
14806	gensupport.SetOptions(c.urlParams_, opts...)
14807	res, err := c.doRequest("json")
14808	if err != nil {
14809		return err
14810	}
14811	defer googleapi.CloseBody(res)
14812	if err := googleapi.CheckResponse(res); err != nil {
14813		return err
14814	}
14815	return nil
14816	// {
14817	//   "description": "Deletes a datafeed configuration from your Merchant Center account.",
14818	//   "flatPath": "{merchantId}/datafeeds/{datafeedId}",
14819	//   "httpMethod": "DELETE",
14820	//   "id": "content.datafeeds.delete",
14821	//   "parameterOrder": [
14822	//     "merchantId",
14823	//     "datafeedId"
14824	//   ],
14825	//   "parameters": {
14826	//     "datafeedId": {
14827	//       "description": "The ID of the datafeed.",
14828	//       "format": "uint64",
14829	//       "location": "path",
14830	//       "required": true,
14831	//       "type": "string"
14832	//     },
14833	//     "dryRun": {
14834	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
14835	//       "location": "query",
14836	//       "type": "boolean"
14837	//     },
14838	//     "merchantId": {
14839	//       "description": "The ID of the account that manages the datafeed. This account cannot be a multi-client account.",
14840	//       "format": "uint64",
14841	//       "location": "path",
14842	//       "required": true,
14843	//       "type": "string"
14844	//     }
14845	//   },
14846	//   "path": "{merchantId}/datafeeds/{datafeedId}",
14847	//   "scopes": [
14848	//     "https://www.googleapis.com/auth/content"
14849	//   ]
14850	// }
14851
14852}
14853
14854// method id "content.datafeeds.fetchnow":
14855
14856type DatafeedsFetchnowCall struct {
14857	s          *APIService
14858	merchantId uint64
14859	datafeedId uint64
14860	urlParams_ gensupport.URLParams
14861	ctx_       context.Context
14862	header_    http.Header
14863}
14864
14865// Fetchnow: Invokes a fetch for the datafeed in your Merchant Center
14866// account. If you need to call this method more than once per day, we
14867// recommend you use the Products service to update your product data.
14868//
14869// - datafeedId: The ID of the datafeed to be fetched.
14870// - merchantId: The ID of the account that manages the datafeed. This
14871//   account cannot be a multi-client account.
14872func (r *DatafeedsService) Fetchnow(merchantId uint64, datafeedId uint64) *DatafeedsFetchnowCall {
14873	c := &DatafeedsFetchnowCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14874	c.merchantId = merchantId
14875	c.datafeedId = datafeedId
14876	return c
14877}
14878
14879// DryRun sets the optional parameter "dryRun": Flag to simulate a
14880// request like in a live environment. If set to true, dry-run mode
14881// checks the validity of the request and returns errors (if any).
14882func (c *DatafeedsFetchnowCall) DryRun(dryRun bool) *DatafeedsFetchnowCall {
14883	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
14884	return c
14885}
14886
14887// Fields allows partial responses to be retrieved. See
14888// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14889// for more information.
14890func (c *DatafeedsFetchnowCall) Fields(s ...googleapi.Field) *DatafeedsFetchnowCall {
14891	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14892	return c
14893}
14894
14895// Context sets the context to be used in this call's Do method. Any
14896// pending HTTP request will be aborted if the provided context is
14897// canceled.
14898func (c *DatafeedsFetchnowCall) Context(ctx context.Context) *DatafeedsFetchnowCall {
14899	c.ctx_ = ctx
14900	return c
14901}
14902
14903// Header returns an http.Header that can be modified by the caller to
14904// add HTTP headers to the request.
14905func (c *DatafeedsFetchnowCall) Header() http.Header {
14906	if c.header_ == nil {
14907		c.header_ = make(http.Header)
14908	}
14909	return c.header_
14910}
14911
14912func (c *DatafeedsFetchnowCall) doRequest(alt string) (*http.Response, error) {
14913	reqHeaders := make(http.Header)
14914	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14915	for k, v := range c.header_ {
14916		reqHeaders[k] = v
14917	}
14918	reqHeaders.Set("User-Agent", c.s.userAgent())
14919	var body io.Reader = nil
14920	c.urlParams_.Set("alt", alt)
14921	c.urlParams_.Set("prettyPrint", "false")
14922	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeeds/{datafeedId}/fetchNow")
14923	urls += "?" + c.urlParams_.Encode()
14924	req, err := http.NewRequest("POST", urls, body)
14925	if err != nil {
14926		return nil, err
14927	}
14928	req.Header = reqHeaders
14929	googleapi.Expand(req.URL, map[string]string{
14930		"merchantId": strconv.FormatUint(c.merchantId, 10),
14931		"datafeedId": strconv.FormatUint(c.datafeedId, 10),
14932	})
14933	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14934}
14935
14936// Do executes the "content.datafeeds.fetchnow" call.
14937// Exactly one of *DatafeedsFetchNowResponse or error will be non-nil.
14938// Any non-2xx status code is an error. Response headers are in either
14939// *DatafeedsFetchNowResponse.ServerResponse.Header or (if a response
14940// was returned at all) in error.(*googleapi.Error).Header. Use
14941// googleapi.IsNotModified to check whether the returned error was
14942// because http.StatusNotModified was returned.
14943func (c *DatafeedsFetchnowCall) Do(opts ...googleapi.CallOption) (*DatafeedsFetchNowResponse, error) {
14944	gensupport.SetOptions(c.urlParams_, opts...)
14945	res, err := c.doRequest("json")
14946	if res != nil && res.StatusCode == http.StatusNotModified {
14947		if res.Body != nil {
14948			res.Body.Close()
14949		}
14950		return nil, &googleapi.Error{
14951			Code:   res.StatusCode,
14952			Header: res.Header,
14953		}
14954	}
14955	if err != nil {
14956		return nil, err
14957	}
14958	defer googleapi.CloseBody(res)
14959	if err := googleapi.CheckResponse(res); err != nil {
14960		return nil, err
14961	}
14962	ret := &DatafeedsFetchNowResponse{
14963		ServerResponse: googleapi.ServerResponse{
14964			Header:         res.Header,
14965			HTTPStatusCode: res.StatusCode,
14966		},
14967	}
14968	target := &ret
14969	if err := gensupport.DecodeResponse(target, res); err != nil {
14970		return nil, err
14971	}
14972	return ret, nil
14973	// {
14974	//   "description": "Invokes a fetch for the datafeed in your Merchant Center account. If you need to call this method more than once per day, we recommend you use the Products service to update your product data.",
14975	//   "flatPath": "{merchantId}/datafeeds/{datafeedId}/fetchNow",
14976	//   "httpMethod": "POST",
14977	//   "id": "content.datafeeds.fetchnow",
14978	//   "parameterOrder": [
14979	//     "merchantId",
14980	//     "datafeedId"
14981	//   ],
14982	//   "parameters": {
14983	//     "datafeedId": {
14984	//       "description": "The ID of the datafeed to be fetched.",
14985	//       "format": "uint64",
14986	//       "location": "path",
14987	//       "required": true,
14988	//       "type": "string"
14989	//     },
14990	//     "dryRun": {
14991	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
14992	//       "location": "query",
14993	//       "type": "boolean"
14994	//     },
14995	//     "merchantId": {
14996	//       "description": "The ID of the account that manages the datafeed. This account cannot be a multi-client account.",
14997	//       "format": "uint64",
14998	//       "location": "path",
14999	//       "required": true,
15000	//       "type": "string"
15001	//     }
15002	//   },
15003	//   "path": "{merchantId}/datafeeds/{datafeedId}/fetchNow",
15004	//   "response": {
15005	//     "$ref": "DatafeedsFetchNowResponse"
15006	//   },
15007	//   "scopes": [
15008	//     "https://www.googleapis.com/auth/content"
15009	//   ]
15010	// }
15011
15012}
15013
15014// method id "content.datafeeds.get":
15015
15016type DatafeedsGetCall struct {
15017	s            *APIService
15018	merchantId   uint64
15019	datafeedId   uint64
15020	urlParams_   gensupport.URLParams
15021	ifNoneMatch_ string
15022	ctx_         context.Context
15023	header_      http.Header
15024}
15025
15026// Get: Retrieves a datafeed configuration from your Merchant Center
15027// account.
15028//
15029// - datafeedId: The ID of the datafeed.
15030// - merchantId: The ID of the account that manages the datafeed. This
15031//   account cannot be a multi-client account.
15032func (r *DatafeedsService) Get(merchantId uint64, datafeedId uint64) *DatafeedsGetCall {
15033	c := &DatafeedsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15034	c.merchantId = merchantId
15035	c.datafeedId = datafeedId
15036	return c
15037}
15038
15039// Fields allows partial responses to be retrieved. See
15040// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15041// for more information.
15042func (c *DatafeedsGetCall) Fields(s ...googleapi.Field) *DatafeedsGetCall {
15043	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15044	return c
15045}
15046
15047// IfNoneMatch sets the optional parameter which makes the operation
15048// fail if the object's ETag matches the given value. This is useful for
15049// getting updates only after the object has changed since the last
15050// request. Use googleapi.IsNotModified to check whether the response
15051// error from Do is the result of In-None-Match.
15052func (c *DatafeedsGetCall) IfNoneMatch(entityTag string) *DatafeedsGetCall {
15053	c.ifNoneMatch_ = entityTag
15054	return c
15055}
15056
15057// Context sets the context to be used in this call's Do method. Any
15058// pending HTTP request will be aborted if the provided context is
15059// canceled.
15060func (c *DatafeedsGetCall) Context(ctx context.Context) *DatafeedsGetCall {
15061	c.ctx_ = ctx
15062	return c
15063}
15064
15065// Header returns an http.Header that can be modified by the caller to
15066// add HTTP headers to the request.
15067func (c *DatafeedsGetCall) Header() http.Header {
15068	if c.header_ == nil {
15069		c.header_ = make(http.Header)
15070	}
15071	return c.header_
15072}
15073
15074func (c *DatafeedsGetCall) doRequest(alt string) (*http.Response, error) {
15075	reqHeaders := make(http.Header)
15076	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15077	for k, v := range c.header_ {
15078		reqHeaders[k] = v
15079	}
15080	reqHeaders.Set("User-Agent", c.s.userAgent())
15081	if c.ifNoneMatch_ != "" {
15082		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15083	}
15084	var body io.Reader = nil
15085	c.urlParams_.Set("alt", alt)
15086	c.urlParams_.Set("prettyPrint", "false")
15087	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeeds/{datafeedId}")
15088	urls += "?" + c.urlParams_.Encode()
15089	req, err := http.NewRequest("GET", urls, body)
15090	if err != nil {
15091		return nil, err
15092	}
15093	req.Header = reqHeaders
15094	googleapi.Expand(req.URL, map[string]string{
15095		"merchantId": strconv.FormatUint(c.merchantId, 10),
15096		"datafeedId": strconv.FormatUint(c.datafeedId, 10),
15097	})
15098	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15099}
15100
15101// Do executes the "content.datafeeds.get" call.
15102// Exactly one of *Datafeed or error will be non-nil. Any non-2xx status
15103// code is an error. Response headers are in either
15104// *Datafeed.ServerResponse.Header or (if a response was returned at
15105// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15106// to check whether the returned error was because
15107// http.StatusNotModified was returned.
15108func (c *DatafeedsGetCall) Do(opts ...googleapi.CallOption) (*Datafeed, error) {
15109	gensupport.SetOptions(c.urlParams_, opts...)
15110	res, err := c.doRequest("json")
15111	if res != nil && res.StatusCode == http.StatusNotModified {
15112		if res.Body != nil {
15113			res.Body.Close()
15114		}
15115		return nil, &googleapi.Error{
15116			Code:   res.StatusCode,
15117			Header: res.Header,
15118		}
15119	}
15120	if err != nil {
15121		return nil, err
15122	}
15123	defer googleapi.CloseBody(res)
15124	if err := googleapi.CheckResponse(res); err != nil {
15125		return nil, err
15126	}
15127	ret := &Datafeed{
15128		ServerResponse: googleapi.ServerResponse{
15129			Header:         res.Header,
15130			HTTPStatusCode: res.StatusCode,
15131		},
15132	}
15133	target := &ret
15134	if err := gensupport.DecodeResponse(target, res); err != nil {
15135		return nil, err
15136	}
15137	return ret, nil
15138	// {
15139	//   "description": "Retrieves a datafeed configuration from your Merchant Center account.",
15140	//   "flatPath": "{merchantId}/datafeeds/{datafeedId}",
15141	//   "httpMethod": "GET",
15142	//   "id": "content.datafeeds.get",
15143	//   "parameterOrder": [
15144	//     "merchantId",
15145	//     "datafeedId"
15146	//   ],
15147	//   "parameters": {
15148	//     "datafeedId": {
15149	//       "description": "The ID of the datafeed.",
15150	//       "format": "uint64",
15151	//       "location": "path",
15152	//       "required": true,
15153	//       "type": "string"
15154	//     },
15155	//     "merchantId": {
15156	//       "description": "The ID of the account that manages the datafeed. This account cannot be a multi-client account.",
15157	//       "format": "uint64",
15158	//       "location": "path",
15159	//       "required": true,
15160	//       "type": "string"
15161	//     }
15162	//   },
15163	//   "path": "{merchantId}/datafeeds/{datafeedId}",
15164	//   "response": {
15165	//     "$ref": "Datafeed"
15166	//   },
15167	//   "scopes": [
15168	//     "https://www.googleapis.com/auth/content"
15169	//   ]
15170	// }
15171
15172}
15173
15174// method id "content.datafeeds.insert":
15175
15176type DatafeedsInsertCall struct {
15177	s          *APIService
15178	merchantId uint64
15179	datafeed   *Datafeed
15180	urlParams_ gensupport.URLParams
15181	ctx_       context.Context
15182	header_    http.Header
15183}
15184
15185// Insert: Registers a datafeed configuration with your Merchant Center
15186// account.
15187//
15188// - merchantId: The ID of the account that manages the datafeed. This
15189//   account cannot be a multi-client account.
15190func (r *DatafeedsService) Insert(merchantId uint64, datafeed *Datafeed) *DatafeedsInsertCall {
15191	c := &DatafeedsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15192	c.merchantId = merchantId
15193	c.datafeed = datafeed
15194	return c
15195}
15196
15197// DryRun sets the optional parameter "dryRun": Flag to simulate a
15198// request like in a live environment. If set to true, dry-run mode
15199// checks the validity of the request and returns errors (if any).
15200func (c *DatafeedsInsertCall) DryRun(dryRun bool) *DatafeedsInsertCall {
15201	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
15202	return c
15203}
15204
15205// Fields allows partial responses to be retrieved. See
15206// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15207// for more information.
15208func (c *DatafeedsInsertCall) Fields(s ...googleapi.Field) *DatafeedsInsertCall {
15209	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15210	return c
15211}
15212
15213// Context sets the context to be used in this call's Do method. Any
15214// pending HTTP request will be aborted if the provided context is
15215// canceled.
15216func (c *DatafeedsInsertCall) Context(ctx context.Context) *DatafeedsInsertCall {
15217	c.ctx_ = ctx
15218	return c
15219}
15220
15221// Header returns an http.Header that can be modified by the caller to
15222// add HTTP headers to the request.
15223func (c *DatafeedsInsertCall) Header() http.Header {
15224	if c.header_ == nil {
15225		c.header_ = make(http.Header)
15226	}
15227	return c.header_
15228}
15229
15230func (c *DatafeedsInsertCall) doRequest(alt string) (*http.Response, error) {
15231	reqHeaders := make(http.Header)
15232	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15233	for k, v := range c.header_ {
15234		reqHeaders[k] = v
15235	}
15236	reqHeaders.Set("User-Agent", c.s.userAgent())
15237	var body io.Reader = nil
15238	body, err := googleapi.WithoutDataWrapper.JSONReader(c.datafeed)
15239	if err != nil {
15240		return nil, err
15241	}
15242	reqHeaders.Set("Content-Type", "application/json")
15243	c.urlParams_.Set("alt", alt)
15244	c.urlParams_.Set("prettyPrint", "false")
15245	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeeds")
15246	urls += "?" + c.urlParams_.Encode()
15247	req, err := http.NewRequest("POST", urls, body)
15248	if err != nil {
15249		return nil, err
15250	}
15251	req.Header = reqHeaders
15252	googleapi.Expand(req.URL, map[string]string{
15253		"merchantId": strconv.FormatUint(c.merchantId, 10),
15254	})
15255	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15256}
15257
15258// Do executes the "content.datafeeds.insert" call.
15259// Exactly one of *Datafeed or error will be non-nil. Any non-2xx status
15260// code is an error. Response headers are in either
15261// *Datafeed.ServerResponse.Header or (if a response was returned at
15262// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15263// to check whether the returned error was because
15264// http.StatusNotModified was returned.
15265func (c *DatafeedsInsertCall) Do(opts ...googleapi.CallOption) (*Datafeed, error) {
15266	gensupport.SetOptions(c.urlParams_, opts...)
15267	res, err := c.doRequest("json")
15268	if res != nil && res.StatusCode == http.StatusNotModified {
15269		if res.Body != nil {
15270			res.Body.Close()
15271		}
15272		return nil, &googleapi.Error{
15273			Code:   res.StatusCode,
15274			Header: res.Header,
15275		}
15276	}
15277	if err != nil {
15278		return nil, err
15279	}
15280	defer googleapi.CloseBody(res)
15281	if err := googleapi.CheckResponse(res); err != nil {
15282		return nil, err
15283	}
15284	ret := &Datafeed{
15285		ServerResponse: googleapi.ServerResponse{
15286			Header:         res.Header,
15287			HTTPStatusCode: res.StatusCode,
15288		},
15289	}
15290	target := &ret
15291	if err := gensupport.DecodeResponse(target, res); err != nil {
15292		return nil, err
15293	}
15294	return ret, nil
15295	// {
15296	//   "description": "Registers a datafeed configuration with your Merchant Center account.",
15297	//   "flatPath": "{merchantId}/datafeeds",
15298	//   "httpMethod": "POST",
15299	//   "id": "content.datafeeds.insert",
15300	//   "parameterOrder": [
15301	//     "merchantId"
15302	//   ],
15303	//   "parameters": {
15304	//     "dryRun": {
15305	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
15306	//       "location": "query",
15307	//       "type": "boolean"
15308	//     },
15309	//     "merchantId": {
15310	//       "description": "The ID of the account that manages the datafeed. This account cannot be a multi-client account.",
15311	//       "format": "uint64",
15312	//       "location": "path",
15313	//       "required": true,
15314	//       "type": "string"
15315	//     }
15316	//   },
15317	//   "path": "{merchantId}/datafeeds",
15318	//   "request": {
15319	//     "$ref": "Datafeed"
15320	//   },
15321	//   "response": {
15322	//     "$ref": "Datafeed"
15323	//   },
15324	//   "scopes": [
15325	//     "https://www.googleapis.com/auth/content"
15326	//   ]
15327	// }
15328
15329}
15330
15331// method id "content.datafeeds.list":
15332
15333type DatafeedsListCall struct {
15334	s            *APIService
15335	merchantId   uint64
15336	urlParams_   gensupport.URLParams
15337	ifNoneMatch_ string
15338	ctx_         context.Context
15339	header_      http.Header
15340}
15341
15342// List: Lists the configurations for datafeeds in your Merchant Center
15343// account.
15344//
15345// - merchantId: The ID of the account that manages the datafeeds. This
15346//   account cannot be a multi-client account.
15347func (r *DatafeedsService) List(merchantId uint64) *DatafeedsListCall {
15348	c := &DatafeedsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15349	c.merchantId = merchantId
15350	return c
15351}
15352
15353// MaxResults sets the optional parameter "maxResults": The maximum
15354// number of products to return in the response, used for paging.
15355func (c *DatafeedsListCall) MaxResults(maxResults int64) *DatafeedsListCall {
15356	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
15357	return c
15358}
15359
15360// PageToken sets the optional parameter "pageToken": The token returned
15361// by the previous request.
15362func (c *DatafeedsListCall) PageToken(pageToken string) *DatafeedsListCall {
15363	c.urlParams_.Set("pageToken", pageToken)
15364	return c
15365}
15366
15367// Fields allows partial responses to be retrieved. See
15368// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15369// for more information.
15370func (c *DatafeedsListCall) Fields(s ...googleapi.Field) *DatafeedsListCall {
15371	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15372	return c
15373}
15374
15375// IfNoneMatch sets the optional parameter which makes the operation
15376// fail if the object's ETag matches the given value. This is useful for
15377// getting updates only after the object has changed since the last
15378// request. Use googleapi.IsNotModified to check whether the response
15379// error from Do is the result of In-None-Match.
15380func (c *DatafeedsListCall) IfNoneMatch(entityTag string) *DatafeedsListCall {
15381	c.ifNoneMatch_ = entityTag
15382	return c
15383}
15384
15385// Context sets the context to be used in this call's Do method. Any
15386// pending HTTP request will be aborted if the provided context is
15387// canceled.
15388func (c *DatafeedsListCall) Context(ctx context.Context) *DatafeedsListCall {
15389	c.ctx_ = ctx
15390	return c
15391}
15392
15393// Header returns an http.Header that can be modified by the caller to
15394// add HTTP headers to the request.
15395func (c *DatafeedsListCall) Header() http.Header {
15396	if c.header_ == nil {
15397		c.header_ = make(http.Header)
15398	}
15399	return c.header_
15400}
15401
15402func (c *DatafeedsListCall) doRequest(alt string) (*http.Response, error) {
15403	reqHeaders := make(http.Header)
15404	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15405	for k, v := range c.header_ {
15406		reqHeaders[k] = v
15407	}
15408	reqHeaders.Set("User-Agent", c.s.userAgent())
15409	if c.ifNoneMatch_ != "" {
15410		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15411	}
15412	var body io.Reader = nil
15413	c.urlParams_.Set("alt", alt)
15414	c.urlParams_.Set("prettyPrint", "false")
15415	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeeds")
15416	urls += "?" + c.urlParams_.Encode()
15417	req, err := http.NewRequest("GET", urls, body)
15418	if err != nil {
15419		return nil, err
15420	}
15421	req.Header = reqHeaders
15422	googleapi.Expand(req.URL, map[string]string{
15423		"merchantId": strconv.FormatUint(c.merchantId, 10),
15424	})
15425	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15426}
15427
15428// Do executes the "content.datafeeds.list" call.
15429// Exactly one of *DatafeedsListResponse or error will be non-nil. Any
15430// non-2xx status code is an error. Response headers are in either
15431// *DatafeedsListResponse.ServerResponse.Header or (if a response was
15432// returned at all) in error.(*googleapi.Error).Header. Use
15433// googleapi.IsNotModified to check whether the returned error was
15434// because http.StatusNotModified was returned.
15435func (c *DatafeedsListCall) Do(opts ...googleapi.CallOption) (*DatafeedsListResponse, error) {
15436	gensupport.SetOptions(c.urlParams_, opts...)
15437	res, err := c.doRequest("json")
15438	if res != nil && res.StatusCode == http.StatusNotModified {
15439		if res.Body != nil {
15440			res.Body.Close()
15441		}
15442		return nil, &googleapi.Error{
15443			Code:   res.StatusCode,
15444			Header: res.Header,
15445		}
15446	}
15447	if err != nil {
15448		return nil, err
15449	}
15450	defer googleapi.CloseBody(res)
15451	if err := googleapi.CheckResponse(res); err != nil {
15452		return nil, err
15453	}
15454	ret := &DatafeedsListResponse{
15455		ServerResponse: googleapi.ServerResponse{
15456			Header:         res.Header,
15457			HTTPStatusCode: res.StatusCode,
15458		},
15459	}
15460	target := &ret
15461	if err := gensupport.DecodeResponse(target, res); err != nil {
15462		return nil, err
15463	}
15464	return ret, nil
15465	// {
15466	//   "description": "Lists the configurations for datafeeds in your Merchant Center account.",
15467	//   "flatPath": "{merchantId}/datafeeds",
15468	//   "httpMethod": "GET",
15469	//   "id": "content.datafeeds.list",
15470	//   "parameterOrder": [
15471	//     "merchantId"
15472	//   ],
15473	//   "parameters": {
15474	//     "maxResults": {
15475	//       "description": "The maximum number of products to return in the response, used for paging.",
15476	//       "format": "uint32",
15477	//       "location": "query",
15478	//       "type": "integer"
15479	//     },
15480	//     "merchantId": {
15481	//       "description": "The ID of the account that manages the datafeeds. This account cannot be a multi-client account.",
15482	//       "format": "uint64",
15483	//       "location": "path",
15484	//       "required": true,
15485	//       "type": "string"
15486	//     },
15487	//     "pageToken": {
15488	//       "description": "The token returned by the previous request.",
15489	//       "location": "query",
15490	//       "type": "string"
15491	//     }
15492	//   },
15493	//   "path": "{merchantId}/datafeeds",
15494	//   "response": {
15495	//     "$ref": "DatafeedsListResponse"
15496	//   },
15497	//   "scopes": [
15498	//     "https://www.googleapis.com/auth/content"
15499	//   ]
15500	// }
15501
15502}
15503
15504// Pages invokes f for each page of results.
15505// A non-nil error returned from f will halt the iteration.
15506// The provided context supersedes any context provided to the Context method.
15507func (c *DatafeedsListCall) Pages(ctx context.Context, f func(*DatafeedsListResponse) error) error {
15508	c.ctx_ = ctx
15509	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15510	for {
15511		x, err := c.Do()
15512		if err != nil {
15513			return err
15514		}
15515		if err := f(x); err != nil {
15516			return err
15517		}
15518		if x.NextPageToken == "" {
15519			return nil
15520		}
15521		c.PageToken(x.NextPageToken)
15522	}
15523}
15524
15525// method id "content.datafeeds.update":
15526
15527type DatafeedsUpdateCall struct {
15528	s          *APIService
15529	merchantId uint64
15530	datafeedId uint64
15531	datafeed   *Datafeed
15532	urlParams_ gensupport.URLParams
15533	ctx_       context.Context
15534	header_    http.Header
15535}
15536
15537// Update: Updates a datafeed configuration of your Merchant Center
15538// account. Any fields that are not provided are deleted from the
15539// resource.
15540//
15541// - datafeedId: The ID of the datafeed.
15542// - merchantId: The ID of the account that manages the datafeed. This
15543//   account cannot be a multi-client account.
15544func (r *DatafeedsService) Update(merchantId uint64, datafeedId uint64, datafeed *Datafeed) *DatafeedsUpdateCall {
15545	c := &DatafeedsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15546	c.merchantId = merchantId
15547	c.datafeedId = datafeedId
15548	c.datafeed = datafeed
15549	return c
15550}
15551
15552// DryRun sets the optional parameter "dryRun": Flag to simulate a
15553// request like in a live environment. If set to true, dry-run mode
15554// checks the validity of the request and returns errors (if any).
15555func (c *DatafeedsUpdateCall) DryRun(dryRun bool) *DatafeedsUpdateCall {
15556	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
15557	return c
15558}
15559
15560// Fields allows partial responses to be retrieved. See
15561// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15562// for more information.
15563func (c *DatafeedsUpdateCall) Fields(s ...googleapi.Field) *DatafeedsUpdateCall {
15564	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15565	return c
15566}
15567
15568// Context sets the context to be used in this call's Do method. Any
15569// pending HTTP request will be aborted if the provided context is
15570// canceled.
15571func (c *DatafeedsUpdateCall) Context(ctx context.Context) *DatafeedsUpdateCall {
15572	c.ctx_ = ctx
15573	return c
15574}
15575
15576// Header returns an http.Header that can be modified by the caller to
15577// add HTTP headers to the request.
15578func (c *DatafeedsUpdateCall) Header() http.Header {
15579	if c.header_ == nil {
15580		c.header_ = make(http.Header)
15581	}
15582	return c.header_
15583}
15584
15585func (c *DatafeedsUpdateCall) doRequest(alt string) (*http.Response, error) {
15586	reqHeaders := make(http.Header)
15587	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15588	for k, v := range c.header_ {
15589		reqHeaders[k] = v
15590	}
15591	reqHeaders.Set("User-Agent", c.s.userAgent())
15592	var body io.Reader = nil
15593	body, err := googleapi.WithoutDataWrapper.JSONReader(c.datafeed)
15594	if err != nil {
15595		return nil, err
15596	}
15597	reqHeaders.Set("Content-Type", "application/json")
15598	c.urlParams_.Set("alt", alt)
15599	c.urlParams_.Set("prettyPrint", "false")
15600	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeeds/{datafeedId}")
15601	urls += "?" + c.urlParams_.Encode()
15602	req, err := http.NewRequest("PUT", urls, body)
15603	if err != nil {
15604		return nil, err
15605	}
15606	req.Header = reqHeaders
15607	googleapi.Expand(req.URL, map[string]string{
15608		"merchantId": strconv.FormatUint(c.merchantId, 10),
15609		"datafeedId": strconv.FormatUint(c.datafeedId, 10),
15610	})
15611	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15612}
15613
15614// Do executes the "content.datafeeds.update" call.
15615// Exactly one of *Datafeed or error will be non-nil. Any non-2xx status
15616// code is an error. Response headers are in either
15617// *Datafeed.ServerResponse.Header or (if a response was returned at
15618// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15619// to check whether the returned error was because
15620// http.StatusNotModified was returned.
15621func (c *DatafeedsUpdateCall) Do(opts ...googleapi.CallOption) (*Datafeed, error) {
15622	gensupport.SetOptions(c.urlParams_, opts...)
15623	res, err := c.doRequest("json")
15624	if res != nil && res.StatusCode == http.StatusNotModified {
15625		if res.Body != nil {
15626			res.Body.Close()
15627		}
15628		return nil, &googleapi.Error{
15629			Code:   res.StatusCode,
15630			Header: res.Header,
15631		}
15632	}
15633	if err != nil {
15634		return nil, err
15635	}
15636	defer googleapi.CloseBody(res)
15637	if err := googleapi.CheckResponse(res); err != nil {
15638		return nil, err
15639	}
15640	ret := &Datafeed{
15641		ServerResponse: googleapi.ServerResponse{
15642			Header:         res.Header,
15643			HTTPStatusCode: res.StatusCode,
15644		},
15645	}
15646	target := &ret
15647	if err := gensupport.DecodeResponse(target, res); err != nil {
15648		return nil, err
15649	}
15650	return ret, nil
15651	// {
15652	//   "description": "Updates a datafeed configuration of your Merchant Center account. Any fields that are not provided are deleted from the resource.",
15653	//   "flatPath": "{merchantId}/datafeeds/{datafeedId}",
15654	//   "httpMethod": "PUT",
15655	//   "id": "content.datafeeds.update",
15656	//   "parameterOrder": [
15657	//     "merchantId",
15658	//     "datafeedId"
15659	//   ],
15660	//   "parameters": {
15661	//     "datafeedId": {
15662	//       "description": "The ID of the datafeed.",
15663	//       "format": "uint64",
15664	//       "location": "path",
15665	//       "required": true,
15666	//       "type": "string"
15667	//     },
15668	//     "dryRun": {
15669	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
15670	//       "location": "query",
15671	//       "type": "boolean"
15672	//     },
15673	//     "merchantId": {
15674	//       "description": "The ID of the account that manages the datafeed. This account cannot be a multi-client account.",
15675	//       "format": "uint64",
15676	//       "location": "path",
15677	//       "required": true,
15678	//       "type": "string"
15679	//     }
15680	//   },
15681	//   "path": "{merchantId}/datafeeds/{datafeedId}",
15682	//   "request": {
15683	//     "$ref": "Datafeed"
15684	//   },
15685	//   "response": {
15686	//     "$ref": "Datafeed"
15687	//   },
15688	//   "scopes": [
15689	//     "https://www.googleapis.com/auth/content"
15690	//   ]
15691	// }
15692
15693}
15694
15695// method id "content.datafeedstatuses.custombatch":
15696
15697type DatafeedstatusesCustombatchCall struct {
15698	s                                  *APIService
15699	datafeedstatusescustombatchrequest *DatafeedstatusesCustomBatchRequest
15700	urlParams_                         gensupport.URLParams
15701	ctx_                               context.Context
15702	header_                            http.Header
15703}
15704
15705// Custombatch: Gets multiple Merchant Center datafeed statuses in a
15706// single request.
15707func (r *DatafeedstatusesService) Custombatch(datafeedstatusescustombatchrequest *DatafeedstatusesCustomBatchRequest) *DatafeedstatusesCustombatchCall {
15708	c := &DatafeedstatusesCustombatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15709	c.datafeedstatusescustombatchrequest = datafeedstatusescustombatchrequest
15710	return c
15711}
15712
15713// Fields allows partial responses to be retrieved. See
15714// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15715// for more information.
15716func (c *DatafeedstatusesCustombatchCall) Fields(s ...googleapi.Field) *DatafeedstatusesCustombatchCall {
15717	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15718	return c
15719}
15720
15721// Context sets the context to be used in this call's Do method. Any
15722// pending HTTP request will be aborted if the provided context is
15723// canceled.
15724func (c *DatafeedstatusesCustombatchCall) Context(ctx context.Context) *DatafeedstatusesCustombatchCall {
15725	c.ctx_ = ctx
15726	return c
15727}
15728
15729// Header returns an http.Header that can be modified by the caller to
15730// add HTTP headers to the request.
15731func (c *DatafeedstatusesCustombatchCall) Header() http.Header {
15732	if c.header_ == nil {
15733		c.header_ = make(http.Header)
15734	}
15735	return c.header_
15736}
15737
15738func (c *DatafeedstatusesCustombatchCall) doRequest(alt string) (*http.Response, error) {
15739	reqHeaders := make(http.Header)
15740	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15741	for k, v := range c.header_ {
15742		reqHeaders[k] = v
15743	}
15744	reqHeaders.Set("User-Agent", c.s.userAgent())
15745	var body io.Reader = nil
15746	body, err := googleapi.WithoutDataWrapper.JSONReader(c.datafeedstatusescustombatchrequest)
15747	if err != nil {
15748		return nil, err
15749	}
15750	reqHeaders.Set("Content-Type", "application/json")
15751	c.urlParams_.Set("alt", alt)
15752	c.urlParams_.Set("prettyPrint", "false")
15753	urls := googleapi.ResolveRelative(c.s.BasePath, "datafeedstatuses/batch")
15754	urls += "?" + c.urlParams_.Encode()
15755	req, err := http.NewRequest("POST", urls, body)
15756	if err != nil {
15757		return nil, err
15758	}
15759	req.Header = reqHeaders
15760	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15761}
15762
15763// Do executes the "content.datafeedstatuses.custombatch" call.
15764// Exactly one of *DatafeedstatusesCustomBatchResponse or error will be
15765// non-nil. Any non-2xx status code is an error. Response headers are in
15766// either *DatafeedstatusesCustomBatchResponse.ServerResponse.Header or
15767// (if a response was returned at all) in
15768// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
15769// whether the returned error was because http.StatusNotModified was
15770// returned.
15771func (c *DatafeedstatusesCustombatchCall) Do(opts ...googleapi.CallOption) (*DatafeedstatusesCustomBatchResponse, error) {
15772	gensupport.SetOptions(c.urlParams_, opts...)
15773	res, err := c.doRequest("json")
15774	if res != nil && res.StatusCode == http.StatusNotModified {
15775		if res.Body != nil {
15776			res.Body.Close()
15777		}
15778		return nil, &googleapi.Error{
15779			Code:   res.StatusCode,
15780			Header: res.Header,
15781		}
15782	}
15783	if err != nil {
15784		return nil, err
15785	}
15786	defer googleapi.CloseBody(res)
15787	if err := googleapi.CheckResponse(res); err != nil {
15788		return nil, err
15789	}
15790	ret := &DatafeedstatusesCustomBatchResponse{
15791		ServerResponse: googleapi.ServerResponse{
15792			Header:         res.Header,
15793			HTTPStatusCode: res.StatusCode,
15794		},
15795	}
15796	target := &ret
15797	if err := gensupport.DecodeResponse(target, res); err != nil {
15798		return nil, err
15799	}
15800	return ret, nil
15801	// {
15802	//   "description": "Gets multiple Merchant Center datafeed statuses in a single request.",
15803	//   "flatPath": "datafeedstatuses/batch",
15804	//   "httpMethod": "POST",
15805	//   "id": "content.datafeedstatuses.custombatch",
15806	//   "parameterOrder": [],
15807	//   "parameters": {},
15808	//   "path": "datafeedstatuses/batch",
15809	//   "request": {
15810	//     "$ref": "DatafeedstatusesCustomBatchRequest"
15811	//   },
15812	//   "response": {
15813	//     "$ref": "DatafeedstatusesCustomBatchResponse"
15814	//   },
15815	//   "scopes": [
15816	//     "https://www.googleapis.com/auth/content"
15817	//   ]
15818	// }
15819
15820}
15821
15822// method id "content.datafeedstatuses.get":
15823
15824type DatafeedstatusesGetCall struct {
15825	s            *APIService
15826	merchantId   uint64
15827	datafeedId   uint64
15828	urlParams_   gensupport.URLParams
15829	ifNoneMatch_ string
15830	ctx_         context.Context
15831	header_      http.Header
15832}
15833
15834// Get: Retrieves the status of a datafeed from your Merchant Center
15835// account.
15836//
15837// - datafeedId: The ID of the datafeed.
15838// - merchantId: The ID of the account that manages the datafeed. This
15839//   account cannot be a multi-client account.
15840func (r *DatafeedstatusesService) Get(merchantId uint64, datafeedId uint64) *DatafeedstatusesGetCall {
15841	c := &DatafeedstatusesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15842	c.merchantId = merchantId
15843	c.datafeedId = datafeedId
15844	return c
15845}
15846
15847// Country sets the optional parameter "country": The country for which
15848// to get the datafeed status. If this parameter is provided then
15849// language must also be provided. Note that this parameter is required
15850// for feeds targeting multiple countries and languages, since a feed
15851// may have a different status for each target.
15852func (c *DatafeedstatusesGetCall) Country(country string) *DatafeedstatusesGetCall {
15853	c.urlParams_.Set("country", country)
15854	return c
15855}
15856
15857// Language sets the optional parameter "language": The language for
15858// which to get the datafeed status. If this parameter is provided then
15859// country must also be provided. Note that this parameter is required
15860// for feeds targeting multiple countries and languages, since a feed
15861// may have a different status for each target.
15862func (c *DatafeedstatusesGetCall) Language(language string) *DatafeedstatusesGetCall {
15863	c.urlParams_.Set("language", language)
15864	return c
15865}
15866
15867// Fields allows partial responses to be retrieved. See
15868// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15869// for more information.
15870func (c *DatafeedstatusesGetCall) Fields(s ...googleapi.Field) *DatafeedstatusesGetCall {
15871	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15872	return c
15873}
15874
15875// IfNoneMatch sets the optional parameter which makes the operation
15876// fail if the object's ETag matches the given value. This is useful for
15877// getting updates only after the object has changed since the last
15878// request. Use googleapi.IsNotModified to check whether the response
15879// error from Do is the result of In-None-Match.
15880func (c *DatafeedstatusesGetCall) IfNoneMatch(entityTag string) *DatafeedstatusesGetCall {
15881	c.ifNoneMatch_ = entityTag
15882	return c
15883}
15884
15885// Context sets the context to be used in this call's Do method. Any
15886// pending HTTP request will be aborted if the provided context is
15887// canceled.
15888func (c *DatafeedstatusesGetCall) Context(ctx context.Context) *DatafeedstatusesGetCall {
15889	c.ctx_ = ctx
15890	return c
15891}
15892
15893// Header returns an http.Header that can be modified by the caller to
15894// add HTTP headers to the request.
15895func (c *DatafeedstatusesGetCall) Header() http.Header {
15896	if c.header_ == nil {
15897		c.header_ = make(http.Header)
15898	}
15899	return c.header_
15900}
15901
15902func (c *DatafeedstatusesGetCall) doRequest(alt string) (*http.Response, error) {
15903	reqHeaders := make(http.Header)
15904	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15905	for k, v := range c.header_ {
15906		reqHeaders[k] = v
15907	}
15908	reqHeaders.Set("User-Agent", c.s.userAgent())
15909	if c.ifNoneMatch_ != "" {
15910		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15911	}
15912	var body io.Reader = nil
15913	c.urlParams_.Set("alt", alt)
15914	c.urlParams_.Set("prettyPrint", "false")
15915	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeedstatuses/{datafeedId}")
15916	urls += "?" + c.urlParams_.Encode()
15917	req, err := http.NewRequest("GET", urls, body)
15918	if err != nil {
15919		return nil, err
15920	}
15921	req.Header = reqHeaders
15922	googleapi.Expand(req.URL, map[string]string{
15923		"merchantId": strconv.FormatUint(c.merchantId, 10),
15924		"datafeedId": strconv.FormatUint(c.datafeedId, 10),
15925	})
15926	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15927}
15928
15929// Do executes the "content.datafeedstatuses.get" call.
15930// Exactly one of *DatafeedStatus or error will be non-nil. Any non-2xx
15931// status code is an error. Response headers are in either
15932// *DatafeedStatus.ServerResponse.Header or (if a response was returned
15933// at all) in error.(*googleapi.Error).Header. Use
15934// googleapi.IsNotModified to check whether the returned error was
15935// because http.StatusNotModified was returned.
15936func (c *DatafeedstatusesGetCall) Do(opts ...googleapi.CallOption) (*DatafeedStatus, error) {
15937	gensupport.SetOptions(c.urlParams_, opts...)
15938	res, err := c.doRequest("json")
15939	if res != nil && res.StatusCode == http.StatusNotModified {
15940		if res.Body != nil {
15941			res.Body.Close()
15942		}
15943		return nil, &googleapi.Error{
15944			Code:   res.StatusCode,
15945			Header: res.Header,
15946		}
15947	}
15948	if err != nil {
15949		return nil, err
15950	}
15951	defer googleapi.CloseBody(res)
15952	if err := googleapi.CheckResponse(res); err != nil {
15953		return nil, err
15954	}
15955	ret := &DatafeedStatus{
15956		ServerResponse: googleapi.ServerResponse{
15957			Header:         res.Header,
15958			HTTPStatusCode: res.StatusCode,
15959		},
15960	}
15961	target := &ret
15962	if err := gensupport.DecodeResponse(target, res); err != nil {
15963		return nil, err
15964	}
15965	return ret, nil
15966	// {
15967	//   "description": "Retrieves the status of a datafeed from your Merchant Center account.",
15968	//   "flatPath": "{merchantId}/datafeedstatuses/{datafeedId}",
15969	//   "httpMethod": "GET",
15970	//   "id": "content.datafeedstatuses.get",
15971	//   "parameterOrder": [
15972	//     "merchantId",
15973	//     "datafeedId"
15974	//   ],
15975	//   "parameters": {
15976	//     "country": {
15977	//       "description": "The country for which to get the datafeed status. If this parameter is provided then language must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target.",
15978	//       "location": "query",
15979	//       "type": "string"
15980	//     },
15981	//     "datafeedId": {
15982	//       "description": "The ID of the datafeed.",
15983	//       "format": "uint64",
15984	//       "location": "path",
15985	//       "required": true,
15986	//       "type": "string"
15987	//     },
15988	//     "language": {
15989	//       "description": "The language for which to get the datafeed status. If this parameter is provided then country must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target.",
15990	//       "location": "query",
15991	//       "type": "string"
15992	//     },
15993	//     "merchantId": {
15994	//       "description": "The ID of the account that manages the datafeed. This account cannot be a multi-client account.",
15995	//       "format": "uint64",
15996	//       "location": "path",
15997	//       "required": true,
15998	//       "type": "string"
15999	//     }
16000	//   },
16001	//   "path": "{merchantId}/datafeedstatuses/{datafeedId}",
16002	//   "response": {
16003	//     "$ref": "DatafeedStatus"
16004	//   },
16005	//   "scopes": [
16006	//     "https://www.googleapis.com/auth/content"
16007	//   ]
16008	// }
16009
16010}
16011
16012// method id "content.datafeedstatuses.list":
16013
16014type DatafeedstatusesListCall struct {
16015	s            *APIService
16016	merchantId   uint64
16017	urlParams_   gensupport.URLParams
16018	ifNoneMatch_ string
16019	ctx_         context.Context
16020	header_      http.Header
16021}
16022
16023// List: Lists the statuses of the datafeeds in your Merchant Center
16024// account.
16025//
16026// - merchantId: The ID of the account that manages the datafeeds. This
16027//   account cannot be a multi-client account.
16028func (r *DatafeedstatusesService) List(merchantId uint64) *DatafeedstatusesListCall {
16029	c := &DatafeedstatusesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16030	c.merchantId = merchantId
16031	return c
16032}
16033
16034// MaxResults sets the optional parameter "maxResults": The maximum
16035// number of products to return in the response, used for paging.
16036func (c *DatafeedstatusesListCall) MaxResults(maxResults int64) *DatafeedstatusesListCall {
16037	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
16038	return c
16039}
16040
16041// PageToken sets the optional parameter "pageToken": The token returned
16042// by the previous request.
16043func (c *DatafeedstatusesListCall) PageToken(pageToken string) *DatafeedstatusesListCall {
16044	c.urlParams_.Set("pageToken", pageToken)
16045	return c
16046}
16047
16048// Fields allows partial responses to be retrieved. See
16049// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16050// for more information.
16051func (c *DatafeedstatusesListCall) Fields(s ...googleapi.Field) *DatafeedstatusesListCall {
16052	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16053	return c
16054}
16055
16056// IfNoneMatch sets the optional parameter which makes the operation
16057// fail if the object's ETag matches the given value. This is useful for
16058// getting updates only after the object has changed since the last
16059// request. Use googleapi.IsNotModified to check whether the response
16060// error from Do is the result of In-None-Match.
16061func (c *DatafeedstatusesListCall) IfNoneMatch(entityTag string) *DatafeedstatusesListCall {
16062	c.ifNoneMatch_ = entityTag
16063	return c
16064}
16065
16066// Context sets the context to be used in this call's Do method. Any
16067// pending HTTP request will be aborted if the provided context is
16068// canceled.
16069func (c *DatafeedstatusesListCall) Context(ctx context.Context) *DatafeedstatusesListCall {
16070	c.ctx_ = ctx
16071	return c
16072}
16073
16074// Header returns an http.Header that can be modified by the caller to
16075// add HTTP headers to the request.
16076func (c *DatafeedstatusesListCall) Header() http.Header {
16077	if c.header_ == nil {
16078		c.header_ = make(http.Header)
16079	}
16080	return c.header_
16081}
16082
16083func (c *DatafeedstatusesListCall) doRequest(alt string) (*http.Response, error) {
16084	reqHeaders := make(http.Header)
16085	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16086	for k, v := range c.header_ {
16087		reqHeaders[k] = v
16088	}
16089	reqHeaders.Set("User-Agent", c.s.userAgent())
16090	if c.ifNoneMatch_ != "" {
16091		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16092	}
16093	var body io.Reader = nil
16094	c.urlParams_.Set("alt", alt)
16095	c.urlParams_.Set("prettyPrint", "false")
16096	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/datafeedstatuses")
16097	urls += "?" + c.urlParams_.Encode()
16098	req, err := http.NewRequest("GET", urls, body)
16099	if err != nil {
16100		return nil, err
16101	}
16102	req.Header = reqHeaders
16103	googleapi.Expand(req.URL, map[string]string{
16104		"merchantId": strconv.FormatUint(c.merchantId, 10),
16105	})
16106	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16107}
16108
16109// Do executes the "content.datafeedstatuses.list" call.
16110// Exactly one of *DatafeedstatusesListResponse or error will be
16111// non-nil. Any non-2xx status code is an error. Response headers are in
16112// either *DatafeedstatusesListResponse.ServerResponse.Header or (if a
16113// response was returned at all) in error.(*googleapi.Error).Header. Use
16114// googleapi.IsNotModified to check whether the returned error was
16115// because http.StatusNotModified was returned.
16116func (c *DatafeedstatusesListCall) Do(opts ...googleapi.CallOption) (*DatafeedstatusesListResponse, error) {
16117	gensupport.SetOptions(c.urlParams_, opts...)
16118	res, err := c.doRequest("json")
16119	if res != nil && res.StatusCode == http.StatusNotModified {
16120		if res.Body != nil {
16121			res.Body.Close()
16122		}
16123		return nil, &googleapi.Error{
16124			Code:   res.StatusCode,
16125			Header: res.Header,
16126		}
16127	}
16128	if err != nil {
16129		return nil, err
16130	}
16131	defer googleapi.CloseBody(res)
16132	if err := googleapi.CheckResponse(res); err != nil {
16133		return nil, err
16134	}
16135	ret := &DatafeedstatusesListResponse{
16136		ServerResponse: googleapi.ServerResponse{
16137			Header:         res.Header,
16138			HTTPStatusCode: res.StatusCode,
16139		},
16140	}
16141	target := &ret
16142	if err := gensupport.DecodeResponse(target, res); err != nil {
16143		return nil, err
16144	}
16145	return ret, nil
16146	// {
16147	//   "description": "Lists the statuses of the datafeeds in your Merchant Center account.",
16148	//   "flatPath": "{merchantId}/datafeedstatuses",
16149	//   "httpMethod": "GET",
16150	//   "id": "content.datafeedstatuses.list",
16151	//   "parameterOrder": [
16152	//     "merchantId"
16153	//   ],
16154	//   "parameters": {
16155	//     "maxResults": {
16156	//       "description": "The maximum number of products to return in the response, used for paging.",
16157	//       "format": "uint32",
16158	//       "location": "query",
16159	//       "type": "integer"
16160	//     },
16161	//     "merchantId": {
16162	//       "description": "The ID of the account that manages the datafeeds. This account cannot be a multi-client account.",
16163	//       "format": "uint64",
16164	//       "location": "path",
16165	//       "required": true,
16166	//       "type": "string"
16167	//     },
16168	//     "pageToken": {
16169	//       "description": "The token returned by the previous request.",
16170	//       "location": "query",
16171	//       "type": "string"
16172	//     }
16173	//   },
16174	//   "path": "{merchantId}/datafeedstatuses",
16175	//   "response": {
16176	//     "$ref": "DatafeedstatusesListResponse"
16177	//   },
16178	//   "scopes": [
16179	//     "https://www.googleapis.com/auth/content"
16180	//   ]
16181	// }
16182
16183}
16184
16185// Pages invokes f for each page of results.
16186// A non-nil error returned from f will halt the iteration.
16187// The provided context supersedes any context provided to the Context method.
16188func (c *DatafeedstatusesListCall) Pages(ctx context.Context, f func(*DatafeedstatusesListResponse) error) error {
16189	c.ctx_ = ctx
16190	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16191	for {
16192		x, err := c.Do()
16193		if err != nil {
16194			return err
16195		}
16196		if err := f(x); err != nil {
16197			return err
16198		}
16199		if x.NextPageToken == "" {
16200			return nil
16201		}
16202		c.PageToken(x.NextPageToken)
16203	}
16204}
16205
16206// method id "content.inventory.custombatch":
16207
16208type InventoryCustombatchCall struct {
16209	s                           *APIService
16210	inventorycustombatchrequest *InventoryCustomBatchRequest
16211	urlParams_                  gensupport.URLParams
16212	ctx_                        context.Context
16213	header_                     http.Header
16214}
16215
16216// Custombatch: Updates price and availability for multiple products or
16217// stores in a single request. This operation does not update the
16218// expiration date of the products.
16219func (r *InventoryService) Custombatch(inventorycustombatchrequest *InventoryCustomBatchRequest) *InventoryCustombatchCall {
16220	c := &InventoryCustombatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16221	c.inventorycustombatchrequest = inventorycustombatchrequest
16222	return c
16223}
16224
16225// DryRun sets the optional parameter "dryRun": Flag to simulate a
16226// request like in a live environment. If set to true, dry-run mode
16227// checks the validity of the request and returns errors (if any).
16228func (c *InventoryCustombatchCall) DryRun(dryRun bool) *InventoryCustombatchCall {
16229	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
16230	return c
16231}
16232
16233// Fields allows partial responses to be retrieved. See
16234// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16235// for more information.
16236func (c *InventoryCustombatchCall) Fields(s ...googleapi.Field) *InventoryCustombatchCall {
16237	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16238	return c
16239}
16240
16241// Context sets the context to be used in this call's Do method. Any
16242// pending HTTP request will be aborted if the provided context is
16243// canceled.
16244func (c *InventoryCustombatchCall) Context(ctx context.Context) *InventoryCustombatchCall {
16245	c.ctx_ = ctx
16246	return c
16247}
16248
16249// Header returns an http.Header that can be modified by the caller to
16250// add HTTP headers to the request.
16251func (c *InventoryCustombatchCall) Header() http.Header {
16252	if c.header_ == nil {
16253		c.header_ = make(http.Header)
16254	}
16255	return c.header_
16256}
16257
16258func (c *InventoryCustombatchCall) doRequest(alt string) (*http.Response, error) {
16259	reqHeaders := make(http.Header)
16260	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16261	for k, v := range c.header_ {
16262		reqHeaders[k] = v
16263	}
16264	reqHeaders.Set("User-Agent", c.s.userAgent())
16265	var body io.Reader = nil
16266	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorycustombatchrequest)
16267	if err != nil {
16268		return nil, err
16269	}
16270	reqHeaders.Set("Content-Type", "application/json")
16271	c.urlParams_.Set("alt", alt)
16272	c.urlParams_.Set("prettyPrint", "false")
16273	urls := googleapi.ResolveRelative(c.s.BasePath, "inventory/batch")
16274	urls += "?" + c.urlParams_.Encode()
16275	req, err := http.NewRequest("POST", urls, body)
16276	if err != nil {
16277		return nil, err
16278	}
16279	req.Header = reqHeaders
16280	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16281}
16282
16283// Do executes the "content.inventory.custombatch" call.
16284// Exactly one of *InventoryCustomBatchResponse or error will be
16285// non-nil. Any non-2xx status code is an error. Response headers are in
16286// either *InventoryCustomBatchResponse.ServerResponse.Header or (if a
16287// response was returned at all) in error.(*googleapi.Error).Header. Use
16288// googleapi.IsNotModified to check whether the returned error was
16289// because http.StatusNotModified was returned.
16290func (c *InventoryCustombatchCall) Do(opts ...googleapi.CallOption) (*InventoryCustomBatchResponse, error) {
16291	gensupport.SetOptions(c.urlParams_, opts...)
16292	res, err := c.doRequest("json")
16293	if res != nil && res.StatusCode == http.StatusNotModified {
16294		if res.Body != nil {
16295			res.Body.Close()
16296		}
16297		return nil, &googleapi.Error{
16298			Code:   res.StatusCode,
16299			Header: res.Header,
16300		}
16301	}
16302	if err != nil {
16303		return nil, err
16304	}
16305	defer googleapi.CloseBody(res)
16306	if err := googleapi.CheckResponse(res); err != nil {
16307		return nil, err
16308	}
16309	ret := &InventoryCustomBatchResponse{
16310		ServerResponse: googleapi.ServerResponse{
16311			Header:         res.Header,
16312			HTTPStatusCode: res.StatusCode,
16313		},
16314	}
16315	target := &ret
16316	if err := gensupport.DecodeResponse(target, res); err != nil {
16317		return nil, err
16318	}
16319	return ret, nil
16320	// {
16321	//   "description": "Updates price and availability for multiple products or stores in a single request. This operation does not update the expiration date of the products.",
16322	//   "flatPath": "inventory/batch",
16323	//   "httpMethod": "POST",
16324	//   "id": "content.inventory.custombatch",
16325	//   "parameterOrder": [],
16326	//   "parameters": {
16327	//     "dryRun": {
16328	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
16329	//       "location": "query",
16330	//       "type": "boolean"
16331	//     }
16332	//   },
16333	//   "path": "inventory/batch",
16334	//   "request": {
16335	//     "$ref": "InventoryCustomBatchRequest"
16336	//   },
16337	//   "response": {
16338	//     "$ref": "InventoryCustomBatchResponse"
16339	//   },
16340	//   "scopes": [
16341	//     "https://www.googleapis.com/auth/content"
16342	//   ]
16343	// }
16344
16345}
16346
16347// method id "content.inventory.set":
16348
16349type InventorySetCall struct {
16350	s                   *APIService
16351	merchantId          uint64
16352	storeCode           string
16353	productId           string
16354	inventorysetrequest *InventorySetRequest
16355	urlParams_          gensupport.URLParams
16356	ctx_                context.Context
16357	header_             http.Header
16358}
16359
16360// Set: Updates price and availability of a product in your Merchant
16361// Center account.
16362//
16363// - merchantId: The ID of the account that contains the product. This
16364//   account cannot be a multi-client account.
16365// - productId: The REST ID of the product for which to update price and
16366//   availability.
16367// - storeCode: The code of the store for which to update price and
16368//   availability. Use `online` to update price and availability of an
16369//   online product.
16370func (r *InventoryService) Set(merchantId uint64, storeCode string, productId string, inventorysetrequest *InventorySetRequest) *InventorySetCall {
16371	c := &InventorySetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16372	c.merchantId = merchantId
16373	c.storeCode = storeCode
16374	c.productId = productId
16375	c.inventorysetrequest = inventorysetrequest
16376	return c
16377}
16378
16379// DryRun sets the optional parameter "dryRun": Flag to simulate a
16380// request like in a live environment. If set to true, dry-run mode
16381// checks the validity of the request and returns errors (if any).
16382func (c *InventorySetCall) DryRun(dryRun bool) *InventorySetCall {
16383	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
16384	return c
16385}
16386
16387// Fields allows partial responses to be retrieved. See
16388// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16389// for more information.
16390func (c *InventorySetCall) Fields(s ...googleapi.Field) *InventorySetCall {
16391	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16392	return c
16393}
16394
16395// Context sets the context to be used in this call's Do method. Any
16396// pending HTTP request will be aborted if the provided context is
16397// canceled.
16398func (c *InventorySetCall) Context(ctx context.Context) *InventorySetCall {
16399	c.ctx_ = ctx
16400	return c
16401}
16402
16403// Header returns an http.Header that can be modified by the caller to
16404// add HTTP headers to the request.
16405func (c *InventorySetCall) Header() http.Header {
16406	if c.header_ == nil {
16407		c.header_ = make(http.Header)
16408	}
16409	return c.header_
16410}
16411
16412func (c *InventorySetCall) doRequest(alt string) (*http.Response, error) {
16413	reqHeaders := make(http.Header)
16414	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16415	for k, v := range c.header_ {
16416		reqHeaders[k] = v
16417	}
16418	reqHeaders.Set("User-Agent", c.s.userAgent())
16419	var body io.Reader = nil
16420	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysetrequest)
16421	if err != nil {
16422		return nil, err
16423	}
16424	reqHeaders.Set("Content-Type", "application/json")
16425	c.urlParams_.Set("alt", alt)
16426	c.urlParams_.Set("prettyPrint", "false")
16427	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/inventory/{storeCode}/products/{productId}")
16428	urls += "?" + c.urlParams_.Encode()
16429	req, err := http.NewRequest("POST", urls, body)
16430	if err != nil {
16431		return nil, err
16432	}
16433	req.Header = reqHeaders
16434	googleapi.Expand(req.URL, map[string]string{
16435		"merchantId": strconv.FormatUint(c.merchantId, 10),
16436		"storeCode":  c.storeCode,
16437		"productId":  c.productId,
16438	})
16439	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16440}
16441
16442// Do executes the "content.inventory.set" call.
16443// Exactly one of *InventorySetResponse or error will be non-nil. Any
16444// non-2xx status code is an error. Response headers are in either
16445// *InventorySetResponse.ServerResponse.Header or (if a response was
16446// returned at all) in error.(*googleapi.Error).Header. Use
16447// googleapi.IsNotModified to check whether the returned error was
16448// because http.StatusNotModified was returned.
16449func (c *InventorySetCall) Do(opts ...googleapi.CallOption) (*InventorySetResponse, error) {
16450	gensupport.SetOptions(c.urlParams_, opts...)
16451	res, err := c.doRequest("json")
16452	if res != nil && res.StatusCode == http.StatusNotModified {
16453		if res.Body != nil {
16454			res.Body.Close()
16455		}
16456		return nil, &googleapi.Error{
16457			Code:   res.StatusCode,
16458			Header: res.Header,
16459		}
16460	}
16461	if err != nil {
16462		return nil, err
16463	}
16464	defer googleapi.CloseBody(res)
16465	if err := googleapi.CheckResponse(res); err != nil {
16466		return nil, err
16467	}
16468	ret := &InventorySetResponse{
16469		ServerResponse: googleapi.ServerResponse{
16470			Header:         res.Header,
16471			HTTPStatusCode: res.StatusCode,
16472		},
16473	}
16474	target := &ret
16475	if err := gensupport.DecodeResponse(target, res); err != nil {
16476		return nil, err
16477	}
16478	return ret, nil
16479	// {
16480	//   "description": "Updates price and availability of a product in your Merchant Center account.",
16481	//   "flatPath": "{merchantId}/inventory/{storeCode}/products/{productId}",
16482	//   "httpMethod": "POST",
16483	//   "id": "content.inventory.set",
16484	//   "parameterOrder": [
16485	//     "merchantId",
16486	//     "storeCode",
16487	//     "productId"
16488	//   ],
16489	//   "parameters": {
16490	//     "dryRun": {
16491	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
16492	//       "location": "query",
16493	//       "type": "boolean"
16494	//     },
16495	//     "merchantId": {
16496	//       "description": "The ID of the account that contains the product. This account cannot be a multi-client account.",
16497	//       "format": "uint64",
16498	//       "location": "path",
16499	//       "required": true,
16500	//       "type": "string"
16501	//     },
16502	//     "productId": {
16503	//       "description": "The REST ID of the product for which to update price and availability.",
16504	//       "location": "path",
16505	//       "required": true,
16506	//       "type": "string"
16507	//     },
16508	//     "storeCode": {
16509	//       "description": "The code of the store for which to update price and availability. Use `online` to update price and availability of an online product.",
16510	//       "location": "path",
16511	//       "required": true,
16512	//       "type": "string"
16513	//     }
16514	//   },
16515	//   "path": "{merchantId}/inventory/{storeCode}/products/{productId}",
16516	//   "request": {
16517	//     "$ref": "InventorySetRequest"
16518	//   },
16519	//   "response": {
16520	//     "$ref": "InventorySetResponse"
16521	//   },
16522	//   "scopes": [
16523	//     "https://www.googleapis.com/auth/content"
16524	//   ]
16525	// }
16526
16527}
16528
16529// method id "content.liasettings.custombatch":
16530
16531type LiasettingsCustombatchCall struct {
16532	s                             *APIService
16533	liasettingscustombatchrequest *LiasettingsCustomBatchRequest
16534	urlParams_                    gensupport.URLParams
16535	ctx_                          context.Context
16536	header_                       http.Header
16537}
16538
16539// Custombatch: Retrieves and/or updates the LIA settings of multiple
16540// accounts in a single request.
16541func (r *LiasettingsService) Custombatch(liasettingscustombatchrequest *LiasettingsCustomBatchRequest) *LiasettingsCustombatchCall {
16542	c := &LiasettingsCustombatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16543	c.liasettingscustombatchrequest = liasettingscustombatchrequest
16544	return c
16545}
16546
16547// DryRun sets the optional parameter "dryRun": Flag to simulate a
16548// request like in a live environment. If set to true, dry-run mode
16549// checks the validity of the request and returns errors (if any).
16550func (c *LiasettingsCustombatchCall) DryRun(dryRun bool) *LiasettingsCustombatchCall {
16551	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
16552	return c
16553}
16554
16555// Fields allows partial responses to be retrieved. See
16556// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16557// for more information.
16558func (c *LiasettingsCustombatchCall) Fields(s ...googleapi.Field) *LiasettingsCustombatchCall {
16559	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16560	return c
16561}
16562
16563// Context sets the context to be used in this call's Do method. Any
16564// pending HTTP request will be aborted if the provided context is
16565// canceled.
16566func (c *LiasettingsCustombatchCall) Context(ctx context.Context) *LiasettingsCustombatchCall {
16567	c.ctx_ = ctx
16568	return c
16569}
16570
16571// Header returns an http.Header that can be modified by the caller to
16572// add HTTP headers to the request.
16573func (c *LiasettingsCustombatchCall) Header() http.Header {
16574	if c.header_ == nil {
16575		c.header_ = make(http.Header)
16576	}
16577	return c.header_
16578}
16579
16580func (c *LiasettingsCustombatchCall) doRequest(alt string) (*http.Response, error) {
16581	reqHeaders := make(http.Header)
16582	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16583	for k, v := range c.header_ {
16584		reqHeaders[k] = v
16585	}
16586	reqHeaders.Set("User-Agent", c.s.userAgent())
16587	var body io.Reader = nil
16588	body, err := googleapi.WithoutDataWrapper.JSONReader(c.liasettingscustombatchrequest)
16589	if err != nil {
16590		return nil, err
16591	}
16592	reqHeaders.Set("Content-Type", "application/json")
16593	c.urlParams_.Set("alt", alt)
16594	c.urlParams_.Set("prettyPrint", "false")
16595	urls := googleapi.ResolveRelative(c.s.BasePath, "liasettings/batch")
16596	urls += "?" + c.urlParams_.Encode()
16597	req, err := http.NewRequest("POST", urls, body)
16598	if err != nil {
16599		return nil, err
16600	}
16601	req.Header = reqHeaders
16602	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16603}
16604
16605// Do executes the "content.liasettings.custombatch" call.
16606// Exactly one of *LiasettingsCustomBatchResponse or error will be
16607// non-nil. Any non-2xx status code is an error. Response headers are in
16608// either *LiasettingsCustomBatchResponse.ServerResponse.Header or (if a
16609// response was returned at all) in error.(*googleapi.Error).Header. Use
16610// googleapi.IsNotModified to check whether the returned error was
16611// because http.StatusNotModified was returned.
16612func (c *LiasettingsCustombatchCall) Do(opts ...googleapi.CallOption) (*LiasettingsCustomBatchResponse, error) {
16613	gensupport.SetOptions(c.urlParams_, opts...)
16614	res, err := c.doRequest("json")
16615	if res != nil && res.StatusCode == http.StatusNotModified {
16616		if res.Body != nil {
16617			res.Body.Close()
16618		}
16619		return nil, &googleapi.Error{
16620			Code:   res.StatusCode,
16621			Header: res.Header,
16622		}
16623	}
16624	if err != nil {
16625		return nil, err
16626	}
16627	defer googleapi.CloseBody(res)
16628	if err := googleapi.CheckResponse(res); err != nil {
16629		return nil, err
16630	}
16631	ret := &LiasettingsCustomBatchResponse{
16632		ServerResponse: googleapi.ServerResponse{
16633			Header:         res.Header,
16634			HTTPStatusCode: res.StatusCode,
16635		},
16636	}
16637	target := &ret
16638	if err := gensupport.DecodeResponse(target, res); err != nil {
16639		return nil, err
16640	}
16641	return ret, nil
16642	// {
16643	//   "description": "Retrieves and/or updates the LIA settings of multiple accounts in a single request.",
16644	//   "flatPath": "liasettings/batch",
16645	//   "httpMethod": "POST",
16646	//   "id": "content.liasettings.custombatch",
16647	//   "parameterOrder": [],
16648	//   "parameters": {
16649	//     "dryRun": {
16650	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
16651	//       "location": "query",
16652	//       "type": "boolean"
16653	//     }
16654	//   },
16655	//   "path": "liasettings/batch",
16656	//   "request": {
16657	//     "$ref": "LiasettingsCustomBatchRequest"
16658	//   },
16659	//   "response": {
16660	//     "$ref": "LiasettingsCustomBatchResponse"
16661	//   },
16662	//   "scopes": [
16663	//     "https://www.googleapis.com/auth/content"
16664	//   ]
16665	// }
16666
16667}
16668
16669// method id "content.liasettings.get":
16670
16671type LiasettingsGetCall struct {
16672	s            *APIService
16673	merchantId   uint64
16674	accountId    uint64
16675	urlParams_   gensupport.URLParams
16676	ifNoneMatch_ string
16677	ctx_         context.Context
16678	header_      http.Header
16679}
16680
16681// Get: Retrieves the LIA settings of the account.
16682//
16683// - accountId: The ID of the account for which to get or update LIA
16684//   settings.
16685// - merchantId: The ID of the managing account. If this parameter is
16686//   not the same as accountId, then this account must be a multi-client
16687//   account and `accountId` must be the ID of a sub-account of this
16688//   account.
16689func (r *LiasettingsService) Get(merchantId uint64, accountId uint64) *LiasettingsGetCall {
16690	c := &LiasettingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16691	c.merchantId = merchantId
16692	c.accountId = accountId
16693	return c
16694}
16695
16696// Fields allows partial responses to be retrieved. See
16697// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16698// for more information.
16699func (c *LiasettingsGetCall) Fields(s ...googleapi.Field) *LiasettingsGetCall {
16700	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16701	return c
16702}
16703
16704// IfNoneMatch sets the optional parameter which makes the operation
16705// fail if the object's ETag matches the given value. This is useful for
16706// getting updates only after the object has changed since the last
16707// request. Use googleapi.IsNotModified to check whether the response
16708// error from Do is the result of In-None-Match.
16709func (c *LiasettingsGetCall) IfNoneMatch(entityTag string) *LiasettingsGetCall {
16710	c.ifNoneMatch_ = entityTag
16711	return c
16712}
16713
16714// Context sets the context to be used in this call's Do method. Any
16715// pending HTTP request will be aborted if the provided context is
16716// canceled.
16717func (c *LiasettingsGetCall) Context(ctx context.Context) *LiasettingsGetCall {
16718	c.ctx_ = ctx
16719	return c
16720}
16721
16722// Header returns an http.Header that can be modified by the caller to
16723// add HTTP headers to the request.
16724func (c *LiasettingsGetCall) Header() http.Header {
16725	if c.header_ == nil {
16726		c.header_ = make(http.Header)
16727	}
16728	return c.header_
16729}
16730
16731func (c *LiasettingsGetCall) doRequest(alt string) (*http.Response, error) {
16732	reqHeaders := make(http.Header)
16733	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16734	for k, v := range c.header_ {
16735		reqHeaders[k] = v
16736	}
16737	reqHeaders.Set("User-Agent", c.s.userAgent())
16738	if c.ifNoneMatch_ != "" {
16739		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16740	}
16741	var body io.Reader = nil
16742	c.urlParams_.Set("alt", alt)
16743	c.urlParams_.Set("prettyPrint", "false")
16744	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/liasettings/{accountId}")
16745	urls += "?" + c.urlParams_.Encode()
16746	req, err := http.NewRequest("GET", urls, body)
16747	if err != nil {
16748		return nil, err
16749	}
16750	req.Header = reqHeaders
16751	googleapi.Expand(req.URL, map[string]string{
16752		"merchantId": strconv.FormatUint(c.merchantId, 10),
16753		"accountId":  strconv.FormatUint(c.accountId, 10),
16754	})
16755	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16756}
16757
16758// Do executes the "content.liasettings.get" call.
16759// Exactly one of *LiaSettings or error will be non-nil. Any non-2xx
16760// status code is an error. Response headers are in either
16761// *LiaSettings.ServerResponse.Header or (if a response was returned at
16762// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
16763// to check whether the returned error was because
16764// http.StatusNotModified was returned.
16765func (c *LiasettingsGetCall) Do(opts ...googleapi.CallOption) (*LiaSettings, error) {
16766	gensupport.SetOptions(c.urlParams_, opts...)
16767	res, err := c.doRequest("json")
16768	if res != nil && res.StatusCode == http.StatusNotModified {
16769		if res.Body != nil {
16770			res.Body.Close()
16771		}
16772		return nil, &googleapi.Error{
16773			Code:   res.StatusCode,
16774			Header: res.Header,
16775		}
16776	}
16777	if err != nil {
16778		return nil, err
16779	}
16780	defer googleapi.CloseBody(res)
16781	if err := googleapi.CheckResponse(res); err != nil {
16782		return nil, err
16783	}
16784	ret := &LiaSettings{
16785		ServerResponse: googleapi.ServerResponse{
16786			Header:         res.Header,
16787			HTTPStatusCode: res.StatusCode,
16788		},
16789	}
16790	target := &ret
16791	if err := gensupport.DecodeResponse(target, res); err != nil {
16792		return nil, err
16793	}
16794	return ret, nil
16795	// {
16796	//   "description": "Retrieves the LIA settings of the account.",
16797	//   "flatPath": "{merchantId}/liasettings/{accountId}",
16798	//   "httpMethod": "GET",
16799	//   "id": "content.liasettings.get",
16800	//   "parameterOrder": [
16801	//     "merchantId",
16802	//     "accountId"
16803	//   ],
16804	//   "parameters": {
16805	//     "accountId": {
16806	//       "description": "The ID of the account for which to get or update LIA settings.",
16807	//       "format": "uint64",
16808	//       "location": "path",
16809	//       "required": true,
16810	//       "type": "string"
16811	//     },
16812	//     "merchantId": {
16813	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
16814	//       "format": "uint64",
16815	//       "location": "path",
16816	//       "required": true,
16817	//       "type": "string"
16818	//     }
16819	//   },
16820	//   "path": "{merchantId}/liasettings/{accountId}",
16821	//   "response": {
16822	//     "$ref": "LiaSettings"
16823	//   },
16824	//   "scopes": [
16825	//     "https://www.googleapis.com/auth/content"
16826	//   ]
16827	// }
16828
16829}
16830
16831// method id "content.liasettings.getaccessiblegmbaccounts":
16832
16833type LiasettingsGetaccessiblegmbaccountsCall struct {
16834	s            *APIService
16835	merchantId   uint64
16836	accountId    uint64
16837	urlParams_   gensupport.URLParams
16838	ifNoneMatch_ string
16839	ctx_         context.Context
16840	header_      http.Header
16841}
16842
16843// Getaccessiblegmbaccounts: Retrieves the list of accessible Google My
16844// Business accounts.
16845//
16846// - accountId: The ID of the account for which to retrieve accessible
16847//   Google My Business accounts.
16848// - merchantId: The ID of the managing account. If this parameter is
16849//   not the same as accountId, then this account must be a multi-client
16850//   account and `accountId` must be the ID of a sub-account of this
16851//   account.
16852func (r *LiasettingsService) Getaccessiblegmbaccounts(merchantId uint64, accountId uint64) *LiasettingsGetaccessiblegmbaccountsCall {
16853	c := &LiasettingsGetaccessiblegmbaccountsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16854	c.merchantId = merchantId
16855	c.accountId = accountId
16856	return c
16857}
16858
16859// Fields allows partial responses to be retrieved. See
16860// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16861// for more information.
16862func (c *LiasettingsGetaccessiblegmbaccountsCall) Fields(s ...googleapi.Field) *LiasettingsGetaccessiblegmbaccountsCall {
16863	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16864	return c
16865}
16866
16867// IfNoneMatch sets the optional parameter which makes the operation
16868// fail if the object's ETag matches the given value. This is useful for
16869// getting updates only after the object has changed since the last
16870// request. Use googleapi.IsNotModified to check whether the response
16871// error from Do is the result of In-None-Match.
16872func (c *LiasettingsGetaccessiblegmbaccountsCall) IfNoneMatch(entityTag string) *LiasettingsGetaccessiblegmbaccountsCall {
16873	c.ifNoneMatch_ = entityTag
16874	return c
16875}
16876
16877// Context sets the context to be used in this call's Do method. Any
16878// pending HTTP request will be aborted if the provided context is
16879// canceled.
16880func (c *LiasettingsGetaccessiblegmbaccountsCall) Context(ctx context.Context) *LiasettingsGetaccessiblegmbaccountsCall {
16881	c.ctx_ = ctx
16882	return c
16883}
16884
16885// Header returns an http.Header that can be modified by the caller to
16886// add HTTP headers to the request.
16887func (c *LiasettingsGetaccessiblegmbaccountsCall) Header() http.Header {
16888	if c.header_ == nil {
16889		c.header_ = make(http.Header)
16890	}
16891	return c.header_
16892}
16893
16894func (c *LiasettingsGetaccessiblegmbaccountsCall) doRequest(alt string) (*http.Response, error) {
16895	reqHeaders := make(http.Header)
16896	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16897	for k, v := range c.header_ {
16898		reqHeaders[k] = v
16899	}
16900	reqHeaders.Set("User-Agent", c.s.userAgent())
16901	if c.ifNoneMatch_ != "" {
16902		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16903	}
16904	var body io.Reader = nil
16905	c.urlParams_.Set("alt", alt)
16906	c.urlParams_.Set("prettyPrint", "false")
16907	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/liasettings/{accountId}/accessiblegmbaccounts")
16908	urls += "?" + c.urlParams_.Encode()
16909	req, err := http.NewRequest("GET", urls, body)
16910	if err != nil {
16911		return nil, err
16912	}
16913	req.Header = reqHeaders
16914	googleapi.Expand(req.URL, map[string]string{
16915		"merchantId": strconv.FormatUint(c.merchantId, 10),
16916		"accountId":  strconv.FormatUint(c.accountId, 10),
16917	})
16918	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16919}
16920
16921// Do executes the "content.liasettings.getaccessiblegmbaccounts" call.
16922// Exactly one of *LiasettingsGetAccessibleGmbAccountsResponse or error
16923// will be non-nil. Any non-2xx status code is an error. Response
16924// headers are in either
16925// *LiasettingsGetAccessibleGmbAccountsResponse.ServerResponse.Header or
16926// (if a response was returned at all) in
16927// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16928// whether the returned error was because http.StatusNotModified was
16929// returned.
16930func (c *LiasettingsGetaccessiblegmbaccountsCall) Do(opts ...googleapi.CallOption) (*LiasettingsGetAccessibleGmbAccountsResponse, error) {
16931	gensupport.SetOptions(c.urlParams_, opts...)
16932	res, err := c.doRequest("json")
16933	if res != nil && res.StatusCode == http.StatusNotModified {
16934		if res.Body != nil {
16935			res.Body.Close()
16936		}
16937		return nil, &googleapi.Error{
16938			Code:   res.StatusCode,
16939			Header: res.Header,
16940		}
16941	}
16942	if err != nil {
16943		return nil, err
16944	}
16945	defer googleapi.CloseBody(res)
16946	if err := googleapi.CheckResponse(res); err != nil {
16947		return nil, err
16948	}
16949	ret := &LiasettingsGetAccessibleGmbAccountsResponse{
16950		ServerResponse: googleapi.ServerResponse{
16951			Header:         res.Header,
16952			HTTPStatusCode: res.StatusCode,
16953		},
16954	}
16955	target := &ret
16956	if err := gensupport.DecodeResponse(target, res); err != nil {
16957		return nil, err
16958	}
16959	return ret, nil
16960	// {
16961	//   "description": "Retrieves the list of accessible Google My Business accounts.",
16962	//   "flatPath": "{merchantId}/liasettings/{accountId}/accessiblegmbaccounts",
16963	//   "httpMethod": "GET",
16964	//   "id": "content.liasettings.getaccessiblegmbaccounts",
16965	//   "parameterOrder": [
16966	//     "merchantId",
16967	//     "accountId"
16968	//   ],
16969	//   "parameters": {
16970	//     "accountId": {
16971	//       "description": "The ID of the account for which to retrieve accessible Google My Business accounts.",
16972	//       "format": "uint64",
16973	//       "location": "path",
16974	//       "required": true,
16975	//       "type": "string"
16976	//     },
16977	//     "merchantId": {
16978	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
16979	//       "format": "uint64",
16980	//       "location": "path",
16981	//       "required": true,
16982	//       "type": "string"
16983	//     }
16984	//   },
16985	//   "path": "{merchantId}/liasettings/{accountId}/accessiblegmbaccounts",
16986	//   "response": {
16987	//     "$ref": "LiasettingsGetAccessibleGmbAccountsResponse"
16988	//   },
16989	//   "scopes": [
16990	//     "https://www.googleapis.com/auth/content"
16991	//   ]
16992	// }
16993
16994}
16995
16996// method id "content.liasettings.list":
16997
16998type LiasettingsListCall struct {
16999	s            *APIService
17000	merchantId   uint64
17001	urlParams_   gensupport.URLParams
17002	ifNoneMatch_ string
17003	ctx_         context.Context
17004	header_      http.Header
17005}
17006
17007// List: Lists the LIA settings of the sub-accounts in your Merchant
17008// Center account.
17009//
17010// - merchantId: The ID of the managing account. This must be a
17011//   multi-client account.
17012func (r *LiasettingsService) List(merchantId uint64) *LiasettingsListCall {
17013	c := &LiasettingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17014	c.merchantId = merchantId
17015	return c
17016}
17017
17018// MaxResults sets the optional parameter "maxResults": The maximum
17019// number of LIA settings to return in the response, used for paging.
17020func (c *LiasettingsListCall) MaxResults(maxResults int64) *LiasettingsListCall {
17021	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
17022	return c
17023}
17024
17025// PageToken sets the optional parameter "pageToken": The token returned
17026// by the previous request.
17027func (c *LiasettingsListCall) PageToken(pageToken string) *LiasettingsListCall {
17028	c.urlParams_.Set("pageToken", pageToken)
17029	return c
17030}
17031
17032// Fields allows partial responses to be retrieved. See
17033// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17034// for more information.
17035func (c *LiasettingsListCall) Fields(s ...googleapi.Field) *LiasettingsListCall {
17036	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17037	return c
17038}
17039
17040// IfNoneMatch sets the optional parameter which makes the operation
17041// fail if the object's ETag matches the given value. This is useful for
17042// getting updates only after the object has changed since the last
17043// request. Use googleapi.IsNotModified to check whether the response
17044// error from Do is the result of In-None-Match.
17045func (c *LiasettingsListCall) IfNoneMatch(entityTag string) *LiasettingsListCall {
17046	c.ifNoneMatch_ = entityTag
17047	return c
17048}
17049
17050// Context sets the context to be used in this call's Do method. Any
17051// pending HTTP request will be aborted if the provided context is
17052// canceled.
17053func (c *LiasettingsListCall) Context(ctx context.Context) *LiasettingsListCall {
17054	c.ctx_ = ctx
17055	return c
17056}
17057
17058// Header returns an http.Header that can be modified by the caller to
17059// add HTTP headers to the request.
17060func (c *LiasettingsListCall) Header() http.Header {
17061	if c.header_ == nil {
17062		c.header_ = make(http.Header)
17063	}
17064	return c.header_
17065}
17066
17067func (c *LiasettingsListCall) doRequest(alt string) (*http.Response, error) {
17068	reqHeaders := make(http.Header)
17069	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17070	for k, v := range c.header_ {
17071		reqHeaders[k] = v
17072	}
17073	reqHeaders.Set("User-Agent", c.s.userAgent())
17074	if c.ifNoneMatch_ != "" {
17075		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17076	}
17077	var body io.Reader = nil
17078	c.urlParams_.Set("alt", alt)
17079	c.urlParams_.Set("prettyPrint", "false")
17080	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/liasettings")
17081	urls += "?" + c.urlParams_.Encode()
17082	req, err := http.NewRequest("GET", urls, body)
17083	if err != nil {
17084		return nil, err
17085	}
17086	req.Header = reqHeaders
17087	googleapi.Expand(req.URL, map[string]string{
17088		"merchantId": strconv.FormatUint(c.merchantId, 10),
17089	})
17090	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17091}
17092
17093// Do executes the "content.liasettings.list" call.
17094// Exactly one of *LiasettingsListResponse or error will be non-nil. Any
17095// non-2xx status code is an error. Response headers are in either
17096// *LiasettingsListResponse.ServerResponse.Header or (if a response was
17097// returned at all) in error.(*googleapi.Error).Header. Use
17098// googleapi.IsNotModified to check whether the returned error was
17099// because http.StatusNotModified was returned.
17100func (c *LiasettingsListCall) Do(opts ...googleapi.CallOption) (*LiasettingsListResponse, error) {
17101	gensupport.SetOptions(c.urlParams_, opts...)
17102	res, err := c.doRequest("json")
17103	if res != nil && res.StatusCode == http.StatusNotModified {
17104		if res.Body != nil {
17105			res.Body.Close()
17106		}
17107		return nil, &googleapi.Error{
17108			Code:   res.StatusCode,
17109			Header: res.Header,
17110		}
17111	}
17112	if err != nil {
17113		return nil, err
17114	}
17115	defer googleapi.CloseBody(res)
17116	if err := googleapi.CheckResponse(res); err != nil {
17117		return nil, err
17118	}
17119	ret := &LiasettingsListResponse{
17120		ServerResponse: googleapi.ServerResponse{
17121			Header:         res.Header,
17122			HTTPStatusCode: res.StatusCode,
17123		},
17124	}
17125	target := &ret
17126	if err := gensupport.DecodeResponse(target, res); err != nil {
17127		return nil, err
17128	}
17129	return ret, nil
17130	// {
17131	//   "description": "Lists the LIA settings of the sub-accounts in your Merchant Center account.",
17132	//   "flatPath": "{merchantId}/liasettings",
17133	//   "httpMethod": "GET",
17134	//   "id": "content.liasettings.list",
17135	//   "parameterOrder": [
17136	//     "merchantId"
17137	//   ],
17138	//   "parameters": {
17139	//     "maxResults": {
17140	//       "description": "The maximum number of LIA settings to return in the response, used for paging.",
17141	//       "format": "uint32",
17142	//       "location": "query",
17143	//       "type": "integer"
17144	//     },
17145	//     "merchantId": {
17146	//       "description": "The ID of the managing account. This must be a multi-client account.",
17147	//       "format": "uint64",
17148	//       "location": "path",
17149	//       "required": true,
17150	//       "type": "string"
17151	//     },
17152	//     "pageToken": {
17153	//       "description": "The token returned by the previous request.",
17154	//       "location": "query",
17155	//       "type": "string"
17156	//     }
17157	//   },
17158	//   "path": "{merchantId}/liasettings",
17159	//   "response": {
17160	//     "$ref": "LiasettingsListResponse"
17161	//   },
17162	//   "scopes": [
17163	//     "https://www.googleapis.com/auth/content"
17164	//   ]
17165	// }
17166
17167}
17168
17169// Pages invokes f for each page of results.
17170// A non-nil error returned from f will halt the iteration.
17171// The provided context supersedes any context provided to the Context method.
17172func (c *LiasettingsListCall) Pages(ctx context.Context, f func(*LiasettingsListResponse) error) error {
17173	c.ctx_ = ctx
17174	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17175	for {
17176		x, err := c.Do()
17177		if err != nil {
17178			return err
17179		}
17180		if err := f(x); err != nil {
17181			return err
17182		}
17183		if x.NextPageToken == "" {
17184			return nil
17185		}
17186		c.PageToken(x.NextPageToken)
17187	}
17188}
17189
17190// method id "content.liasettings.listposdataproviders":
17191
17192type LiasettingsListposdataprovidersCall struct {
17193	s            *APIService
17194	urlParams_   gensupport.URLParams
17195	ifNoneMatch_ string
17196	ctx_         context.Context
17197	header_      http.Header
17198}
17199
17200// Listposdataproviders: Retrieves the list of POS data providers that
17201// have active settings for the all eiligible countries.
17202func (r *LiasettingsService) Listposdataproviders() *LiasettingsListposdataprovidersCall {
17203	c := &LiasettingsListposdataprovidersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17204	return c
17205}
17206
17207// Fields allows partial responses to be retrieved. See
17208// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17209// for more information.
17210func (c *LiasettingsListposdataprovidersCall) Fields(s ...googleapi.Field) *LiasettingsListposdataprovidersCall {
17211	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17212	return c
17213}
17214
17215// IfNoneMatch sets the optional parameter which makes the operation
17216// fail if the object's ETag matches the given value. This is useful for
17217// getting updates only after the object has changed since the last
17218// request. Use googleapi.IsNotModified to check whether the response
17219// error from Do is the result of In-None-Match.
17220func (c *LiasettingsListposdataprovidersCall) IfNoneMatch(entityTag string) *LiasettingsListposdataprovidersCall {
17221	c.ifNoneMatch_ = entityTag
17222	return c
17223}
17224
17225// Context sets the context to be used in this call's Do method. Any
17226// pending HTTP request will be aborted if the provided context is
17227// canceled.
17228func (c *LiasettingsListposdataprovidersCall) Context(ctx context.Context) *LiasettingsListposdataprovidersCall {
17229	c.ctx_ = ctx
17230	return c
17231}
17232
17233// Header returns an http.Header that can be modified by the caller to
17234// add HTTP headers to the request.
17235func (c *LiasettingsListposdataprovidersCall) Header() http.Header {
17236	if c.header_ == nil {
17237		c.header_ = make(http.Header)
17238	}
17239	return c.header_
17240}
17241
17242func (c *LiasettingsListposdataprovidersCall) doRequest(alt string) (*http.Response, error) {
17243	reqHeaders := make(http.Header)
17244	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17245	for k, v := range c.header_ {
17246		reqHeaders[k] = v
17247	}
17248	reqHeaders.Set("User-Agent", c.s.userAgent())
17249	if c.ifNoneMatch_ != "" {
17250		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17251	}
17252	var body io.Reader = nil
17253	c.urlParams_.Set("alt", alt)
17254	c.urlParams_.Set("prettyPrint", "false")
17255	urls := googleapi.ResolveRelative(c.s.BasePath, "liasettings/posdataproviders")
17256	urls += "?" + c.urlParams_.Encode()
17257	req, err := http.NewRequest("GET", urls, body)
17258	if err != nil {
17259		return nil, err
17260	}
17261	req.Header = reqHeaders
17262	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17263}
17264
17265// Do executes the "content.liasettings.listposdataproviders" call.
17266// Exactly one of *LiasettingsListPosDataProvidersResponse or error will
17267// be non-nil. Any non-2xx status code is an error. Response headers are
17268// in either
17269// *LiasettingsListPosDataProvidersResponse.ServerResponse.Header or (if
17270// a response was returned at all) in error.(*googleapi.Error).Header.
17271// Use googleapi.IsNotModified to check whether the returned error was
17272// because http.StatusNotModified was returned.
17273func (c *LiasettingsListposdataprovidersCall) Do(opts ...googleapi.CallOption) (*LiasettingsListPosDataProvidersResponse, error) {
17274	gensupport.SetOptions(c.urlParams_, opts...)
17275	res, err := c.doRequest("json")
17276	if res != nil && res.StatusCode == http.StatusNotModified {
17277		if res.Body != nil {
17278			res.Body.Close()
17279		}
17280		return nil, &googleapi.Error{
17281			Code:   res.StatusCode,
17282			Header: res.Header,
17283		}
17284	}
17285	if err != nil {
17286		return nil, err
17287	}
17288	defer googleapi.CloseBody(res)
17289	if err := googleapi.CheckResponse(res); err != nil {
17290		return nil, err
17291	}
17292	ret := &LiasettingsListPosDataProvidersResponse{
17293		ServerResponse: googleapi.ServerResponse{
17294			Header:         res.Header,
17295			HTTPStatusCode: res.StatusCode,
17296		},
17297	}
17298	target := &ret
17299	if err := gensupport.DecodeResponse(target, res); err != nil {
17300		return nil, err
17301	}
17302	return ret, nil
17303	// {
17304	//   "description": "Retrieves the list of POS data providers that have active settings for the all eiligible countries.",
17305	//   "flatPath": "liasettings/posdataproviders",
17306	//   "httpMethod": "GET",
17307	//   "id": "content.liasettings.listposdataproviders",
17308	//   "parameterOrder": [],
17309	//   "parameters": {},
17310	//   "path": "liasettings/posdataproviders",
17311	//   "response": {
17312	//     "$ref": "LiasettingsListPosDataProvidersResponse"
17313	//   },
17314	//   "scopes": [
17315	//     "https://www.googleapis.com/auth/content"
17316	//   ]
17317	// }
17318
17319}
17320
17321// method id "content.liasettings.requestgmbaccess":
17322
17323type LiasettingsRequestgmbaccessCall struct {
17324	s          *APIService
17325	merchantId uint64
17326	accountId  uint64
17327	urlParams_ gensupport.URLParams
17328	ctx_       context.Context
17329	header_    http.Header
17330}
17331
17332// Requestgmbaccess: Requests access to a specified Google My Business
17333// account.
17334//
17335// - accountId: The ID of the account for which GMB access is requested.
17336// - gmbEmail: The email of the Google My Business account.
17337// - merchantId: The ID of the managing account. If this parameter is
17338//   not the same as accountId, then this account must be a multi-client
17339//   account and `accountId` must be the ID of a sub-account of this
17340//   account.
17341func (r *LiasettingsService) Requestgmbaccess(merchantId uint64, accountId uint64, gmbEmail string) *LiasettingsRequestgmbaccessCall {
17342	c := &LiasettingsRequestgmbaccessCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17343	c.merchantId = merchantId
17344	c.accountId = accountId
17345	c.urlParams_.Set("gmbEmail", gmbEmail)
17346	return c
17347}
17348
17349// Fields allows partial responses to be retrieved. See
17350// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17351// for more information.
17352func (c *LiasettingsRequestgmbaccessCall) Fields(s ...googleapi.Field) *LiasettingsRequestgmbaccessCall {
17353	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17354	return c
17355}
17356
17357// Context sets the context to be used in this call's Do method. Any
17358// pending HTTP request will be aborted if the provided context is
17359// canceled.
17360func (c *LiasettingsRequestgmbaccessCall) Context(ctx context.Context) *LiasettingsRequestgmbaccessCall {
17361	c.ctx_ = ctx
17362	return c
17363}
17364
17365// Header returns an http.Header that can be modified by the caller to
17366// add HTTP headers to the request.
17367func (c *LiasettingsRequestgmbaccessCall) Header() http.Header {
17368	if c.header_ == nil {
17369		c.header_ = make(http.Header)
17370	}
17371	return c.header_
17372}
17373
17374func (c *LiasettingsRequestgmbaccessCall) doRequest(alt string) (*http.Response, error) {
17375	reqHeaders := make(http.Header)
17376	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17377	for k, v := range c.header_ {
17378		reqHeaders[k] = v
17379	}
17380	reqHeaders.Set("User-Agent", c.s.userAgent())
17381	var body io.Reader = nil
17382	c.urlParams_.Set("alt", alt)
17383	c.urlParams_.Set("prettyPrint", "false")
17384	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/liasettings/{accountId}/requestgmbaccess")
17385	urls += "?" + c.urlParams_.Encode()
17386	req, err := http.NewRequest("POST", urls, body)
17387	if err != nil {
17388		return nil, err
17389	}
17390	req.Header = reqHeaders
17391	googleapi.Expand(req.URL, map[string]string{
17392		"merchantId": strconv.FormatUint(c.merchantId, 10),
17393		"accountId":  strconv.FormatUint(c.accountId, 10),
17394	})
17395	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17396}
17397
17398// Do executes the "content.liasettings.requestgmbaccess" call.
17399// Exactly one of *LiasettingsRequestGmbAccessResponse or error will be
17400// non-nil. Any non-2xx status code is an error. Response headers are in
17401// either *LiasettingsRequestGmbAccessResponse.ServerResponse.Header or
17402// (if a response was returned at all) in
17403// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17404// whether the returned error was because http.StatusNotModified was
17405// returned.
17406func (c *LiasettingsRequestgmbaccessCall) Do(opts ...googleapi.CallOption) (*LiasettingsRequestGmbAccessResponse, error) {
17407	gensupport.SetOptions(c.urlParams_, opts...)
17408	res, err := c.doRequest("json")
17409	if res != nil && res.StatusCode == http.StatusNotModified {
17410		if res.Body != nil {
17411			res.Body.Close()
17412		}
17413		return nil, &googleapi.Error{
17414			Code:   res.StatusCode,
17415			Header: res.Header,
17416		}
17417	}
17418	if err != nil {
17419		return nil, err
17420	}
17421	defer googleapi.CloseBody(res)
17422	if err := googleapi.CheckResponse(res); err != nil {
17423		return nil, err
17424	}
17425	ret := &LiasettingsRequestGmbAccessResponse{
17426		ServerResponse: googleapi.ServerResponse{
17427			Header:         res.Header,
17428			HTTPStatusCode: res.StatusCode,
17429		},
17430	}
17431	target := &ret
17432	if err := gensupport.DecodeResponse(target, res); err != nil {
17433		return nil, err
17434	}
17435	return ret, nil
17436	// {
17437	//   "description": "Requests access to a specified Google My Business account.",
17438	//   "flatPath": "{merchantId}/liasettings/{accountId}/requestgmbaccess",
17439	//   "httpMethod": "POST",
17440	//   "id": "content.liasettings.requestgmbaccess",
17441	//   "parameterOrder": [
17442	//     "merchantId",
17443	//     "accountId",
17444	//     "gmbEmail"
17445	//   ],
17446	//   "parameters": {
17447	//     "accountId": {
17448	//       "description": "The ID of the account for which GMB access is requested.",
17449	//       "format": "uint64",
17450	//       "location": "path",
17451	//       "required": true,
17452	//       "type": "string"
17453	//     },
17454	//     "gmbEmail": {
17455	//       "description": "The email of the Google My Business account.",
17456	//       "location": "query",
17457	//       "required": true,
17458	//       "type": "string"
17459	//     },
17460	//     "merchantId": {
17461	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
17462	//       "format": "uint64",
17463	//       "location": "path",
17464	//       "required": true,
17465	//       "type": "string"
17466	//     }
17467	//   },
17468	//   "path": "{merchantId}/liasettings/{accountId}/requestgmbaccess",
17469	//   "response": {
17470	//     "$ref": "LiasettingsRequestGmbAccessResponse"
17471	//   },
17472	//   "scopes": [
17473	//     "https://www.googleapis.com/auth/content"
17474	//   ]
17475	// }
17476
17477}
17478
17479// method id "content.liasettings.requestinventoryverification":
17480
17481type LiasettingsRequestinventoryverificationCall struct {
17482	s          *APIService
17483	merchantId uint64
17484	accountId  uint64
17485	country    string
17486	urlParams_ gensupport.URLParams
17487	ctx_       context.Context
17488	header_    http.Header
17489}
17490
17491// Requestinventoryverification: Requests inventory validation for the
17492// specified country.
17493//
17494// - accountId: The ID of the account that manages the order. This
17495//   cannot be a multi-client account.
17496// - country: The country for which inventory validation is requested.
17497// - merchantId: The ID of the managing account. If this parameter is
17498//   not the same as accountId, then this account must be a multi-client
17499//   account and `accountId` must be the ID of a sub-account of this
17500//   account.
17501func (r *LiasettingsService) Requestinventoryverification(merchantId uint64, accountId uint64, country string) *LiasettingsRequestinventoryverificationCall {
17502	c := &LiasettingsRequestinventoryverificationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17503	c.merchantId = merchantId
17504	c.accountId = accountId
17505	c.country = country
17506	return c
17507}
17508
17509// Fields allows partial responses to be retrieved. See
17510// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17511// for more information.
17512func (c *LiasettingsRequestinventoryverificationCall) Fields(s ...googleapi.Field) *LiasettingsRequestinventoryverificationCall {
17513	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17514	return c
17515}
17516
17517// Context sets the context to be used in this call's Do method. Any
17518// pending HTTP request will be aborted if the provided context is
17519// canceled.
17520func (c *LiasettingsRequestinventoryverificationCall) Context(ctx context.Context) *LiasettingsRequestinventoryverificationCall {
17521	c.ctx_ = ctx
17522	return c
17523}
17524
17525// Header returns an http.Header that can be modified by the caller to
17526// add HTTP headers to the request.
17527func (c *LiasettingsRequestinventoryverificationCall) Header() http.Header {
17528	if c.header_ == nil {
17529		c.header_ = make(http.Header)
17530	}
17531	return c.header_
17532}
17533
17534func (c *LiasettingsRequestinventoryverificationCall) doRequest(alt string) (*http.Response, error) {
17535	reqHeaders := make(http.Header)
17536	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17537	for k, v := range c.header_ {
17538		reqHeaders[k] = v
17539	}
17540	reqHeaders.Set("User-Agent", c.s.userAgent())
17541	var body io.Reader = nil
17542	c.urlParams_.Set("alt", alt)
17543	c.urlParams_.Set("prettyPrint", "false")
17544	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/liasettings/{accountId}/requestinventoryverification/{country}")
17545	urls += "?" + c.urlParams_.Encode()
17546	req, err := http.NewRequest("POST", urls, body)
17547	if err != nil {
17548		return nil, err
17549	}
17550	req.Header = reqHeaders
17551	googleapi.Expand(req.URL, map[string]string{
17552		"merchantId": strconv.FormatUint(c.merchantId, 10),
17553		"accountId":  strconv.FormatUint(c.accountId, 10),
17554		"country":    c.country,
17555	})
17556	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17557}
17558
17559// Do executes the "content.liasettings.requestinventoryverification" call.
17560// Exactly one of *LiasettingsRequestInventoryVerificationResponse or
17561// error will be non-nil. Any non-2xx status code is an error. Response
17562// headers are in either
17563// *LiasettingsRequestInventoryVerificationResponse.ServerResponse.Header
17564//  or (if a response was returned at all) in
17565// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17566// whether the returned error was because http.StatusNotModified was
17567// returned.
17568func (c *LiasettingsRequestinventoryverificationCall) Do(opts ...googleapi.CallOption) (*LiasettingsRequestInventoryVerificationResponse, error) {
17569	gensupport.SetOptions(c.urlParams_, opts...)
17570	res, err := c.doRequest("json")
17571	if res != nil && res.StatusCode == http.StatusNotModified {
17572		if res.Body != nil {
17573			res.Body.Close()
17574		}
17575		return nil, &googleapi.Error{
17576			Code:   res.StatusCode,
17577			Header: res.Header,
17578		}
17579	}
17580	if err != nil {
17581		return nil, err
17582	}
17583	defer googleapi.CloseBody(res)
17584	if err := googleapi.CheckResponse(res); err != nil {
17585		return nil, err
17586	}
17587	ret := &LiasettingsRequestInventoryVerificationResponse{
17588		ServerResponse: googleapi.ServerResponse{
17589			Header:         res.Header,
17590			HTTPStatusCode: res.StatusCode,
17591		},
17592	}
17593	target := &ret
17594	if err := gensupport.DecodeResponse(target, res); err != nil {
17595		return nil, err
17596	}
17597	return ret, nil
17598	// {
17599	//   "description": "Requests inventory validation for the specified country.",
17600	//   "flatPath": "{merchantId}/liasettings/{accountId}/requestinventoryverification/{country}",
17601	//   "httpMethod": "POST",
17602	//   "id": "content.liasettings.requestinventoryverification",
17603	//   "parameterOrder": [
17604	//     "merchantId",
17605	//     "accountId",
17606	//     "country"
17607	//   ],
17608	//   "parameters": {
17609	//     "accountId": {
17610	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
17611	//       "format": "uint64",
17612	//       "location": "path",
17613	//       "required": true,
17614	//       "type": "string"
17615	//     },
17616	//     "country": {
17617	//       "description": "The country for which inventory validation is requested.",
17618	//       "location": "path",
17619	//       "required": true,
17620	//       "type": "string"
17621	//     },
17622	//     "merchantId": {
17623	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
17624	//       "format": "uint64",
17625	//       "location": "path",
17626	//       "required": true,
17627	//       "type": "string"
17628	//     }
17629	//   },
17630	//   "path": "{merchantId}/liasettings/{accountId}/requestinventoryverification/{country}",
17631	//   "response": {
17632	//     "$ref": "LiasettingsRequestInventoryVerificationResponse"
17633	//   },
17634	//   "scopes": [
17635	//     "https://www.googleapis.com/auth/content"
17636	//   ]
17637	// }
17638
17639}
17640
17641// method id "content.liasettings.setinventoryverificationcontact":
17642
17643type LiasettingsSetinventoryverificationcontactCall struct {
17644	s          *APIService
17645	merchantId uint64
17646	accountId  uint64
17647	urlParams_ gensupport.URLParams
17648	ctx_       context.Context
17649	header_    http.Header
17650}
17651
17652// Setinventoryverificationcontact: Sets the inventory verification
17653// contract for the specified country.
17654//
17655// - accountId: The ID of the account that manages the order. This
17656//   cannot be a multi-client account.
17657// - contactEmail: The email of the inventory verification contact.
17658// - contactName: The name of the inventory verification contact.
17659// - country: The country for which inventory verification is requested.
17660// - language: The language for which inventory verification is
17661//   requested.
17662// - merchantId: The ID of the managing account. If this parameter is
17663//   not the same as accountId, then this account must be a multi-client
17664//   account and `accountId` must be the ID of a sub-account of this
17665//   account.
17666func (r *LiasettingsService) Setinventoryverificationcontact(merchantId uint64, accountId uint64, country string, language string, contactName string, contactEmail string) *LiasettingsSetinventoryverificationcontactCall {
17667	c := &LiasettingsSetinventoryverificationcontactCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17668	c.merchantId = merchantId
17669	c.accountId = accountId
17670	c.urlParams_.Set("country", country)
17671	c.urlParams_.Set("language", language)
17672	c.urlParams_.Set("contactName", contactName)
17673	c.urlParams_.Set("contactEmail", contactEmail)
17674	return c
17675}
17676
17677// Fields allows partial responses to be retrieved. See
17678// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17679// for more information.
17680func (c *LiasettingsSetinventoryverificationcontactCall) Fields(s ...googleapi.Field) *LiasettingsSetinventoryverificationcontactCall {
17681	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17682	return c
17683}
17684
17685// Context sets the context to be used in this call's Do method. Any
17686// pending HTTP request will be aborted if the provided context is
17687// canceled.
17688func (c *LiasettingsSetinventoryverificationcontactCall) Context(ctx context.Context) *LiasettingsSetinventoryverificationcontactCall {
17689	c.ctx_ = ctx
17690	return c
17691}
17692
17693// Header returns an http.Header that can be modified by the caller to
17694// add HTTP headers to the request.
17695func (c *LiasettingsSetinventoryverificationcontactCall) Header() http.Header {
17696	if c.header_ == nil {
17697		c.header_ = make(http.Header)
17698	}
17699	return c.header_
17700}
17701
17702func (c *LiasettingsSetinventoryverificationcontactCall) doRequest(alt string) (*http.Response, error) {
17703	reqHeaders := make(http.Header)
17704	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17705	for k, v := range c.header_ {
17706		reqHeaders[k] = v
17707	}
17708	reqHeaders.Set("User-Agent", c.s.userAgent())
17709	var body io.Reader = nil
17710	c.urlParams_.Set("alt", alt)
17711	c.urlParams_.Set("prettyPrint", "false")
17712	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/liasettings/{accountId}/setinventoryverificationcontact")
17713	urls += "?" + c.urlParams_.Encode()
17714	req, err := http.NewRequest("POST", urls, body)
17715	if err != nil {
17716		return nil, err
17717	}
17718	req.Header = reqHeaders
17719	googleapi.Expand(req.URL, map[string]string{
17720		"merchantId": strconv.FormatUint(c.merchantId, 10),
17721		"accountId":  strconv.FormatUint(c.accountId, 10),
17722	})
17723	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17724}
17725
17726// Do executes the "content.liasettings.setinventoryverificationcontact" call.
17727// Exactly one of *LiasettingsSetInventoryVerificationContactResponse or
17728// error will be non-nil. Any non-2xx status code is an error. Response
17729// headers are in either
17730// *LiasettingsSetInventoryVerificationContactResponse.ServerResponse.Hea
17731// der or (if a response was returned at all) in
17732// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17733// whether the returned error was because http.StatusNotModified was
17734// returned.
17735func (c *LiasettingsSetinventoryverificationcontactCall) Do(opts ...googleapi.CallOption) (*LiasettingsSetInventoryVerificationContactResponse, error) {
17736	gensupport.SetOptions(c.urlParams_, opts...)
17737	res, err := c.doRequest("json")
17738	if res != nil && res.StatusCode == http.StatusNotModified {
17739		if res.Body != nil {
17740			res.Body.Close()
17741		}
17742		return nil, &googleapi.Error{
17743			Code:   res.StatusCode,
17744			Header: res.Header,
17745		}
17746	}
17747	if err != nil {
17748		return nil, err
17749	}
17750	defer googleapi.CloseBody(res)
17751	if err := googleapi.CheckResponse(res); err != nil {
17752		return nil, err
17753	}
17754	ret := &LiasettingsSetInventoryVerificationContactResponse{
17755		ServerResponse: googleapi.ServerResponse{
17756			Header:         res.Header,
17757			HTTPStatusCode: res.StatusCode,
17758		},
17759	}
17760	target := &ret
17761	if err := gensupport.DecodeResponse(target, res); err != nil {
17762		return nil, err
17763	}
17764	return ret, nil
17765	// {
17766	//   "description": "Sets the inventory verification contract for the specified country.",
17767	//   "flatPath": "{merchantId}/liasettings/{accountId}/setinventoryverificationcontact",
17768	//   "httpMethod": "POST",
17769	//   "id": "content.liasettings.setinventoryverificationcontact",
17770	//   "parameterOrder": [
17771	//     "merchantId",
17772	//     "accountId",
17773	//     "country",
17774	//     "language",
17775	//     "contactName",
17776	//     "contactEmail"
17777	//   ],
17778	//   "parameters": {
17779	//     "accountId": {
17780	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
17781	//       "format": "uint64",
17782	//       "location": "path",
17783	//       "required": true,
17784	//       "type": "string"
17785	//     },
17786	//     "contactEmail": {
17787	//       "description": "The email of the inventory verification contact.",
17788	//       "location": "query",
17789	//       "required": true,
17790	//       "type": "string"
17791	//     },
17792	//     "contactName": {
17793	//       "description": "The name of the inventory verification contact.",
17794	//       "location": "query",
17795	//       "required": true,
17796	//       "type": "string"
17797	//     },
17798	//     "country": {
17799	//       "description": "The country for which inventory verification is requested.",
17800	//       "location": "query",
17801	//       "required": true,
17802	//       "type": "string"
17803	//     },
17804	//     "language": {
17805	//       "description": "The language for which inventory verification is requested.",
17806	//       "location": "query",
17807	//       "required": true,
17808	//       "type": "string"
17809	//     },
17810	//     "merchantId": {
17811	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
17812	//       "format": "uint64",
17813	//       "location": "path",
17814	//       "required": true,
17815	//       "type": "string"
17816	//     }
17817	//   },
17818	//   "path": "{merchantId}/liasettings/{accountId}/setinventoryverificationcontact",
17819	//   "response": {
17820	//     "$ref": "LiasettingsSetInventoryVerificationContactResponse"
17821	//   },
17822	//   "scopes": [
17823	//     "https://www.googleapis.com/auth/content"
17824	//   ]
17825	// }
17826
17827}
17828
17829// method id "content.liasettings.setposdataprovider":
17830
17831type LiasettingsSetposdataproviderCall struct {
17832	s          *APIService
17833	merchantId uint64
17834	accountId  uint64
17835	urlParams_ gensupport.URLParams
17836	ctx_       context.Context
17837	header_    http.Header
17838}
17839
17840// Setposdataprovider: Sets the POS data provider for the specified
17841// country.
17842//
17843// - accountId: The ID of the account for which to retrieve accessible
17844//   Google My Business accounts.
17845// - country: The country for which the POS data provider is selected.
17846// - merchantId: The ID of the managing account. If this parameter is
17847//   not the same as accountId, then this account must be a multi-client
17848//   account and `accountId` must be the ID of a sub-account of this
17849//   account.
17850func (r *LiasettingsService) Setposdataprovider(merchantId uint64, accountId uint64, country string) *LiasettingsSetposdataproviderCall {
17851	c := &LiasettingsSetposdataproviderCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17852	c.merchantId = merchantId
17853	c.accountId = accountId
17854	c.urlParams_.Set("country", country)
17855	return c
17856}
17857
17858// PosDataProviderId sets the optional parameter "posDataProviderId":
17859// The ID of POS data provider.
17860func (c *LiasettingsSetposdataproviderCall) PosDataProviderId(posDataProviderId uint64) *LiasettingsSetposdataproviderCall {
17861	c.urlParams_.Set("posDataProviderId", fmt.Sprint(posDataProviderId))
17862	return c
17863}
17864
17865// PosExternalAccountId sets the optional parameter
17866// "posExternalAccountId": The account ID by which this merchant is
17867// known to the POS data provider.
17868func (c *LiasettingsSetposdataproviderCall) PosExternalAccountId(posExternalAccountId string) *LiasettingsSetposdataproviderCall {
17869	c.urlParams_.Set("posExternalAccountId", posExternalAccountId)
17870	return c
17871}
17872
17873// Fields allows partial responses to be retrieved. See
17874// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17875// for more information.
17876func (c *LiasettingsSetposdataproviderCall) Fields(s ...googleapi.Field) *LiasettingsSetposdataproviderCall {
17877	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17878	return c
17879}
17880
17881// Context sets the context to be used in this call's Do method. Any
17882// pending HTTP request will be aborted if the provided context is
17883// canceled.
17884func (c *LiasettingsSetposdataproviderCall) Context(ctx context.Context) *LiasettingsSetposdataproviderCall {
17885	c.ctx_ = ctx
17886	return c
17887}
17888
17889// Header returns an http.Header that can be modified by the caller to
17890// add HTTP headers to the request.
17891func (c *LiasettingsSetposdataproviderCall) Header() http.Header {
17892	if c.header_ == nil {
17893		c.header_ = make(http.Header)
17894	}
17895	return c.header_
17896}
17897
17898func (c *LiasettingsSetposdataproviderCall) doRequest(alt string) (*http.Response, error) {
17899	reqHeaders := make(http.Header)
17900	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17901	for k, v := range c.header_ {
17902		reqHeaders[k] = v
17903	}
17904	reqHeaders.Set("User-Agent", c.s.userAgent())
17905	var body io.Reader = nil
17906	c.urlParams_.Set("alt", alt)
17907	c.urlParams_.Set("prettyPrint", "false")
17908	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/liasettings/{accountId}/setposdataprovider")
17909	urls += "?" + c.urlParams_.Encode()
17910	req, err := http.NewRequest("POST", urls, body)
17911	if err != nil {
17912		return nil, err
17913	}
17914	req.Header = reqHeaders
17915	googleapi.Expand(req.URL, map[string]string{
17916		"merchantId": strconv.FormatUint(c.merchantId, 10),
17917		"accountId":  strconv.FormatUint(c.accountId, 10),
17918	})
17919	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17920}
17921
17922// Do executes the "content.liasettings.setposdataprovider" call.
17923// Exactly one of *LiasettingsSetPosDataProviderResponse or error will
17924// be non-nil. Any non-2xx status code is an error. Response headers are
17925// in either
17926// *LiasettingsSetPosDataProviderResponse.ServerResponse.Header or (if a
17927// response was returned at all) in error.(*googleapi.Error).Header. Use
17928// googleapi.IsNotModified to check whether the returned error was
17929// because http.StatusNotModified was returned.
17930func (c *LiasettingsSetposdataproviderCall) Do(opts ...googleapi.CallOption) (*LiasettingsSetPosDataProviderResponse, error) {
17931	gensupport.SetOptions(c.urlParams_, opts...)
17932	res, err := c.doRequest("json")
17933	if res != nil && res.StatusCode == http.StatusNotModified {
17934		if res.Body != nil {
17935			res.Body.Close()
17936		}
17937		return nil, &googleapi.Error{
17938			Code:   res.StatusCode,
17939			Header: res.Header,
17940		}
17941	}
17942	if err != nil {
17943		return nil, err
17944	}
17945	defer googleapi.CloseBody(res)
17946	if err := googleapi.CheckResponse(res); err != nil {
17947		return nil, err
17948	}
17949	ret := &LiasettingsSetPosDataProviderResponse{
17950		ServerResponse: googleapi.ServerResponse{
17951			Header:         res.Header,
17952			HTTPStatusCode: res.StatusCode,
17953		},
17954	}
17955	target := &ret
17956	if err := gensupport.DecodeResponse(target, res); err != nil {
17957		return nil, err
17958	}
17959	return ret, nil
17960	// {
17961	//   "description": "Sets the POS data provider for the specified country.",
17962	//   "flatPath": "{merchantId}/liasettings/{accountId}/setposdataprovider",
17963	//   "httpMethod": "POST",
17964	//   "id": "content.liasettings.setposdataprovider",
17965	//   "parameterOrder": [
17966	//     "merchantId",
17967	//     "accountId",
17968	//     "country"
17969	//   ],
17970	//   "parameters": {
17971	//     "accountId": {
17972	//       "description": "The ID of the account for which to retrieve accessible Google My Business accounts.",
17973	//       "format": "uint64",
17974	//       "location": "path",
17975	//       "required": true,
17976	//       "type": "string"
17977	//     },
17978	//     "country": {
17979	//       "description": "The country for which the POS data provider is selected.",
17980	//       "location": "query",
17981	//       "required": true,
17982	//       "type": "string"
17983	//     },
17984	//     "merchantId": {
17985	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
17986	//       "format": "uint64",
17987	//       "location": "path",
17988	//       "required": true,
17989	//       "type": "string"
17990	//     },
17991	//     "posDataProviderId": {
17992	//       "description": "The ID of POS data provider.",
17993	//       "format": "uint64",
17994	//       "location": "query",
17995	//       "type": "string"
17996	//     },
17997	//     "posExternalAccountId": {
17998	//       "description": "The account ID by which this merchant is known to the POS data provider.",
17999	//       "location": "query",
18000	//       "type": "string"
18001	//     }
18002	//   },
18003	//   "path": "{merchantId}/liasettings/{accountId}/setposdataprovider",
18004	//   "response": {
18005	//     "$ref": "LiasettingsSetPosDataProviderResponse"
18006	//   },
18007	//   "scopes": [
18008	//     "https://www.googleapis.com/auth/content"
18009	//   ]
18010	// }
18011
18012}
18013
18014// method id "content.liasettings.update":
18015
18016type LiasettingsUpdateCall struct {
18017	s           *APIService
18018	merchantId  uint64
18019	accountId   uint64
18020	liasettings *LiaSettings
18021	urlParams_  gensupport.URLParams
18022	ctx_        context.Context
18023	header_     http.Header
18024}
18025
18026// Update: Updates the LIA settings of the account. Any fields that are
18027// not provided are deleted from the resource.
18028//
18029// - accountId: The ID of the account for which to get or update LIA
18030//   settings.
18031// - merchantId: The ID of the managing account. If this parameter is
18032//   not the same as accountId, then this account must be a multi-client
18033//   account and `accountId` must be the ID of a sub-account of this
18034//   account.
18035func (r *LiasettingsService) Update(merchantId uint64, accountId uint64, liasettings *LiaSettings) *LiasettingsUpdateCall {
18036	c := &LiasettingsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18037	c.merchantId = merchantId
18038	c.accountId = accountId
18039	c.liasettings = liasettings
18040	return c
18041}
18042
18043// DryRun sets the optional parameter "dryRun": Flag to simulate a
18044// request like in a live environment. If set to true, dry-run mode
18045// checks the validity of the request and returns errors (if any).
18046func (c *LiasettingsUpdateCall) DryRun(dryRun bool) *LiasettingsUpdateCall {
18047	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
18048	return c
18049}
18050
18051// Fields allows partial responses to be retrieved. See
18052// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18053// for more information.
18054func (c *LiasettingsUpdateCall) Fields(s ...googleapi.Field) *LiasettingsUpdateCall {
18055	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18056	return c
18057}
18058
18059// Context sets the context to be used in this call's Do method. Any
18060// pending HTTP request will be aborted if the provided context is
18061// canceled.
18062func (c *LiasettingsUpdateCall) Context(ctx context.Context) *LiasettingsUpdateCall {
18063	c.ctx_ = ctx
18064	return c
18065}
18066
18067// Header returns an http.Header that can be modified by the caller to
18068// add HTTP headers to the request.
18069func (c *LiasettingsUpdateCall) Header() http.Header {
18070	if c.header_ == nil {
18071		c.header_ = make(http.Header)
18072	}
18073	return c.header_
18074}
18075
18076func (c *LiasettingsUpdateCall) doRequest(alt string) (*http.Response, error) {
18077	reqHeaders := make(http.Header)
18078	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18079	for k, v := range c.header_ {
18080		reqHeaders[k] = v
18081	}
18082	reqHeaders.Set("User-Agent", c.s.userAgent())
18083	var body io.Reader = nil
18084	body, err := googleapi.WithoutDataWrapper.JSONReader(c.liasettings)
18085	if err != nil {
18086		return nil, err
18087	}
18088	reqHeaders.Set("Content-Type", "application/json")
18089	c.urlParams_.Set("alt", alt)
18090	c.urlParams_.Set("prettyPrint", "false")
18091	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/liasettings/{accountId}")
18092	urls += "?" + c.urlParams_.Encode()
18093	req, err := http.NewRequest("PUT", urls, body)
18094	if err != nil {
18095		return nil, err
18096	}
18097	req.Header = reqHeaders
18098	googleapi.Expand(req.URL, map[string]string{
18099		"merchantId": strconv.FormatUint(c.merchantId, 10),
18100		"accountId":  strconv.FormatUint(c.accountId, 10),
18101	})
18102	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18103}
18104
18105// Do executes the "content.liasettings.update" call.
18106// Exactly one of *LiaSettings or error will be non-nil. Any non-2xx
18107// status code is an error. Response headers are in either
18108// *LiaSettings.ServerResponse.Header or (if a response was returned at
18109// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18110// to check whether the returned error was because
18111// http.StatusNotModified was returned.
18112func (c *LiasettingsUpdateCall) Do(opts ...googleapi.CallOption) (*LiaSettings, error) {
18113	gensupport.SetOptions(c.urlParams_, opts...)
18114	res, err := c.doRequest("json")
18115	if res != nil && res.StatusCode == http.StatusNotModified {
18116		if res.Body != nil {
18117			res.Body.Close()
18118		}
18119		return nil, &googleapi.Error{
18120			Code:   res.StatusCode,
18121			Header: res.Header,
18122		}
18123	}
18124	if err != nil {
18125		return nil, err
18126	}
18127	defer googleapi.CloseBody(res)
18128	if err := googleapi.CheckResponse(res); err != nil {
18129		return nil, err
18130	}
18131	ret := &LiaSettings{
18132		ServerResponse: googleapi.ServerResponse{
18133			Header:         res.Header,
18134			HTTPStatusCode: res.StatusCode,
18135		},
18136	}
18137	target := &ret
18138	if err := gensupport.DecodeResponse(target, res); err != nil {
18139		return nil, err
18140	}
18141	return ret, nil
18142	// {
18143	//   "description": "Updates the LIA settings of the account. Any fields that are not provided are deleted from the resource.",
18144	//   "flatPath": "{merchantId}/liasettings/{accountId}",
18145	//   "httpMethod": "PUT",
18146	//   "id": "content.liasettings.update",
18147	//   "parameterOrder": [
18148	//     "merchantId",
18149	//     "accountId"
18150	//   ],
18151	//   "parameters": {
18152	//     "accountId": {
18153	//       "description": "The ID of the account for which to get or update LIA settings.",
18154	//       "format": "uint64",
18155	//       "location": "path",
18156	//       "required": true,
18157	//       "type": "string"
18158	//     },
18159	//     "dryRun": {
18160	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
18161	//       "location": "query",
18162	//       "type": "boolean"
18163	//     },
18164	//     "merchantId": {
18165	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
18166	//       "format": "uint64",
18167	//       "location": "path",
18168	//       "required": true,
18169	//       "type": "string"
18170	//     }
18171	//   },
18172	//   "path": "{merchantId}/liasettings/{accountId}",
18173	//   "request": {
18174	//     "$ref": "LiaSettings"
18175	//   },
18176	//   "response": {
18177	//     "$ref": "LiaSettings"
18178	//   },
18179	//   "scopes": [
18180	//     "https://www.googleapis.com/auth/content"
18181	//   ]
18182	// }
18183
18184}
18185
18186// method id "content.orderinvoices.createchargeinvoice":
18187
18188type OrderinvoicesCreatechargeinvoiceCall struct {
18189	s                                       *APIService
18190	merchantId                              uint64
18191	orderId                                 string
18192	orderinvoicescreatechargeinvoicerequest *OrderinvoicesCreateChargeInvoiceRequest
18193	urlParams_                              gensupport.URLParams
18194	ctx_                                    context.Context
18195	header_                                 http.Header
18196}
18197
18198// Createchargeinvoice: Creates a charge invoice for a shipment group,
18199// and triggers a charge capture for orderinvoice enabled orders.
18200//
18201// - merchantId: The ID of the account that manages the order. This
18202//   cannot be a multi-client account.
18203// - orderId: The ID of the order.
18204func (r *OrderinvoicesService) Createchargeinvoice(merchantId uint64, orderId string, orderinvoicescreatechargeinvoicerequest *OrderinvoicesCreateChargeInvoiceRequest) *OrderinvoicesCreatechargeinvoiceCall {
18205	c := &OrderinvoicesCreatechargeinvoiceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18206	c.merchantId = merchantId
18207	c.orderId = orderId
18208	c.orderinvoicescreatechargeinvoicerequest = orderinvoicescreatechargeinvoicerequest
18209	return c
18210}
18211
18212// Fields allows partial responses to be retrieved. See
18213// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18214// for more information.
18215func (c *OrderinvoicesCreatechargeinvoiceCall) Fields(s ...googleapi.Field) *OrderinvoicesCreatechargeinvoiceCall {
18216	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18217	return c
18218}
18219
18220// Context sets the context to be used in this call's Do method. Any
18221// pending HTTP request will be aborted if the provided context is
18222// canceled.
18223func (c *OrderinvoicesCreatechargeinvoiceCall) Context(ctx context.Context) *OrderinvoicesCreatechargeinvoiceCall {
18224	c.ctx_ = ctx
18225	return c
18226}
18227
18228// Header returns an http.Header that can be modified by the caller to
18229// add HTTP headers to the request.
18230func (c *OrderinvoicesCreatechargeinvoiceCall) Header() http.Header {
18231	if c.header_ == nil {
18232		c.header_ = make(http.Header)
18233	}
18234	return c.header_
18235}
18236
18237func (c *OrderinvoicesCreatechargeinvoiceCall) doRequest(alt string) (*http.Response, error) {
18238	reqHeaders := make(http.Header)
18239	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18240	for k, v := range c.header_ {
18241		reqHeaders[k] = v
18242	}
18243	reqHeaders.Set("User-Agent", c.s.userAgent())
18244	var body io.Reader = nil
18245	body, err := googleapi.WithoutDataWrapper.JSONReader(c.orderinvoicescreatechargeinvoicerequest)
18246	if err != nil {
18247		return nil, err
18248	}
18249	reqHeaders.Set("Content-Type", "application/json")
18250	c.urlParams_.Set("alt", alt)
18251	c.urlParams_.Set("prettyPrint", "false")
18252	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orderinvoices/{orderId}/createChargeInvoice")
18253	urls += "?" + c.urlParams_.Encode()
18254	req, err := http.NewRequest("POST", urls, body)
18255	if err != nil {
18256		return nil, err
18257	}
18258	req.Header = reqHeaders
18259	googleapi.Expand(req.URL, map[string]string{
18260		"merchantId": strconv.FormatUint(c.merchantId, 10),
18261		"orderId":    c.orderId,
18262	})
18263	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18264}
18265
18266// Do executes the "content.orderinvoices.createchargeinvoice" call.
18267// Exactly one of *OrderinvoicesCreateChargeInvoiceResponse or error
18268// will be non-nil. Any non-2xx status code is an error. Response
18269// headers are in either
18270// *OrderinvoicesCreateChargeInvoiceResponse.ServerResponse.Header or
18271// (if a response was returned at all) in
18272// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18273// whether the returned error was because http.StatusNotModified was
18274// returned.
18275func (c *OrderinvoicesCreatechargeinvoiceCall) Do(opts ...googleapi.CallOption) (*OrderinvoicesCreateChargeInvoiceResponse, error) {
18276	gensupport.SetOptions(c.urlParams_, opts...)
18277	res, err := c.doRequest("json")
18278	if res != nil && res.StatusCode == http.StatusNotModified {
18279		if res.Body != nil {
18280			res.Body.Close()
18281		}
18282		return nil, &googleapi.Error{
18283			Code:   res.StatusCode,
18284			Header: res.Header,
18285		}
18286	}
18287	if err != nil {
18288		return nil, err
18289	}
18290	defer googleapi.CloseBody(res)
18291	if err := googleapi.CheckResponse(res); err != nil {
18292		return nil, err
18293	}
18294	ret := &OrderinvoicesCreateChargeInvoiceResponse{
18295		ServerResponse: googleapi.ServerResponse{
18296			Header:         res.Header,
18297			HTTPStatusCode: res.StatusCode,
18298		},
18299	}
18300	target := &ret
18301	if err := gensupport.DecodeResponse(target, res); err != nil {
18302		return nil, err
18303	}
18304	return ret, nil
18305	// {
18306	//   "description": "Creates a charge invoice for a shipment group, and triggers a charge capture for orderinvoice enabled orders.",
18307	//   "flatPath": "{merchantId}/orderinvoices/{orderId}/createChargeInvoice",
18308	//   "httpMethod": "POST",
18309	//   "id": "content.orderinvoices.createchargeinvoice",
18310	//   "parameterOrder": [
18311	//     "merchantId",
18312	//     "orderId"
18313	//   ],
18314	//   "parameters": {
18315	//     "merchantId": {
18316	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
18317	//       "format": "uint64",
18318	//       "location": "path",
18319	//       "required": true,
18320	//       "type": "string"
18321	//     },
18322	//     "orderId": {
18323	//       "description": "The ID of the order.",
18324	//       "location": "path",
18325	//       "required": true,
18326	//       "type": "string"
18327	//     }
18328	//   },
18329	//   "path": "{merchantId}/orderinvoices/{orderId}/createChargeInvoice",
18330	//   "request": {
18331	//     "$ref": "OrderinvoicesCreateChargeInvoiceRequest"
18332	//   },
18333	//   "response": {
18334	//     "$ref": "OrderinvoicesCreateChargeInvoiceResponse"
18335	//   },
18336	//   "scopes": [
18337	//     "https://www.googleapis.com/auth/content"
18338	//   ]
18339	// }
18340
18341}
18342
18343// method id "content.orderinvoices.createrefundinvoice":
18344
18345type OrderinvoicesCreaterefundinvoiceCall struct {
18346	s                                       *APIService
18347	merchantId                              uint64
18348	orderId                                 string
18349	orderinvoicescreaterefundinvoicerequest *OrderinvoicesCreateRefundInvoiceRequest
18350	urlParams_                              gensupport.URLParams
18351	ctx_                                    context.Context
18352	header_                                 http.Header
18353}
18354
18355// Createrefundinvoice: Creates a refund invoice for one or more
18356// shipment groups, and triggers a refund for orderinvoice enabled
18357// orders. This can only be used for line items that have previously
18358// been charged using `createChargeInvoice`. All amounts (except for the
18359// summary) are incremental with respect to the previous invoice.
18360//
18361// - merchantId: The ID of the account that manages the order. This
18362//   cannot be a multi-client account.
18363// - orderId: The ID of the order.
18364func (r *OrderinvoicesService) Createrefundinvoice(merchantId uint64, orderId string, orderinvoicescreaterefundinvoicerequest *OrderinvoicesCreateRefundInvoiceRequest) *OrderinvoicesCreaterefundinvoiceCall {
18365	c := &OrderinvoicesCreaterefundinvoiceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18366	c.merchantId = merchantId
18367	c.orderId = orderId
18368	c.orderinvoicescreaterefundinvoicerequest = orderinvoicescreaterefundinvoicerequest
18369	return c
18370}
18371
18372// Fields allows partial responses to be retrieved. See
18373// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18374// for more information.
18375func (c *OrderinvoicesCreaterefundinvoiceCall) Fields(s ...googleapi.Field) *OrderinvoicesCreaterefundinvoiceCall {
18376	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18377	return c
18378}
18379
18380// Context sets the context to be used in this call's Do method. Any
18381// pending HTTP request will be aborted if the provided context is
18382// canceled.
18383func (c *OrderinvoicesCreaterefundinvoiceCall) Context(ctx context.Context) *OrderinvoicesCreaterefundinvoiceCall {
18384	c.ctx_ = ctx
18385	return c
18386}
18387
18388// Header returns an http.Header that can be modified by the caller to
18389// add HTTP headers to the request.
18390func (c *OrderinvoicesCreaterefundinvoiceCall) Header() http.Header {
18391	if c.header_ == nil {
18392		c.header_ = make(http.Header)
18393	}
18394	return c.header_
18395}
18396
18397func (c *OrderinvoicesCreaterefundinvoiceCall) doRequest(alt string) (*http.Response, error) {
18398	reqHeaders := make(http.Header)
18399	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18400	for k, v := range c.header_ {
18401		reqHeaders[k] = v
18402	}
18403	reqHeaders.Set("User-Agent", c.s.userAgent())
18404	var body io.Reader = nil
18405	body, err := googleapi.WithoutDataWrapper.JSONReader(c.orderinvoicescreaterefundinvoicerequest)
18406	if err != nil {
18407		return nil, err
18408	}
18409	reqHeaders.Set("Content-Type", "application/json")
18410	c.urlParams_.Set("alt", alt)
18411	c.urlParams_.Set("prettyPrint", "false")
18412	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orderinvoices/{orderId}/createRefundInvoice")
18413	urls += "?" + c.urlParams_.Encode()
18414	req, err := http.NewRequest("POST", urls, body)
18415	if err != nil {
18416		return nil, err
18417	}
18418	req.Header = reqHeaders
18419	googleapi.Expand(req.URL, map[string]string{
18420		"merchantId": strconv.FormatUint(c.merchantId, 10),
18421		"orderId":    c.orderId,
18422	})
18423	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18424}
18425
18426// Do executes the "content.orderinvoices.createrefundinvoice" call.
18427// Exactly one of *OrderinvoicesCreateRefundInvoiceResponse or error
18428// will be non-nil. Any non-2xx status code is an error. Response
18429// headers are in either
18430// *OrderinvoicesCreateRefundInvoiceResponse.ServerResponse.Header or
18431// (if a response was returned at all) in
18432// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18433// whether the returned error was because http.StatusNotModified was
18434// returned.
18435func (c *OrderinvoicesCreaterefundinvoiceCall) Do(opts ...googleapi.CallOption) (*OrderinvoicesCreateRefundInvoiceResponse, error) {
18436	gensupport.SetOptions(c.urlParams_, opts...)
18437	res, err := c.doRequest("json")
18438	if res != nil && res.StatusCode == http.StatusNotModified {
18439		if res.Body != nil {
18440			res.Body.Close()
18441		}
18442		return nil, &googleapi.Error{
18443			Code:   res.StatusCode,
18444			Header: res.Header,
18445		}
18446	}
18447	if err != nil {
18448		return nil, err
18449	}
18450	defer googleapi.CloseBody(res)
18451	if err := googleapi.CheckResponse(res); err != nil {
18452		return nil, err
18453	}
18454	ret := &OrderinvoicesCreateRefundInvoiceResponse{
18455		ServerResponse: googleapi.ServerResponse{
18456			Header:         res.Header,
18457			HTTPStatusCode: res.StatusCode,
18458		},
18459	}
18460	target := &ret
18461	if err := gensupport.DecodeResponse(target, res); err != nil {
18462		return nil, err
18463	}
18464	return ret, nil
18465	// {
18466	//   "description": "Creates a refund invoice for one or more shipment groups, and triggers a refund for orderinvoice enabled orders. This can only be used for line items that have previously been charged using `createChargeInvoice`. All amounts (except for the summary) are incremental with respect to the previous invoice.",
18467	//   "flatPath": "{merchantId}/orderinvoices/{orderId}/createRefundInvoice",
18468	//   "httpMethod": "POST",
18469	//   "id": "content.orderinvoices.createrefundinvoice",
18470	//   "parameterOrder": [
18471	//     "merchantId",
18472	//     "orderId"
18473	//   ],
18474	//   "parameters": {
18475	//     "merchantId": {
18476	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
18477	//       "format": "uint64",
18478	//       "location": "path",
18479	//       "required": true,
18480	//       "type": "string"
18481	//     },
18482	//     "orderId": {
18483	//       "description": "The ID of the order.",
18484	//       "location": "path",
18485	//       "required": true,
18486	//       "type": "string"
18487	//     }
18488	//   },
18489	//   "path": "{merchantId}/orderinvoices/{orderId}/createRefundInvoice",
18490	//   "request": {
18491	//     "$ref": "OrderinvoicesCreateRefundInvoiceRequest"
18492	//   },
18493	//   "response": {
18494	//     "$ref": "OrderinvoicesCreateRefundInvoiceResponse"
18495	//   },
18496	//   "scopes": [
18497	//     "https://www.googleapis.com/auth/content"
18498	//   ]
18499	// }
18500
18501}
18502
18503// method id "content.orderreports.listdisbursements":
18504
18505type OrderreportsListdisbursementsCall struct {
18506	s            *APIService
18507	merchantId   uint64
18508	urlParams_   gensupport.URLParams
18509	ifNoneMatch_ string
18510	ctx_         context.Context
18511	header_      http.Header
18512}
18513
18514// Listdisbursements: Retrieves a report for disbursements from your
18515// Merchant Center account.
18516//
18517// - merchantId: The ID of the account that manages the order. This
18518//   cannot be a multi-client account.
18519func (r *OrderreportsService) Listdisbursements(merchantId uint64) *OrderreportsListdisbursementsCall {
18520	c := &OrderreportsListdisbursementsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18521	c.merchantId = merchantId
18522	return c
18523}
18524
18525// DisbursementEndDate sets the optional parameter
18526// "disbursementEndDate": The last date which disbursements occurred. In
18527// ISO 8601 format. Default: current date.
18528func (c *OrderreportsListdisbursementsCall) DisbursementEndDate(disbursementEndDate string) *OrderreportsListdisbursementsCall {
18529	c.urlParams_.Set("disbursementEndDate", disbursementEndDate)
18530	return c
18531}
18532
18533// DisbursementStartDate sets the optional parameter
18534// "disbursementStartDate": The first date which disbursements occurred.
18535// In ISO 8601 format.
18536func (c *OrderreportsListdisbursementsCall) DisbursementStartDate(disbursementStartDate string) *OrderreportsListdisbursementsCall {
18537	c.urlParams_.Set("disbursementStartDate", disbursementStartDate)
18538	return c
18539}
18540
18541// MaxResults sets the optional parameter "maxResults": The maximum
18542// number of disbursements to return in the response, used for paging.
18543func (c *OrderreportsListdisbursementsCall) MaxResults(maxResults int64) *OrderreportsListdisbursementsCall {
18544	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
18545	return c
18546}
18547
18548// PageToken sets the optional parameter "pageToken": The token returned
18549// by the previous request.
18550func (c *OrderreportsListdisbursementsCall) PageToken(pageToken string) *OrderreportsListdisbursementsCall {
18551	c.urlParams_.Set("pageToken", pageToken)
18552	return c
18553}
18554
18555// Fields allows partial responses to be retrieved. See
18556// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18557// for more information.
18558func (c *OrderreportsListdisbursementsCall) Fields(s ...googleapi.Field) *OrderreportsListdisbursementsCall {
18559	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18560	return c
18561}
18562
18563// IfNoneMatch sets the optional parameter which makes the operation
18564// fail if the object's ETag matches the given value. This is useful for
18565// getting updates only after the object has changed since the last
18566// request. Use googleapi.IsNotModified to check whether the response
18567// error from Do is the result of In-None-Match.
18568func (c *OrderreportsListdisbursementsCall) IfNoneMatch(entityTag string) *OrderreportsListdisbursementsCall {
18569	c.ifNoneMatch_ = entityTag
18570	return c
18571}
18572
18573// Context sets the context to be used in this call's Do method. Any
18574// pending HTTP request will be aborted if the provided context is
18575// canceled.
18576func (c *OrderreportsListdisbursementsCall) Context(ctx context.Context) *OrderreportsListdisbursementsCall {
18577	c.ctx_ = ctx
18578	return c
18579}
18580
18581// Header returns an http.Header that can be modified by the caller to
18582// add HTTP headers to the request.
18583func (c *OrderreportsListdisbursementsCall) Header() http.Header {
18584	if c.header_ == nil {
18585		c.header_ = make(http.Header)
18586	}
18587	return c.header_
18588}
18589
18590func (c *OrderreportsListdisbursementsCall) doRequest(alt string) (*http.Response, error) {
18591	reqHeaders := make(http.Header)
18592	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18593	for k, v := range c.header_ {
18594		reqHeaders[k] = v
18595	}
18596	reqHeaders.Set("User-Agent", c.s.userAgent())
18597	if c.ifNoneMatch_ != "" {
18598		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18599	}
18600	var body io.Reader = nil
18601	c.urlParams_.Set("alt", alt)
18602	c.urlParams_.Set("prettyPrint", "false")
18603	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orderreports/disbursements")
18604	urls += "?" + c.urlParams_.Encode()
18605	req, err := http.NewRequest("GET", urls, body)
18606	if err != nil {
18607		return nil, err
18608	}
18609	req.Header = reqHeaders
18610	googleapi.Expand(req.URL, map[string]string{
18611		"merchantId": strconv.FormatUint(c.merchantId, 10),
18612	})
18613	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18614}
18615
18616// Do executes the "content.orderreports.listdisbursements" call.
18617// Exactly one of *OrderreportsListDisbursementsResponse or error will
18618// be non-nil. Any non-2xx status code is an error. Response headers are
18619// in either
18620// *OrderreportsListDisbursementsResponse.ServerResponse.Header or (if a
18621// response was returned at all) in error.(*googleapi.Error).Header. Use
18622// googleapi.IsNotModified to check whether the returned error was
18623// because http.StatusNotModified was returned.
18624func (c *OrderreportsListdisbursementsCall) Do(opts ...googleapi.CallOption) (*OrderreportsListDisbursementsResponse, error) {
18625	gensupport.SetOptions(c.urlParams_, opts...)
18626	res, err := c.doRequest("json")
18627	if res != nil && res.StatusCode == http.StatusNotModified {
18628		if res.Body != nil {
18629			res.Body.Close()
18630		}
18631		return nil, &googleapi.Error{
18632			Code:   res.StatusCode,
18633			Header: res.Header,
18634		}
18635	}
18636	if err != nil {
18637		return nil, err
18638	}
18639	defer googleapi.CloseBody(res)
18640	if err := googleapi.CheckResponse(res); err != nil {
18641		return nil, err
18642	}
18643	ret := &OrderreportsListDisbursementsResponse{
18644		ServerResponse: googleapi.ServerResponse{
18645			Header:         res.Header,
18646			HTTPStatusCode: res.StatusCode,
18647		},
18648	}
18649	target := &ret
18650	if err := gensupport.DecodeResponse(target, res); err != nil {
18651		return nil, err
18652	}
18653	return ret, nil
18654	// {
18655	//   "description": "Retrieves a report for disbursements from your Merchant Center account.",
18656	//   "flatPath": "{merchantId}/orderreports/disbursements",
18657	//   "httpMethod": "GET",
18658	//   "id": "content.orderreports.listdisbursements",
18659	//   "parameterOrder": [
18660	//     "merchantId"
18661	//   ],
18662	//   "parameters": {
18663	//     "disbursementEndDate": {
18664	//       "description": "The last date which disbursements occurred. In ISO 8601 format. Default: current date.",
18665	//       "location": "query",
18666	//       "type": "string"
18667	//     },
18668	//     "disbursementStartDate": {
18669	//       "description": "The first date which disbursements occurred. In ISO 8601 format.",
18670	//       "location": "query",
18671	//       "type": "string"
18672	//     },
18673	//     "maxResults": {
18674	//       "description": "The maximum number of disbursements to return in the response, used for paging.",
18675	//       "format": "uint32",
18676	//       "location": "query",
18677	//       "type": "integer"
18678	//     },
18679	//     "merchantId": {
18680	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
18681	//       "format": "uint64",
18682	//       "location": "path",
18683	//       "required": true,
18684	//       "type": "string"
18685	//     },
18686	//     "pageToken": {
18687	//       "description": "The token returned by the previous request.",
18688	//       "location": "query",
18689	//       "type": "string"
18690	//     }
18691	//   },
18692	//   "path": "{merchantId}/orderreports/disbursements",
18693	//   "response": {
18694	//     "$ref": "OrderreportsListDisbursementsResponse"
18695	//   },
18696	//   "scopes": [
18697	//     "https://www.googleapis.com/auth/content"
18698	//   ]
18699	// }
18700
18701}
18702
18703// Pages invokes f for each page of results.
18704// A non-nil error returned from f will halt the iteration.
18705// The provided context supersedes any context provided to the Context method.
18706func (c *OrderreportsListdisbursementsCall) Pages(ctx context.Context, f func(*OrderreportsListDisbursementsResponse) error) error {
18707	c.ctx_ = ctx
18708	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18709	for {
18710		x, err := c.Do()
18711		if err != nil {
18712			return err
18713		}
18714		if err := f(x); err != nil {
18715			return err
18716		}
18717		if x.NextPageToken == "" {
18718			return nil
18719		}
18720		c.PageToken(x.NextPageToken)
18721	}
18722}
18723
18724// method id "content.orderreports.listtransactions":
18725
18726type OrderreportsListtransactionsCall struct {
18727	s              *APIService
18728	merchantId     uint64
18729	disbursementId string
18730	urlParams_     gensupport.URLParams
18731	ifNoneMatch_   string
18732	ctx_           context.Context
18733	header_        http.Header
18734}
18735
18736// Listtransactions: Retrieves a list of transactions for a disbursement
18737// from your Merchant Center account.
18738//
18739// - disbursementId: The Google-provided ID of the disbursement (found
18740//   in Wallet).
18741// - merchantId: The ID of the account that manages the order. This
18742//   cannot be a multi-client account.
18743func (r *OrderreportsService) Listtransactions(merchantId uint64, disbursementId string) *OrderreportsListtransactionsCall {
18744	c := &OrderreportsListtransactionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18745	c.merchantId = merchantId
18746	c.disbursementId = disbursementId
18747	return c
18748}
18749
18750// MaxResults sets the optional parameter "maxResults": The maximum
18751// number of disbursements to return in the response, used for paging.
18752func (c *OrderreportsListtransactionsCall) MaxResults(maxResults int64) *OrderreportsListtransactionsCall {
18753	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
18754	return c
18755}
18756
18757// PageToken sets the optional parameter "pageToken": The token returned
18758// by the previous request.
18759func (c *OrderreportsListtransactionsCall) PageToken(pageToken string) *OrderreportsListtransactionsCall {
18760	c.urlParams_.Set("pageToken", pageToken)
18761	return c
18762}
18763
18764// TransactionEndDate sets the optional parameter "transactionEndDate":
18765// The last date in which transaction occurred. In ISO 8601 format.
18766// Default: current date.
18767func (c *OrderreportsListtransactionsCall) TransactionEndDate(transactionEndDate string) *OrderreportsListtransactionsCall {
18768	c.urlParams_.Set("transactionEndDate", transactionEndDate)
18769	return c
18770}
18771
18772// TransactionStartDate sets the optional parameter
18773// "transactionStartDate": The first date in which transaction occurred.
18774// In ISO 8601 format.
18775func (c *OrderreportsListtransactionsCall) TransactionStartDate(transactionStartDate string) *OrderreportsListtransactionsCall {
18776	c.urlParams_.Set("transactionStartDate", transactionStartDate)
18777	return c
18778}
18779
18780// Fields allows partial responses to be retrieved. See
18781// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18782// for more information.
18783func (c *OrderreportsListtransactionsCall) Fields(s ...googleapi.Field) *OrderreportsListtransactionsCall {
18784	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18785	return c
18786}
18787
18788// IfNoneMatch sets the optional parameter which makes the operation
18789// fail if the object's ETag matches the given value. This is useful for
18790// getting updates only after the object has changed since the last
18791// request. Use googleapi.IsNotModified to check whether the response
18792// error from Do is the result of In-None-Match.
18793func (c *OrderreportsListtransactionsCall) IfNoneMatch(entityTag string) *OrderreportsListtransactionsCall {
18794	c.ifNoneMatch_ = entityTag
18795	return c
18796}
18797
18798// Context sets the context to be used in this call's Do method. Any
18799// pending HTTP request will be aborted if the provided context is
18800// canceled.
18801func (c *OrderreportsListtransactionsCall) Context(ctx context.Context) *OrderreportsListtransactionsCall {
18802	c.ctx_ = ctx
18803	return c
18804}
18805
18806// Header returns an http.Header that can be modified by the caller to
18807// add HTTP headers to the request.
18808func (c *OrderreportsListtransactionsCall) Header() http.Header {
18809	if c.header_ == nil {
18810		c.header_ = make(http.Header)
18811	}
18812	return c.header_
18813}
18814
18815func (c *OrderreportsListtransactionsCall) doRequest(alt string) (*http.Response, error) {
18816	reqHeaders := make(http.Header)
18817	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18818	for k, v := range c.header_ {
18819		reqHeaders[k] = v
18820	}
18821	reqHeaders.Set("User-Agent", c.s.userAgent())
18822	if c.ifNoneMatch_ != "" {
18823		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18824	}
18825	var body io.Reader = nil
18826	c.urlParams_.Set("alt", alt)
18827	c.urlParams_.Set("prettyPrint", "false")
18828	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orderreports/disbursements/{disbursementId}/transactions")
18829	urls += "?" + c.urlParams_.Encode()
18830	req, err := http.NewRequest("GET", urls, body)
18831	if err != nil {
18832		return nil, err
18833	}
18834	req.Header = reqHeaders
18835	googleapi.Expand(req.URL, map[string]string{
18836		"merchantId":     strconv.FormatUint(c.merchantId, 10),
18837		"disbursementId": c.disbursementId,
18838	})
18839	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18840}
18841
18842// Do executes the "content.orderreports.listtransactions" call.
18843// Exactly one of *OrderreportsListTransactionsResponse or error will be
18844// non-nil. Any non-2xx status code is an error. Response headers are in
18845// either *OrderreportsListTransactionsResponse.ServerResponse.Header or
18846// (if a response was returned at all) in
18847// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18848// whether the returned error was because http.StatusNotModified was
18849// returned.
18850func (c *OrderreportsListtransactionsCall) Do(opts ...googleapi.CallOption) (*OrderreportsListTransactionsResponse, error) {
18851	gensupport.SetOptions(c.urlParams_, opts...)
18852	res, err := c.doRequest("json")
18853	if res != nil && res.StatusCode == http.StatusNotModified {
18854		if res.Body != nil {
18855			res.Body.Close()
18856		}
18857		return nil, &googleapi.Error{
18858			Code:   res.StatusCode,
18859			Header: res.Header,
18860		}
18861	}
18862	if err != nil {
18863		return nil, err
18864	}
18865	defer googleapi.CloseBody(res)
18866	if err := googleapi.CheckResponse(res); err != nil {
18867		return nil, err
18868	}
18869	ret := &OrderreportsListTransactionsResponse{
18870		ServerResponse: googleapi.ServerResponse{
18871			Header:         res.Header,
18872			HTTPStatusCode: res.StatusCode,
18873		},
18874	}
18875	target := &ret
18876	if err := gensupport.DecodeResponse(target, res); err != nil {
18877		return nil, err
18878	}
18879	return ret, nil
18880	// {
18881	//   "description": "Retrieves a list of transactions for a disbursement from your Merchant Center account.",
18882	//   "flatPath": "{merchantId}/orderreports/disbursements/{disbursementId}/transactions",
18883	//   "httpMethod": "GET",
18884	//   "id": "content.orderreports.listtransactions",
18885	//   "parameterOrder": [
18886	//     "merchantId",
18887	//     "disbursementId"
18888	//   ],
18889	//   "parameters": {
18890	//     "disbursementId": {
18891	//       "description": "The Google-provided ID of the disbursement (found in Wallet).",
18892	//       "location": "path",
18893	//       "required": true,
18894	//       "type": "string"
18895	//     },
18896	//     "maxResults": {
18897	//       "description": "The maximum number of disbursements to return in the response, used for paging.",
18898	//       "format": "uint32",
18899	//       "location": "query",
18900	//       "type": "integer"
18901	//     },
18902	//     "merchantId": {
18903	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
18904	//       "format": "uint64",
18905	//       "location": "path",
18906	//       "required": true,
18907	//       "type": "string"
18908	//     },
18909	//     "pageToken": {
18910	//       "description": "The token returned by the previous request.",
18911	//       "location": "query",
18912	//       "type": "string"
18913	//     },
18914	//     "transactionEndDate": {
18915	//       "description": "The last date in which transaction occurred. In ISO 8601 format. Default: current date.",
18916	//       "location": "query",
18917	//       "type": "string"
18918	//     },
18919	//     "transactionStartDate": {
18920	//       "description": "The first date in which transaction occurred. In ISO 8601 format.",
18921	//       "location": "query",
18922	//       "type": "string"
18923	//     }
18924	//   },
18925	//   "path": "{merchantId}/orderreports/disbursements/{disbursementId}/transactions",
18926	//   "response": {
18927	//     "$ref": "OrderreportsListTransactionsResponse"
18928	//   },
18929	//   "scopes": [
18930	//     "https://www.googleapis.com/auth/content"
18931	//   ]
18932	// }
18933
18934}
18935
18936// Pages invokes f for each page of results.
18937// A non-nil error returned from f will halt the iteration.
18938// The provided context supersedes any context provided to the Context method.
18939func (c *OrderreportsListtransactionsCall) Pages(ctx context.Context, f func(*OrderreportsListTransactionsResponse) error) error {
18940	c.ctx_ = ctx
18941	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18942	for {
18943		x, err := c.Do()
18944		if err != nil {
18945			return err
18946		}
18947		if err := f(x); err != nil {
18948			return err
18949		}
18950		if x.NextPageToken == "" {
18951			return nil
18952		}
18953		c.PageToken(x.NextPageToken)
18954	}
18955}
18956
18957// method id "content.orderreturns.get":
18958
18959type OrderreturnsGetCall struct {
18960	s            *APIService
18961	merchantId   uint64
18962	returnId     string
18963	urlParams_   gensupport.URLParams
18964	ifNoneMatch_ string
18965	ctx_         context.Context
18966	header_      http.Header
18967}
18968
18969// Get: Retrieves an order return from your Merchant Center account.
18970//
18971// - merchantId: The ID of the account that manages the order. This
18972//   cannot be a multi-client account.
18973// - returnId: Merchant order return ID generated by Google.
18974func (r *OrderreturnsService) Get(merchantId uint64, returnId string) *OrderreturnsGetCall {
18975	c := &OrderreturnsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18976	c.merchantId = merchantId
18977	c.returnId = returnId
18978	return c
18979}
18980
18981// Fields allows partial responses to be retrieved. See
18982// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18983// for more information.
18984func (c *OrderreturnsGetCall) Fields(s ...googleapi.Field) *OrderreturnsGetCall {
18985	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18986	return c
18987}
18988
18989// IfNoneMatch sets the optional parameter which makes the operation
18990// fail if the object's ETag matches the given value. This is useful for
18991// getting updates only after the object has changed since the last
18992// request. Use googleapi.IsNotModified to check whether the response
18993// error from Do is the result of In-None-Match.
18994func (c *OrderreturnsGetCall) IfNoneMatch(entityTag string) *OrderreturnsGetCall {
18995	c.ifNoneMatch_ = entityTag
18996	return c
18997}
18998
18999// Context sets the context to be used in this call's Do method. Any
19000// pending HTTP request will be aborted if the provided context is
19001// canceled.
19002func (c *OrderreturnsGetCall) Context(ctx context.Context) *OrderreturnsGetCall {
19003	c.ctx_ = ctx
19004	return c
19005}
19006
19007// Header returns an http.Header that can be modified by the caller to
19008// add HTTP headers to the request.
19009func (c *OrderreturnsGetCall) Header() http.Header {
19010	if c.header_ == nil {
19011		c.header_ = make(http.Header)
19012	}
19013	return c.header_
19014}
19015
19016func (c *OrderreturnsGetCall) doRequest(alt string) (*http.Response, error) {
19017	reqHeaders := make(http.Header)
19018	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19019	for k, v := range c.header_ {
19020		reqHeaders[k] = v
19021	}
19022	reqHeaders.Set("User-Agent", c.s.userAgent())
19023	if c.ifNoneMatch_ != "" {
19024		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19025	}
19026	var body io.Reader = nil
19027	c.urlParams_.Set("alt", alt)
19028	c.urlParams_.Set("prettyPrint", "false")
19029	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orderreturns/{returnId}")
19030	urls += "?" + c.urlParams_.Encode()
19031	req, err := http.NewRequest("GET", urls, body)
19032	if err != nil {
19033		return nil, err
19034	}
19035	req.Header = reqHeaders
19036	googleapi.Expand(req.URL, map[string]string{
19037		"merchantId": strconv.FormatUint(c.merchantId, 10),
19038		"returnId":   c.returnId,
19039	})
19040	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19041}
19042
19043// Do executes the "content.orderreturns.get" call.
19044// Exactly one of *MerchantOrderReturn or error will be non-nil. Any
19045// non-2xx status code is an error. Response headers are in either
19046// *MerchantOrderReturn.ServerResponse.Header or (if a response was
19047// returned at all) in error.(*googleapi.Error).Header. Use
19048// googleapi.IsNotModified to check whether the returned error was
19049// because http.StatusNotModified was returned.
19050func (c *OrderreturnsGetCall) Do(opts ...googleapi.CallOption) (*MerchantOrderReturn, error) {
19051	gensupport.SetOptions(c.urlParams_, opts...)
19052	res, err := c.doRequest("json")
19053	if res != nil && res.StatusCode == http.StatusNotModified {
19054		if res.Body != nil {
19055			res.Body.Close()
19056		}
19057		return nil, &googleapi.Error{
19058			Code:   res.StatusCode,
19059			Header: res.Header,
19060		}
19061	}
19062	if err != nil {
19063		return nil, err
19064	}
19065	defer googleapi.CloseBody(res)
19066	if err := googleapi.CheckResponse(res); err != nil {
19067		return nil, err
19068	}
19069	ret := &MerchantOrderReturn{
19070		ServerResponse: googleapi.ServerResponse{
19071			Header:         res.Header,
19072			HTTPStatusCode: res.StatusCode,
19073		},
19074	}
19075	target := &ret
19076	if err := gensupport.DecodeResponse(target, res); err != nil {
19077		return nil, err
19078	}
19079	return ret, nil
19080	// {
19081	//   "description": "Retrieves an order return from your Merchant Center account.",
19082	//   "flatPath": "{merchantId}/orderreturns/{returnId}",
19083	//   "httpMethod": "GET",
19084	//   "id": "content.orderreturns.get",
19085	//   "parameterOrder": [
19086	//     "merchantId",
19087	//     "returnId"
19088	//   ],
19089	//   "parameters": {
19090	//     "merchantId": {
19091	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
19092	//       "format": "uint64",
19093	//       "location": "path",
19094	//       "required": true,
19095	//       "type": "string"
19096	//     },
19097	//     "returnId": {
19098	//       "description": "Merchant order return ID generated by Google.",
19099	//       "location": "path",
19100	//       "required": true,
19101	//       "type": "string"
19102	//     }
19103	//   },
19104	//   "path": "{merchantId}/orderreturns/{returnId}",
19105	//   "response": {
19106	//     "$ref": "MerchantOrderReturn"
19107	//   },
19108	//   "scopes": [
19109	//     "https://www.googleapis.com/auth/content"
19110	//   ]
19111	// }
19112
19113}
19114
19115// method id "content.orderreturns.list":
19116
19117type OrderreturnsListCall struct {
19118	s            *APIService
19119	merchantId   uint64
19120	urlParams_   gensupport.URLParams
19121	ifNoneMatch_ string
19122	ctx_         context.Context
19123	header_      http.Header
19124}
19125
19126// List: Lists order returns in your Merchant Center account.
19127//
19128// - merchantId: The ID of the account that manages the order. This
19129//   cannot be a multi-client account.
19130func (r *OrderreturnsService) List(merchantId uint64) *OrderreturnsListCall {
19131	c := &OrderreturnsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19132	c.merchantId = merchantId
19133	return c
19134}
19135
19136// CreatedEndDate sets the optional parameter "createdEndDate": Obtains
19137// order returns created before this date (inclusively), in ISO 8601
19138// format.
19139func (c *OrderreturnsListCall) CreatedEndDate(createdEndDate string) *OrderreturnsListCall {
19140	c.urlParams_.Set("createdEndDate", createdEndDate)
19141	return c
19142}
19143
19144// CreatedStartDate sets the optional parameter "createdStartDate":
19145// Obtains order returns created after this date (inclusively), in ISO
19146// 8601 format.
19147func (c *OrderreturnsListCall) CreatedStartDate(createdStartDate string) *OrderreturnsListCall {
19148	c.urlParams_.Set("createdStartDate", createdStartDate)
19149	return c
19150}
19151
19152// MaxResults sets the optional parameter "maxResults": The maximum
19153// number of order returns to return in the response, used for paging.
19154// The default value is 25 returns per page, and the maximum allowed
19155// value is 250 returns per page.
19156func (c *OrderreturnsListCall) MaxResults(maxResults int64) *OrderreturnsListCall {
19157	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
19158	return c
19159}
19160
19161// OrderBy sets the optional parameter "orderBy": Return the results in
19162// the specified order.
19163//
19164// Possible values:
19165//   "RETURN_CREATION_TIME_DESC"
19166//   "RETURN_CREATION_TIME_ASC"
19167func (c *OrderreturnsListCall) OrderBy(orderBy string) *OrderreturnsListCall {
19168	c.urlParams_.Set("orderBy", orderBy)
19169	return c
19170}
19171
19172// PageToken sets the optional parameter "pageToken": The token returned
19173// by the previous request.
19174func (c *OrderreturnsListCall) PageToken(pageToken string) *OrderreturnsListCall {
19175	c.urlParams_.Set("pageToken", pageToken)
19176	return c
19177}
19178
19179// Fields allows partial responses to be retrieved. See
19180// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19181// for more information.
19182func (c *OrderreturnsListCall) Fields(s ...googleapi.Field) *OrderreturnsListCall {
19183	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19184	return c
19185}
19186
19187// IfNoneMatch sets the optional parameter which makes the operation
19188// fail if the object's ETag matches the given value. This is useful for
19189// getting updates only after the object has changed since the last
19190// request. Use googleapi.IsNotModified to check whether the response
19191// error from Do is the result of In-None-Match.
19192func (c *OrderreturnsListCall) IfNoneMatch(entityTag string) *OrderreturnsListCall {
19193	c.ifNoneMatch_ = entityTag
19194	return c
19195}
19196
19197// Context sets the context to be used in this call's Do method. Any
19198// pending HTTP request will be aborted if the provided context is
19199// canceled.
19200func (c *OrderreturnsListCall) Context(ctx context.Context) *OrderreturnsListCall {
19201	c.ctx_ = ctx
19202	return c
19203}
19204
19205// Header returns an http.Header that can be modified by the caller to
19206// add HTTP headers to the request.
19207func (c *OrderreturnsListCall) Header() http.Header {
19208	if c.header_ == nil {
19209		c.header_ = make(http.Header)
19210	}
19211	return c.header_
19212}
19213
19214func (c *OrderreturnsListCall) doRequest(alt string) (*http.Response, error) {
19215	reqHeaders := make(http.Header)
19216	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19217	for k, v := range c.header_ {
19218		reqHeaders[k] = v
19219	}
19220	reqHeaders.Set("User-Agent", c.s.userAgent())
19221	if c.ifNoneMatch_ != "" {
19222		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19223	}
19224	var body io.Reader = nil
19225	c.urlParams_.Set("alt", alt)
19226	c.urlParams_.Set("prettyPrint", "false")
19227	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orderreturns")
19228	urls += "?" + c.urlParams_.Encode()
19229	req, err := http.NewRequest("GET", urls, body)
19230	if err != nil {
19231		return nil, err
19232	}
19233	req.Header = reqHeaders
19234	googleapi.Expand(req.URL, map[string]string{
19235		"merchantId": strconv.FormatUint(c.merchantId, 10),
19236	})
19237	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19238}
19239
19240// Do executes the "content.orderreturns.list" call.
19241// Exactly one of *OrderreturnsListResponse or error will be non-nil.
19242// Any non-2xx status code is an error. Response headers are in either
19243// *OrderreturnsListResponse.ServerResponse.Header or (if a response was
19244// returned at all) in error.(*googleapi.Error).Header. Use
19245// googleapi.IsNotModified to check whether the returned error was
19246// because http.StatusNotModified was returned.
19247func (c *OrderreturnsListCall) Do(opts ...googleapi.CallOption) (*OrderreturnsListResponse, error) {
19248	gensupport.SetOptions(c.urlParams_, opts...)
19249	res, err := c.doRequest("json")
19250	if res != nil && res.StatusCode == http.StatusNotModified {
19251		if res.Body != nil {
19252			res.Body.Close()
19253		}
19254		return nil, &googleapi.Error{
19255			Code:   res.StatusCode,
19256			Header: res.Header,
19257		}
19258	}
19259	if err != nil {
19260		return nil, err
19261	}
19262	defer googleapi.CloseBody(res)
19263	if err := googleapi.CheckResponse(res); err != nil {
19264		return nil, err
19265	}
19266	ret := &OrderreturnsListResponse{
19267		ServerResponse: googleapi.ServerResponse{
19268			Header:         res.Header,
19269			HTTPStatusCode: res.StatusCode,
19270		},
19271	}
19272	target := &ret
19273	if err := gensupport.DecodeResponse(target, res); err != nil {
19274		return nil, err
19275	}
19276	return ret, nil
19277	// {
19278	//   "description": "Lists order returns in your Merchant Center account.",
19279	//   "flatPath": "{merchantId}/orderreturns",
19280	//   "httpMethod": "GET",
19281	//   "id": "content.orderreturns.list",
19282	//   "parameterOrder": [
19283	//     "merchantId"
19284	//   ],
19285	//   "parameters": {
19286	//     "createdEndDate": {
19287	//       "description": "Obtains order returns created before this date (inclusively), in ISO 8601 format.",
19288	//       "location": "query",
19289	//       "type": "string"
19290	//     },
19291	//     "createdStartDate": {
19292	//       "description": "Obtains order returns created after this date (inclusively), in ISO 8601 format.",
19293	//       "location": "query",
19294	//       "type": "string"
19295	//     },
19296	//     "maxResults": {
19297	//       "description": "The maximum number of order returns to return in the response, used for paging. The default value is 25 returns per page, and the maximum allowed value is 250 returns per page.",
19298	//       "format": "uint32",
19299	//       "location": "query",
19300	//       "type": "integer"
19301	//     },
19302	//     "merchantId": {
19303	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
19304	//       "format": "uint64",
19305	//       "location": "path",
19306	//       "required": true,
19307	//       "type": "string"
19308	//     },
19309	//     "orderBy": {
19310	//       "description": "Return the results in the specified order.",
19311	//       "enum": [
19312	//         "RETURN_CREATION_TIME_DESC",
19313	//         "RETURN_CREATION_TIME_ASC"
19314	//       ],
19315	//       "enumDescriptions": [
19316	//         "",
19317	//         ""
19318	//       ],
19319	//       "location": "query",
19320	//       "type": "string"
19321	//     },
19322	//     "pageToken": {
19323	//       "description": "The token returned by the previous request.",
19324	//       "location": "query",
19325	//       "type": "string"
19326	//     }
19327	//   },
19328	//   "path": "{merchantId}/orderreturns",
19329	//   "response": {
19330	//     "$ref": "OrderreturnsListResponse"
19331	//   },
19332	//   "scopes": [
19333	//     "https://www.googleapis.com/auth/content"
19334	//   ]
19335	// }
19336
19337}
19338
19339// Pages invokes f for each page of results.
19340// A non-nil error returned from f will halt the iteration.
19341// The provided context supersedes any context provided to the Context method.
19342func (c *OrderreturnsListCall) Pages(ctx context.Context, f func(*OrderreturnsListResponse) error) error {
19343	c.ctx_ = ctx
19344	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19345	for {
19346		x, err := c.Do()
19347		if err != nil {
19348			return err
19349		}
19350		if err := f(x); err != nil {
19351			return err
19352		}
19353		if x.NextPageToken == "" {
19354			return nil
19355		}
19356		c.PageToken(x.NextPageToken)
19357	}
19358}
19359
19360// method id "content.orders.acknowledge":
19361
19362type OrdersAcknowledgeCall struct {
19363	s                        *APIService
19364	merchantId               uint64
19365	orderId                  string
19366	ordersacknowledgerequest *OrdersAcknowledgeRequest
19367	urlParams_               gensupport.URLParams
19368	ctx_                     context.Context
19369	header_                  http.Header
19370}
19371
19372// Acknowledge: Marks an order as acknowledged.
19373//
19374// - merchantId: The ID of the account that manages the order. This
19375//   cannot be a multi-client account.
19376// - orderId: The ID of the order.
19377func (r *OrdersService) Acknowledge(merchantId uint64, orderId string, ordersacknowledgerequest *OrdersAcknowledgeRequest) *OrdersAcknowledgeCall {
19378	c := &OrdersAcknowledgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19379	c.merchantId = merchantId
19380	c.orderId = orderId
19381	c.ordersacknowledgerequest = ordersacknowledgerequest
19382	return c
19383}
19384
19385// Fields allows partial responses to be retrieved. See
19386// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19387// for more information.
19388func (c *OrdersAcknowledgeCall) Fields(s ...googleapi.Field) *OrdersAcknowledgeCall {
19389	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19390	return c
19391}
19392
19393// Context sets the context to be used in this call's Do method. Any
19394// pending HTTP request will be aborted if the provided context is
19395// canceled.
19396func (c *OrdersAcknowledgeCall) Context(ctx context.Context) *OrdersAcknowledgeCall {
19397	c.ctx_ = ctx
19398	return c
19399}
19400
19401// Header returns an http.Header that can be modified by the caller to
19402// add HTTP headers to the request.
19403func (c *OrdersAcknowledgeCall) Header() http.Header {
19404	if c.header_ == nil {
19405		c.header_ = make(http.Header)
19406	}
19407	return c.header_
19408}
19409
19410func (c *OrdersAcknowledgeCall) doRequest(alt string) (*http.Response, error) {
19411	reqHeaders := make(http.Header)
19412	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19413	for k, v := range c.header_ {
19414		reqHeaders[k] = v
19415	}
19416	reqHeaders.Set("User-Agent", c.s.userAgent())
19417	var body io.Reader = nil
19418	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ordersacknowledgerequest)
19419	if err != nil {
19420		return nil, err
19421	}
19422	reqHeaders.Set("Content-Type", "application/json")
19423	c.urlParams_.Set("alt", alt)
19424	c.urlParams_.Set("prettyPrint", "false")
19425	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/acknowledge")
19426	urls += "?" + c.urlParams_.Encode()
19427	req, err := http.NewRequest("POST", urls, body)
19428	if err != nil {
19429		return nil, err
19430	}
19431	req.Header = reqHeaders
19432	googleapi.Expand(req.URL, map[string]string{
19433		"merchantId": strconv.FormatUint(c.merchantId, 10),
19434		"orderId":    c.orderId,
19435	})
19436	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19437}
19438
19439// Do executes the "content.orders.acknowledge" call.
19440// Exactly one of *OrdersAcknowledgeResponse or error will be non-nil.
19441// Any non-2xx status code is an error. Response headers are in either
19442// *OrdersAcknowledgeResponse.ServerResponse.Header or (if a response
19443// was returned at all) in error.(*googleapi.Error).Header. Use
19444// googleapi.IsNotModified to check whether the returned error was
19445// because http.StatusNotModified was returned.
19446func (c *OrdersAcknowledgeCall) Do(opts ...googleapi.CallOption) (*OrdersAcknowledgeResponse, error) {
19447	gensupport.SetOptions(c.urlParams_, opts...)
19448	res, err := c.doRequest("json")
19449	if res != nil && res.StatusCode == http.StatusNotModified {
19450		if res.Body != nil {
19451			res.Body.Close()
19452		}
19453		return nil, &googleapi.Error{
19454			Code:   res.StatusCode,
19455			Header: res.Header,
19456		}
19457	}
19458	if err != nil {
19459		return nil, err
19460	}
19461	defer googleapi.CloseBody(res)
19462	if err := googleapi.CheckResponse(res); err != nil {
19463		return nil, err
19464	}
19465	ret := &OrdersAcknowledgeResponse{
19466		ServerResponse: googleapi.ServerResponse{
19467			Header:         res.Header,
19468			HTTPStatusCode: res.StatusCode,
19469		},
19470	}
19471	target := &ret
19472	if err := gensupport.DecodeResponse(target, res); err != nil {
19473		return nil, err
19474	}
19475	return ret, nil
19476	// {
19477	//   "description": "Marks an order as acknowledged.",
19478	//   "flatPath": "{merchantId}/orders/{orderId}/acknowledge",
19479	//   "httpMethod": "POST",
19480	//   "id": "content.orders.acknowledge",
19481	//   "parameterOrder": [
19482	//     "merchantId",
19483	//     "orderId"
19484	//   ],
19485	//   "parameters": {
19486	//     "merchantId": {
19487	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
19488	//       "format": "uint64",
19489	//       "location": "path",
19490	//       "required": true,
19491	//       "type": "string"
19492	//     },
19493	//     "orderId": {
19494	//       "description": "The ID of the order.",
19495	//       "location": "path",
19496	//       "required": true,
19497	//       "type": "string"
19498	//     }
19499	//   },
19500	//   "path": "{merchantId}/orders/{orderId}/acknowledge",
19501	//   "request": {
19502	//     "$ref": "OrdersAcknowledgeRequest"
19503	//   },
19504	//   "response": {
19505	//     "$ref": "OrdersAcknowledgeResponse"
19506	//   },
19507	//   "scopes": [
19508	//     "https://www.googleapis.com/auth/content"
19509	//   ]
19510	// }
19511
19512}
19513
19514// method id "content.orders.advancetestorder":
19515
19516type OrdersAdvancetestorderCall struct {
19517	s          *APIService
19518	merchantId uint64
19519	orderId    string
19520	urlParams_ gensupport.URLParams
19521	ctx_       context.Context
19522	header_    http.Header
19523}
19524
19525// Advancetestorder: Sandbox only. Moves a test order from state
19526// "inProgress" to state "pendingShipment".
19527//
19528// - merchantId: The ID of the account that manages the order. This
19529//   cannot be a multi-client account.
19530// - orderId: The ID of the test order to modify.
19531func (r *OrdersService) Advancetestorder(merchantId uint64, orderId string) *OrdersAdvancetestorderCall {
19532	c := &OrdersAdvancetestorderCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19533	c.merchantId = merchantId
19534	c.orderId = orderId
19535	return c
19536}
19537
19538// Fields allows partial responses to be retrieved. See
19539// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19540// for more information.
19541func (c *OrdersAdvancetestorderCall) Fields(s ...googleapi.Field) *OrdersAdvancetestorderCall {
19542	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19543	return c
19544}
19545
19546// Context sets the context to be used in this call's Do method. Any
19547// pending HTTP request will be aborted if the provided context is
19548// canceled.
19549func (c *OrdersAdvancetestorderCall) Context(ctx context.Context) *OrdersAdvancetestorderCall {
19550	c.ctx_ = ctx
19551	return c
19552}
19553
19554// Header returns an http.Header that can be modified by the caller to
19555// add HTTP headers to the request.
19556func (c *OrdersAdvancetestorderCall) Header() http.Header {
19557	if c.header_ == nil {
19558		c.header_ = make(http.Header)
19559	}
19560	return c.header_
19561}
19562
19563func (c *OrdersAdvancetestorderCall) doRequest(alt string) (*http.Response, error) {
19564	reqHeaders := make(http.Header)
19565	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19566	for k, v := range c.header_ {
19567		reqHeaders[k] = v
19568	}
19569	reqHeaders.Set("User-Agent", c.s.userAgent())
19570	var body io.Reader = nil
19571	c.urlParams_.Set("alt", alt)
19572	c.urlParams_.Set("prettyPrint", "false")
19573	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/testorders/{orderId}/advance")
19574	urls += "?" + c.urlParams_.Encode()
19575	req, err := http.NewRequest("POST", urls, body)
19576	if err != nil {
19577		return nil, err
19578	}
19579	req.Header = reqHeaders
19580	googleapi.Expand(req.URL, map[string]string{
19581		"merchantId": strconv.FormatUint(c.merchantId, 10),
19582		"orderId":    c.orderId,
19583	})
19584	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19585}
19586
19587// Do executes the "content.orders.advancetestorder" call.
19588// Exactly one of *OrdersAdvanceTestOrderResponse or error will be
19589// non-nil. Any non-2xx status code is an error. Response headers are in
19590// either *OrdersAdvanceTestOrderResponse.ServerResponse.Header or (if a
19591// response was returned at all) in error.(*googleapi.Error).Header. Use
19592// googleapi.IsNotModified to check whether the returned error was
19593// because http.StatusNotModified was returned.
19594func (c *OrdersAdvancetestorderCall) Do(opts ...googleapi.CallOption) (*OrdersAdvanceTestOrderResponse, error) {
19595	gensupport.SetOptions(c.urlParams_, opts...)
19596	res, err := c.doRequest("json")
19597	if res != nil && res.StatusCode == http.StatusNotModified {
19598		if res.Body != nil {
19599			res.Body.Close()
19600		}
19601		return nil, &googleapi.Error{
19602			Code:   res.StatusCode,
19603			Header: res.Header,
19604		}
19605	}
19606	if err != nil {
19607		return nil, err
19608	}
19609	defer googleapi.CloseBody(res)
19610	if err := googleapi.CheckResponse(res); err != nil {
19611		return nil, err
19612	}
19613	ret := &OrdersAdvanceTestOrderResponse{
19614		ServerResponse: googleapi.ServerResponse{
19615			Header:         res.Header,
19616			HTTPStatusCode: res.StatusCode,
19617		},
19618	}
19619	target := &ret
19620	if err := gensupport.DecodeResponse(target, res); err != nil {
19621		return nil, err
19622	}
19623	return ret, nil
19624	// {
19625	//   "description": "Sandbox only. Moves a test order from state \"`inProgress`\" to state \"`pendingShipment`\".",
19626	//   "flatPath": "{merchantId}/testorders/{orderId}/advance",
19627	//   "httpMethod": "POST",
19628	//   "id": "content.orders.advancetestorder",
19629	//   "parameterOrder": [
19630	//     "merchantId",
19631	//     "orderId"
19632	//   ],
19633	//   "parameters": {
19634	//     "merchantId": {
19635	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
19636	//       "format": "uint64",
19637	//       "location": "path",
19638	//       "required": true,
19639	//       "type": "string"
19640	//     },
19641	//     "orderId": {
19642	//       "description": "The ID of the test order to modify.",
19643	//       "location": "path",
19644	//       "required": true,
19645	//       "type": "string"
19646	//     }
19647	//   },
19648	//   "path": "{merchantId}/testorders/{orderId}/advance",
19649	//   "response": {
19650	//     "$ref": "OrdersAdvanceTestOrderResponse"
19651	//   },
19652	//   "scopes": [
19653	//     "https://www.googleapis.com/auth/content"
19654	//   ]
19655	// }
19656
19657}
19658
19659// method id "content.orders.cancel":
19660
19661type OrdersCancelCall struct {
19662	s                   *APIService
19663	merchantId          uint64
19664	orderId             string
19665	orderscancelrequest *OrdersCancelRequest
19666	urlParams_          gensupport.URLParams
19667	ctx_                context.Context
19668	header_             http.Header
19669}
19670
19671// Cancel: Cancels all line items in an order, making a full refund.
19672//
19673// - merchantId: The ID of the account that manages the order. This
19674//   cannot be a multi-client account.
19675// - orderId: The ID of the order to cancel.
19676func (r *OrdersService) Cancel(merchantId uint64, orderId string, orderscancelrequest *OrdersCancelRequest) *OrdersCancelCall {
19677	c := &OrdersCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19678	c.merchantId = merchantId
19679	c.orderId = orderId
19680	c.orderscancelrequest = orderscancelrequest
19681	return c
19682}
19683
19684// Fields allows partial responses to be retrieved. See
19685// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19686// for more information.
19687func (c *OrdersCancelCall) Fields(s ...googleapi.Field) *OrdersCancelCall {
19688	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19689	return c
19690}
19691
19692// Context sets the context to be used in this call's Do method. Any
19693// pending HTTP request will be aborted if the provided context is
19694// canceled.
19695func (c *OrdersCancelCall) Context(ctx context.Context) *OrdersCancelCall {
19696	c.ctx_ = ctx
19697	return c
19698}
19699
19700// Header returns an http.Header that can be modified by the caller to
19701// add HTTP headers to the request.
19702func (c *OrdersCancelCall) Header() http.Header {
19703	if c.header_ == nil {
19704		c.header_ = make(http.Header)
19705	}
19706	return c.header_
19707}
19708
19709func (c *OrdersCancelCall) doRequest(alt string) (*http.Response, error) {
19710	reqHeaders := make(http.Header)
19711	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19712	for k, v := range c.header_ {
19713		reqHeaders[k] = v
19714	}
19715	reqHeaders.Set("User-Agent", c.s.userAgent())
19716	var body io.Reader = nil
19717	body, err := googleapi.WithoutDataWrapper.JSONReader(c.orderscancelrequest)
19718	if err != nil {
19719		return nil, err
19720	}
19721	reqHeaders.Set("Content-Type", "application/json")
19722	c.urlParams_.Set("alt", alt)
19723	c.urlParams_.Set("prettyPrint", "false")
19724	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/cancel")
19725	urls += "?" + c.urlParams_.Encode()
19726	req, err := http.NewRequest("POST", urls, body)
19727	if err != nil {
19728		return nil, err
19729	}
19730	req.Header = reqHeaders
19731	googleapi.Expand(req.URL, map[string]string{
19732		"merchantId": strconv.FormatUint(c.merchantId, 10),
19733		"orderId":    c.orderId,
19734	})
19735	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19736}
19737
19738// Do executes the "content.orders.cancel" call.
19739// Exactly one of *OrdersCancelResponse or error will be non-nil. Any
19740// non-2xx status code is an error. Response headers are in either
19741// *OrdersCancelResponse.ServerResponse.Header or (if a response was
19742// returned at all) in error.(*googleapi.Error).Header. Use
19743// googleapi.IsNotModified to check whether the returned error was
19744// because http.StatusNotModified was returned.
19745func (c *OrdersCancelCall) Do(opts ...googleapi.CallOption) (*OrdersCancelResponse, error) {
19746	gensupport.SetOptions(c.urlParams_, opts...)
19747	res, err := c.doRequest("json")
19748	if res != nil && res.StatusCode == http.StatusNotModified {
19749		if res.Body != nil {
19750			res.Body.Close()
19751		}
19752		return nil, &googleapi.Error{
19753			Code:   res.StatusCode,
19754			Header: res.Header,
19755		}
19756	}
19757	if err != nil {
19758		return nil, err
19759	}
19760	defer googleapi.CloseBody(res)
19761	if err := googleapi.CheckResponse(res); err != nil {
19762		return nil, err
19763	}
19764	ret := &OrdersCancelResponse{
19765		ServerResponse: googleapi.ServerResponse{
19766			Header:         res.Header,
19767			HTTPStatusCode: res.StatusCode,
19768		},
19769	}
19770	target := &ret
19771	if err := gensupport.DecodeResponse(target, res); err != nil {
19772		return nil, err
19773	}
19774	return ret, nil
19775	// {
19776	//   "description": "Cancels all line items in an order, making a full refund.",
19777	//   "flatPath": "{merchantId}/orders/{orderId}/cancel",
19778	//   "httpMethod": "POST",
19779	//   "id": "content.orders.cancel",
19780	//   "parameterOrder": [
19781	//     "merchantId",
19782	//     "orderId"
19783	//   ],
19784	//   "parameters": {
19785	//     "merchantId": {
19786	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
19787	//       "format": "uint64",
19788	//       "location": "path",
19789	//       "required": true,
19790	//       "type": "string"
19791	//     },
19792	//     "orderId": {
19793	//       "description": "The ID of the order to cancel.",
19794	//       "location": "path",
19795	//       "required": true,
19796	//       "type": "string"
19797	//     }
19798	//   },
19799	//   "path": "{merchantId}/orders/{orderId}/cancel",
19800	//   "request": {
19801	//     "$ref": "OrdersCancelRequest"
19802	//   },
19803	//   "response": {
19804	//     "$ref": "OrdersCancelResponse"
19805	//   },
19806	//   "scopes": [
19807	//     "https://www.googleapis.com/auth/content"
19808	//   ]
19809	// }
19810
19811}
19812
19813// method id "content.orders.cancellineitem":
19814
19815type OrdersCancellineitemCall struct {
19816	s                           *APIService
19817	merchantId                  uint64
19818	orderId                     string
19819	orderscancellineitemrequest *OrdersCancelLineItemRequest
19820	urlParams_                  gensupport.URLParams
19821	ctx_                        context.Context
19822	header_                     http.Header
19823}
19824
19825// Cancellineitem: Cancels a line item, making a full refund.
19826//
19827// - merchantId: The ID of the account that manages the order. This
19828//   cannot be a multi-client account.
19829// - orderId: The ID of the order.
19830func (r *OrdersService) Cancellineitem(merchantId uint64, orderId string, orderscancellineitemrequest *OrdersCancelLineItemRequest) *OrdersCancellineitemCall {
19831	c := &OrdersCancellineitemCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19832	c.merchantId = merchantId
19833	c.orderId = orderId
19834	c.orderscancellineitemrequest = orderscancellineitemrequest
19835	return c
19836}
19837
19838// Fields allows partial responses to be retrieved. See
19839// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19840// for more information.
19841func (c *OrdersCancellineitemCall) Fields(s ...googleapi.Field) *OrdersCancellineitemCall {
19842	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19843	return c
19844}
19845
19846// Context sets the context to be used in this call's Do method. Any
19847// pending HTTP request will be aborted if the provided context is
19848// canceled.
19849func (c *OrdersCancellineitemCall) Context(ctx context.Context) *OrdersCancellineitemCall {
19850	c.ctx_ = ctx
19851	return c
19852}
19853
19854// Header returns an http.Header that can be modified by the caller to
19855// add HTTP headers to the request.
19856func (c *OrdersCancellineitemCall) Header() http.Header {
19857	if c.header_ == nil {
19858		c.header_ = make(http.Header)
19859	}
19860	return c.header_
19861}
19862
19863func (c *OrdersCancellineitemCall) doRequest(alt string) (*http.Response, error) {
19864	reqHeaders := make(http.Header)
19865	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19866	for k, v := range c.header_ {
19867		reqHeaders[k] = v
19868	}
19869	reqHeaders.Set("User-Agent", c.s.userAgent())
19870	var body io.Reader = nil
19871	body, err := googleapi.WithoutDataWrapper.JSONReader(c.orderscancellineitemrequest)
19872	if err != nil {
19873		return nil, err
19874	}
19875	reqHeaders.Set("Content-Type", "application/json")
19876	c.urlParams_.Set("alt", alt)
19877	c.urlParams_.Set("prettyPrint", "false")
19878	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/cancelLineItem")
19879	urls += "?" + c.urlParams_.Encode()
19880	req, err := http.NewRequest("POST", urls, body)
19881	if err != nil {
19882		return nil, err
19883	}
19884	req.Header = reqHeaders
19885	googleapi.Expand(req.URL, map[string]string{
19886		"merchantId": strconv.FormatUint(c.merchantId, 10),
19887		"orderId":    c.orderId,
19888	})
19889	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19890}
19891
19892// Do executes the "content.orders.cancellineitem" call.
19893// Exactly one of *OrdersCancelLineItemResponse or error will be
19894// non-nil. Any non-2xx status code is an error. Response headers are in
19895// either *OrdersCancelLineItemResponse.ServerResponse.Header or (if a
19896// response was returned at all) in error.(*googleapi.Error).Header. Use
19897// googleapi.IsNotModified to check whether the returned error was
19898// because http.StatusNotModified was returned.
19899func (c *OrdersCancellineitemCall) Do(opts ...googleapi.CallOption) (*OrdersCancelLineItemResponse, error) {
19900	gensupport.SetOptions(c.urlParams_, opts...)
19901	res, err := c.doRequest("json")
19902	if res != nil && res.StatusCode == http.StatusNotModified {
19903		if res.Body != nil {
19904			res.Body.Close()
19905		}
19906		return nil, &googleapi.Error{
19907			Code:   res.StatusCode,
19908			Header: res.Header,
19909		}
19910	}
19911	if err != nil {
19912		return nil, err
19913	}
19914	defer googleapi.CloseBody(res)
19915	if err := googleapi.CheckResponse(res); err != nil {
19916		return nil, err
19917	}
19918	ret := &OrdersCancelLineItemResponse{
19919		ServerResponse: googleapi.ServerResponse{
19920			Header:         res.Header,
19921			HTTPStatusCode: res.StatusCode,
19922		},
19923	}
19924	target := &ret
19925	if err := gensupport.DecodeResponse(target, res); err != nil {
19926		return nil, err
19927	}
19928	return ret, nil
19929	// {
19930	//   "description": "Cancels a line item, making a full refund.",
19931	//   "flatPath": "{merchantId}/orders/{orderId}/cancelLineItem",
19932	//   "httpMethod": "POST",
19933	//   "id": "content.orders.cancellineitem",
19934	//   "parameterOrder": [
19935	//     "merchantId",
19936	//     "orderId"
19937	//   ],
19938	//   "parameters": {
19939	//     "merchantId": {
19940	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
19941	//       "format": "uint64",
19942	//       "location": "path",
19943	//       "required": true,
19944	//       "type": "string"
19945	//     },
19946	//     "orderId": {
19947	//       "description": "The ID of the order.",
19948	//       "location": "path",
19949	//       "required": true,
19950	//       "type": "string"
19951	//     }
19952	//   },
19953	//   "path": "{merchantId}/orders/{orderId}/cancelLineItem",
19954	//   "request": {
19955	//     "$ref": "OrdersCancelLineItemRequest"
19956	//   },
19957	//   "response": {
19958	//     "$ref": "OrdersCancelLineItemResponse"
19959	//   },
19960	//   "scopes": [
19961	//     "https://www.googleapis.com/auth/content"
19962	//   ]
19963	// }
19964
19965}
19966
19967// method id "content.orders.canceltestorderbycustomer":
19968
19969type OrdersCanceltestorderbycustomerCall struct {
19970	s                                      *APIService
19971	merchantId                             uint64
19972	orderId                                string
19973	orderscanceltestorderbycustomerrequest *OrdersCancelTestOrderByCustomerRequest
19974	urlParams_                             gensupport.URLParams
19975	ctx_                                   context.Context
19976	header_                                http.Header
19977}
19978
19979// Canceltestorderbycustomer: Sandbox only. Cancels a test order for
19980// customer-initiated cancellation.
19981//
19982// - merchantId: The ID of the account that manages the order. This
19983//   cannot be a multi-client account.
19984// - orderId: The ID of the test order to cancel.
19985func (r *OrdersService) Canceltestorderbycustomer(merchantId uint64, orderId string, orderscanceltestorderbycustomerrequest *OrdersCancelTestOrderByCustomerRequest) *OrdersCanceltestorderbycustomerCall {
19986	c := &OrdersCanceltestorderbycustomerCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19987	c.merchantId = merchantId
19988	c.orderId = orderId
19989	c.orderscanceltestorderbycustomerrequest = orderscanceltestorderbycustomerrequest
19990	return c
19991}
19992
19993// Fields allows partial responses to be retrieved. See
19994// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19995// for more information.
19996func (c *OrdersCanceltestorderbycustomerCall) Fields(s ...googleapi.Field) *OrdersCanceltestorderbycustomerCall {
19997	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19998	return c
19999}
20000
20001// Context sets the context to be used in this call's Do method. Any
20002// pending HTTP request will be aborted if the provided context is
20003// canceled.
20004func (c *OrdersCanceltestorderbycustomerCall) Context(ctx context.Context) *OrdersCanceltestorderbycustomerCall {
20005	c.ctx_ = ctx
20006	return c
20007}
20008
20009// Header returns an http.Header that can be modified by the caller to
20010// add HTTP headers to the request.
20011func (c *OrdersCanceltestorderbycustomerCall) Header() http.Header {
20012	if c.header_ == nil {
20013		c.header_ = make(http.Header)
20014	}
20015	return c.header_
20016}
20017
20018func (c *OrdersCanceltestorderbycustomerCall) doRequest(alt string) (*http.Response, error) {
20019	reqHeaders := make(http.Header)
20020	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20021	for k, v := range c.header_ {
20022		reqHeaders[k] = v
20023	}
20024	reqHeaders.Set("User-Agent", c.s.userAgent())
20025	var body io.Reader = nil
20026	body, err := googleapi.WithoutDataWrapper.JSONReader(c.orderscanceltestorderbycustomerrequest)
20027	if err != nil {
20028		return nil, err
20029	}
20030	reqHeaders.Set("Content-Type", "application/json")
20031	c.urlParams_.Set("alt", alt)
20032	c.urlParams_.Set("prettyPrint", "false")
20033	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/testorders/{orderId}/cancelByCustomer")
20034	urls += "?" + c.urlParams_.Encode()
20035	req, err := http.NewRequest("POST", urls, body)
20036	if err != nil {
20037		return nil, err
20038	}
20039	req.Header = reqHeaders
20040	googleapi.Expand(req.URL, map[string]string{
20041		"merchantId": strconv.FormatUint(c.merchantId, 10),
20042		"orderId":    c.orderId,
20043	})
20044	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20045}
20046
20047// Do executes the "content.orders.canceltestorderbycustomer" call.
20048// Exactly one of *OrdersCancelTestOrderByCustomerResponse or error will
20049// be non-nil. Any non-2xx status code is an error. Response headers are
20050// in either
20051// *OrdersCancelTestOrderByCustomerResponse.ServerResponse.Header or (if
20052// a response was returned at all) in error.(*googleapi.Error).Header.
20053// Use googleapi.IsNotModified to check whether the returned error was
20054// because http.StatusNotModified was returned.
20055func (c *OrdersCanceltestorderbycustomerCall) Do(opts ...googleapi.CallOption) (*OrdersCancelTestOrderByCustomerResponse, error) {
20056	gensupport.SetOptions(c.urlParams_, opts...)
20057	res, err := c.doRequest("json")
20058	if res != nil && res.StatusCode == http.StatusNotModified {
20059		if res.Body != nil {
20060			res.Body.Close()
20061		}
20062		return nil, &googleapi.Error{
20063			Code:   res.StatusCode,
20064			Header: res.Header,
20065		}
20066	}
20067	if err != nil {
20068		return nil, err
20069	}
20070	defer googleapi.CloseBody(res)
20071	if err := googleapi.CheckResponse(res); err != nil {
20072		return nil, err
20073	}
20074	ret := &OrdersCancelTestOrderByCustomerResponse{
20075		ServerResponse: googleapi.ServerResponse{
20076			Header:         res.Header,
20077			HTTPStatusCode: res.StatusCode,
20078		},
20079	}
20080	target := &ret
20081	if err := gensupport.DecodeResponse(target, res); err != nil {
20082		return nil, err
20083	}
20084	return ret, nil
20085	// {
20086	//   "description": "Sandbox only. Cancels a test order for customer-initiated cancellation.",
20087	//   "flatPath": "{merchantId}/testorders/{orderId}/cancelByCustomer",
20088	//   "httpMethod": "POST",
20089	//   "id": "content.orders.canceltestorderbycustomer",
20090	//   "parameterOrder": [
20091	//     "merchantId",
20092	//     "orderId"
20093	//   ],
20094	//   "parameters": {
20095	//     "merchantId": {
20096	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
20097	//       "format": "uint64",
20098	//       "location": "path",
20099	//       "required": true,
20100	//       "type": "string"
20101	//     },
20102	//     "orderId": {
20103	//       "description": "The ID of the test order to cancel.",
20104	//       "location": "path",
20105	//       "required": true,
20106	//       "type": "string"
20107	//     }
20108	//   },
20109	//   "path": "{merchantId}/testorders/{orderId}/cancelByCustomer",
20110	//   "request": {
20111	//     "$ref": "OrdersCancelTestOrderByCustomerRequest"
20112	//   },
20113	//   "response": {
20114	//     "$ref": "OrdersCancelTestOrderByCustomerResponse"
20115	//   },
20116	//   "scopes": [
20117	//     "https://www.googleapis.com/auth/content"
20118	//   ]
20119	// }
20120
20121}
20122
20123// method id "content.orders.createtestorder":
20124
20125type OrdersCreatetestorderCall struct {
20126	s                            *APIService
20127	merchantId                   uint64
20128	orderscreatetestorderrequest *OrdersCreateTestOrderRequest
20129	urlParams_                   gensupport.URLParams
20130	ctx_                         context.Context
20131	header_                      http.Header
20132}
20133
20134// Createtestorder: Sandbox only. Creates a test order.
20135//
20136// - merchantId: The ID of the account that should manage the order.
20137//   This cannot be a multi-client account.
20138func (r *OrdersService) Createtestorder(merchantId uint64, orderscreatetestorderrequest *OrdersCreateTestOrderRequest) *OrdersCreatetestorderCall {
20139	c := &OrdersCreatetestorderCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20140	c.merchantId = merchantId
20141	c.orderscreatetestorderrequest = orderscreatetestorderrequest
20142	return c
20143}
20144
20145// Fields allows partial responses to be retrieved. See
20146// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20147// for more information.
20148func (c *OrdersCreatetestorderCall) Fields(s ...googleapi.Field) *OrdersCreatetestorderCall {
20149	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20150	return c
20151}
20152
20153// Context sets the context to be used in this call's Do method. Any
20154// pending HTTP request will be aborted if the provided context is
20155// canceled.
20156func (c *OrdersCreatetestorderCall) Context(ctx context.Context) *OrdersCreatetestorderCall {
20157	c.ctx_ = ctx
20158	return c
20159}
20160
20161// Header returns an http.Header that can be modified by the caller to
20162// add HTTP headers to the request.
20163func (c *OrdersCreatetestorderCall) Header() http.Header {
20164	if c.header_ == nil {
20165		c.header_ = make(http.Header)
20166	}
20167	return c.header_
20168}
20169
20170func (c *OrdersCreatetestorderCall) doRequest(alt string) (*http.Response, error) {
20171	reqHeaders := make(http.Header)
20172	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20173	for k, v := range c.header_ {
20174		reqHeaders[k] = v
20175	}
20176	reqHeaders.Set("User-Agent", c.s.userAgent())
20177	var body io.Reader = nil
20178	body, err := googleapi.WithoutDataWrapper.JSONReader(c.orderscreatetestorderrequest)
20179	if err != nil {
20180		return nil, err
20181	}
20182	reqHeaders.Set("Content-Type", "application/json")
20183	c.urlParams_.Set("alt", alt)
20184	c.urlParams_.Set("prettyPrint", "false")
20185	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/testorders")
20186	urls += "?" + c.urlParams_.Encode()
20187	req, err := http.NewRequest("POST", urls, body)
20188	if err != nil {
20189		return nil, err
20190	}
20191	req.Header = reqHeaders
20192	googleapi.Expand(req.URL, map[string]string{
20193		"merchantId": strconv.FormatUint(c.merchantId, 10),
20194	})
20195	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20196}
20197
20198// Do executes the "content.orders.createtestorder" call.
20199// Exactly one of *OrdersCreateTestOrderResponse or error will be
20200// non-nil. Any non-2xx status code is an error. Response headers are in
20201// either *OrdersCreateTestOrderResponse.ServerResponse.Header or (if a
20202// response was returned at all) in error.(*googleapi.Error).Header. Use
20203// googleapi.IsNotModified to check whether the returned error was
20204// because http.StatusNotModified was returned.
20205func (c *OrdersCreatetestorderCall) Do(opts ...googleapi.CallOption) (*OrdersCreateTestOrderResponse, error) {
20206	gensupport.SetOptions(c.urlParams_, opts...)
20207	res, err := c.doRequest("json")
20208	if res != nil && res.StatusCode == http.StatusNotModified {
20209		if res.Body != nil {
20210			res.Body.Close()
20211		}
20212		return nil, &googleapi.Error{
20213			Code:   res.StatusCode,
20214			Header: res.Header,
20215		}
20216	}
20217	if err != nil {
20218		return nil, err
20219	}
20220	defer googleapi.CloseBody(res)
20221	if err := googleapi.CheckResponse(res); err != nil {
20222		return nil, err
20223	}
20224	ret := &OrdersCreateTestOrderResponse{
20225		ServerResponse: googleapi.ServerResponse{
20226			Header:         res.Header,
20227			HTTPStatusCode: res.StatusCode,
20228		},
20229	}
20230	target := &ret
20231	if err := gensupport.DecodeResponse(target, res); err != nil {
20232		return nil, err
20233	}
20234	return ret, nil
20235	// {
20236	//   "description": "Sandbox only. Creates a test order.",
20237	//   "flatPath": "{merchantId}/testorders",
20238	//   "httpMethod": "POST",
20239	//   "id": "content.orders.createtestorder",
20240	//   "parameterOrder": [
20241	//     "merchantId"
20242	//   ],
20243	//   "parameters": {
20244	//     "merchantId": {
20245	//       "description": "The ID of the account that should manage the order. This cannot be a multi-client account.",
20246	//       "format": "uint64",
20247	//       "location": "path",
20248	//       "required": true,
20249	//       "type": "string"
20250	//     }
20251	//   },
20252	//   "path": "{merchantId}/testorders",
20253	//   "request": {
20254	//     "$ref": "OrdersCreateTestOrderRequest"
20255	//   },
20256	//   "response": {
20257	//     "$ref": "OrdersCreateTestOrderResponse"
20258	//   },
20259	//   "scopes": [
20260	//     "https://www.googleapis.com/auth/content"
20261	//   ]
20262	// }
20263
20264}
20265
20266// method id "content.orders.createtestreturn":
20267
20268type OrdersCreatetestreturnCall struct {
20269	s                             *APIService
20270	merchantId                    uint64
20271	orderId                       string
20272	orderscreatetestreturnrequest *OrdersCreateTestReturnRequest
20273	urlParams_                    gensupport.URLParams
20274	ctx_                          context.Context
20275	header_                       http.Header
20276}
20277
20278// Createtestreturn: Sandbox only. Creates a test return.
20279//
20280// - merchantId: The ID of the account that manages the order. This
20281//   cannot be a multi-client account.
20282// - orderId: The ID of the order.
20283func (r *OrdersService) Createtestreturn(merchantId uint64, orderId string, orderscreatetestreturnrequest *OrdersCreateTestReturnRequest) *OrdersCreatetestreturnCall {
20284	c := &OrdersCreatetestreturnCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20285	c.merchantId = merchantId
20286	c.orderId = orderId
20287	c.orderscreatetestreturnrequest = orderscreatetestreturnrequest
20288	return c
20289}
20290
20291// Fields allows partial responses to be retrieved. See
20292// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20293// for more information.
20294func (c *OrdersCreatetestreturnCall) Fields(s ...googleapi.Field) *OrdersCreatetestreturnCall {
20295	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20296	return c
20297}
20298
20299// Context sets the context to be used in this call's Do method. Any
20300// pending HTTP request will be aborted if the provided context is
20301// canceled.
20302func (c *OrdersCreatetestreturnCall) Context(ctx context.Context) *OrdersCreatetestreturnCall {
20303	c.ctx_ = ctx
20304	return c
20305}
20306
20307// Header returns an http.Header that can be modified by the caller to
20308// add HTTP headers to the request.
20309func (c *OrdersCreatetestreturnCall) Header() http.Header {
20310	if c.header_ == nil {
20311		c.header_ = make(http.Header)
20312	}
20313	return c.header_
20314}
20315
20316func (c *OrdersCreatetestreturnCall) doRequest(alt string) (*http.Response, error) {
20317	reqHeaders := make(http.Header)
20318	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20319	for k, v := range c.header_ {
20320		reqHeaders[k] = v
20321	}
20322	reqHeaders.Set("User-Agent", c.s.userAgent())
20323	var body io.Reader = nil
20324	body, err := googleapi.WithoutDataWrapper.JSONReader(c.orderscreatetestreturnrequest)
20325	if err != nil {
20326		return nil, err
20327	}
20328	reqHeaders.Set("Content-Type", "application/json")
20329	c.urlParams_.Set("alt", alt)
20330	c.urlParams_.Set("prettyPrint", "false")
20331	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/testreturn")
20332	urls += "?" + c.urlParams_.Encode()
20333	req, err := http.NewRequest("POST", urls, body)
20334	if err != nil {
20335		return nil, err
20336	}
20337	req.Header = reqHeaders
20338	googleapi.Expand(req.URL, map[string]string{
20339		"merchantId": strconv.FormatUint(c.merchantId, 10),
20340		"orderId":    c.orderId,
20341	})
20342	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20343}
20344
20345// Do executes the "content.orders.createtestreturn" call.
20346// Exactly one of *OrdersCreateTestReturnResponse or error will be
20347// non-nil. Any non-2xx status code is an error. Response headers are in
20348// either *OrdersCreateTestReturnResponse.ServerResponse.Header or (if a
20349// response was returned at all) in error.(*googleapi.Error).Header. Use
20350// googleapi.IsNotModified to check whether the returned error was
20351// because http.StatusNotModified was returned.
20352func (c *OrdersCreatetestreturnCall) Do(opts ...googleapi.CallOption) (*OrdersCreateTestReturnResponse, error) {
20353	gensupport.SetOptions(c.urlParams_, opts...)
20354	res, err := c.doRequest("json")
20355	if res != nil && res.StatusCode == http.StatusNotModified {
20356		if res.Body != nil {
20357			res.Body.Close()
20358		}
20359		return nil, &googleapi.Error{
20360			Code:   res.StatusCode,
20361			Header: res.Header,
20362		}
20363	}
20364	if err != nil {
20365		return nil, err
20366	}
20367	defer googleapi.CloseBody(res)
20368	if err := googleapi.CheckResponse(res); err != nil {
20369		return nil, err
20370	}
20371	ret := &OrdersCreateTestReturnResponse{
20372		ServerResponse: googleapi.ServerResponse{
20373			Header:         res.Header,
20374			HTTPStatusCode: res.StatusCode,
20375		},
20376	}
20377	target := &ret
20378	if err := gensupport.DecodeResponse(target, res); err != nil {
20379		return nil, err
20380	}
20381	return ret, nil
20382	// {
20383	//   "description": "Sandbox only. Creates a test return.",
20384	//   "flatPath": "{merchantId}/orders/{orderId}/testreturn",
20385	//   "httpMethod": "POST",
20386	//   "id": "content.orders.createtestreturn",
20387	//   "parameterOrder": [
20388	//     "merchantId",
20389	//     "orderId"
20390	//   ],
20391	//   "parameters": {
20392	//     "merchantId": {
20393	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
20394	//       "format": "uint64",
20395	//       "location": "path",
20396	//       "required": true,
20397	//       "type": "string"
20398	//     },
20399	//     "orderId": {
20400	//       "description": "The ID of the order.",
20401	//       "location": "path",
20402	//       "required": true,
20403	//       "type": "string"
20404	//     }
20405	//   },
20406	//   "path": "{merchantId}/orders/{orderId}/testreturn",
20407	//   "request": {
20408	//     "$ref": "OrdersCreateTestReturnRequest"
20409	//   },
20410	//   "response": {
20411	//     "$ref": "OrdersCreateTestReturnResponse"
20412	//   },
20413	//   "scopes": [
20414	//     "https://www.googleapis.com/auth/content"
20415	//   ]
20416	// }
20417
20418}
20419
20420// method id "content.orders.custombatch":
20421
20422type OrdersCustombatchCall struct {
20423	s                        *APIService
20424	orderscustombatchrequest *OrdersCustomBatchRequest
20425	urlParams_               gensupport.URLParams
20426	ctx_                     context.Context
20427	header_                  http.Header
20428}
20429
20430// Custombatch: Retrieves or modifies multiple orders in a single
20431// request.
20432func (r *OrdersService) Custombatch(orderscustombatchrequest *OrdersCustomBatchRequest) *OrdersCustombatchCall {
20433	c := &OrdersCustombatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20434	c.orderscustombatchrequest = orderscustombatchrequest
20435	return c
20436}
20437
20438// Fields allows partial responses to be retrieved. See
20439// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20440// for more information.
20441func (c *OrdersCustombatchCall) Fields(s ...googleapi.Field) *OrdersCustombatchCall {
20442	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20443	return c
20444}
20445
20446// Context sets the context to be used in this call's Do method. Any
20447// pending HTTP request will be aborted if the provided context is
20448// canceled.
20449func (c *OrdersCustombatchCall) Context(ctx context.Context) *OrdersCustombatchCall {
20450	c.ctx_ = ctx
20451	return c
20452}
20453
20454// Header returns an http.Header that can be modified by the caller to
20455// add HTTP headers to the request.
20456func (c *OrdersCustombatchCall) Header() http.Header {
20457	if c.header_ == nil {
20458		c.header_ = make(http.Header)
20459	}
20460	return c.header_
20461}
20462
20463func (c *OrdersCustombatchCall) doRequest(alt string) (*http.Response, error) {
20464	reqHeaders := make(http.Header)
20465	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20466	for k, v := range c.header_ {
20467		reqHeaders[k] = v
20468	}
20469	reqHeaders.Set("User-Agent", c.s.userAgent())
20470	var body io.Reader = nil
20471	body, err := googleapi.WithoutDataWrapper.JSONReader(c.orderscustombatchrequest)
20472	if err != nil {
20473		return nil, err
20474	}
20475	reqHeaders.Set("Content-Type", "application/json")
20476	c.urlParams_.Set("alt", alt)
20477	c.urlParams_.Set("prettyPrint", "false")
20478	urls := googleapi.ResolveRelative(c.s.BasePath, "orders/batch")
20479	urls += "?" + c.urlParams_.Encode()
20480	req, err := http.NewRequest("POST", urls, body)
20481	if err != nil {
20482		return nil, err
20483	}
20484	req.Header = reqHeaders
20485	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20486}
20487
20488// Do executes the "content.orders.custombatch" call.
20489// Exactly one of *OrdersCustomBatchResponse or error will be non-nil.
20490// Any non-2xx status code is an error. Response headers are in either
20491// *OrdersCustomBatchResponse.ServerResponse.Header or (if a response
20492// was returned at all) in error.(*googleapi.Error).Header. Use
20493// googleapi.IsNotModified to check whether the returned error was
20494// because http.StatusNotModified was returned.
20495func (c *OrdersCustombatchCall) Do(opts ...googleapi.CallOption) (*OrdersCustomBatchResponse, error) {
20496	gensupport.SetOptions(c.urlParams_, opts...)
20497	res, err := c.doRequest("json")
20498	if res != nil && res.StatusCode == http.StatusNotModified {
20499		if res.Body != nil {
20500			res.Body.Close()
20501		}
20502		return nil, &googleapi.Error{
20503			Code:   res.StatusCode,
20504			Header: res.Header,
20505		}
20506	}
20507	if err != nil {
20508		return nil, err
20509	}
20510	defer googleapi.CloseBody(res)
20511	if err := googleapi.CheckResponse(res); err != nil {
20512		return nil, err
20513	}
20514	ret := &OrdersCustomBatchResponse{
20515		ServerResponse: googleapi.ServerResponse{
20516			Header:         res.Header,
20517			HTTPStatusCode: res.StatusCode,
20518		},
20519	}
20520	target := &ret
20521	if err := gensupport.DecodeResponse(target, res); err != nil {
20522		return nil, err
20523	}
20524	return ret, nil
20525	// {
20526	//   "description": "Retrieves or modifies multiple orders in a single request.",
20527	//   "flatPath": "orders/batch",
20528	//   "httpMethod": "POST",
20529	//   "id": "content.orders.custombatch",
20530	//   "parameterOrder": [],
20531	//   "parameters": {},
20532	//   "path": "orders/batch",
20533	//   "request": {
20534	//     "$ref": "OrdersCustomBatchRequest"
20535	//   },
20536	//   "response": {
20537	//     "$ref": "OrdersCustomBatchResponse"
20538	//   },
20539	//   "scopes": [
20540	//     "https://www.googleapis.com/auth/content"
20541	//   ]
20542	// }
20543
20544}
20545
20546// method id "content.orders.get":
20547
20548type OrdersGetCall struct {
20549	s            *APIService
20550	merchantId   uint64
20551	orderId      string
20552	urlParams_   gensupport.URLParams
20553	ifNoneMatch_ string
20554	ctx_         context.Context
20555	header_      http.Header
20556}
20557
20558// Get: Retrieves an order from your Merchant Center account.
20559//
20560// - merchantId: The ID of the account that manages the order. This
20561//   cannot be a multi-client account.
20562// - orderId: The ID of the order.
20563func (r *OrdersService) Get(merchantId uint64, orderId string) *OrdersGetCall {
20564	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20565	c.merchantId = merchantId
20566	c.orderId = orderId
20567	return c
20568}
20569
20570// Fields allows partial responses to be retrieved. See
20571// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20572// for more information.
20573func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
20574	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20575	return c
20576}
20577
20578// IfNoneMatch sets the optional parameter which makes the operation
20579// fail if the object's ETag matches the given value. This is useful for
20580// getting updates only after the object has changed since the last
20581// request. Use googleapi.IsNotModified to check whether the response
20582// error from Do is the result of In-None-Match.
20583func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
20584	c.ifNoneMatch_ = entityTag
20585	return c
20586}
20587
20588// Context sets the context to be used in this call's Do method. Any
20589// pending HTTP request will be aborted if the provided context is
20590// canceled.
20591func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
20592	c.ctx_ = ctx
20593	return c
20594}
20595
20596// Header returns an http.Header that can be modified by the caller to
20597// add HTTP headers to the request.
20598func (c *OrdersGetCall) Header() http.Header {
20599	if c.header_ == nil {
20600		c.header_ = make(http.Header)
20601	}
20602	return c.header_
20603}
20604
20605func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
20606	reqHeaders := make(http.Header)
20607	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20608	for k, v := range c.header_ {
20609		reqHeaders[k] = v
20610	}
20611	reqHeaders.Set("User-Agent", c.s.userAgent())
20612	if c.ifNoneMatch_ != "" {
20613		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20614	}
20615	var body io.Reader = nil
20616	c.urlParams_.Set("alt", alt)
20617	c.urlParams_.Set("prettyPrint", "false")
20618	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}")
20619	urls += "?" + c.urlParams_.Encode()
20620	req, err := http.NewRequest("GET", urls, body)
20621	if err != nil {
20622		return nil, err
20623	}
20624	req.Header = reqHeaders
20625	googleapi.Expand(req.URL, map[string]string{
20626		"merchantId": strconv.FormatUint(c.merchantId, 10),
20627		"orderId":    c.orderId,
20628	})
20629	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20630}
20631
20632// Do executes the "content.orders.get" call.
20633// Exactly one of *Order or error will be non-nil. Any non-2xx status
20634// code is an error. Response headers are in either
20635// *Order.ServerResponse.Header or (if a response was returned at all)
20636// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
20637// check whether the returned error was because http.StatusNotModified
20638// was returned.
20639func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
20640	gensupport.SetOptions(c.urlParams_, opts...)
20641	res, err := c.doRequest("json")
20642	if res != nil && res.StatusCode == http.StatusNotModified {
20643		if res.Body != nil {
20644			res.Body.Close()
20645		}
20646		return nil, &googleapi.Error{
20647			Code:   res.StatusCode,
20648			Header: res.Header,
20649		}
20650	}
20651	if err != nil {
20652		return nil, err
20653	}
20654	defer googleapi.CloseBody(res)
20655	if err := googleapi.CheckResponse(res); err != nil {
20656		return nil, err
20657	}
20658	ret := &Order{
20659		ServerResponse: googleapi.ServerResponse{
20660			Header:         res.Header,
20661			HTTPStatusCode: res.StatusCode,
20662		},
20663	}
20664	target := &ret
20665	if err := gensupport.DecodeResponse(target, res); err != nil {
20666		return nil, err
20667	}
20668	return ret, nil
20669	// {
20670	//   "description": "Retrieves an order from your Merchant Center account.",
20671	//   "flatPath": "{merchantId}/orders/{orderId}",
20672	//   "httpMethod": "GET",
20673	//   "id": "content.orders.get",
20674	//   "parameterOrder": [
20675	//     "merchantId",
20676	//     "orderId"
20677	//   ],
20678	//   "parameters": {
20679	//     "merchantId": {
20680	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
20681	//       "format": "uint64",
20682	//       "location": "path",
20683	//       "required": true,
20684	//       "type": "string"
20685	//     },
20686	//     "orderId": {
20687	//       "description": "The ID of the order.",
20688	//       "location": "path",
20689	//       "required": true,
20690	//       "type": "string"
20691	//     }
20692	//   },
20693	//   "path": "{merchantId}/orders/{orderId}",
20694	//   "response": {
20695	//     "$ref": "Order"
20696	//   },
20697	//   "scopes": [
20698	//     "https://www.googleapis.com/auth/content"
20699	//   ]
20700	// }
20701
20702}
20703
20704// method id "content.orders.getbymerchantorderid":
20705
20706type OrdersGetbymerchantorderidCall struct {
20707	s               *APIService
20708	merchantId      uint64
20709	merchantOrderId string
20710	urlParams_      gensupport.URLParams
20711	ifNoneMatch_    string
20712	ctx_            context.Context
20713	header_         http.Header
20714}
20715
20716// Getbymerchantorderid: Retrieves an order using merchant order ID.
20717//
20718// - merchantId: The ID of the account that manages the order. This
20719//   cannot be a multi-client account.
20720// - merchantOrderId: The merchant order ID to be looked for.
20721func (r *OrdersService) Getbymerchantorderid(merchantId uint64, merchantOrderId string) *OrdersGetbymerchantorderidCall {
20722	c := &OrdersGetbymerchantorderidCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20723	c.merchantId = merchantId
20724	c.merchantOrderId = merchantOrderId
20725	return c
20726}
20727
20728// Fields allows partial responses to be retrieved. See
20729// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20730// for more information.
20731func (c *OrdersGetbymerchantorderidCall) Fields(s ...googleapi.Field) *OrdersGetbymerchantorderidCall {
20732	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20733	return c
20734}
20735
20736// IfNoneMatch sets the optional parameter which makes the operation
20737// fail if the object's ETag matches the given value. This is useful for
20738// getting updates only after the object has changed since the last
20739// request. Use googleapi.IsNotModified to check whether the response
20740// error from Do is the result of In-None-Match.
20741func (c *OrdersGetbymerchantorderidCall) IfNoneMatch(entityTag string) *OrdersGetbymerchantorderidCall {
20742	c.ifNoneMatch_ = entityTag
20743	return c
20744}
20745
20746// Context sets the context to be used in this call's Do method. Any
20747// pending HTTP request will be aborted if the provided context is
20748// canceled.
20749func (c *OrdersGetbymerchantorderidCall) Context(ctx context.Context) *OrdersGetbymerchantorderidCall {
20750	c.ctx_ = ctx
20751	return c
20752}
20753
20754// Header returns an http.Header that can be modified by the caller to
20755// add HTTP headers to the request.
20756func (c *OrdersGetbymerchantorderidCall) Header() http.Header {
20757	if c.header_ == nil {
20758		c.header_ = make(http.Header)
20759	}
20760	return c.header_
20761}
20762
20763func (c *OrdersGetbymerchantorderidCall) doRequest(alt string) (*http.Response, error) {
20764	reqHeaders := make(http.Header)
20765	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20766	for k, v := range c.header_ {
20767		reqHeaders[k] = v
20768	}
20769	reqHeaders.Set("User-Agent", c.s.userAgent())
20770	if c.ifNoneMatch_ != "" {
20771		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20772	}
20773	var body io.Reader = nil
20774	c.urlParams_.Set("alt", alt)
20775	c.urlParams_.Set("prettyPrint", "false")
20776	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/ordersbymerchantid/{merchantOrderId}")
20777	urls += "?" + c.urlParams_.Encode()
20778	req, err := http.NewRequest("GET", urls, body)
20779	if err != nil {
20780		return nil, err
20781	}
20782	req.Header = reqHeaders
20783	googleapi.Expand(req.URL, map[string]string{
20784		"merchantId":      strconv.FormatUint(c.merchantId, 10),
20785		"merchantOrderId": c.merchantOrderId,
20786	})
20787	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20788}
20789
20790// Do executes the "content.orders.getbymerchantorderid" call.
20791// Exactly one of *OrdersGetByMerchantOrderIdResponse or error will be
20792// non-nil. Any non-2xx status code is an error. Response headers are in
20793// either *OrdersGetByMerchantOrderIdResponse.ServerResponse.Header or
20794// (if a response was returned at all) in
20795// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20796// whether the returned error was because http.StatusNotModified was
20797// returned.
20798func (c *OrdersGetbymerchantorderidCall) Do(opts ...googleapi.CallOption) (*OrdersGetByMerchantOrderIdResponse, error) {
20799	gensupport.SetOptions(c.urlParams_, opts...)
20800	res, err := c.doRequest("json")
20801	if res != nil && res.StatusCode == http.StatusNotModified {
20802		if res.Body != nil {
20803			res.Body.Close()
20804		}
20805		return nil, &googleapi.Error{
20806			Code:   res.StatusCode,
20807			Header: res.Header,
20808		}
20809	}
20810	if err != nil {
20811		return nil, err
20812	}
20813	defer googleapi.CloseBody(res)
20814	if err := googleapi.CheckResponse(res); err != nil {
20815		return nil, err
20816	}
20817	ret := &OrdersGetByMerchantOrderIdResponse{
20818		ServerResponse: googleapi.ServerResponse{
20819			Header:         res.Header,
20820			HTTPStatusCode: res.StatusCode,
20821		},
20822	}
20823	target := &ret
20824	if err := gensupport.DecodeResponse(target, res); err != nil {
20825		return nil, err
20826	}
20827	return ret, nil
20828	// {
20829	//   "description": "Retrieves an order using merchant order ID.",
20830	//   "flatPath": "{merchantId}/ordersbymerchantid/{merchantOrderId}",
20831	//   "httpMethod": "GET",
20832	//   "id": "content.orders.getbymerchantorderid",
20833	//   "parameterOrder": [
20834	//     "merchantId",
20835	//     "merchantOrderId"
20836	//   ],
20837	//   "parameters": {
20838	//     "merchantId": {
20839	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
20840	//       "format": "uint64",
20841	//       "location": "path",
20842	//       "required": true,
20843	//       "type": "string"
20844	//     },
20845	//     "merchantOrderId": {
20846	//       "description": "The merchant order ID to be looked for.",
20847	//       "location": "path",
20848	//       "required": true,
20849	//       "type": "string"
20850	//     }
20851	//   },
20852	//   "path": "{merchantId}/ordersbymerchantid/{merchantOrderId}",
20853	//   "response": {
20854	//     "$ref": "OrdersGetByMerchantOrderIdResponse"
20855	//   },
20856	//   "scopes": [
20857	//     "https://www.googleapis.com/auth/content"
20858	//   ]
20859	// }
20860
20861}
20862
20863// method id "content.orders.gettestordertemplate":
20864
20865type OrdersGettestordertemplateCall struct {
20866	s            *APIService
20867	merchantId   uint64
20868	templateName string
20869	urlParams_   gensupport.URLParams
20870	ifNoneMatch_ string
20871	ctx_         context.Context
20872	header_      http.Header
20873}
20874
20875// Gettestordertemplate: Sandbox only. Retrieves an order template that
20876// can be used to quickly create a new order in sandbox.
20877//
20878// - merchantId: The ID of the account that should manage the order.
20879//   This cannot be a multi-client account.
20880// - templateName: The name of the template to retrieve.
20881func (r *OrdersService) Gettestordertemplate(merchantId uint64, templateName string) *OrdersGettestordertemplateCall {
20882	c := &OrdersGettestordertemplateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20883	c.merchantId = merchantId
20884	c.templateName = templateName
20885	return c
20886}
20887
20888// Country sets the optional parameter "country": The country of the
20889// template to retrieve. Defaults to `US`.
20890func (c *OrdersGettestordertemplateCall) Country(country string) *OrdersGettestordertemplateCall {
20891	c.urlParams_.Set("country", country)
20892	return c
20893}
20894
20895// Fields allows partial responses to be retrieved. See
20896// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20897// for more information.
20898func (c *OrdersGettestordertemplateCall) Fields(s ...googleapi.Field) *OrdersGettestordertemplateCall {
20899	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20900	return c
20901}
20902
20903// IfNoneMatch sets the optional parameter which makes the operation
20904// fail if the object's ETag matches the given value. This is useful for
20905// getting updates only after the object has changed since the last
20906// request. Use googleapi.IsNotModified to check whether the response
20907// error from Do is the result of In-None-Match.
20908func (c *OrdersGettestordertemplateCall) IfNoneMatch(entityTag string) *OrdersGettestordertemplateCall {
20909	c.ifNoneMatch_ = entityTag
20910	return c
20911}
20912
20913// Context sets the context to be used in this call's Do method. Any
20914// pending HTTP request will be aborted if the provided context is
20915// canceled.
20916func (c *OrdersGettestordertemplateCall) Context(ctx context.Context) *OrdersGettestordertemplateCall {
20917	c.ctx_ = ctx
20918	return c
20919}
20920
20921// Header returns an http.Header that can be modified by the caller to
20922// add HTTP headers to the request.
20923func (c *OrdersGettestordertemplateCall) Header() http.Header {
20924	if c.header_ == nil {
20925		c.header_ = make(http.Header)
20926	}
20927	return c.header_
20928}
20929
20930func (c *OrdersGettestordertemplateCall) doRequest(alt string) (*http.Response, error) {
20931	reqHeaders := make(http.Header)
20932	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20933	for k, v := range c.header_ {
20934		reqHeaders[k] = v
20935	}
20936	reqHeaders.Set("User-Agent", c.s.userAgent())
20937	if c.ifNoneMatch_ != "" {
20938		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20939	}
20940	var body io.Reader = nil
20941	c.urlParams_.Set("alt", alt)
20942	c.urlParams_.Set("prettyPrint", "false")
20943	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/testordertemplates/{templateName}")
20944	urls += "?" + c.urlParams_.Encode()
20945	req, err := http.NewRequest("GET", urls, body)
20946	if err != nil {
20947		return nil, err
20948	}
20949	req.Header = reqHeaders
20950	googleapi.Expand(req.URL, map[string]string{
20951		"merchantId":   strconv.FormatUint(c.merchantId, 10),
20952		"templateName": c.templateName,
20953	})
20954	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20955}
20956
20957// Do executes the "content.orders.gettestordertemplate" call.
20958// Exactly one of *OrdersGetTestOrderTemplateResponse or error will be
20959// non-nil. Any non-2xx status code is an error. Response headers are in
20960// either *OrdersGetTestOrderTemplateResponse.ServerResponse.Header or
20961// (if a response was returned at all) in
20962// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20963// whether the returned error was because http.StatusNotModified was
20964// returned.
20965func (c *OrdersGettestordertemplateCall) Do(opts ...googleapi.CallOption) (*OrdersGetTestOrderTemplateResponse, error) {
20966	gensupport.SetOptions(c.urlParams_, opts...)
20967	res, err := c.doRequest("json")
20968	if res != nil && res.StatusCode == http.StatusNotModified {
20969		if res.Body != nil {
20970			res.Body.Close()
20971		}
20972		return nil, &googleapi.Error{
20973			Code:   res.StatusCode,
20974			Header: res.Header,
20975		}
20976	}
20977	if err != nil {
20978		return nil, err
20979	}
20980	defer googleapi.CloseBody(res)
20981	if err := googleapi.CheckResponse(res); err != nil {
20982		return nil, err
20983	}
20984	ret := &OrdersGetTestOrderTemplateResponse{
20985		ServerResponse: googleapi.ServerResponse{
20986			Header:         res.Header,
20987			HTTPStatusCode: res.StatusCode,
20988		},
20989	}
20990	target := &ret
20991	if err := gensupport.DecodeResponse(target, res); err != nil {
20992		return nil, err
20993	}
20994	return ret, nil
20995	// {
20996	//   "description": "Sandbox only. Retrieves an order template that can be used to quickly create a new order in sandbox.",
20997	//   "flatPath": "{merchantId}/testordertemplates/{templateName}",
20998	//   "httpMethod": "GET",
20999	//   "id": "content.orders.gettestordertemplate",
21000	//   "parameterOrder": [
21001	//     "merchantId",
21002	//     "templateName"
21003	//   ],
21004	//   "parameters": {
21005	//     "country": {
21006	//       "description": "The country of the template to retrieve. Defaults to `US`.",
21007	//       "location": "query",
21008	//       "type": "string"
21009	//     },
21010	//     "merchantId": {
21011	//       "description": "The ID of the account that should manage the order. This cannot be a multi-client account.",
21012	//       "format": "uint64",
21013	//       "location": "path",
21014	//       "required": true,
21015	//       "type": "string"
21016	//     },
21017	//     "templateName": {
21018	//       "description": "The name of the template to retrieve.",
21019	//       "enum": [
21020	//         "TEMPLATE1",
21021	//         "TEMPLATE2",
21022	//         "TEMPLATE1A",
21023	//         "TEMPLATE1B",
21024	//         "TEMPLATE3"
21025	//       ],
21026	//       "enumDescriptions": [
21027	//         "",
21028	//         "",
21029	//         "",
21030	//         "",
21031	//         ""
21032	//       ],
21033	//       "location": "path",
21034	//       "required": true,
21035	//       "type": "string"
21036	//     }
21037	//   },
21038	//   "path": "{merchantId}/testordertemplates/{templateName}",
21039	//   "response": {
21040	//     "$ref": "OrdersGetTestOrderTemplateResponse"
21041	//   },
21042	//   "scopes": [
21043	//     "https://www.googleapis.com/auth/content"
21044	//   ]
21045	// }
21046
21047}
21048
21049// method id "content.orders.instorerefundlineitem":
21050
21051type OrdersInstorerefundlineitemCall struct {
21052	s                                  *APIService
21053	merchantId                         uint64
21054	orderId                            string
21055	ordersinstorerefundlineitemrequest *OrdersInStoreRefundLineItemRequest
21056	urlParams_                         gensupport.URLParams
21057	ctx_                               context.Context
21058	header_                            http.Header
21059}
21060
21061// Instorerefundlineitem: Deprecated. Notifies that item return and
21062// refund was handled directly by merchant outside of Google payments
21063// processing (e.g. cash refund done in store). Note: We recommend
21064// calling the returnrefundlineitem method to refund in-store returns.
21065// We will issue the refund directly to the customer. This helps to
21066// prevent possible differences arising between merchant and Google
21067// transaction records. We also recommend having the point of sale
21068// system communicate with Google to ensure that customers do not
21069// receive a double refund by first refunding via Google then via an
21070// in-store return.
21071//
21072// - merchantId: The ID of the account that manages the order. This
21073//   cannot be a multi-client account.
21074// - orderId: The ID of the order.
21075func (r *OrdersService) Instorerefundlineitem(merchantId uint64, orderId string, ordersinstorerefundlineitemrequest *OrdersInStoreRefundLineItemRequest) *OrdersInstorerefundlineitemCall {
21076	c := &OrdersInstorerefundlineitemCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21077	c.merchantId = merchantId
21078	c.orderId = orderId
21079	c.ordersinstorerefundlineitemrequest = ordersinstorerefundlineitemrequest
21080	return c
21081}
21082
21083// Fields allows partial responses to be retrieved. See
21084// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21085// for more information.
21086func (c *OrdersInstorerefundlineitemCall) Fields(s ...googleapi.Field) *OrdersInstorerefundlineitemCall {
21087	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21088	return c
21089}
21090
21091// Context sets the context to be used in this call's Do method. Any
21092// pending HTTP request will be aborted if the provided context is
21093// canceled.
21094func (c *OrdersInstorerefundlineitemCall) Context(ctx context.Context) *OrdersInstorerefundlineitemCall {
21095	c.ctx_ = ctx
21096	return c
21097}
21098
21099// Header returns an http.Header that can be modified by the caller to
21100// add HTTP headers to the request.
21101func (c *OrdersInstorerefundlineitemCall) Header() http.Header {
21102	if c.header_ == nil {
21103		c.header_ = make(http.Header)
21104	}
21105	return c.header_
21106}
21107
21108func (c *OrdersInstorerefundlineitemCall) doRequest(alt string) (*http.Response, error) {
21109	reqHeaders := make(http.Header)
21110	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21111	for k, v := range c.header_ {
21112		reqHeaders[k] = v
21113	}
21114	reqHeaders.Set("User-Agent", c.s.userAgent())
21115	var body io.Reader = nil
21116	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ordersinstorerefundlineitemrequest)
21117	if err != nil {
21118		return nil, err
21119	}
21120	reqHeaders.Set("Content-Type", "application/json")
21121	c.urlParams_.Set("alt", alt)
21122	c.urlParams_.Set("prettyPrint", "false")
21123	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/inStoreRefundLineItem")
21124	urls += "?" + c.urlParams_.Encode()
21125	req, err := http.NewRequest("POST", urls, body)
21126	if err != nil {
21127		return nil, err
21128	}
21129	req.Header = reqHeaders
21130	googleapi.Expand(req.URL, map[string]string{
21131		"merchantId": strconv.FormatUint(c.merchantId, 10),
21132		"orderId":    c.orderId,
21133	})
21134	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21135}
21136
21137// Do executes the "content.orders.instorerefundlineitem" call.
21138// Exactly one of *OrdersInStoreRefundLineItemResponse or error will be
21139// non-nil. Any non-2xx status code is an error. Response headers are in
21140// either *OrdersInStoreRefundLineItemResponse.ServerResponse.Header or
21141// (if a response was returned at all) in
21142// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21143// whether the returned error was because http.StatusNotModified was
21144// returned.
21145func (c *OrdersInstorerefundlineitemCall) Do(opts ...googleapi.CallOption) (*OrdersInStoreRefundLineItemResponse, error) {
21146	gensupport.SetOptions(c.urlParams_, opts...)
21147	res, err := c.doRequest("json")
21148	if res != nil && res.StatusCode == http.StatusNotModified {
21149		if res.Body != nil {
21150			res.Body.Close()
21151		}
21152		return nil, &googleapi.Error{
21153			Code:   res.StatusCode,
21154			Header: res.Header,
21155		}
21156	}
21157	if err != nil {
21158		return nil, err
21159	}
21160	defer googleapi.CloseBody(res)
21161	if err := googleapi.CheckResponse(res); err != nil {
21162		return nil, err
21163	}
21164	ret := &OrdersInStoreRefundLineItemResponse{
21165		ServerResponse: googleapi.ServerResponse{
21166			Header:         res.Header,
21167			HTTPStatusCode: res.StatusCode,
21168		},
21169	}
21170	target := &ret
21171	if err := gensupport.DecodeResponse(target, res); err != nil {
21172		return nil, err
21173	}
21174	return ret, nil
21175	// {
21176	//   "description": "Deprecated. Notifies that item return and refund was handled directly by merchant outside of Google payments processing (e.g. cash refund done in store). Note: We recommend calling the returnrefundlineitem method to refund in-store returns. We will issue the refund directly to the customer. This helps to prevent possible differences arising between merchant and Google transaction records. We also recommend having the point of sale system communicate with Google to ensure that customers do not receive a double refund by first refunding via Google then via an in-store return.",
21177	//   "flatPath": "{merchantId}/orders/{orderId}/inStoreRefundLineItem",
21178	//   "httpMethod": "POST",
21179	//   "id": "content.orders.instorerefundlineitem",
21180	//   "parameterOrder": [
21181	//     "merchantId",
21182	//     "orderId"
21183	//   ],
21184	//   "parameters": {
21185	//     "merchantId": {
21186	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
21187	//       "format": "uint64",
21188	//       "location": "path",
21189	//       "required": true,
21190	//       "type": "string"
21191	//     },
21192	//     "orderId": {
21193	//       "description": "The ID of the order.",
21194	//       "location": "path",
21195	//       "required": true,
21196	//       "type": "string"
21197	//     }
21198	//   },
21199	//   "path": "{merchantId}/orders/{orderId}/inStoreRefundLineItem",
21200	//   "request": {
21201	//     "$ref": "OrdersInStoreRefundLineItemRequest"
21202	//   },
21203	//   "response": {
21204	//     "$ref": "OrdersInStoreRefundLineItemResponse"
21205	//   },
21206	//   "scopes": [
21207	//     "https://www.googleapis.com/auth/content"
21208	//   ]
21209	// }
21210
21211}
21212
21213// method id "content.orders.list":
21214
21215type OrdersListCall struct {
21216	s            *APIService
21217	merchantId   uint64
21218	urlParams_   gensupport.URLParams
21219	ifNoneMatch_ string
21220	ctx_         context.Context
21221	header_      http.Header
21222}
21223
21224// List: Lists the orders in your Merchant Center account.
21225//
21226// - merchantId: The ID of the account that manages the order. This
21227//   cannot be a multi-client account.
21228func (r *OrdersService) List(merchantId uint64) *OrdersListCall {
21229	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21230	c.merchantId = merchantId
21231	return c
21232}
21233
21234// Acknowledged sets the optional parameter "acknowledged": Obtains
21235// orders that match the acknowledgement status. When set to true,
21236// obtains orders that have been acknowledged. When false, obtains
21237// orders that have not been acknowledged. We recommend using this
21238// filter set to `false`, in conjunction with the `acknowledge` call,
21239// such that only un-acknowledged orders are returned.
21240func (c *OrdersListCall) Acknowledged(acknowledged bool) *OrdersListCall {
21241	c.urlParams_.Set("acknowledged", fmt.Sprint(acknowledged))
21242	return c
21243}
21244
21245// MaxResults sets the optional parameter "maxResults": The maximum
21246// number of orders to return in the response, used for paging. The
21247// default value is 25 orders per page, and the maximum allowed value is
21248// 250 orders per page.
21249func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
21250	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
21251	return c
21252}
21253
21254// OrderBy sets the optional parameter "orderBy": Order results by
21255// placement date in descending or ascending order. Acceptable values
21256// are: - placedDateAsc - placedDateDesc
21257func (c *OrdersListCall) OrderBy(orderBy string) *OrdersListCall {
21258	c.urlParams_.Set("orderBy", orderBy)
21259	return c
21260}
21261
21262// PageToken sets the optional parameter "pageToken": The token returned
21263// by the previous request.
21264func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
21265	c.urlParams_.Set("pageToken", pageToken)
21266	return c
21267}
21268
21269// PlacedDateEnd sets the optional parameter "placedDateEnd": Obtains
21270// orders placed before this date (exclusively), in ISO 8601 format.
21271func (c *OrdersListCall) PlacedDateEnd(placedDateEnd string) *OrdersListCall {
21272	c.urlParams_.Set("placedDateEnd", placedDateEnd)
21273	return c
21274}
21275
21276// PlacedDateStart sets the optional parameter "placedDateStart":
21277// Obtains orders placed after this date (inclusively), in ISO 8601
21278// format.
21279func (c *OrdersListCall) PlacedDateStart(placedDateStart string) *OrdersListCall {
21280	c.urlParams_.Set("placedDateStart", placedDateStart)
21281	return c
21282}
21283
21284// Statuses sets the optional parameter "statuses": Obtains orders that
21285// match any of the specified statuses. Please note that `active` is a
21286// shortcut for `pendingShipment` and `partiallyShipped`, and
21287// `completed` is a shortcut for `shipped`, `partiallyDelivered`,
21288// `delivered`, `partiallyReturned`, `returned`, and `canceled`.
21289//
21290// Possible values:
21291//   "ACTIVE"
21292//   "COMPLETED"
21293//   "CANCELED"
21294//   "IN_PROGRESS"
21295//   "PENDING_SHIPMENT"
21296//   "PARTIALLY_SHIPPED"
21297//   "SHIPPED"
21298//   "PARTIALLY_DELIVERED"
21299//   "DELIVERED"
21300//   "PARTIALLY_RETURNED"
21301//   "RETURNED"
21302func (c *OrdersListCall) Statuses(statuses ...string) *OrdersListCall {
21303	c.urlParams_.SetMulti("statuses", append([]string{}, statuses...))
21304	return c
21305}
21306
21307// Fields allows partial responses to be retrieved. See
21308// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21309// for more information.
21310func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
21311	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21312	return c
21313}
21314
21315// IfNoneMatch sets the optional parameter which makes the operation
21316// fail if the object's ETag matches the given value. This is useful for
21317// getting updates only after the object has changed since the last
21318// request. Use googleapi.IsNotModified to check whether the response
21319// error from Do is the result of In-None-Match.
21320func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
21321	c.ifNoneMatch_ = entityTag
21322	return c
21323}
21324
21325// Context sets the context to be used in this call's Do method. Any
21326// pending HTTP request will be aborted if the provided context is
21327// canceled.
21328func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
21329	c.ctx_ = ctx
21330	return c
21331}
21332
21333// Header returns an http.Header that can be modified by the caller to
21334// add HTTP headers to the request.
21335func (c *OrdersListCall) Header() http.Header {
21336	if c.header_ == nil {
21337		c.header_ = make(http.Header)
21338	}
21339	return c.header_
21340}
21341
21342func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
21343	reqHeaders := make(http.Header)
21344	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21345	for k, v := range c.header_ {
21346		reqHeaders[k] = v
21347	}
21348	reqHeaders.Set("User-Agent", c.s.userAgent())
21349	if c.ifNoneMatch_ != "" {
21350		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21351	}
21352	var body io.Reader = nil
21353	c.urlParams_.Set("alt", alt)
21354	c.urlParams_.Set("prettyPrint", "false")
21355	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders")
21356	urls += "?" + c.urlParams_.Encode()
21357	req, err := http.NewRequest("GET", urls, body)
21358	if err != nil {
21359		return nil, err
21360	}
21361	req.Header = reqHeaders
21362	googleapi.Expand(req.URL, map[string]string{
21363		"merchantId": strconv.FormatUint(c.merchantId, 10),
21364	})
21365	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21366}
21367
21368// Do executes the "content.orders.list" call.
21369// Exactly one of *OrdersListResponse or error will be non-nil. Any
21370// non-2xx status code is an error. Response headers are in either
21371// *OrdersListResponse.ServerResponse.Header or (if a response was
21372// returned at all) in error.(*googleapi.Error).Header. Use
21373// googleapi.IsNotModified to check whether the returned error was
21374// because http.StatusNotModified was returned.
21375func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
21376	gensupport.SetOptions(c.urlParams_, opts...)
21377	res, err := c.doRequest("json")
21378	if res != nil && res.StatusCode == http.StatusNotModified {
21379		if res.Body != nil {
21380			res.Body.Close()
21381		}
21382		return nil, &googleapi.Error{
21383			Code:   res.StatusCode,
21384			Header: res.Header,
21385		}
21386	}
21387	if err != nil {
21388		return nil, err
21389	}
21390	defer googleapi.CloseBody(res)
21391	if err := googleapi.CheckResponse(res); err != nil {
21392		return nil, err
21393	}
21394	ret := &OrdersListResponse{
21395		ServerResponse: googleapi.ServerResponse{
21396			Header:         res.Header,
21397			HTTPStatusCode: res.StatusCode,
21398		},
21399	}
21400	target := &ret
21401	if err := gensupport.DecodeResponse(target, res); err != nil {
21402		return nil, err
21403	}
21404	return ret, nil
21405	// {
21406	//   "description": "Lists the orders in your Merchant Center account.",
21407	//   "flatPath": "{merchantId}/orders",
21408	//   "httpMethod": "GET",
21409	//   "id": "content.orders.list",
21410	//   "parameterOrder": [
21411	//     "merchantId"
21412	//   ],
21413	//   "parameters": {
21414	//     "acknowledged": {
21415	//       "description": "Obtains orders that match the acknowledgement status. When set to true, obtains orders that have been acknowledged. When false, obtains orders that have not been acknowledged. We recommend using this filter set to `false`, in conjunction with the `acknowledge` call, such that only un-acknowledged orders are returned. ",
21416	//       "location": "query",
21417	//       "type": "boolean"
21418	//     },
21419	//     "maxResults": {
21420	//       "description": "The maximum number of orders to return in the response, used for paging. The default value is 25 orders per page, and the maximum allowed value is 250 orders per page.",
21421	//       "format": "uint32",
21422	//       "location": "query",
21423	//       "type": "integer"
21424	//     },
21425	//     "merchantId": {
21426	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
21427	//       "format": "uint64",
21428	//       "location": "path",
21429	//       "required": true,
21430	//       "type": "string"
21431	//     },
21432	//     "orderBy": {
21433	//       "description": "Order results by placement date in descending or ascending order. Acceptable values are: - placedDateAsc - placedDateDesc ",
21434	//       "location": "query",
21435	//       "type": "string"
21436	//     },
21437	//     "pageToken": {
21438	//       "description": "The token returned by the previous request.",
21439	//       "location": "query",
21440	//       "type": "string"
21441	//     },
21442	//     "placedDateEnd": {
21443	//       "description": "Obtains orders placed before this date (exclusively), in ISO 8601 format.",
21444	//       "location": "query",
21445	//       "type": "string"
21446	//     },
21447	//     "placedDateStart": {
21448	//       "description": "Obtains orders placed after this date (inclusively), in ISO 8601 format.",
21449	//       "location": "query",
21450	//       "type": "string"
21451	//     },
21452	//     "statuses": {
21453	//       "description": "Obtains orders that match any of the specified statuses. Please note that `active` is a shortcut for `pendingShipment` and `partiallyShipped`, and `completed` is a shortcut for `shipped`, `partiallyDelivered`, `delivered`, `partiallyReturned`, `returned`, and `canceled`.",
21454	//       "enum": [
21455	//         "ACTIVE",
21456	//         "COMPLETED",
21457	//         "CANCELED",
21458	//         "IN_PROGRESS",
21459	//         "PENDING_SHIPMENT",
21460	//         "PARTIALLY_SHIPPED",
21461	//         "SHIPPED",
21462	//         "PARTIALLY_DELIVERED",
21463	//         "DELIVERED",
21464	//         "PARTIALLY_RETURNED",
21465	//         "RETURNED"
21466	//       ],
21467	//       "enumDescriptions": [
21468	//         "",
21469	//         "",
21470	//         "",
21471	//         "",
21472	//         "",
21473	//         "",
21474	//         "",
21475	//         "",
21476	//         "",
21477	//         "",
21478	//         ""
21479	//       ],
21480	//       "location": "query",
21481	//       "repeated": true,
21482	//       "type": "string"
21483	//     }
21484	//   },
21485	//   "path": "{merchantId}/orders",
21486	//   "response": {
21487	//     "$ref": "OrdersListResponse"
21488	//   },
21489	//   "scopes": [
21490	//     "https://www.googleapis.com/auth/content"
21491	//   ]
21492	// }
21493
21494}
21495
21496// Pages invokes f for each page of results.
21497// A non-nil error returned from f will halt the iteration.
21498// The provided context supersedes any context provided to the Context method.
21499func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
21500	c.ctx_ = ctx
21501	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21502	for {
21503		x, err := c.Do()
21504		if err != nil {
21505			return err
21506		}
21507		if err := f(x); err != nil {
21508			return err
21509		}
21510		if x.NextPageToken == "" {
21511			return nil
21512		}
21513		c.PageToken(x.NextPageToken)
21514	}
21515}
21516
21517// method id "content.orders.refund":
21518
21519type OrdersRefundCall struct {
21520	s                   *APIService
21521	merchantId          uint64
21522	orderId             string
21523	ordersrefundrequest *OrdersRefundRequest
21524	urlParams_          gensupport.URLParams
21525	ctx_                context.Context
21526	header_             http.Header
21527}
21528
21529// Refund: Deprecated, please use returnRefundLineItem instead.
21530//
21531// - merchantId: The ID of the account that manages the order. This
21532//   cannot be a multi-client account.
21533// - orderId: The ID of the order to refund.
21534func (r *OrdersService) Refund(merchantId uint64, orderId string, ordersrefundrequest *OrdersRefundRequest) *OrdersRefundCall {
21535	c := &OrdersRefundCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21536	c.merchantId = merchantId
21537	c.orderId = orderId
21538	c.ordersrefundrequest = ordersrefundrequest
21539	return c
21540}
21541
21542// Fields allows partial responses to be retrieved. See
21543// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21544// for more information.
21545func (c *OrdersRefundCall) Fields(s ...googleapi.Field) *OrdersRefundCall {
21546	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21547	return c
21548}
21549
21550// Context sets the context to be used in this call's Do method. Any
21551// pending HTTP request will be aborted if the provided context is
21552// canceled.
21553func (c *OrdersRefundCall) Context(ctx context.Context) *OrdersRefundCall {
21554	c.ctx_ = ctx
21555	return c
21556}
21557
21558// Header returns an http.Header that can be modified by the caller to
21559// add HTTP headers to the request.
21560func (c *OrdersRefundCall) Header() http.Header {
21561	if c.header_ == nil {
21562		c.header_ = make(http.Header)
21563	}
21564	return c.header_
21565}
21566
21567func (c *OrdersRefundCall) doRequest(alt string) (*http.Response, error) {
21568	reqHeaders := make(http.Header)
21569	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21570	for k, v := range c.header_ {
21571		reqHeaders[k] = v
21572	}
21573	reqHeaders.Set("User-Agent", c.s.userAgent())
21574	var body io.Reader = nil
21575	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ordersrefundrequest)
21576	if err != nil {
21577		return nil, err
21578	}
21579	reqHeaders.Set("Content-Type", "application/json")
21580	c.urlParams_.Set("alt", alt)
21581	c.urlParams_.Set("prettyPrint", "false")
21582	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/refund")
21583	urls += "?" + c.urlParams_.Encode()
21584	req, err := http.NewRequest("POST", urls, body)
21585	if err != nil {
21586		return nil, err
21587	}
21588	req.Header = reqHeaders
21589	googleapi.Expand(req.URL, map[string]string{
21590		"merchantId": strconv.FormatUint(c.merchantId, 10),
21591		"orderId":    c.orderId,
21592	})
21593	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21594}
21595
21596// Do executes the "content.orders.refund" call.
21597// Exactly one of *OrdersRefundResponse or error will be non-nil. Any
21598// non-2xx status code is an error. Response headers are in either
21599// *OrdersRefundResponse.ServerResponse.Header or (if a response was
21600// returned at all) in error.(*googleapi.Error).Header. Use
21601// googleapi.IsNotModified to check whether the returned error was
21602// because http.StatusNotModified was returned.
21603func (c *OrdersRefundCall) Do(opts ...googleapi.CallOption) (*OrdersRefundResponse, error) {
21604	gensupport.SetOptions(c.urlParams_, opts...)
21605	res, err := c.doRequest("json")
21606	if res != nil && res.StatusCode == http.StatusNotModified {
21607		if res.Body != nil {
21608			res.Body.Close()
21609		}
21610		return nil, &googleapi.Error{
21611			Code:   res.StatusCode,
21612			Header: res.Header,
21613		}
21614	}
21615	if err != nil {
21616		return nil, err
21617	}
21618	defer googleapi.CloseBody(res)
21619	if err := googleapi.CheckResponse(res); err != nil {
21620		return nil, err
21621	}
21622	ret := &OrdersRefundResponse{
21623		ServerResponse: googleapi.ServerResponse{
21624			Header:         res.Header,
21625			HTTPStatusCode: res.StatusCode,
21626		},
21627	}
21628	target := &ret
21629	if err := gensupport.DecodeResponse(target, res); err != nil {
21630		return nil, err
21631	}
21632	return ret, nil
21633	// {
21634	//   "description": "Deprecated, please use returnRefundLineItem instead.",
21635	//   "flatPath": "{merchantId}/orders/{orderId}/refund",
21636	//   "httpMethod": "POST",
21637	//   "id": "content.orders.refund",
21638	//   "parameterOrder": [
21639	//     "merchantId",
21640	//     "orderId"
21641	//   ],
21642	//   "parameters": {
21643	//     "merchantId": {
21644	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
21645	//       "format": "uint64",
21646	//       "location": "path",
21647	//       "required": true,
21648	//       "type": "string"
21649	//     },
21650	//     "orderId": {
21651	//       "description": "The ID of the order to refund.",
21652	//       "location": "path",
21653	//       "required": true,
21654	//       "type": "string"
21655	//     }
21656	//   },
21657	//   "path": "{merchantId}/orders/{orderId}/refund",
21658	//   "request": {
21659	//     "$ref": "OrdersRefundRequest"
21660	//   },
21661	//   "response": {
21662	//     "$ref": "OrdersRefundResponse"
21663	//   },
21664	//   "scopes": [
21665	//     "https://www.googleapis.com/auth/content"
21666	//   ]
21667	// }
21668
21669}
21670
21671// method id "content.orders.rejectreturnlineitem":
21672
21673type OrdersRejectreturnlineitemCall struct {
21674	s                                 *APIService
21675	merchantId                        uint64
21676	orderId                           string
21677	ordersrejectreturnlineitemrequest *OrdersRejectReturnLineItemRequest
21678	urlParams_                        gensupport.URLParams
21679	ctx_                              context.Context
21680	header_                           http.Header
21681}
21682
21683// Rejectreturnlineitem: Rejects return on an line item.
21684//
21685// - merchantId: The ID of the account that manages the order. This
21686//   cannot be a multi-client account.
21687// - orderId: The ID of the order.
21688func (r *OrdersService) Rejectreturnlineitem(merchantId uint64, orderId string, ordersrejectreturnlineitemrequest *OrdersRejectReturnLineItemRequest) *OrdersRejectreturnlineitemCall {
21689	c := &OrdersRejectreturnlineitemCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21690	c.merchantId = merchantId
21691	c.orderId = orderId
21692	c.ordersrejectreturnlineitemrequest = ordersrejectreturnlineitemrequest
21693	return c
21694}
21695
21696// Fields allows partial responses to be retrieved. See
21697// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21698// for more information.
21699func (c *OrdersRejectreturnlineitemCall) Fields(s ...googleapi.Field) *OrdersRejectreturnlineitemCall {
21700	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21701	return c
21702}
21703
21704// Context sets the context to be used in this call's Do method. Any
21705// pending HTTP request will be aborted if the provided context is
21706// canceled.
21707func (c *OrdersRejectreturnlineitemCall) Context(ctx context.Context) *OrdersRejectreturnlineitemCall {
21708	c.ctx_ = ctx
21709	return c
21710}
21711
21712// Header returns an http.Header that can be modified by the caller to
21713// add HTTP headers to the request.
21714func (c *OrdersRejectreturnlineitemCall) Header() http.Header {
21715	if c.header_ == nil {
21716		c.header_ = make(http.Header)
21717	}
21718	return c.header_
21719}
21720
21721func (c *OrdersRejectreturnlineitemCall) doRequest(alt string) (*http.Response, error) {
21722	reqHeaders := make(http.Header)
21723	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21724	for k, v := range c.header_ {
21725		reqHeaders[k] = v
21726	}
21727	reqHeaders.Set("User-Agent", c.s.userAgent())
21728	var body io.Reader = nil
21729	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ordersrejectreturnlineitemrequest)
21730	if err != nil {
21731		return nil, err
21732	}
21733	reqHeaders.Set("Content-Type", "application/json")
21734	c.urlParams_.Set("alt", alt)
21735	c.urlParams_.Set("prettyPrint", "false")
21736	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/rejectReturnLineItem")
21737	urls += "?" + c.urlParams_.Encode()
21738	req, err := http.NewRequest("POST", urls, body)
21739	if err != nil {
21740		return nil, err
21741	}
21742	req.Header = reqHeaders
21743	googleapi.Expand(req.URL, map[string]string{
21744		"merchantId": strconv.FormatUint(c.merchantId, 10),
21745		"orderId":    c.orderId,
21746	})
21747	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21748}
21749
21750// Do executes the "content.orders.rejectreturnlineitem" call.
21751// Exactly one of *OrdersRejectReturnLineItemResponse or error will be
21752// non-nil. Any non-2xx status code is an error. Response headers are in
21753// either *OrdersRejectReturnLineItemResponse.ServerResponse.Header or
21754// (if a response was returned at all) in
21755// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21756// whether the returned error was because http.StatusNotModified was
21757// returned.
21758func (c *OrdersRejectreturnlineitemCall) Do(opts ...googleapi.CallOption) (*OrdersRejectReturnLineItemResponse, error) {
21759	gensupport.SetOptions(c.urlParams_, opts...)
21760	res, err := c.doRequest("json")
21761	if res != nil && res.StatusCode == http.StatusNotModified {
21762		if res.Body != nil {
21763			res.Body.Close()
21764		}
21765		return nil, &googleapi.Error{
21766			Code:   res.StatusCode,
21767			Header: res.Header,
21768		}
21769	}
21770	if err != nil {
21771		return nil, err
21772	}
21773	defer googleapi.CloseBody(res)
21774	if err := googleapi.CheckResponse(res); err != nil {
21775		return nil, err
21776	}
21777	ret := &OrdersRejectReturnLineItemResponse{
21778		ServerResponse: googleapi.ServerResponse{
21779			Header:         res.Header,
21780			HTTPStatusCode: res.StatusCode,
21781		},
21782	}
21783	target := &ret
21784	if err := gensupport.DecodeResponse(target, res); err != nil {
21785		return nil, err
21786	}
21787	return ret, nil
21788	// {
21789	//   "description": "Rejects return on an line item.",
21790	//   "flatPath": "{merchantId}/orders/{orderId}/rejectReturnLineItem",
21791	//   "httpMethod": "POST",
21792	//   "id": "content.orders.rejectreturnlineitem",
21793	//   "parameterOrder": [
21794	//     "merchantId",
21795	//     "orderId"
21796	//   ],
21797	//   "parameters": {
21798	//     "merchantId": {
21799	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
21800	//       "format": "uint64",
21801	//       "location": "path",
21802	//       "required": true,
21803	//       "type": "string"
21804	//     },
21805	//     "orderId": {
21806	//       "description": "The ID of the order.",
21807	//       "location": "path",
21808	//       "required": true,
21809	//       "type": "string"
21810	//     }
21811	//   },
21812	//   "path": "{merchantId}/orders/{orderId}/rejectReturnLineItem",
21813	//   "request": {
21814	//     "$ref": "OrdersRejectReturnLineItemRequest"
21815	//   },
21816	//   "response": {
21817	//     "$ref": "OrdersRejectReturnLineItemResponse"
21818	//   },
21819	//   "scopes": [
21820	//     "https://www.googleapis.com/auth/content"
21821	//   ]
21822	// }
21823
21824}
21825
21826// method id "content.orders.returnlineitem":
21827
21828type OrdersReturnlineitemCall struct {
21829	s                           *APIService
21830	merchantId                  uint64
21831	orderId                     string
21832	ordersreturnlineitemrequest *OrdersReturnLineItemRequest
21833	urlParams_                  gensupport.URLParams
21834	ctx_                        context.Context
21835	header_                     http.Header
21836}
21837
21838// Returnlineitem: Returns a line item.
21839//
21840// - merchantId: The ID of the account that manages the order. This
21841//   cannot be a multi-client account.
21842// - orderId: The ID of the order.
21843func (r *OrdersService) Returnlineitem(merchantId uint64, orderId string, ordersreturnlineitemrequest *OrdersReturnLineItemRequest) *OrdersReturnlineitemCall {
21844	c := &OrdersReturnlineitemCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21845	c.merchantId = merchantId
21846	c.orderId = orderId
21847	c.ordersreturnlineitemrequest = ordersreturnlineitemrequest
21848	return c
21849}
21850
21851// Fields allows partial responses to be retrieved. See
21852// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21853// for more information.
21854func (c *OrdersReturnlineitemCall) Fields(s ...googleapi.Field) *OrdersReturnlineitemCall {
21855	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21856	return c
21857}
21858
21859// Context sets the context to be used in this call's Do method. Any
21860// pending HTTP request will be aborted if the provided context is
21861// canceled.
21862func (c *OrdersReturnlineitemCall) Context(ctx context.Context) *OrdersReturnlineitemCall {
21863	c.ctx_ = ctx
21864	return c
21865}
21866
21867// Header returns an http.Header that can be modified by the caller to
21868// add HTTP headers to the request.
21869func (c *OrdersReturnlineitemCall) Header() http.Header {
21870	if c.header_ == nil {
21871		c.header_ = make(http.Header)
21872	}
21873	return c.header_
21874}
21875
21876func (c *OrdersReturnlineitemCall) doRequest(alt string) (*http.Response, error) {
21877	reqHeaders := make(http.Header)
21878	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21879	for k, v := range c.header_ {
21880		reqHeaders[k] = v
21881	}
21882	reqHeaders.Set("User-Agent", c.s.userAgent())
21883	var body io.Reader = nil
21884	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ordersreturnlineitemrequest)
21885	if err != nil {
21886		return nil, err
21887	}
21888	reqHeaders.Set("Content-Type", "application/json")
21889	c.urlParams_.Set("alt", alt)
21890	c.urlParams_.Set("prettyPrint", "false")
21891	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/returnLineItem")
21892	urls += "?" + c.urlParams_.Encode()
21893	req, err := http.NewRequest("POST", urls, body)
21894	if err != nil {
21895		return nil, err
21896	}
21897	req.Header = reqHeaders
21898	googleapi.Expand(req.URL, map[string]string{
21899		"merchantId": strconv.FormatUint(c.merchantId, 10),
21900		"orderId":    c.orderId,
21901	})
21902	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21903}
21904
21905// Do executes the "content.orders.returnlineitem" call.
21906// Exactly one of *OrdersReturnLineItemResponse or error will be
21907// non-nil. Any non-2xx status code is an error. Response headers are in
21908// either *OrdersReturnLineItemResponse.ServerResponse.Header or (if a
21909// response was returned at all) in error.(*googleapi.Error).Header. Use
21910// googleapi.IsNotModified to check whether the returned error was
21911// because http.StatusNotModified was returned.
21912func (c *OrdersReturnlineitemCall) Do(opts ...googleapi.CallOption) (*OrdersReturnLineItemResponse, error) {
21913	gensupport.SetOptions(c.urlParams_, opts...)
21914	res, err := c.doRequest("json")
21915	if res != nil && res.StatusCode == http.StatusNotModified {
21916		if res.Body != nil {
21917			res.Body.Close()
21918		}
21919		return nil, &googleapi.Error{
21920			Code:   res.StatusCode,
21921			Header: res.Header,
21922		}
21923	}
21924	if err != nil {
21925		return nil, err
21926	}
21927	defer googleapi.CloseBody(res)
21928	if err := googleapi.CheckResponse(res); err != nil {
21929		return nil, err
21930	}
21931	ret := &OrdersReturnLineItemResponse{
21932		ServerResponse: googleapi.ServerResponse{
21933			Header:         res.Header,
21934			HTTPStatusCode: res.StatusCode,
21935		},
21936	}
21937	target := &ret
21938	if err := gensupport.DecodeResponse(target, res); err != nil {
21939		return nil, err
21940	}
21941	return ret, nil
21942	// {
21943	//   "description": "Returns a line item.",
21944	//   "flatPath": "{merchantId}/orders/{orderId}/returnLineItem",
21945	//   "httpMethod": "POST",
21946	//   "id": "content.orders.returnlineitem",
21947	//   "parameterOrder": [
21948	//     "merchantId",
21949	//     "orderId"
21950	//   ],
21951	//   "parameters": {
21952	//     "merchantId": {
21953	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
21954	//       "format": "uint64",
21955	//       "location": "path",
21956	//       "required": true,
21957	//       "type": "string"
21958	//     },
21959	//     "orderId": {
21960	//       "description": "The ID of the order.",
21961	//       "location": "path",
21962	//       "required": true,
21963	//       "type": "string"
21964	//     }
21965	//   },
21966	//   "path": "{merchantId}/orders/{orderId}/returnLineItem",
21967	//   "request": {
21968	//     "$ref": "OrdersReturnLineItemRequest"
21969	//   },
21970	//   "response": {
21971	//     "$ref": "OrdersReturnLineItemResponse"
21972	//   },
21973	//   "scopes": [
21974	//     "https://www.googleapis.com/auth/content"
21975	//   ]
21976	// }
21977
21978}
21979
21980// method id "content.orders.returnrefundlineitem":
21981
21982type OrdersReturnrefundlineitemCall struct {
21983	s                                 *APIService
21984	merchantId                        uint64
21985	orderId                           string
21986	ordersreturnrefundlineitemrequest *OrdersReturnRefundLineItemRequest
21987	urlParams_                        gensupport.URLParams
21988	ctx_                              context.Context
21989	header_                           http.Header
21990}
21991
21992// Returnrefundlineitem: Returns and refunds a line item. Note that this
21993// method can only be called on fully shipped orders. Please also note
21994// that the Orderreturns API is the preferred way to handle returns
21995// after you receive a return from a customer. You can use
21996// Orderreturns.list or Orderreturns.get to search for the return, and
21997// then use Orderreturns.processreturn to issue the refund. If the
21998// return cannot be found, then we recommend using this API to issue a
21999// refund.
22000//
22001// - merchantId: The ID of the account that manages the order. This
22002//   cannot be a multi-client account.
22003// - orderId: The ID of the order.
22004func (r *OrdersService) Returnrefundlineitem(merchantId uint64, orderId string, ordersreturnrefundlineitemrequest *OrdersReturnRefundLineItemRequest) *OrdersReturnrefundlineitemCall {
22005	c := &OrdersReturnrefundlineitemCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22006	c.merchantId = merchantId
22007	c.orderId = orderId
22008	c.ordersreturnrefundlineitemrequest = ordersreturnrefundlineitemrequest
22009	return c
22010}
22011
22012// Fields allows partial responses to be retrieved. See
22013// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22014// for more information.
22015func (c *OrdersReturnrefundlineitemCall) Fields(s ...googleapi.Field) *OrdersReturnrefundlineitemCall {
22016	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22017	return c
22018}
22019
22020// Context sets the context to be used in this call's Do method. Any
22021// pending HTTP request will be aborted if the provided context is
22022// canceled.
22023func (c *OrdersReturnrefundlineitemCall) Context(ctx context.Context) *OrdersReturnrefundlineitemCall {
22024	c.ctx_ = ctx
22025	return c
22026}
22027
22028// Header returns an http.Header that can be modified by the caller to
22029// add HTTP headers to the request.
22030func (c *OrdersReturnrefundlineitemCall) Header() http.Header {
22031	if c.header_ == nil {
22032		c.header_ = make(http.Header)
22033	}
22034	return c.header_
22035}
22036
22037func (c *OrdersReturnrefundlineitemCall) doRequest(alt string) (*http.Response, error) {
22038	reqHeaders := make(http.Header)
22039	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22040	for k, v := range c.header_ {
22041		reqHeaders[k] = v
22042	}
22043	reqHeaders.Set("User-Agent", c.s.userAgent())
22044	var body io.Reader = nil
22045	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ordersreturnrefundlineitemrequest)
22046	if err != nil {
22047		return nil, err
22048	}
22049	reqHeaders.Set("Content-Type", "application/json")
22050	c.urlParams_.Set("alt", alt)
22051	c.urlParams_.Set("prettyPrint", "false")
22052	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/returnRefundLineItem")
22053	urls += "?" + c.urlParams_.Encode()
22054	req, err := http.NewRequest("POST", urls, body)
22055	if err != nil {
22056		return nil, err
22057	}
22058	req.Header = reqHeaders
22059	googleapi.Expand(req.URL, map[string]string{
22060		"merchantId": strconv.FormatUint(c.merchantId, 10),
22061		"orderId":    c.orderId,
22062	})
22063	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22064}
22065
22066// Do executes the "content.orders.returnrefundlineitem" call.
22067// Exactly one of *OrdersReturnRefundLineItemResponse or error will be
22068// non-nil. Any non-2xx status code is an error. Response headers are in
22069// either *OrdersReturnRefundLineItemResponse.ServerResponse.Header or
22070// (if a response was returned at all) in
22071// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22072// whether the returned error was because http.StatusNotModified was
22073// returned.
22074func (c *OrdersReturnrefundlineitemCall) Do(opts ...googleapi.CallOption) (*OrdersReturnRefundLineItemResponse, error) {
22075	gensupport.SetOptions(c.urlParams_, opts...)
22076	res, err := c.doRequest("json")
22077	if res != nil && res.StatusCode == http.StatusNotModified {
22078		if res.Body != nil {
22079			res.Body.Close()
22080		}
22081		return nil, &googleapi.Error{
22082			Code:   res.StatusCode,
22083			Header: res.Header,
22084		}
22085	}
22086	if err != nil {
22087		return nil, err
22088	}
22089	defer googleapi.CloseBody(res)
22090	if err := googleapi.CheckResponse(res); err != nil {
22091		return nil, err
22092	}
22093	ret := &OrdersReturnRefundLineItemResponse{
22094		ServerResponse: googleapi.ServerResponse{
22095			Header:         res.Header,
22096			HTTPStatusCode: res.StatusCode,
22097		},
22098	}
22099	target := &ret
22100	if err := gensupport.DecodeResponse(target, res); err != nil {
22101		return nil, err
22102	}
22103	return ret, nil
22104	// {
22105	//   "description": "Returns and refunds a line item. Note that this method can only be called on fully shipped orders. Please also note that the Orderreturns API is the preferred way to handle returns after you receive a return from a customer. You can use Orderreturns.list or Orderreturns.get to search for the return, and then use Orderreturns.processreturn to issue the refund. If the return cannot be found, then we recommend using this API to issue a refund.",
22106	//   "flatPath": "{merchantId}/orders/{orderId}/returnRefundLineItem",
22107	//   "httpMethod": "POST",
22108	//   "id": "content.orders.returnrefundlineitem",
22109	//   "parameterOrder": [
22110	//     "merchantId",
22111	//     "orderId"
22112	//   ],
22113	//   "parameters": {
22114	//     "merchantId": {
22115	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
22116	//       "format": "uint64",
22117	//       "location": "path",
22118	//       "required": true,
22119	//       "type": "string"
22120	//     },
22121	//     "orderId": {
22122	//       "description": "The ID of the order.",
22123	//       "location": "path",
22124	//       "required": true,
22125	//       "type": "string"
22126	//     }
22127	//   },
22128	//   "path": "{merchantId}/orders/{orderId}/returnRefundLineItem",
22129	//   "request": {
22130	//     "$ref": "OrdersReturnRefundLineItemRequest"
22131	//   },
22132	//   "response": {
22133	//     "$ref": "OrdersReturnRefundLineItemResponse"
22134	//   },
22135	//   "scopes": [
22136	//     "https://www.googleapis.com/auth/content"
22137	//   ]
22138	// }
22139
22140}
22141
22142// method id "content.orders.setlineitemmetadata":
22143
22144type OrdersSetlineitemmetadataCall struct {
22145	s                                *APIService
22146	merchantId                       uint64
22147	orderId                          string
22148	orderssetlineitemmetadatarequest *OrdersSetLineItemMetadataRequest
22149	urlParams_                       gensupport.URLParams
22150	ctx_                             context.Context
22151	header_                          http.Header
22152}
22153
22154// Setlineitemmetadata: Sets (or overrides if it already exists)
22155// merchant provided annotations in the form of key-value pairs. A
22156// common use case would be to supply us with additional structured
22157// information about a line item that cannot be provided via other
22158// methods. Submitted key-value pairs can be retrieved as part of the
22159// orders resource.
22160//
22161// - merchantId: The ID of the account that manages the order. This
22162//   cannot be a multi-client account.
22163// - orderId: The ID of the order.
22164func (r *OrdersService) Setlineitemmetadata(merchantId uint64, orderId string, orderssetlineitemmetadatarequest *OrdersSetLineItemMetadataRequest) *OrdersSetlineitemmetadataCall {
22165	c := &OrdersSetlineitemmetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22166	c.merchantId = merchantId
22167	c.orderId = orderId
22168	c.orderssetlineitemmetadatarequest = orderssetlineitemmetadatarequest
22169	return c
22170}
22171
22172// Fields allows partial responses to be retrieved. See
22173// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22174// for more information.
22175func (c *OrdersSetlineitemmetadataCall) Fields(s ...googleapi.Field) *OrdersSetlineitemmetadataCall {
22176	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22177	return c
22178}
22179
22180// Context sets the context to be used in this call's Do method. Any
22181// pending HTTP request will be aborted if the provided context is
22182// canceled.
22183func (c *OrdersSetlineitemmetadataCall) Context(ctx context.Context) *OrdersSetlineitemmetadataCall {
22184	c.ctx_ = ctx
22185	return c
22186}
22187
22188// Header returns an http.Header that can be modified by the caller to
22189// add HTTP headers to the request.
22190func (c *OrdersSetlineitemmetadataCall) Header() http.Header {
22191	if c.header_ == nil {
22192		c.header_ = make(http.Header)
22193	}
22194	return c.header_
22195}
22196
22197func (c *OrdersSetlineitemmetadataCall) doRequest(alt string) (*http.Response, error) {
22198	reqHeaders := make(http.Header)
22199	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22200	for k, v := range c.header_ {
22201		reqHeaders[k] = v
22202	}
22203	reqHeaders.Set("User-Agent", c.s.userAgent())
22204	var body io.Reader = nil
22205	body, err := googleapi.WithoutDataWrapper.JSONReader(c.orderssetlineitemmetadatarequest)
22206	if err != nil {
22207		return nil, err
22208	}
22209	reqHeaders.Set("Content-Type", "application/json")
22210	c.urlParams_.Set("alt", alt)
22211	c.urlParams_.Set("prettyPrint", "false")
22212	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/setLineItemMetadata")
22213	urls += "?" + c.urlParams_.Encode()
22214	req, err := http.NewRequest("POST", urls, body)
22215	if err != nil {
22216		return nil, err
22217	}
22218	req.Header = reqHeaders
22219	googleapi.Expand(req.URL, map[string]string{
22220		"merchantId": strconv.FormatUint(c.merchantId, 10),
22221		"orderId":    c.orderId,
22222	})
22223	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22224}
22225
22226// Do executes the "content.orders.setlineitemmetadata" call.
22227// Exactly one of *OrdersSetLineItemMetadataResponse or error will be
22228// non-nil. Any non-2xx status code is an error. Response headers are in
22229// either *OrdersSetLineItemMetadataResponse.ServerResponse.Header or
22230// (if a response was returned at all) in
22231// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22232// whether the returned error was because http.StatusNotModified was
22233// returned.
22234func (c *OrdersSetlineitemmetadataCall) Do(opts ...googleapi.CallOption) (*OrdersSetLineItemMetadataResponse, error) {
22235	gensupport.SetOptions(c.urlParams_, opts...)
22236	res, err := c.doRequest("json")
22237	if res != nil && res.StatusCode == http.StatusNotModified {
22238		if res.Body != nil {
22239			res.Body.Close()
22240		}
22241		return nil, &googleapi.Error{
22242			Code:   res.StatusCode,
22243			Header: res.Header,
22244		}
22245	}
22246	if err != nil {
22247		return nil, err
22248	}
22249	defer googleapi.CloseBody(res)
22250	if err := googleapi.CheckResponse(res); err != nil {
22251		return nil, err
22252	}
22253	ret := &OrdersSetLineItemMetadataResponse{
22254		ServerResponse: googleapi.ServerResponse{
22255			Header:         res.Header,
22256			HTTPStatusCode: res.StatusCode,
22257		},
22258	}
22259	target := &ret
22260	if err := gensupport.DecodeResponse(target, res); err != nil {
22261		return nil, err
22262	}
22263	return ret, nil
22264	// {
22265	//   "description": "Sets (or overrides if it already exists) merchant provided annotations in the form of key-value pairs. A common use case would be to supply us with additional structured information about a line item that cannot be provided via other methods. Submitted key-value pairs can be retrieved as part of the orders resource.",
22266	//   "flatPath": "{merchantId}/orders/{orderId}/setLineItemMetadata",
22267	//   "httpMethod": "POST",
22268	//   "id": "content.orders.setlineitemmetadata",
22269	//   "parameterOrder": [
22270	//     "merchantId",
22271	//     "orderId"
22272	//   ],
22273	//   "parameters": {
22274	//     "merchantId": {
22275	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
22276	//       "format": "uint64",
22277	//       "location": "path",
22278	//       "required": true,
22279	//       "type": "string"
22280	//     },
22281	//     "orderId": {
22282	//       "description": "The ID of the order.",
22283	//       "location": "path",
22284	//       "required": true,
22285	//       "type": "string"
22286	//     }
22287	//   },
22288	//   "path": "{merchantId}/orders/{orderId}/setLineItemMetadata",
22289	//   "request": {
22290	//     "$ref": "OrdersSetLineItemMetadataRequest"
22291	//   },
22292	//   "response": {
22293	//     "$ref": "OrdersSetLineItemMetadataResponse"
22294	//   },
22295	//   "scopes": [
22296	//     "https://www.googleapis.com/auth/content"
22297	//   ]
22298	// }
22299
22300}
22301
22302// method id "content.orders.shiplineitems":
22303
22304type OrdersShiplineitemsCall struct {
22305	s                          *APIService
22306	merchantId                 uint64
22307	orderId                    string
22308	ordersshiplineitemsrequest *OrdersShipLineItemsRequest
22309	urlParams_                 gensupport.URLParams
22310	ctx_                       context.Context
22311	header_                    http.Header
22312}
22313
22314// Shiplineitems: Marks line item(s) as shipped.
22315//
22316// - merchantId: The ID of the account that manages the order. This
22317//   cannot be a multi-client account.
22318// - orderId: The ID of the order.
22319func (r *OrdersService) Shiplineitems(merchantId uint64, orderId string, ordersshiplineitemsrequest *OrdersShipLineItemsRequest) *OrdersShiplineitemsCall {
22320	c := &OrdersShiplineitemsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22321	c.merchantId = merchantId
22322	c.orderId = orderId
22323	c.ordersshiplineitemsrequest = ordersshiplineitemsrequest
22324	return c
22325}
22326
22327// Fields allows partial responses to be retrieved. See
22328// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22329// for more information.
22330func (c *OrdersShiplineitemsCall) Fields(s ...googleapi.Field) *OrdersShiplineitemsCall {
22331	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22332	return c
22333}
22334
22335// Context sets the context to be used in this call's Do method. Any
22336// pending HTTP request will be aborted if the provided context is
22337// canceled.
22338func (c *OrdersShiplineitemsCall) Context(ctx context.Context) *OrdersShiplineitemsCall {
22339	c.ctx_ = ctx
22340	return c
22341}
22342
22343// Header returns an http.Header that can be modified by the caller to
22344// add HTTP headers to the request.
22345func (c *OrdersShiplineitemsCall) Header() http.Header {
22346	if c.header_ == nil {
22347		c.header_ = make(http.Header)
22348	}
22349	return c.header_
22350}
22351
22352func (c *OrdersShiplineitemsCall) doRequest(alt string) (*http.Response, error) {
22353	reqHeaders := make(http.Header)
22354	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22355	for k, v := range c.header_ {
22356		reqHeaders[k] = v
22357	}
22358	reqHeaders.Set("User-Agent", c.s.userAgent())
22359	var body io.Reader = nil
22360	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ordersshiplineitemsrequest)
22361	if err != nil {
22362		return nil, err
22363	}
22364	reqHeaders.Set("Content-Type", "application/json")
22365	c.urlParams_.Set("alt", alt)
22366	c.urlParams_.Set("prettyPrint", "false")
22367	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/shipLineItems")
22368	urls += "?" + c.urlParams_.Encode()
22369	req, err := http.NewRequest("POST", urls, body)
22370	if err != nil {
22371		return nil, err
22372	}
22373	req.Header = reqHeaders
22374	googleapi.Expand(req.URL, map[string]string{
22375		"merchantId": strconv.FormatUint(c.merchantId, 10),
22376		"orderId":    c.orderId,
22377	})
22378	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22379}
22380
22381// Do executes the "content.orders.shiplineitems" call.
22382// Exactly one of *OrdersShipLineItemsResponse or error will be non-nil.
22383// Any non-2xx status code is an error. Response headers are in either
22384// *OrdersShipLineItemsResponse.ServerResponse.Header or (if a response
22385// was returned at all) in error.(*googleapi.Error).Header. Use
22386// googleapi.IsNotModified to check whether the returned error was
22387// because http.StatusNotModified was returned.
22388func (c *OrdersShiplineitemsCall) Do(opts ...googleapi.CallOption) (*OrdersShipLineItemsResponse, error) {
22389	gensupport.SetOptions(c.urlParams_, opts...)
22390	res, err := c.doRequest("json")
22391	if res != nil && res.StatusCode == http.StatusNotModified {
22392		if res.Body != nil {
22393			res.Body.Close()
22394		}
22395		return nil, &googleapi.Error{
22396			Code:   res.StatusCode,
22397			Header: res.Header,
22398		}
22399	}
22400	if err != nil {
22401		return nil, err
22402	}
22403	defer googleapi.CloseBody(res)
22404	if err := googleapi.CheckResponse(res); err != nil {
22405		return nil, err
22406	}
22407	ret := &OrdersShipLineItemsResponse{
22408		ServerResponse: googleapi.ServerResponse{
22409			Header:         res.Header,
22410			HTTPStatusCode: res.StatusCode,
22411		},
22412	}
22413	target := &ret
22414	if err := gensupport.DecodeResponse(target, res); err != nil {
22415		return nil, err
22416	}
22417	return ret, nil
22418	// {
22419	//   "description": "Marks line item(s) as shipped.",
22420	//   "flatPath": "{merchantId}/orders/{orderId}/shipLineItems",
22421	//   "httpMethod": "POST",
22422	//   "id": "content.orders.shiplineitems",
22423	//   "parameterOrder": [
22424	//     "merchantId",
22425	//     "orderId"
22426	//   ],
22427	//   "parameters": {
22428	//     "merchantId": {
22429	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
22430	//       "format": "uint64",
22431	//       "location": "path",
22432	//       "required": true,
22433	//       "type": "string"
22434	//     },
22435	//     "orderId": {
22436	//       "description": "The ID of the order.",
22437	//       "location": "path",
22438	//       "required": true,
22439	//       "type": "string"
22440	//     }
22441	//   },
22442	//   "path": "{merchantId}/orders/{orderId}/shipLineItems",
22443	//   "request": {
22444	//     "$ref": "OrdersShipLineItemsRequest"
22445	//   },
22446	//   "response": {
22447	//     "$ref": "OrdersShipLineItemsResponse"
22448	//   },
22449	//   "scopes": [
22450	//     "https://www.googleapis.com/auth/content"
22451	//   ]
22452	// }
22453
22454}
22455
22456// method id "content.orders.updatelineitemshippingdetails":
22457
22458type OrdersUpdatelineitemshippingdetailsCall struct {
22459	s                                          *APIService
22460	merchantId                                 uint64
22461	orderId                                    string
22462	ordersupdatelineitemshippingdetailsrequest *OrdersUpdateLineItemShippingDetailsRequest
22463	urlParams_                                 gensupport.URLParams
22464	ctx_                                       context.Context
22465	header_                                    http.Header
22466}
22467
22468// Updatelineitemshippingdetails: Updates ship by and delivery by dates
22469// for a line item.
22470//
22471// - merchantId: The ID of the account that manages the order. This
22472//   cannot be a multi-client account.
22473// - orderId: The ID of the order.
22474func (r *OrdersService) Updatelineitemshippingdetails(merchantId uint64, orderId string, ordersupdatelineitemshippingdetailsrequest *OrdersUpdateLineItemShippingDetailsRequest) *OrdersUpdatelineitemshippingdetailsCall {
22475	c := &OrdersUpdatelineitemshippingdetailsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22476	c.merchantId = merchantId
22477	c.orderId = orderId
22478	c.ordersupdatelineitemshippingdetailsrequest = ordersupdatelineitemshippingdetailsrequest
22479	return c
22480}
22481
22482// Fields allows partial responses to be retrieved. See
22483// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22484// for more information.
22485func (c *OrdersUpdatelineitemshippingdetailsCall) Fields(s ...googleapi.Field) *OrdersUpdatelineitemshippingdetailsCall {
22486	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22487	return c
22488}
22489
22490// Context sets the context to be used in this call's Do method. Any
22491// pending HTTP request will be aborted if the provided context is
22492// canceled.
22493func (c *OrdersUpdatelineitemshippingdetailsCall) Context(ctx context.Context) *OrdersUpdatelineitemshippingdetailsCall {
22494	c.ctx_ = ctx
22495	return c
22496}
22497
22498// Header returns an http.Header that can be modified by the caller to
22499// add HTTP headers to the request.
22500func (c *OrdersUpdatelineitemshippingdetailsCall) Header() http.Header {
22501	if c.header_ == nil {
22502		c.header_ = make(http.Header)
22503	}
22504	return c.header_
22505}
22506
22507func (c *OrdersUpdatelineitemshippingdetailsCall) doRequest(alt string) (*http.Response, error) {
22508	reqHeaders := make(http.Header)
22509	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22510	for k, v := range c.header_ {
22511		reqHeaders[k] = v
22512	}
22513	reqHeaders.Set("User-Agent", c.s.userAgent())
22514	var body io.Reader = nil
22515	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ordersupdatelineitemshippingdetailsrequest)
22516	if err != nil {
22517		return nil, err
22518	}
22519	reqHeaders.Set("Content-Type", "application/json")
22520	c.urlParams_.Set("alt", alt)
22521	c.urlParams_.Set("prettyPrint", "false")
22522	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/updateLineItemShippingDetails")
22523	urls += "?" + c.urlParams_.Encode()
22524	req, err := http.NewRequest("POST", urls, body)
22525	if err != nil {
22526		return nil, err
22527	}
22528	req.Header = reqHeaders
22529	googleapi.Expand(req.URL, map[string]string{
22530		"merchantId": strconv.FormatUint(c.merchantId, 10),
22531		"orderId":    c.orderId,
22532	})
22533	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22534}
22535
22536// Do executes the "content.orders.updatelineitemshippingdetails" call.
22537// Exactly one of *OrdersUpdateLineItemShippingDetailsResponse or error
22538// will be non-nil. Any non-2xx status code is an error. Response
22539// headers are in either
22540// *OrdersUpdateLineItemShippingDetailsResponse.ServerResponse.Header or
22541// (if a response was returned at all) in
22542// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22543// whether the returned error was because http.StatusNotModified was
22544// returned.
22545func (c *OrdersUpdatelineitemshippingdetailsCall) Do(opts ...googleapi.CallOption) (*OrdersUpdateLineItemShippingDetailsResponse, error) {
22546	gensupport.SetOptions(c.urlParams_, opts...)
22547	res, err := c.doRequest("json")
22548	if res != nil && res.StatusCode == http.StatusNotModified {
22549		if res.Body != nil {
22550			res.Body.Close()
22551		}
22552		return nil, &googleapi.Error{
22553			Code:   res.StatusCode,
22554			Header: res.Header,
22555		}
22556	}
22557	if err != nil {
22558		return nil, err
22559	}
22560	defer googleapi.CloseBody(res)
22561	if err := googleapi.CheckResponse(res); err != nil {
22562		return nil, err
22563	}
22564	ret := &OrdersUpdateLineItemShippingDetailsResponse{
22565		ServerResponse: googleapi.ServerResponse{
22566			Header:         res.Header,
22567			HTTPStatusCode: res.StatusCode,
22568		},
22569	}
22570	target := &ret
22571	if err := gensupport.DecodeResponse(target, res); err != nil {
22572		return nil, err
22573	}
22574	return ret, nil
22575	// {
22576	//   "description": "Updates ship by and delivery by dates for a line item.",
22577	//   "flatPath": "{merchantId}/orders/{orderId}/updateLineItemShippingDetails",
22578	//   "httpMethod": "POST",
22579	//   "id": "content.orders.updatelineitemshippingdetails",
22580	//   "parameterOrder": [
22581	//     "merchantId",
22582	//     "orderId"
22583	//   ],
22584	//   "parameters": {
22585	//     "merchantId": {
22586	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
22587	//       "format": "uint64",
22588	//       "location": "path",
22589	//       "required": true,
22590	//       "type": "string"
22591	//     },
22592	//     "orderId": {
22593	//       "description": "The ID of the order.",
22594	//       "location": "path",
22595	//       "required": true,
22596	//       "type": "string"
22597	//     }
22598	//   },
22599	//   "path": "{merchantId}/orders/{orderId}/updateLineItemShippingDetails",
22600	//   "request": {
22601	//     "$ref": "OrdersUpdateLineItemShippingDetailsRequest"
22602	//   },
22603	//   "response": {
22604	//     "$ref": "OrdersUpdateLineItemShippingDetailsResponse"
22605	//   },
22606	//   "scopes": [
22607	//     "https://www.googleapis.com/auth/content"
22608	//   ]
22609	// }
22610
22611}
22612
22613// method id "content.orders.updatemerchantorderid":
22614
22615type OrdersUpdatemerchantorderidCall struct {
22616	s                                  *APIService
22617	merchantId                         uint64
22618	orderId                            string
22619	ordersupdatemerchantorderidrequest *OrdersUpdateMerchantOrderIdRequest
22620	urlParams_                         gensupport.URLParams
22621	ctx_                               context.Context
22622	header_                            http.Header
22623}
22624
22625// Updatemerchantorderid: Updates the merchant order ID for a given
22626// order.
22627//
22628// - merchantId: The ID of the account that manages the order. This
22629//   cannot be a multi-client account.
22630// - orderId: The ID of the order.
22631func (r *OrdersService) Updatemerchantorderid(merchantId uint64, orderId string, ordersupdatemerchantorderidrequest *OrdersUpdateMerchantOrderIdRequest) *OrdersUpdatemerchantorderidCall {
22632	c := &OrdersUpdatemerchantorderidCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22633	c.merchantId = merchantId
22634	c.orderId = orderId
22635	c.ordersupdatemerchantorderidrequest = ordersupdatemerchantorderidrequest
22636	return c
22637}
22638
22639// Fields allows partial responses to be retrieved. See
22640// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22641// for more information.
22642func (c *OrdersUpdatemerchantorderidCall) Fields(s ...googleapi.Field) *OrdersUpdatemerchantorderidCall {
22643	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22644	return c
22645}
22646
22647// Context sets the context to be used in this call's Do method. Any
22648// pending HTTP request will be aborted if the provided context is
22649// canceled.
22650func (c *OrdersUpdatemerchantorderidCall) Context(ctx context.Context) *OrdersUpdatemerchantorderidCall {
22651	c.ctx_ = ctx
22652	return c
22653}
22654
22655// Header returns an http.Header that can be modified by the caller to
22656// add HTTP headers to the request.
22657func (c *OrdersUpdatemerchantorderidCall) Header() http.Header {
22658	if c.header_ == nil {
22659		c.header_ = make(http.Header)
22660	}
22661	return c.header_
22662}
22663
22664func (c *OrdersUpdatemerchantorderidCall) doRequest(alt string) (*http.Response, error) {
22665	reqHeaders := make(http.Header)
22666	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22667	for k, v := range c.header_ {
22668		reqHeaders[k] = v
22669	}
22670	reqHeaders.Set("User-Agent", c.s.userAgent())
22671	var body io.Reader = nil
22672	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ordersupdatemerchantorderidrequest)
22673	if err != nil {
22674		return nil, err
22675	}
22676	reqHeaders.Set("Content-Type", "application/json")
22677	c.urlParams_.Set("alt", alt)
22678	c.urlParams_.Set("prettyPrint", "false")
22679	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/updateMerchantOrderId")
22680	urls += "?" + c.urlParams_.Encode()
22681	req, err := http.NewRequest("POST", urls, body)
22682	if err != nil {
22683		return nil, err
22684	}
22685	req.Header = reqHeaders
22686	googleapi.Expand(req.URL, map[string]string{
22687		"merchantId": strconv.FormatUint(c.merchantId, 10),
22688		"orderId":    c.orderId,
22689	})
22690	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22691}
22692
22693// Do executes the "content.orders.updatemerchantorderid" call.
22694// Exactly one of *OrdersUpdateMerchantOrderIdResponse or error will be
22695// non-nil. Any non-2xx status code is an error. Response headers are in
22696// either *OrdersUpdateMerchantOrderIdResponse.ServerResponse.Header or
22697// (if a response was returned at all) in
22698// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22699// whether the returned error was because http.StatusNotModified was
22700// returned.
22701func (c *OrdersUpdatemerchantorderidCall) Do(opts ...googleapi.CallOption) (*OrdersUpdateMerchantOrderIdResponse, error) {
22702	gensupport.SetOptions(c.urlParams_, opts...)
22703	res, err := c.doRequest("json")
22704	if res != nil && res.StatusCode == http.StatusNotModified {
22705		if res.Body != nil {
22706			res.Body.Close()
22707		}
22708		return nil, &googleapi.Error{
22709			Code:   res.StatusCode,
22710			Header: res.Header,
22711		}
22712	}
22713	if err != nil {
22714		return nil, err
22715	}
22716	defer googleapi.CloseBody(res)
22717	if err := googleapi.CheckResponse(res); err != nil {
22718		return nil, err
22719	}
22720	ret := &OrdersUpdateMerchantOrderIdResponse{
22721		ServerResponse: googleapi.ServerResponse{
22722			Header:         res.Header,
22723			HTTPStatusCode: res.StatusCode,
22724		},
22725	}
22726	target := &ret
22727	if err := gensupport.DecodeResponse(target, res); err != nil {
22728		return nil, err
22729	}
22730	return ret, nil
22731	// {
22732	//   "description": "Updates the merchant order ID for a given order.",
22733	//   "flatPath": "{merchantId}/orders/{orderId}/updateMerchantOrderId",
22734	//   "httpMethod": "POST",
22735	//   "id": "content.orders.updatemerchantorderid",
22736	//   "parameterOrder": [
22737	//     "merchantId",
22738	//     "orderId"
22739	//   ],
22740	//   "parameters": {
22741	//     "merchantId": {
22742	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
22743	//       "format": "uint64",
22744	//       "location": "path",
22745	//       "required": true,
22746	//       "type": "string"
22747	//     },
22748	//     "orderId": {
22749	//       "description": "The ID of the order.",
22750	//       "location": "path",
22751	//       "required": true,
22752	//       "type": "string"
22753	//     }
22754	//   },
22755	//   "path": "{merchantId}/orders/{orderId}/updateMerchantOrderId",
22756	//   "request": {
22757	//     "$ref": "OrdersUpdateMerchantOrderIdRequest"
22758	//   },
22759	//   "response": {
22760	//     "$ref": "OrdersUpdateMerchantOrderIdResponse"
22761	//   },
22762	//   "scopes": [
22763	//     "https://www.googleapis.com/auth/content"
22764	//   ]
22765	// }
22766
22767}
22768
22769// method id "content.orders.updateshipment":
22770
22771type OrdersUpdateshipmentCall struct {
22772	s                           *APIService
22773	merchantId                  uint64
22774	orderId                     string
22775	ordersupdateshipmentrequest *OrdersUpdateShipmentRequest
22776	urlParams_                  gensupport.URLParams
22777	ctx_                        context.Context
22778	header_                     http.Header
22779}
22780
22781// Updateshipment: Updates a shipment's status, carrier, and/or tracking
22782// ID.
22783//
22784// - merchantId: The ID of the account that manages the order. This
22785//   cannot be a multi-client account.
22786// - orderId: The ID of the order.
22787func (r *OrdersService) Updateshipment(merchantId uint64, orderId string, ordersupdateshipmentrequest *OrdersUpdateShipmentRequest) *OrdersUpdateshipmentCall {
22788	c := &OrdersUpdateshipmentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22789	c.merchantId = merchantId
22790	c.orderId = orderId
22791	c.ordersupdateshipmentrequest = ordersupdateshipmentrequest
22792	return c
22793}
22794
22795// Fields allows partial responses to be retrieved. See
22796// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22797// for more information.
22798func (c *OrdersUpdateshipmentCall) Fields(s ...googleapi.Field) *OrdersUpdateshipmentCall {
22799	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22800	return c
22801}
22802
22803// Context sets the context to be used in this call's Do method. Any
22804// pending HTTP request will be aborted if the provided context is
22805// canceled.
22806func (c *OrdersUpdateshipmentCall) Context(ctx context.Context) *OrdersUpdateshipmentCall {
22807	c.ctx_ = ctx
22808	return c
22809}
22810
22811// Header returns an http.Header that can be modified by the caller to
22812// add HTTP headers to the request.
22813func (c *OrdersUpdateshipmentCall) Header() http.Header {
22814	if c.header_ == nil {
22815		c.header_ = make(http.Header)
22816	}
22817	return c.header_
22818}
22819
22820func (c *OrdersUpdateshipmentCall) doRequest(alt string) (*http.Response, error) {
22821	reqHeaders := make(http.Header)
22822	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22823	for k, v := range c.header_ {
22824		reqHeaders[k] = v
22825	}
22826	reqHeaders.Set("User-Agent", c.s.userAgent())
22827	var body io.Reader = nil
22828	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ordersupdateshipmentrequest)
22829	if err != nil {
22830		return nil, err
22831	}
22832	reqHeaders.Set("Content-Type", "application/json")
22833	c.urlParams_.Set("alt", alt)
22834	c.urlParams_.Set("prettyPrint", "false")
22835	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/orders/{orderId}/updateShipment")
22836	urls += "?" + c.urlParams_.Encode()
22837	req, err := http.NewRequest("POST", urls, body)
22838	if err != nil {
22839		return nil, err
22840	}
22841	req.Header = reqHeaders
22842	googleapi.Expand(req.URL, map[string]string{
22843		"merchantId": strconv.FormatUint(c.merchantId, 10),
22844		"orderId":    c.orderId,
22845	})
22846	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22847}
22848
22849// Do executes the "content.orders.updateshipment" call.
22850// Exactly one of *OrdersUpdateShipmentResponse or error will be
22851// non-nil. Any non-2xx status code is an error. Response headers are in
22852// either *OrdersUpdateShipmentResponse.ServerResponse.Header or (if a
22853// response was returned at all) in error.(*googleapi.Error).Header. Use
22854// googleapi.IsNotModified to check whether the returned error was
22855// because http.StatusNotModified was returned.
22856func (c *OrdersUpdateshipmentCall) Do(opts ...googleapi.CallOption) (*OrdersUpdateShipmentResponse, error) {
22857	gensupport.SetOptions(c.urlParams_, opts...)
22858	res, err := c.doRequest("json")
22859	if res != nil && res.StatusCode == http.StatusNotModified {
22860		if res.Body != nil {
22861			res.Body.Close()
22862		}
22863		return nil, &googleapi.Error{
22864			Code:   res.StatusCode,
22865			Header: res.Header,
22866		}
22867	}
22868	if err != nil {
22869		return nil, err
22870	}
22871	defer googleapi.CloseBody(res)
22872	if err := googleapi.CheckResponse(res); err != nil {
22873		return nil, err
22874	}
22875	ret := &OrdersUpdateShipmentResponse{
22876		ServerResponse: googleapi.ServerResponse{
22877			Header:         res.Header,
22878			HTTPStatusCode: res.StatusCode,
22879		},
22880	}
22881	target := &ret
22882	if err := gensupport.DecodeResponse(target, res); err != nil {
22883		return nil, err
22884	}
22885	return ret, nil
22886	// {
22887	//   "description": "Updates a shipment's status, carrier, and/or tracking ID.",
22888	//   "flatPath": "{merchantId}/orders/{orderId}/updateShipment",
22889	//   "httpMethod": "POST",
22890	//   "id": "content.orders.updateshipment",
22891	//   "parameterOrder": [
22892	//     "merchantId",
22893	//     "orderId"
22894	//   ],
22895	//   "parameters": {
22896	//     "merchantId": {
22897	//       "description": "The ID of the account that manages the order. This cannot be a multi-client account.",
22898	//       "format": "uint64",
22899	//       "location": "path",
22900	//       "required": true,
22901	//       "type": "string"
22902	//     },
22903	//     "orderId": {
22904	//       "description": "The ID of the order.",
22905	//       "location": "path",
22906	//       "required": true,
22907	//       "type": "string"
22908	//     }
22909	//   },
22910	//   "path": "{merchantId}/orders/{orderId}/updateShipment",
22911	//   "request": {
22912	//     "$ref": "OrdersUpdateShipmentRequest"
22913	//   },
22914	//   "response": {
22915	//     "$ref": "OrdersUpdateShipmentResponse"
22916	//   },
22917	//   "scopes": [
22918	//     "https://www.googleapis.com/auth/content"
22919	//   ]
22920	// }
22921
22922}
22923
22924// method id "content.pos.custombatch":
22925
22926type PosCustombatchCall struct {
22927	s                     *APIService
22928	poscustombatchrequest *PosCustomBatchRequest
22929	urlParams_            gensupport.URLParams
22930	ctx_                  context.Context
22931	header_               http.Header
22932}
22933
22934// Custombatch: Batches multiple POS-related calls in a single request.
22935func (r *PosService) Custombatch(poscustombatchrequest *PosCustomBatchRequest) *PosCustombatchCall {
22936	c := &PosCustombatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22937	c.poscustombatchrequest = poscustombatchrequest
22938	return c
22939}
22940
22941// DryRun sets the optional parameter "dryRun": Flag to simulate a
22942// request like in a live environment. If set to true, dry-run mode
22943// checks the validity of the request and returns errors (if any).
22944func (c *PosCustombatchCall) DryRun(dryRun bool) *PosCustombatchCall {
22945	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
22946	return c
22947}
22948
22949// Fields allows partial responses to be retrieved. See
22950// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22951// for more information.
22952func (c *PosCustombatchCall) Fields(s ...googleapi.Field) *PosCustombatchCall {
22953	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22954	return c
22955}
22956
22957// Context sets the context to be used in this call's Do method. Any
22958// pending HTTP request will be aborted if the provided context is
22959// canceled.
22960func (c *PosCustombatchCall) Context(ctx context.Context) *PosCustombatchCall {
22961	c.ctx_ = ctx
22962	return c
22963}
22964
22965// Header returns an http.Header that can be modified by the caller to
22966// add HTTP headers to the request.
22967func (c *PosCustombatchCall) Header() http.Header {
22968	if c.header_ == nil {
22969		c.header_ = make(http.Header)
22970	}
22971	return c.header_
22972}
22973
22974func (c *PosCustombatchCall) doRequest(alt string) (*http.Response, error) {
22975	reqHeaders := make(http.Header)
22976	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22977	for k, v := range c.header_ {
22978		reqHeaders[k] = v
22979	}
22980	reqHeaders.Set("User-Agent", c.s.userAgent())
22981	var body io.Reader = nil
22982	body, err := googleapi.WithoutDataWrapper.JSONReader(c.poscustombatchrequest)
22983	if err != nil {
22984		return nil, err
22985	}
22986	reqHeaders.Set("Content-Type", "application/json")
22987	c.urlParams_.Set("alt", alt)
22988	c.urlParams_.Set("prettyPrint", "false")
22989	urls := googleapi.ResolveRelative(c.s.BasePath, "pos/batch")
22990	urls += "?" + c.urlParams_.Encode()
22991	req, err := http.NewRequest("POST", urls, body)
22992	if err != nil {
22993		return nil, err
22994	}
22995	req.Header = reqHeaders
22996	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22997}
22998
22999// Do executes the "content.pos.custombatch" call.
23000// Exactly one of *PosCustomBatchResponse or error will be non-nil. Any
23001// non-2xx status code is an error. Response headers are in either
23002// *PosCustomBatchResponse.ServerResponse.Header or (if a response was
23003// returned at all) in error.(*googleapi.Error).Header. Use
23004// googleapi.IsNotModified to check whether the returned error was
23005// because http.StatusNotModified was returned.
23006func (c *PosCustombatchCall) Do(opts ...googleapi.CallOption) (*PosCustomBatchResponse, error) {
23007	gensupport.SetOptions(c.urlParams_, opts...)
23008	res, err := c.doRequest("json")
23009	if res != nil && res.StatusCode == http.StatusNotModified {
23010		if res.Body != nil {
23011			res.Body.Close()
23012		}
23013		return nil, &googleapi.Error{
23014			Code:   res.StatusCode,
23015			Header: res.Header,
23016		}
23017	}
23018	if err != nil {
23019		return nil, err
23020	}
23021	defer googleapi.CloseBody(res)
23022	if err := googleapi.CheckResponse(res); err != nil {
23023		return nil, err
23024	}
23025	ret := &PosCustomBatchResponse{
23026		ServerResponse: googleapi.ServerResponse{
23027			Header:         res.Header,
23028			HTTPStatusCode: res.StatusCode,
23029		},
23030	}
23031	target := &ret
23032	if err := gensupport.DecodeResponse(target, res); err != nil {
23033		return nil, err
23034	}
23035	return ret, nil
23036	// {
23037	//   "description": "Batches multiple POS-related calls in a single request.",
23038	//   "flatPath": "pos/batch",
23039	//   "httpMethod": "POST",
23040	//   "id": "content.pos.custombatch",
23041	//   "parameterOrder": [],
23042	//   "parameters": {
23043	//     "dryRun": {
23044	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
23045	//       "location": "query",
23046	//       "type": "boolean"
23047	//     }
23048	//   },
23049	//   "path": "pos/batch",
23050	//   "request": {
23051	//     "$ref": "PosCustomBatchRequest"
23052	//   },
23053	//   "response": {
23054	//     "$ref": "PosCustomBatchResponse"
23055	//   },
23056	//   "scopes": [
23057	//     "https://www.googleapis.com/auth/content"
23058	//   ]
23059	// }
23060
23061}
23062
23063// method id "content.pos.delete":
23064
23065type PosDeleteCall struct {
23066	s                *APIService
23067	merchantId       uint64
23068	targetMerchantId uint64
23069	storeCode        string
23070	urlParams_       gensupport.URLParams
23071	ctx_             context.Context
23072	header_          http.Header
23073}
23074
23075// Delete: Deletes a store for the given merchant.
23076//
23077// - merchantId: The ID of the POS or inventory data provider.
23078// - storeCode: A store code that is unique per merchant.
23079// - targetMerchantId: The ID of the target merchant.
23080func (r *PosService) Delete(merchantId uint64, targetMerchantId uint64, storeCode string) *PosDeleteCall {
23081	c := &PosDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23082	c.merchantId = merchantId
23083	c.targetMerchantId = targetMerchantId
23084	c.storeCode = storeCode
23085	return c
23086}
23087
23088// DryRun sets the optional parameter "dryRun": Flag to simulate a
23089// request like in a live environment. If set to true, dry-run mode
23090// checks the validity of the request and returns errors (if any).
23091func (c *PosDeleteCall) DryRun(dryRun bool) *PosDeleteCall {
23092	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
23093	return c
23094}
23095
23096// Fields allows partial responses to be retrieved. See
23097// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23098// for more information.
23099func (c *PosDeleteCall) Fields(s ...googleapi.Field) *PosDeleteCall {
23100	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23101	return c
23102}
23103
23104// Context sets the context to be used in this call's Do method. Any
23105// pending HTTP request will be aborted if the provided context is
23106// canceled.
23107func (c *PosDeleteCall) Context(ctx context.Context) *PosDeleteCall {
23108	c.ctx_ = ctx
23109	return c
23110}
23111
23112// Header returns an http.Header that can be modified by the caller to
23113// add HTTP headers to the request.
23114func (c *PosDeleteCall) Header() http.Header {
23115	if c.header_ == nil {
23116		c.header_ = make(http.Header)
23117	}
23118	return c.header_
23119}
23120
23121func (c *PosDeleteCall) doRequest(alt string) (*http.Response, error) {
23122	reqHeaders := make(http.Header)
23123	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23124	for k, v := range c.header_ {
23125		reqHeaders[k] = v
23126	}
23127	reqHeaders.Set("User-Agent", c.s.userAgent())
23128	var body io.Reader = nil
23129	c.urlParams_.Set("alt", alt)
23130	c.urlParams_.Set("prettyPrint", "false")
23131	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/pos/{targetMerchantId}/store/{storeCode}")
23132	urls += "?" + c.urlParams_.Encode()
23133	req, err := http.NewRequest("DELETE", urls, body)
23134	if err != nil {
23135		return nil, err
23136	}
23137	req.Header = reqHeaders
23138	googleapi.Expand(req.URL, map[string]string{
23139		"merchantId":       strconv.FormatUint(c.merchantId, 10),
23140		"targetMerchantId": strconv.FormatUint(c.targetMerchantId, 10),
23141		"storeCode":        c.storeCode,
23142	})
23143	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23144}
23145
23146// Do executes the "content.pos.delete" call.
23147func (c *PosDeleteCall) Do(opts ...googleapi.CallOption) error {
23148	gensupport.SetOptions(c.urlParams_, opts...)
23149	res, err := c.doRequest("json")
23150	if err != nil {
23151		return err
23152	}
23153	defer googleapi.CloseBody(res)
23154	if err := googleapi.CheckResponse(res); err != nil {
23155		return err
23156	}
23157	return nil
23158	// {
23159	//   "description": "Deletes a store for the given merchant.",
23160	//   "flatPath": "{merchantId}/pos/{targetMerchantId}/store/{storeCode}",
23161	//   "httpMethod": "DELETE",
23162	//   "id": "content.pos.delete",
23163	//   "parameterOrder": [
23164	//     "merchantId",
23165	//     "targetMerchantId",
23166	//     "storeCode"
23167	//   ],
23168	//   "parameters": {
23169	//     "dryRun": {
23170	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
23171	//       "location": "query",
23172	//       "type": "boolean"
23173	//     },
23174	//     "merchantId": {
23175	//       "description": "The ID of the POS or inventory data provider.",
23176	//       "format": "uint64",
23177	//       "location": "path",
23178	//       "required": true,
23179	//       "type": "string"
23180	//     },
23181	//     "storeCode": {
23182	//       "description": "A store code that is unique per merchant.",
23183	//       "location": "path",
23184	//       "required": true,
23185	//       "type": "string"
23186	//     },
23187	//     "targetMerchantId": {
23188	//       "description": "The ID of the target merchant.",
23189	//       "format": "uint64",
23190	//       "location": "path",
23191	//       "required": true,
23192	//       "type": "string"
23193	//     }
23194	//   },
23195	//   "path": "{merchantId}/pos/{targetMerchantId}/store/{storeCode}",
23196	//   "scopes": [
23197	//     "https://www.googleapis.com/auth/content"
23198	//   ]
23199	// }
23200
23201}
23202
23203// method id "content.pos.get":
23204
23205type PosGetCall struct {
23206	s                *APIService
23207	merchantId       uint64
23208	targetMerchantId uint64
23209	storeCode        string
23210	urlParams_       gensupport.URLParams
23211	ifNoneMatch_     string
23212	ctx_             context.Context
23213	header_          http.Header
23214}
23215
23216// Get: Retrieves information about the given store.
23217//
23218// - merchantId: The ID of the POS or inventory data provider.
23219// - storeCode: A store code that is unique per merchant.
23220// - targetMerchantId: The ID of the target merchant.
23221func (r *PosService) Get(merchantId uint64, targetMerchantId uint64, storeCode string) *PosGetCall {
23222	c := &PosGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23223	c.merchantId = merchantId
23224	c.targetMerchantId = targetMerchantId
23225	c.storeCode = storeCode
23226	return c
23227}
23228
23229// Fields allows partial responses to be retrieved. See
23230// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23231// for more information.
23232func (c *PosGetCall) Fields(s ...googleapi.Field) *PosGetCall {
23233	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23234	return c
23235}
23236
23237// IfNoneMatch sets the optional parameter which makes the operation
23238// fail if the object's ETag matches the given value. This is useful for
23239// getting updates only after the object has changed since the last
23240// request. Use googleapi.IsNotModified to check whether the response
23241// error from Do is the result of In-None-Match.
23242func (c *PosGetCall) IfNoneMatch(entityTag string) *PosGetCall {
23243	c.ifNoneMatch_ = entityTag
23244	return c
23245}
23246
23247// Context sets the context to be used in this call's Do method. Any
23248// pending HTTP request will be aborted if the provided context is
23249// canceled.
23250func (c *PosGetCall) Context(ctx context.Context) *PosGetCall {
23251	c.ctx_ = ctx
23252	return c
23253}
23254
23255// Header returns an http.Header that can be modified by the caller to
23256// add HTTP headers to the request.
23257func (c *PosGetCall) Header() http.Header {
23258	if c.header_ == nil {
23259		c.header_ = make(http.Header)
23260	}
23261	return c.header_
23262}
23263
23264func (c *PosGetCall) doRequest(alt string) (*http.Response, error) {
23265	reqHeaders := make(http.Header)
23266	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23267	for k, v := range c.header_ {
23268		reqHeaders[k] = v
23269	}
23270	reqHeaders.Set("User-Agent", c.s.userAgent())
23271	if c.ifNoneMatch_ != "" {
23272		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23273	}
23274	var body io.Reader = nil
23275	c.urlParams_.Set("alt", alt)
23276	c.urlParams_.Set("prettyPrint", "false")
23277	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/pos/{targetMerchantId}/store/{storeCode}")
23278	urls += "?" + c.urlParams_.Encode()
23279	req, err := http.NewRequest("GET", urls, body)
23280	if err != nil {
23281		return nil, err
23282	}
23283	req.Header = reqHeaders
23284	googleapi.Expand(req.URL, map[string]string{
23285		"merchantId":       strconv.FormatUint(c.merchantId, 10),
23286		"targetMerchantId": strconv.FormatUint(c.targetMerchantId, 10),
23287		"storeCode":        c.storeCode,
23288	})
23289	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23290}
23291
23292// Do executes the "content.pos.get" call.
23293// Exactly one of *PosStore or error will be non-nil. Any non-2xx status
23294// code is an error. Response headers are in either
23295// *PosStore.ServerResponse.Header or (if a response was returned at
23296// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
23297// to check whether the returned error was because
23298// http.StatusNotModified was returned.
23299func (c *PosGetCall) Do(opts ...googleapi.CallOption) (*PosStore, error) {
23300	gensupport.SetOptions(c.urlParams_, opts...)
23301	res, err := c.doRequest("json")
23302	if res != nil && res.StatusCode == http.StatusNotModified {
23303		if res.Body != nil {
23304			res.Body.Close()
23305		}
23306		return nil, &googleapi.Error{
23307			Code:   res.StatusCode,
23308			Header: res.Header,
23309		}
23310	}
23311	if err != nil {
23312		return nil, err
23313	}
23314	defer googleapi.CloseBody(res)
23315	if err := googleapi.CheckResponse(res); err != nil {
23316		return nil, err
23317	}
23318	ret := &PosStore{
23319		ServerResponse: googleapi.ServerResponse{
23320			Header:         res.Header,
23321			HTTPStatusCode: res.StatusCode,
23322		},
23323	}
23324	target := &ret
23325	if err := gensupport.DecodeResponse(target, res); err != nil {
23326		return nil, err
23327	}
23328	return ret, nil
23329	// {
23330	//   "description": "Retrieves information about the given store.",
23331	//   "flatPath": "{merchantId}/pos/{targetMerchantId}/store/{storeCode}",
23332	//   "httpMethod": "GET",
23333	//   "id": "content.pos.get",
23334	//   "parameterOrder": [
23335	//     "merchantId",
23336	//     "targetMerchantId",
23337	//     "storeCode"
23338	//   ],
23339	//   "parameters": {
23340	//     "merchantId": {
23341	//       "description": "The ID of the POS or inventory data provider.",
23342	//       "format": "uint64",
23343	//       "location": "path",
23344	//       "required": true,
23345	//       "type": "string"
23346	//     },
23347	//     "storeCode": {
23348	//       "description": "A store code that is unique per merchant.",
23349	//       "location": "path",
23350	//       "required": true,
23351	//       "type": "string"
23352	//     },
23353	//     "targetMerchantId": {
23354	//       "description": "The ID of the target merchant.",
23355	//       "format": "uint64",
23356	//       "location": "path",
23357	//       "required": true,
23358	//       "type": "string"
23359	//     }
23360	//   },
23361	//   "path": "{merchantId}/pos/{targetMerchantId}/store/{storeCode}",
23362	//   "response": {
23363	//     "$ref": "PosStore"
23364	//   },
23365	//   "scopes": [
23366	//     "https://www.googleapis.com/auth/content"
23367	//   ]
23368	// }
23369
23370}
23371
23372// method id "content.pos.insert":
23373
23374type PosInsertCall struct {
23375	s                *APIService
23376	merchantId       uint64
23377	targetMerchantId uint64
23378	posstore         *PosStore
23379	urlParams_       gensupport.URLParams
23380	ctx_             context.Context
23381	header_          http.Header
23382}
23383
23384// Insert: Creates a store for the given merchant.
23385//
23386// - merchantId: The ID of the POS or inventory data provider.
23387// - targetMerchantId: The ID of the target merchant.
23388func (r *PosService) Insert(merchantId uint64, targetMerchantId uint64, posstore *PosStore) *PosInsertCall {
23389	c := &PosInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23390	c.merchantId = merchantId
23391	c.targetMerchantId = targetMerchantId
23392	c.posstore = posstore
23393	return c
23394}
23395
23396// DryRun sets the optional parameter "dryRun": Flag to simulate a
23397// request like in a live environment. If set to true, dry-run mode
23398// checks the validity of the request and returns errors (if any).
23399func (c *PosInsertCall) DryRun(dryRun bool) *PosInsertCall {
23400	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
23401	return c
23402}
23403
23404// Fields allows partial responses to be retrieved. See
23405// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23406// for more information.
23407func (c *PosInsertCall) Fields(s ...googleapi.Field) *PosInsertCall {
23408	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23409	return c
23410}
23411
23412// Context sets the context to be used in this call's Do method. Any
23413// pending HTTP request will be aborted if the provided context is
23414// canceled.
23415func (c *PosInsertCall) Context(ctx context.Context) *PosInsertCall {
23416	c.ctx_ = ctx
23417	return c
23418}
23419
23420// Header returns an http.Header that can be modified by the caller to
23421// add HTTP headers to the request.
23422func (c *PosInsertCall) Header() http.Header {
23423	if c.header_ == nil {
23424		c.header_ = make(http.Header)
23425	}
23426	return c.header_
23427}
23428
23429func (c *PosInsertCall) doRequest(alt string) (*http.Response, error) {
23430	reqHeaders := make(http.Header)
23431	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23432	for k, v := range c.header_ {
23433		reqHeaders[k] = v
23434	}
23435	reqHeaders.Set("User-Agent", c.s.userAgent())
23436	var body io.Reader = nil
23437	body, err := googleapi.WithoutDataWrapper.JSONReader(c.posstore)
23438	if err != nil {
23439		return nil, err
23440	}
23441	reqHeaders.Set("Content-Type", "application/json")
23442	c.urlParams_.Set("alt", alt)
23443	c.urlParams_.Set("prettyPrint", "false")
23444	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/pos/{targetMerchantId}/store")
23445	urls += "?" + c.urlParams_.Encode()
23446	req, err := http.NewRequest("POST", urls, body)
23447	if err != nil {
23448		return nil, err
23449	}
23450	req.Header = reqHeaders
23451	googleapi.Expand(req.URL, map[string]string{
23452		"merchantId":       strconv.FormatUint(c.merchantId, 10),
23453		"targetMerchantId": strconv.FormatUint(c.targetMerchantId, 10),
23454	})
23455	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23456}
23457
23458// Do executes the "content.pos.insert" call.
23459// Exactly one of *PosStore or error will be non-nil. Any non-2xx status
23460// code is an error. Response headers are in either
23461// *PosStore.ServerResponse.Header or (if a response was returned at
23462// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
23463// to check whether the returned error was because
23464// http.StatusNotModified was returned.
23465func (c *PosInsertCall) Do(opts ...googleapi.CallOption) (*PosStore, error) {
23466	gensupport.SetOptions(c.urlParams_, opts...)
23467	res, err := c.doRequest("json")
23468	if res != nil && res.StatusCode == http.StatusNotModified {
23469		if res.Body != nil {
23470			res.Body.Close()
23471		}
23472		return nil, &googleapi.Error{
23473			Code:   res.StatusCode,
23474			Header: res.Header,
23475		}
23476	}
23477	if err != nil {
23478		return nil, err
23479	}
23480	defer googleapi.CloseBody(res)
23481	if err := googleapi.CheckResponse(res); err != nil {
23482		return nil, err
23483	}
23484	ret := &PosStore{
23485		ServerResponse: googleapi.ServerResponse{
23486			Header:         res.Header,
23487			HTTPStatusCode: res.StatusCode,
23488		},
23489	}
23490	target := &ret
23491	if err := gensupport.DecodeResponse(target, res); err != nil {
23492		return nil, err
23493	}
23494	return ret, nil
23495	// {
23496	//   "description": "Creates a store for the given merchant.",
23497	//   "flatPath": "{merchantId}/pos/{targetMerchantId}/store",
23498	//   "httpMethod": "POST",
23499	//   "id": "content.pos.insert",
23500	//   "parameterOrder": [
23501	//     "merchantId",
23502	//     "targetMerchantId"
23503	//   ],
23504	//   "parameters": {
23505	//     "dryRun": {
23506	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
23507	//       "location": "query",
23508	//       "type": "boolean"
23509	//     },
23510	//     "merchantId": {
23511	//       "description": "The ID of the POS or inventory data provider.",
23512	//       "format": "uint64",
23513	//       "location": "path",
23514	//       "required": true,
23515	//       "type": "string"
23516	//     },
23517	//     "targetMerchantId": {
23518	//       "description": "The ID of the target merchant.",
23519	//       "format": "uint64",
23520	//       "location": "path",
23521	//       "required": true,
23522	//       "type": "string"
23523	//     }
23524	//   },
23525	//   "path": "{merchantId}/pos/{targetMerchantId}/store",
23526	//   "request": {
23527	//     "$ref": "PosStore"
23528	//   },
23529	//   "response": {
23530	//     "$ref": "PosStore"
23531	//   },
23532	//   "scopes": [
23533	//     "https://www.googleapis.com/auth/content"
23534	//   ]
23535	// }
23536
23537}
23538
23539// method id "content.pos.inventory":
23540
23541type PosInventoryCall struct {
23542	s                   *APIService
23543	merchantId          uint64
23544	targetMerchantId    uint64
23545	posinventoryrequest *PosInventoryRequest
23546	urlParams_          gensupport.URLParams
23547	ctx_                context.Context
23548	header_             http.Header
23549}
23550
23551// Inventory: Submit inventory for the given merchant.
23552//
23553// - merchantId: The ID of the POS or inventory data provider.
23554// - targetMerchantId: The ID of the target merchant.
23555func (r *PosService) Inventory(merchantId uint64, targetMerchantId uint64, posinventoryrequest *PosInventoryRequest) *PosInventoryCall {
23556	c := &PosInventoryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23557	c.merchantId = merchantId
23558	c.targetMerchantId = targetMerchantId
23559	c.posinventoryrequest = posinventoryrequest
23560	return c
23561}
23562
23563// DryRun sets the optional parameter "dryRun": Flag to simulate a
23564// request like in a live environment. If set to true, dry-run mode
23565// checks the validity of the request and returns errors (if any).
23566func (c *PosInventoryCall) DryRun(dryRun bool) *PosInventoryCall {
23567	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
23568	return c
23569}
23570
23571// Fields allows partial responses to be retrieved. See
23572// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23573// for more information.
23574func (c *PosInventoryCall) Fields(s ...googleapi.Field) *PosInventoryCall {
23575	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23576	return c
23577}
23578
23579// Context sets the context to be used in this call's Do method. Any
23580// pending HTTP request will be aborted if the provided context is
23581// canceled.
23582func (c *PosInventoryCall) Context(ctx context.Context) *PosInventoryCall {
23583	c.ctx_ = ctx
23584	return c
23585}
23586
23587// Header returns an http.Header that can be modified by the caller to
23588// add HTTP headers to the request.
23589func (c *PosInventoryCall) Header() http.Header {
23590	if c.header_ == nil {
23591		c.header_ = make(http.Header)
23592	}
23593	return c.header_
23594}
23595
23596func (c *PosInventoryCall) doRequest(alt string) (*http.Response, error) {
23597	reqHeaders := make(http.Header)
23598	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23599	for k, v := range c.header_ {
23600		reqHeaders[k] = v
23601	}
23602	reqHeaders.Set("User-Agent", c.s.userAgent())
23603	var body io.Reader = nil
23604	body, err := googleapi.WithoutDataWrapper.JSONReader(c.posinventoryrequest)
23605	if err != nil {
23606		return nil, err
23607	}
23608	reqHeaders.Set("Content-Type", "application/json")
23609	c.urlParams_.Set("alt", alt)
23610	c.urlParams_.Set("prettyPrint", "false")
23611	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/pos/{targetMerchantId}/inventory")
23612	urls += "?" + c.urlParams_.Encode()
23613	req, err := http.NewRequest("POST", urls, body)
23614	if err != nil {
23615		return nil, err
23616	}
23617	req.Header = reqHeaders
23618	googleapi.Expand(req.URL, map[string]string{
23619		"merchantId":       strconv.FormatUint(c.merchantId, 10),
23620		"targetMerchantId": strconv.FormatUint(c.targetMerchantId, 10),
23621	})
23622	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23623}
23624
23625// Do executes the "content.pos.inventory" call.
23626// Exactly one of *PosInventoryResponse or error will be non-nil. Any
23627// non-2xx status code is an error. Response headers are in either
23628// *PosInventoryResponse.ServerResponse.Header or (if a response was
23629// returned at all) in error.(*googleapi.Error).Header. Use
23630// googleapi.IsNotModified to check whether the returned error was
23631// because http.StatusNotModified was returned.
23632func (c *PosInventoryCall) Do(opts ...googleapi.CallOption) (*PosInventoryResponse, error) {
23633	gensupport.SetOptions(c.urlParams_, opts...)
23634	res, err := c.doRequest("json")
23635	if res != nil && res.StatusCode == http.StatusNotModified {
23636		if res.Body != nil {
23637			res.Body.Close()
23638		}
23639		return nil, &googleapi.Error{
23640			Code:   res.StatusCode,
23641			Header: res.Header,
23642		}
23643	}
23644	if err != nil {
23645		return nil, err
23646	}
23647	defer googleapi.CloseBody(res)
23648	if err := googleapi.CheckResponse(res); err != nil {
23649		return nil, err
23650	}
23651	ret := &PosInventoryResponse{
23652		ServerResponse: googleapi.ServerResponse{
23653			Header:         res.Header,
23654			HTTPStatusCode: res.StatusCode,
23655		},
23656	}
23657	target := &ret
23658	if err := gensupport.DecodeResponse(target, res); err != nil {
23659		return nil, err
23660	}
23661	return ret, nil
23662	// {
23663	//   "description": "Submit inventory for the given merchant.",
23664	//   "flatPath": "{merchantId}/pos/{targetMerchantId}/inventory",
23665	//   "httpMethod": "POST",
23666	//   "id": "content.pos.inventory",
23667	//   "parameterOrder": [
23668	//     "merchantId",
23669	//     "targetMerchantId"
23670	//   ],
23671	//   "parameters": {
23672	//     "dryRun": {
23673	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
23674	//       "location": "query",
23675	//       "type": "boolean"
23676	//     },
23677	//     "merchantId": {
23678	//       "description": "The ID of the POS or inventory data provider.",
23679	//       "format": "uint64",
23680	//       "location": "path",
23681	//       "required": true,
23682	//       "type": "string"
23683	//     },
23684	//     "targetMerchantId": {
23685	//       "description": "The ID of the target merchant.",
23686	//       "format": "uint64",
23687	//       "location": "path",
23688	//       "required": true,
23689	//       "type": "string"
23690	//     }
23691	//   },
23692	//   "path": "{merchantId}/pos/{targetMerchantId}/inventory",
23693	//   "request": {
23694	//     "$ref": "PosInventoryRequest"
23695	//   },
23696	//   "response": {
23697	//     "$ref": "PosInventoryResponse"
23698	//   },
23699	//   "scopes": [
23700	//     "https://www.googleapis.com/auth/content"
23701	//   ]
23702	// }
23703
23704}
23705
23706// method id "content.pos.list":
23707
23708type PosListCall struct {
23709	s                *APIService
23710	merchantId       uint64
23711	targetMerchantId uint64
23712	urlParams_       gensupport.URLParams
23713	ifNoneMatch_     string
23714	ctx_             context.Context
23715	header_          http.Header
23716}
23717
23718// List: Lists the stores of the target merchant.
23719//
23720// - merchantId: The ID of the POS or inventory data provider.
23721// - targetMerchantId: The ID of the target merchant.
23722func (r *PosService) List(merchantId uint64, targetMerchantId uint64) *PosListCall {
23723	c := &PosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23724	c.merchantId = merchantId
23725	c.targetMerchantId = targetMerchantId
23726	return c
23727}
23728
23729// Fields allows partial responses to be retrieved. See
23730// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23731// for more information.
23732func (c *PosListCall) Fields(s ...googleapi.Field) *PosListCall {
23733	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23734	return c
23735}
23736
23737// IfNoneMatch sets the optional parameter which makes the operation
23738// fail if the object's ETag matches the given value. This is useful for
23739// getting updates only after the object has changed since the last
23740// request. Use googleapi.IsNotModified to check whether the response
23741// error from Do is the result of In-None-Match.
23742func (c *PosListCall) IfNoneMatch(entityTag string) *PosListCall {
23743	c.ifNoneMatch_ = entityTag
23744	return c
23745}
23746
23747// Context sets the context to be used in this call's Do method. Any
23748// pending HTTP request will be aborted if the provided context is
23749// canceled.
23750func (c *PosListCall) Context(ctx context.Context) *PosListCall {
23751	c.ctx_ = ctx
23752	return c
23753}
23754
23755// Header returns an http.Header that can be modified by the caller to
23756// add HTTP headers to the request.
23757func (c *PosListCall) Header() http.Header {
23758	if c.header_ == nil {
23759		c.header_ = make(http.Header)
23760	}
23761	return c.header_
23762}
23763
23764func (c *PosListCall) doRequest(alt string) (*http.Response, error) {
23765	reqHeaders := make(http.Header)
23766	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23767	for k, v := range c.header_ {
23768		reqHeaders[k] = v
23769	}
23770	reqHeaders.Set("User-Agent", c.s.userAgent())
23771	if c.ifNoneMatch_ != "" {
23772		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23773	}
23774	var body io.Reader = nil
23775	c.urlParams_.Set("alt", alt)
23776	c.urlParams_.Set("prettyPrint", "false")
23777	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/pos/{targetMerchantId}/store")
23778	urls += "?" + c.urlParams_.Encode()
23779	req, err := http.NewRequest("GET", urls, body)
23780	if err != nil {
23781		return nil, err
23782	}
23783	req.Header = reqHeaders
23784	googleapi.Expand(req.URL, map[string]string{
23785		"merchantId":       strconv.FormatUint(c.merchantId, 10),
23786		"targetMerchantId": strconv.FormatUint(c.targetMerchantId, 10),
23787	})
23788	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23789}
23790
23791// Do executes the "content.pos.list" call.
23792// Exactly one of *PosListResponse or error will be non-nil. Any non-2xx
23793// status code is an error. Response headers are in either
23794// *PosListResponse.ServerResponse.Header or (if a response was returned
23795// at all) in error.(*googleapi.Error).Header. Use
23796// googleapi.IsNotModified to check whether the returned error was
23797// because http.StatusNotModified was returned.
23798func (c *PosListCall) Do(opts ...googleapi.CallOption) (*PosListResponse, error) {
23799	gensupport.SetOptions(c.urlParams_, opts...)
23800	res, err := c.doRequest("json")
23801	if res != nil && res.StatusCode == http.StatusNotModified {
23802		if res.Body != nil {
23803			res.Body.Close()
23804		}
23805		return nil, &googleapi.Error{
23806			Code:   res.StatusCode,
23807			Header: res.Header,
23808		}
23809	}
23810	if err != nil {
23811		return nil, err
23812	}
23813	defer googleapi.CloseBody(res)
23814	if err := googleapi.CheckResponse(res); err != nil {
23815		return nil, err
23816	}
23817	ret := &PosListResponse{
23818		ServerResponse: googleapi.ServerResponse{
23819			Header:         res.Header,
23820			HTTPStatusCode: res.StatusCode,
23821		},
23822	}
23823	target := &ret
23824	if err := gensupport.DecodeResponse(target, res); err != nil {
23825		return nil, err
23826	}
23827	return ret, nil
23828	// {
23829	//   "description": "Lists the stores of the target merchant.",
23830	//   "flatPath": "{merchantId}/pos/{targetMerchantId}/store",
23831	//   "httpMethod": "GET",
23832	//   "id": "content.pos.list",
23833	//   "parameterOrder": [
23834	//     "merchantId",
23835	//     "targetMerchantId"
23836	//   ],
23837	//   "parameters": {
23838	//     "merchantId": {
23839	//       "description": "The ID of the POS or inventory data provider.",
23840	//       "format": "uint64",
23841	//       "location": "path",
23842	//       "required": true,
23843	//       "type": "string"
23844	//     },
23845	//     "targetMerchantId": {
23846	//       "description": "The ID of the target merchant.",
23847	//       "format": "uint64",
23848	//       "location": "path",
23849	//       "required": true,
23850	//       "type": "string"
23851	//     }
23852	//   },
23853	//   "path": "{merchantId}/pos/{targetMerchantId}/store",
23854	//   "response": {
23855	//     "$ref": "PosListResponse"
23856	//   },
23857	//   "scopes": [
23858	//     "https://www.googleapis.com/auth/content"
23859	//   ]
23860	// }
23861
23862}
23863
23864// method id "content.pos.sale":
23865
23866type PosSaleCall struct {
23867	s                *APIService
23868	merchantId       uint64
23869	targetMerchantId uint64
23870	possalerequest   *PosSaleRequest
23871	urlParams_       gensupport.URLParams
23872	ctx_             context.Context
23873	header_          http.Header
23874}
23875
23876// Sale: Submit a sale event for the given merchant.
23877//
23878// - merchantId: The ID of the POS or inventory data provider.
23879// - targetMerchantId: The ID of the target merchant.
23880func (r *PosService) Sale(merchantId uint64, targetMerchantId uint64, possalerequest *PosSaleRequest) *PosSaleCall {
23881	c := &PosSaleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23882	c.merchantId = merchantId
23883	c.targetMerchantId = targetMerchantId
23884	c.possalerequest = possalerequest
23885	return c
23886}
23887
23888// DryRun sets the optional parameter "dryRun": Flag to simulate a
23889// request like in a live environment. If set to true, dry-run mode
23890// checks the validity of the request and returns errors (if any).
23891func (c *PosSaleCall) DryRun(dryRun bool) *PosSaleCall {
23892	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
23893	return c
23894}
23895
23896// Fields allows partial responses to be retrieved. See
23897// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23898// for more information.
23899func (c *PosSaleCall) Fields(s ...googleapi.Field) *PosSaleCall {
23900	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23901	return c
23902}
23903
23904// Context sets the context to be used in this call's Do method. Any
23905// pending HTTP request will be aborted if the provided context is
23906// canceled.
23907func (c *PosSaleCall) Context(ctx context.Context) *PosSaleCall {
23908	c.ctx_ = ctx
23909	return c
23910}
23911
23912// Header returns an http.Header that can be modified by the caller to
23913// add HTTP headers to the request.
23914func (c *PosSaleCall) Header() http.Header {
23915	if c.header_ == nil {
23916		c.header_ = make(http.Header)
23917	}
23918	return c.header_
23919}
23920
23921func (c *PosSaleCall) doRequest(alt string) (*http.Response, error) {
23922	reqHeaders := make(http.Header)
23923	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23924	for k, v := range c.header_ {
23925		reqHeaders[k] = v
23926	}
23927	reqHeaders.Set("User-Agent", c.s.userAgent())
23928	var body io.Reader = nil
23929	body, err := googleapi.WithoutDataWrapper.JSONReader(c.possalerequest)
23930	if err != nil {
23931		return nil, err
23932	}
23933	reqHeaders.Set("Content-Type", "application/json")
23934	c.urlParams_.Set("alt", alt)
23935	c.urlParams_.Set("prettyPrint", "false")
23936	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/pos/{targetMerchantId}/sale")
23937	urls += "?" + c.urlParams_.Encode()
23938	req, err := http.NewRequest("POST", urls, body)
23939	if err != nil {
23940		return nil, err
23941	}
23942	req.Header = reqHeaders
23943	googleapi.Expand(req.URL, map[string]string{
23944		"merchantId":       strconv.FormatUint(c.merchantId, 10),
23945		"targetMerchantId": strconv.FormatUint(c.targetMerchantId, 10),
23946	})
23947	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23948}
23949
23950// Do executes the "content.pos.sale" call.
23951// Exactly one of *PosSaleResponse or error will be non-nil. Any non-2xx
23952// status code is an error. Response headers are in either
23953// *PosSaleResponse.ServerResponse.Header or (if a response was returned
23954// at all) in error.(*googleapi.Error).Header. Use
23955// googleapi.IsNotModified to check whether the returned error was
23956// because http.StatusNotModified was returned.
23957func (c *PosSaleCall) Do(opts ...googleapi.CallOption) (*PosSaleResponse, error) {
23958	gensupport.SetOptions(c.urlParams_, opts...)
23959	res, err := c.doRequest("json")
23960	if res != nil && res.StatusCode == http.StatusNotModified {
23961		if res.Body != nil {
23962			res.Body.Close()
23963		}
23964		return nil, &googleapi.Error{
23965			Code:   res.StatusCode,
23966			Header: res.Header,
23967		}
23968	}
23969	if err != nil {
23970		return nil, err
23971	}
23972	defer googleapi.CloseBody(res)
23973	if err := googleapi.CheckResponse(res); err != nil {
23974		return nil, err
23975	}
23976	ret := &PosSaleResponse{
23977		ServerResponse: googleapi.ServerResponse{
23978			Header:         res.Header,
23979			HTTPStatusCode: res.StatusCode,
23980		},
23981	}
23982	target := &ret
23983	if err := gensupport.DecodeResponse(target, res); err != nil {
23984		return nil, err
23985	}
23986	return ret, nil
23987	// {
23988	//   "description": "Submit a sale event for the given merchant.",
23989	//   "flatPath": "{merchantId}/pos/{targetMerchantId}/sale",
23990	//   "httpMethod": "POST",
23991	//   "id": "content.pos.sale",
23992	//   "parameterOrder": [
23993	//     "merchantId",
23994	//     "targetMerchantId"
23995	//   ],
23996	//   "parameters": {
23997	//     "dryRun": {
23998	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
23999	//       "location": "query",
24000	//       "type": "boolean"
24001	//     },
24002	//     "merchantId": {
24003	//       "description": "The ID of the POS or inventory data provider.",
24004	//       "format": "uint64",
24005	//       "location": "path",
24006	//       "required": true,
24007	//       "type": "string"
24008	//     },
24009	//     "targetMerchantId": {
24010	//       "description": "The ID of the target merchant.",
24011	//       "format": "uint64",
24012	//       "location": "path",
24013	//       "required": true,
24014	//       "type": "string"
24015	//     }
24016	//   },
24017	//   "path": "{merchantId}/pos/{targetMerchantId}/sale",
24018	//   "request": {
24019	//     "$ref": "PosSaleRequest"
24020	//   },
24021	//   "response": {
24022	//     "$ref": "PosSaleResponse"
24023	//   },
24024	//   "scopes": [
24025	//     "https://www.googleapis.com/auth/content"
24026	//   ]
24027	// }
24028
24029}
24030
24031// method id "content.products.custombatch":
24032
24033type ProductsCustombatchCall struct {
24034	s                          *APIService
24035	productscustombatchrequest *ProductsCustomBatchRequest
24036	urlParams_                 gensupport.URLParams
24037	ctx_                       context.Context
24038	header_                    http.Header
24039}
24040
24041// Custombatch: Retrieves, inserts, and deletes multiple products in a
24042// single request.
24043func (r *ProductsService) Custombatch(productscustombatchrequest *ProductsCustomBatchRequest) *ProductsCustombatchCall {
24044	c := &ProductsCustombatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24045	c.productscustombatchrequest = productscustombatchrequest
24046	return c
24047}
24048
24049// DryRun sets the optional parameter "dryRun": Flag to simulate a
24050// request like in a live environment. If set to true, dry-run mode
24051// checks the validity of the request and returns errors (if any).
24052func (c *ProductsCustombatchCall) DryRun(dryRun bool) *ProductsCustombatchCall {
24053	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
24054	return c
24055}
24056
24057// Fields allows partial responses to be retrieved. See
24058// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24059// for more information.
24060func (c *ProductsCustombatchCall) Fields(s ...googleapi.Field) *ProductsCustombatchCall {
24061	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24062	return c
24063}
24064
24065// Context sets the context to be used in this call's Do method. Any
24066// pending HTTP request will be aborted if the provided context is
24067// canceled.
24068func (c *ProductsCustombatchCall) Context(ctx context.Context) *ProductsCustombatchCall {
24069	c.ctx_ = ctx
24070	return c
24071}
24072
24073// Header returns an http.Header that can be modified by the caller to
24074// add HTTP headers to the request.
24075func (c *ProductsCustombatchCall) Header() http.Header {
24076	if c.header_ == nil {
24077		c.header_ = make(http.Header)
24078	}
24079	return c.header_
24080}
24081
24082func (c *ProductsCustombatchCall) doRequest(alt string) (*http.Response, error) {
24083	reqHeaders := make(http.Header)
24084	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24085	for k, v := range c.header_ {
24086		reqHeaders[k] = v
24087	}
24088	reqHeaders.Set("User-Agent", c.s.userAgent())
24089	var body io.Reader = nil
24090	body, err := googleapi.WithoutDataWrapper.JSONReader(c.productscustombatchrequest)
24091	if err != nil {
24092		return nil, err
24093	}
24094	reqHeaders.Set("Content-Type", "application/json")
24095	c.urlParams_.Set("alt", alt)
24096	c.urlParams_.Set("prettyPrint", "false")
24097	urls := googleapi.ResolveRelative(c.s.BasePath, "products/batch")
24098	urls += "?" + c.urlParams_.Encode()
24099	req, err := http.NewRequest("POST", urls, body)
24100	if err != nil {
24101		return nil, err
24102	}
24103	req.Header = reqHeaders
24104	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24105}
24106
24107// Do executes the "content.products.custombatch" call.
24108// Exactly one of *ProductsCustomBatchResponse or error will be non-nil.
24109// Any non-2xx status code is an error. Response headers are in either
24110// *ProductsCustomBatchResponse.ServerResponse.Header or (if a response
24111// was returned at all) in error.(*googleapi.Error).Header. Use
24112// googleapi.IsNotModified to check whether the returned error was
24113// because http.StatusNotModified was returned.
24114func (c *ProductsCustombatchCall) Do(opts ...googleapi.CallOption) (*ProductsCustomBatchResponse, error) {
24115	gensupport.SetOptions(c.urlParams_, opts...)
24116	res, err := c.doRequest("json")
24117	if res != nil && res.StatusCode == http.StatusNotModified {
24118		if res.Body != nil {
24119			res.Body.Close()
24120		}
24121		return nil, &googleapi.Error{
24122			Code:   res.StatusCode,
24123			Header: res.Header,
24124		}
24125	}
24126	if err != nil {
24127		return nil, err
24128	}
24129	defer googleapi.CloseBody(res)
24130	if err := googleapi.CheckResponse(res); err != nil {
24131		return nil, err
24132	}
24133	ret := &ProductsCustomBatchResponse{
24134		ServerResponse: googleapi.ServerResponse{
24135			Header:         res.Header,
24136			HTTPStatusCode: res.StatusCode,
24137		},
24138	}
24139	target := &ret
24140	if err := gensupport.DecodeResponse(target, res); err != nil {
24141		return nil, err
24142	}
24143	return ret, nil
24144	// {
24145	//   "description": "Retrieves, inserts, and deletes multiple products in a single request.",
24146	//   "flatPath": "products/batch",
24147	//   "httpMethod": "POST",
24148	//   "id": "content.products.custombatch",
24149	//   "parameterOrder": [],
24150	//   "parameters": {
24151	//     "dryRun": {
24152	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
24153	//       "location": "query",
24154	//       "type": "boolean"
24155	//     }
24156	//   },
24157	//   "path": "products/batch",
24158	//   "request": {
24159	//     "$ref": "ProductsCustomBatchRequest"
24160	//   },
24161	//   "response": {
24162	//     "$ref": "ProductsCustomBatchResponse"
24163	//   },
24164	//   "scopes": [
24165	//     "https://www.googleapis.com/auth/content"
24166	//   ]
24167	// }
24168
24169}
24170
24171// method id "content.products.delete":
24172
24173type ProductsDeleteCall struct {
24174	s          *APIService
24175	merchantId uint64
24176	productId  string
24177	urlParams_ gensupport.URLParams
24178	ctx_       context.Context
24179	header_    http.Header
24180}
24181
24182// Delete: Deletes a product from your Merchant Center account.
24183//
24184// - merchantId: The ID of the account that contains the product. This
24185//   account cannot be a multi-client account.
24186// - productId: The REST ID of the product.
24187func (r *ProductsService) Delete(merchantId uint64, productId string) *ProductsDeleteCall {
24188	c := &ProductsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24189	c.merchantId = merchantId
24190	c.productId = productId
24191	return c
24192}
24193
24194// DryRun sets the optional parameter "dryRun": Flag to simulate a
24195// request like in a live environment. If set to true, dry-run mode
24196// checks the validity of the request and returns errors (if any).
24197func (c *ProductsDeleteCall) DryRun(dryRun bool) *ProductsDeleteCall {
24198	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
24199	return c
24200}
24201
24202// Fields allows partial responses to be retrieved. See
24203// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24204// for more information.
24205func (c *ProductsDeleteCall) Fields(s ...googleapi.Field) *ProductsDeleteCall {
24206	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24207	return c
24208}
24209
24210// Context sets the context to be used in this call's Do method. Any
24211// pending HTTP request will be aborted if the provided context is
24212// canceled.
24213func (c *ProductsDeleteCall) Context(ctx context.Context) *ProductsDeleteCall {
24214	c.ctx_ = ctx
24215	return c
24216}
24217
24218// Header returns an http.Header that can be modified by the caller to
24219// add HTTP headers to the request.
24220func (c *ProductsDeleteCall) Header() http.Header {
24221	if c.header_ == nil {
24222		c.header_ = make(http.Header)
24223	}
24224	return c.header_
24225}
24226
24227func (c *ProductsDeleteCall) doRequest(alt string) (*http.Response, error) {
24228	reqHeaders := make(http.Header)
24229	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24230	for k, v := range c.header_ {
24231		reqHeaders[k] = v
24232	}
24233	reqHeaders.Set("User-Agent", c.s.userAgent())
24234	var body io.Reader = nil
24235	c.urlParams_.Set("alt", alt)
24236	c.urlParams_.Set("prettyPrint", "false")
24237	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/products/{productId}")
24238	urls += "?" + c.urlParams_.Encode()
24239	req, err := http.NewRequest("DELETE", urls, body)
24240	if err != nil {
24241		return nil, err
24242	}
24243	req.Header = reqHeaders
24244	googleapi.Expand(req.URL, map[string]string{
24245		"merchantId": strconv.FormatUint(c.merchantId, 10),
24246		"productId":  c.productId,
24247	})
24248	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24249}
24250
24251// Do executes the "content.products.delete" call.
24252func (c *ProductsDeleteCall) Do(opts ...googleapi.CallOption) error {
24253	gensupport.SetOptions(c.urlParams_, opts...)
24254	res, err := c.doRequest("json")
24255	if err != nil {
24256		return err
24257	}
24258	defer googleapi.CloseBody(res)
24259	if err := googleapi.CheckResponse(res); err != nil {
24260		return err
24261	}
24262	return nil
24263	// {
24264	//   "description": "Deletes a product from your Merchant Center account.",
24265	//   "flatPath": "{merchantId}/products/{productId}",
24266	//   "httpMethod": "DELETE",
24267	//   "id": "content.products.delete",
24268	//   "parameterOrder": [
24269	//     "merchantId",
24270	//     "productId"
24271	//   ],
24272	//   "parameters": {
24273	//     "dryRun": {
24274	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
24275	//       "location": "query",
24276	//       "type": "boolean"
24277	//     },
24278	//     "merchantId": {
24279	//       "description": "The ID of the account that contains the product. This account cannot be a multi-client account.",
24280	//       "format": "uint64",
24281	//       "location": "path",
24282	//       "required": true,
24283	//       "type": "string"
24284	//     },
24285	//     "productId": {
24286	//       "description": "The REST ID of the product.",
24287	//       "location": "path",
24288	//       "required": true,
24289	//       "type": "string"
24290	//     }
24291	//   },
24292	//   "path": "{merchantId}/products/{productId}",
24293	//   "scopes": [
24294	//     "https://www.googleapis.com/auth/content"
24295	//   ]
24296	// }
24297
24298}
24299
24300// method id "content.products.get":
24301
24302type ProductsGetCall struct {
24303	s            *APIService
24304	merchantId   uint64
24305	productId    string
24306	urlParams_   gensupport.URLParams
24307	ifNoneMatch_ string
24308	ctx_         context.Context
24309	header_      http.Header
24310}
24311
24312// Get: Retrieves a product from your Merchant Center account.
24313//
24314// - merchantId: The ID of the account that contains the product. This
24315//   account cannot be a multi-client account.
24316// - productId: The REST ID of the product.
24317func (r *ProductsService) Get(merchantId uint64, productId string) *ProductsGetCall {
24318	c := &ProductsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24319	c.merchantId = merchantId
24320	c.productId = productId
24321	return c
24322}
24323
24324// Fields allows partial responses to be retrieved. See
24325// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24326// for more information.
24327func (c *ProductsGetCall) Fields(s ...googleapi.Field) *ProductsGetCall {
24328	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24329	return c
24330}
24331
24332// IfNoneMatch sets the optional parameter which makes the operation
24333// fail if the object's ETag matches the given value. This is useful for
24334// getting updates only after the object has changed since the last
24335// request. Use googleapi.IsNotModified to check whether the response
24336// error from Do is the result of In-None-Match.
24337func (c *ProductsGetCall) IfNoneMatch(entityTag string) *ProductsGetCall {
24338	c.ifNoneMatch_ = entityTag
24339	return c
24340}
24341
24342// Context sets the context to be used in this call's Do method. Any
24343// pending HTTP request will be aborted if the provided context is
24344// canceled.
24345func (c *ProductsGetCall) Context(ctx context.Context) *ProductsGetCall {
24346	c.ctx_ = ctx
24347	return c
24348}
24349
24350// Header returns an http.Header that can be modified by the caller to
24351// add HTTP headers to the request.
24352func (c *ProductsGetCall) Header() http.Header {
24353	if c.header_ == nil {
24354		c.header_ = make(http.Header)
24355	}
24356	return c.header_
24357}
24358
24359func (c *ProductsGetCall) doRequest(alt string) (*http.Response, error) {
24360	reqHeaders := make(http.Header)
24361	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24362	for k, v := range c.header_ {
24363		reqHeaders[k] = v
24364	}
24365	reqHeaders.Set("User-Agent", c.s.userAgent())
24366	if c.ifNoneMatch_ != "" {
24367		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24368	}
24369	var body io.Reader = nil
24370	c.urlParams_.Set("alt", alt)
24371	c.urlParams_.Set("prettyPrint", "false")
24372	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/products/{productId}")
24373	urls += "?" + c.urlParams_.Encode()
24374	req, err := http.NewRequest("GET", urls, body)
24375	if err != nil {
24376		return nil, err
24377	}
24378	req.Header = reqHeaders
24379	googleapi.Expand(req.URL, map[string]string{
24380		"merchantId": strconv.FormatUint(c.merchantId, 10),
24381		"productId":  c.productId,
24382	})
24383	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24384}
24385
24386// Do executes the "content.products.get" call.
24387// Exactly one of *Product or error will be non-nil. Any non-2xx status
24388// code is an error. Response headers are in either
24389// *Product.ServerResponse.Header or (if a response was returned at all)
24390// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24391// check whether the returned error was because http.StatusNotModified
24392// was returned.
24393func (c *ProductsGetCall) Do(opts ...googleapi.CallOption) (*Product, error) {
24394	gensupport.SetOptions(c.urlParams_, opts...)
24395	res, err := c.doRequest("json")
24396	if res != nil && res.StatusCode == http.StatusNotModified {
24397		if res.Body != nil {
24398			res.Body.Close()
24399		}
24400		return nil, &googleapi.Error{
24401			Code:   res.StatusCode,
24402			Header: res.Header,
24403		}
24404	}
24405	if err != nil {
24406		return nil, err
24407	}
24408	defer googleapi.CloseBody(res)
24409	if err := googleapi.CheckResponse(res); err != nil {
24410		return nil, err
24411	}
24412	ret := &Product{
24413		ServerResponse: googleapi.ServerResponse{
24414			Header:         res.Header,
24415			HTTPStatusCode: res.StatusCode,
24416		},
24417	}
24418	target := &ret
24419	if err := gensupport.DecodeResponse(target, res); err != nil {
24420		return nil, err
24421	}
24422	return ret, nil
24423	// {
24424	//   "description": "Retrieves a product from your Merchant Center account.",
24425	//   "flatPath": "{merchantId}/products/{productId}",
24426	//   "httpMethod": "GET",
24427	//   "id": "content.products.get",
24428	//   "parameterOrder": [
24429	//     "merchantId",
24430	//     "productId"
24431	//   ],
24432	//   "parameters": {
24433	//     "merchantId": {
24434	//       "description": "The ID of the account that contains the product. This account cannot be a multi-client account.",
24435	//       "format": "uint64",
24436	//       "location": "path",
24437	//       "required": true,
24438	//       "type": "string"
24439	//     },
24440	//     "productId": {
24441	//       "description": "The REST ID of the product.",
24442	//       "location": "path",
24443	//       "required": true,
24444	//       "type": "string"
24445	//     }
24446	//   },
24447	//   "path": "{merchantId}/products/{productId}",
24448	//   "response": {
24449	//     "$ref": "Product"
24450	//   },
24451	//   "scopes": [
24452	//     "https://www.googleapis.com/auth/content"
24453	//   ]
24454	// }
24455
24456}
24457
24458// method id "content.products.insert":
24459
24460type ProductsInsertCall struct {
24461	s          *APIService
24462	merchantId uint64
24463	product    *Product
24464	urlParams_ gensupport.URLParams
24465	ctx_       context.Context
24466	header_    http.Header
24467}
24468
24469// Insert: Uploads a product to your Merchant Center account. If an item
24470// with the same channel, contentLanguage, offerId, and targetCountry
24471// already exists, this method updates that entry.
24472//
24473// - merchantId: The ID of the account that contains the product. This
24474//   account cannot be a multi-client account.
24475func (r *ProductsService) Insert(merchantId uint64, product *Product) *ProductsInsertCall {
24476	c := &ProductsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24477	c.merchantId = merchantId
24478	c.product = product
24479	return c
24480}
24481
24482// DryRun sets the optional parameter "dryRun": Flag to simulate a
24483// request like in a live environment. If set to true, dry-run mode
24484// checks the validity of the request and returns errors (if any).
24485func (c *ProductsInsertCall) DryRun(dryRun bool) *ProductsInsertCall {
24486	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
24487	return c
24488}
24489
24490// Fields allows partial responses to be retrieved. See
24491// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24492// for more information.
24493func (c *ProductsInsertCall) Fields(s ...googleapi.Field) *ProductsInsertCall {
24494	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24495	return c
24496}
24497
24498// Context sets the context to be used in this call's Do method. Any
24499// pending HTTP request will be aborted if the provided context is
24500// canceled.
24501func (c *ProductsInsertCall) Context(ctx context.Context) *ProductsInsertCall {
24502	c.ctx_ = ctx
24503	return c
24504}
24505
24506// Header returns an http.Header that can be modified by the caller to
24507// add HTTP headers to the request.
24508func (c *ProductsInsertCall) Header() http.Header {
24509	if c.header_ == nil {
24510		c.header_ = make(http.Header)
24511	}
24512	return c.header_
24513}
24514
24515func (c *ProductsInsertCall) doRequest(alt string) (*http.Response, error) {
24516	reqHeaders := make(http.Header)
24517	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24518	for k, v := range c.header_ {
24519		reqHeaders[k] = v
24520	}
24521	reqHeaders.Set("User-Agent", c.s.userAgent())
24522	var body io.Reader = nil
24523	body, err := googleapi.WithoutDataWrapper.JSONReader(c.product)
24524	if err != nil {
24525		return nil, err
24526	}
24527	reqHeaders.Set("Content-Type", "application/json")
24528	c.urlParams_.Set("alt", alt)
24529	c.urlParams_.Set("prettyPrint", "false")
24530	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/products")
24531	urls += "?" + c.urlParams_.Encode()
24532	req, err := http.NewRequest("POST", urls, body)
24533	if err != nil {
24534		return nil, err
24535	}
24536	req.Header = reqHeaders
24537	googleapi.Expand(req.URL, map[string]string{
24538		"merchantId": strconv.FormatUint(c.merchantId, 10),
24539	})
24540	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24541}
24542
24543// Do executes the "content.products.insert" call.
24544// Exactly one of *Product or error will be non-nil. Any non-2xx status
24545// code is an error. Response headers are in either
24546// *Product.ServerResponse.Header or (if a response was returned at all)
24547// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24548// check whether the returned error was because http.StatusNotModified
24549// was returned.
24550func (c *ProductsInsertCall) Do(opts ...googleapi.CallOption) (*Product, error) {
24551	gensupport.SetOptions(c.urlParams_, opts...)
24552	res, err := c.doRequest("json")
24553	if res != nil && res.StatusCode == http.StatusNotModified {
24554		if res.Body != nil {
24555			res.Body.Close()
24556		}
24557		return nil, &googleapi.Error{
24558			Code:   res.StatusCode,
24559			Header: res.Header,
24560		}
24561	}
24562	if err != nil {
24563		return nil, err
24564	}
24565	defer googleapi.CloseBody(res)
24566	if err := googleapi.CheckResponse(res); err != nil {
24567		return nil, err
24568	}
24569	ret := &Product{
24570		ServerResponse: googleapi.ServerResponse{
24571			Header:         res.Header,
24572			HTTPStatusCode: res.StatusCode,
24573		},
24574	}
24575	target := &ret
24576	if err := gensupport.DecodeResponse(target, res); err != nil {
24577		return nil, err
24578	}
24579	return ret, nil
24580	// {
24581	//   "description": "Uploads a product to your Merchant Center account. If an item with the same channel, contentLanguage, offerId, and targetCountry already exists, this method updates that entry.",
24582	//   "flatPath": "{merchantId}/products",
24583	//   "httpMethod": "POST",
24584	//   "id": "content.products.insert",
24585	//   "parameterOrder": [
24586	//     "merchantId"
24587	//   ],
24588	//   "parameters": {
24589	//     "dryRun": {
24590	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
24591	//       "location": "query",
24592	//       "type": "boolean"
24593	//     },
24594	//     "merchantId": {
24595	//       "description": "The ID of the account that contains the product. This account cannot be a multi-client account.",
24596	//       "format": "uint64",
24597	//       "location": "path",
24598	//       "required": true,
24599	//       "type": "string"
24600	//     }
24601	//   },
24602	//   "path": "{merchantId}/products",
24603	//   "request": {
24604	//     "$ref": "Product"
24605	//   },
24606	//   "response": {
24607	//     "$ref": "Product"
24608	//   },
24609	//   "scopes": [
24610	//     "https://www.googleapis.com/auth/content"
24611	//   ]
24612	// }
24613
24614}
24615
24616// method id "content.products.list":
24617
24618type ProductsListCall struct {
24619	s            *APIService
24620	merchantId   uint64
24621	urlParams_   gensupport.URLParams
24622	ifNoneMatch_ string
24623	ctx_         context.Context
24624	header_      http.Header
24625}
24626
24627// List: Lists the products in your Merchant Center account. The
24628// response might contain fewer items than specified by maxResults. Rely
24629// on nextPageToken to determine if there are more items to be
24630// requested.
24631//
24632// - merchantId: The ID of the account that contains the products. This
24633//   account cannot be a multi-client account.
24634func (r *ProductsService) List(merchantId uint64) *ProductsListCall {
24635	c := &ProductsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24636	c.merchantId = merchantId
24637	return c
24638}
24639
24640// IncludeInvalidInsertedItems sets the optional parameter
24641// "includeInvalidInsertedItems": Flag to include the invalid inserted
24642// items in the result of the list request. By default the invalid items
24643// are not shown (the default value is false).
24644func (c *ProductsListCall) IncludeInvalidInsertedItems(includeInvalidInsertedItems bool) *ProductsListCall {
24645	c.urlParams_.Set("includeInvalidInsertedItems", fmt.Sprint(includeInvalidInsertedItems))
24646	return c
24647}
24648
24649// MaxResults sets the optional parameter "maxResults": The maximum
24650// number of products to return in the response, used for paging.
24651func (c *ProductsListCall) MaxResults(maxResults int64) *ProductsListCall {
24652	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
24653	return c
24654}
24655
24656// PageToken sets the optional parameter "pageToken": The token returned
24657// by the previous request.
24658func (c *ProductsListCall) PageToken(pageToken string) *ProductsListCall {
24659	c.urlParams_.Set("pageToken", pageToken)
24660	return c
24661}
24662
24663// Fields allows partial responses to be retrieved. See
24664// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24665// for more information.
24666func (c *ProductsListCall) Fields(s ...googleapi.Field) *ProductsListCall {
24667	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24668	return c
24669}
24670
24671// IfNoneMatch sets the optional parameter which makes the operation
24672// fail if the object's ETag matches the given value. This is useful for
24673// getting updates only after the object has changed since the last
24674// request. Use googleapi.IsNotModified to check whether the response
24675// error from Do is the result of In-None-Match.
24676func (c *ProductsListCall) IfNoneMatch(entityTag string) *ProductsListCall {
24677	c.ifNoneMatch_ = entityTag
24678	return c
24679}
24680
24681// Context sets the context to be used in this call's Do method. Any
24682// pending HTTP request will be aborted if the provided context is
24683// canceled.
24684func (c *ProductsListCall) Context(ctx context.Context) *ProductsListCall {
24685	c.ctx_ = ctx
24686	return c
24687}
24688
24689// Header returns an http.Header that can be modified by the caller to
24690// add HTTP headers to the request.
24691func (c *ProductsListCall) Header() http.Header {
24692	if c.header_ == nil {
24693		c.header_ = make(http.Header)
24694	}
24695	return c.header_
24696}
24697
24698func (c *ProductsListCall) doRequest(alt string) (*http.Response, error) {
24699	reqHeaders := make(http.Header)
24700	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24701	for k, v := range c.header_ {
24702		reqHeaders[k] = v
24703	}
24704	reqHeaders.Set("User-Agent", c.s.userAgent())
24705	if c.ifNoneMatch_ != "" {
24706		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24707	}
24708	var body io.Reader = nil
24709	c.urlParams_.Set("alt", alt)
24710	c.urlParams_.Set("prettyPrint", "false")
24711	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/products")
24712	urls += "?" + c.urlParams_.Encode()
24713	req, err := http.NewRequest("GET", urls, body)
24714	if err != nil {
24715		return nil, err
24716	}
24717	req.Header = reqHeaders
24718	googleapi.Expand(req.URL, map[string]string{
24719		"merchantId": strconv.FormatUint(c.merchantId, 10),
24720	})
24721	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24722}
24723
24724// Do executes the "content.products.list" call.
24725// Exactly one of *ProductsListResponse or error will be non-nil. Any
24726// non-2xx status code is an error. Response headers are in either
24727// *ProductsListResponse.ServerResponse.Header or (if a response was
24728// returned at all) in error.(*googleapi.Error).Header. Use
24729// googleapi.IsNotModified to check whether the returned error was
24730// because http.StatusNotModified was returned.
24731func (c *ProductsListCall) Do(opts ...googleapi.CallOption) (*ProductsListResponse, error) {
24732	gensupport.SetOptions(c.urlParams_, opts...)
24733	res, err := c.doRequest("json")
24734	if res != nil && res.StatusCode == http.StatusNotModified {
24735		if res.Body != nil {
24736			res.Body.Close()
24737		}
24738		return nil, &googleapi.Error{
24739			Code:   res.StatusCode,
24740			Header: res.Header,
24741		}
24742	}
24743	if err != nil {
24744		return nil, err
24745	}
24746	defer googleapi.CloseBody(res)
24747	if err := googleapi.CheckResponse(res); err != nil {
24748		return nil, err
24749	}
24750	ret := &ProductsListResponse{
24751		ServerResponse: googleapi.ServerResponse{
24752			Header:         res.Header,
24753			HTTPStatusCode: res.StatusCode,
24754		},
24755	}
24756	target := &ret
24757	if err := gensupport.DecodeResponse(target, res); err != nil {
24758		return nil, err
24759	}
24760	return ret, nil
24761	// {
24762	//   "description": "Lists the products in your Merchant Center account. The response might contain fewer items than specified by maxResults. Rely on nextPageToken to determine if there are more items to be requested.",
24763	//   "flatPath": "{merchantId}/products",
24764	//   "httpMethod": "GET",
24765	//   "id": "content.products.list",
24766	//   "parameterOrder": [
24767	//     "merchantId"
24768	//   ],
24769	//   "parameters": {
24770	//     "includeInvalidInsertedItems": {
24771	//       "description": "Flag to include the invalid inserted items in the result of the list request. By default the invalid items are not shown (the default value is false).",
24772	//       "location": "query",
24773	//       "type": "boolean"
24774	//     },
24775	//     "maxResults": {
24776	//       "description": "The maximum number of products to return in the response, used for paging.",
24777	//       "format": "uint32",
24778	//       "location": "query",
24779	//       "type": "integer"
24780	//     },
24781	//     "merchantId": {
24782	//       "description": "The ID of the account that contains the products. This account cannot be a multi-client account.",
24783	//       "format": "uint64",
24784	//       "location": "path",
24785	//       "required": true,
24786	//       "type": "string"
24787	//     },
24788	//     "pageToken": {
24789	//       "description": "The token returned by the previous request.",
24790	//       "location": "query",
24791	//       "type": "string"
24792	//     }
24793	//   },
24794	//   "path": "{merchantId}/products",
24795	//   "response": {
24796	//     "$ref": "ProductsListResponse"
24797	//   },
24798	//   "scopes": [
24799	//     "https://www.googleapis.com/auth/content"
24800	//   ]
24801	// }
24802
24803}
24804
24805// Pages invokes f for each page of results.
24806// A non-nil error returned from f will halt the iteration.
24807// The provided context supersedes any context provided to the Context method.
24808func (c *ProductsListCall) Pages(ctx context.Context, f func(*ProductsListResponse) error) error {
24809	c.ctx_ = ctx
24810	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
24811	for {
24812		x, err := c.Do()
24813		if err != nil {
24814			return err
24815		}
24816		if err := f(x); err != nil {
24817			return err
24818		}
24819		if x.NextPageToken == "" {
24820			return nil
24821		}
24822		c.PageToken(x.NextPageToken)
24823	}
24824}
24825
24826// method id "content.productstatuses.custombatch":
24827
24828type ProductstatusesCustombatchCall struct {
24829	s                                 *APIService
24830	productstatusescustombatchrequest *ProductstatusesCustomBatchRequest
24831	urlParams_                        gensupport.URLParams
24832	ctx_                              context.Context
24833	header_                           http.Header
24834}
24835
24836// Custombatch: Gets the statuses of multiple products in a single
24837// request.
24838func (r *ProductstatusesService) Custombatch(productstatusescustombatchrequest *ProductstatusesCustomBatchRequest) *ProductstatusesCustombatchCall {
24839	c := &ProductstatusesCustombatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24840	c.productstatusescustombatchrequest = productstatusescustombatchrequest
24841	return c
24842}
24843
24844// IncludeAttributes sets the optional parameter "includeAttributes":
24845// Flag to include full product data in the results of this request. The
24846// default value is false.
24847func (c *ProductstatusesCustombatchCall) IncludeAttributes(includeAttributes bool) *ProductstatusesCustombatchCall {
24848	c.urlParams_.Set("includeAttributes", fmt.Sprint(includeAttributes))
24849	return c
24850}
24851
24852// Fields allows partial responses to be retrieved. See
24853// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24854// for more information.
24855func (c *ProductstatusesCustombatchCall) Fields(s ...googleapi.Field) *ProductstatusesCustombatchCall {
24856	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24857	return c
24858}
24859
24860// Context sets the context to be used in this call's Do method. Any
24861// pending HTTP request will be aborted if the provided context is
24862// canceled.
24863func (c *ProductstatusesCustombatchCall) Context(ctx context.Context) *ProductstatusesCustombatchCall {
24864	c.ctx_ = ctx
24865	return c
24866}
24867
24868// Header returns an http.Header that can be modified by the caller to
24869// add HTTP headers to the request.
24870func (c *ProductstatusesCustombatchCall) Header() http.Header {
24871	if c.header_ == nil {
24872		c.header_ = make(http.Header)
24873	}
24874	return c.header_
24875}
24876
24877func (c *ProductstatusesCustombatchCall) doRequest(alt string) (*http.Response, error) {
24878	reqHeaders := make(http.Header)
24879	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24880	for k, v := range c.header_ {
24881		reqHeaders[k] = v
24882	}
24883	reqHeaders.Set("User-Agent", c.s.userAgent())
24884	var body io.Reader = nil
24885	body, err := googleapi.WithoutDataWrapper.JSONReader(c.productstatusescustombatchrequest)
24886	if err != nil {
24887		return nil, err
24888	}
24889	reqHeaders.Set("Content-Type", "application/json")
24890	c.urlParams_.Set("alt", alt)
24891	c.urlParams_.Set("prettyPrint", "false")
24892	urls := googleapi.ResolveRelative(c.s.BasePath, "productstatuses/batch")
24893	urls += "?" + c.urlParams_.Encode()
24894	req, err := http.NewRequest("POST", urls, body)
24895	if err != nil {
24896		return nil, err
24897	}
24898	req.Header = reqHeaders
24899	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24900}
24901
24902// Do executes the "content.productstatuses.custombatch" call.
24903// Exactly one of *ProductstatusesCustomBatchResponse or error will be
24904// non-nil. Any non-2xx status code is an error. Response headers are in
24905// either *ProductstatusesCustomBatchResponse.ServerResponse.Header or
24906// (if a response was returned at all) in
24907// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
24908// whether the returned error was because http.StatusNotModified was
24909// returned.
24910func (c *ProductstatusesCustombatchCall) Do(opts ...googleapi.CallOption) (*ProductstatusesCustomBatchResponse, error) {
24911	gensupport.SetOptions(c.urlParams_, opts...)
24912	res, err := c.doRequest("json")
24913	if res != nil && res.StatusCode == http.StatusNotModified {
24914		if res.Body != nil {
24915			res.Body.Close()
24916		}
24917		return nil, &googleapi.Error{
24918			Code:   res.StatusCode,
24919			Header: res.Header,
24920		}
24921	}
24922	if err != nil {
24923		return nil, err
24924	}
24925	defer googleapi.CloseBody(res)
24926	if err := googleapi.CheckResponse(res); err != nil {
24927		return nil, err
24928	}
24929	ret := &ProductstatusesCustomBatchResponse{
24930		ServerResponse: googleapi.ServerResponse{
24931			Header:         res.Header,
24932			HTTPStatusCode: res.StatusCode,
24933		},
24934	}
24935	target := &ret
24936	if err := gensupport.DecodeResponse(target, res); err != nil {
24937		return nil, err
24938	}
24939	return ret, nil
24940	// {
24941	//   "description": "Gets the statuses of multiple products in a single request.",
24942	//   "flatPath": "productstatuses/batch",
24943	//   "httpMethod": "POST",
24944	//   "id": "content.productstatuses.custombatch",
24945	//   "parameterOrder": [],
24946	//   "parameters": {
24947	//     "includeAttributes": {
24948	//       "description": "Flag to include full product data in the results of this request. The default value is false.",
24949	//       "location": "query",
24950	//       "type": "boolean"
24951	//     }
24952	//   },
24953	//   "path": "productstatuses/batch",
24954	//   "request": {
24955	//     "$ref": "ProductstatusesCustomBatchRequest"
24956	//   },
24957	//   "response": {
24958	//     "$ref": "ProductstatusesCustomBatchResponse"
24959	//   },
24960	//   "scopes": [
24961	//     "https://www.googleapis.com/auth/content"
24962	//   ]
24963	// }
24964
24965}
24966
24967// method id "content.productstatuses.get":
24968
24969type ProductstatusesGetCall struct {
24970	s            *APIService
24971	merchantId   uint64
24972	productId    string
24973	urlParams_   gensupport.URLParams
24974	ifNoneMatch_ string
24975	ctx_         context.Context
24976	header_      http.Header
24977}
24978
24979// Get: Gets the status of a product from your Merchant Center account.
24980//
24981// - merchantId: The ID of the account that contains the product. This
24982//   account cannot be a multi-client account.
24983// - productId: The REST ID of the product.
24984func (r *ProductstatusesService) Get(merchantId uint64, productId string) *ProductstatusesGetCall {
24985	c := &ProductstatusesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24986	c.merchantId = merchantId
24987	c.productId = productId
24988	return c
24989}
24990
24991// Destinations sets the optional parameter "destinations": If set, only
24992// issues for the specified destinations are returned, otherwise only
24993// issues for the Shopping destination.
24994func (c *ProductstatusesGetCall) Destinations(destinations ...string) *ProductstatusesGetCall {
24995	c.urlParams_.SetMulti("destinations", append([]string{}, destinations...))
24996	return c
24997}
24998
24999// IncludeAttributes sets the optional parameter "includeAttributes":
25000// Flag to include full product data in the result of this get request.
25001// The default value is false.
25002func (c *ProductstatusesGetCall) IncludeAttributes(includeAttributes bool) *ProductstatusesGetCall {
25003	c.urlParams_.Set("includeAttributes", fmt.Sprint(includeAttributes))
25004	return c
25005}
25006
25007// Fields allows partial responses to be retrieved. See
25008// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25009// for more information.
25010func (c *ProductstatusesGetCall) Fields(s ...googleapi.Field) *ProductstatusesGetCall {
25011	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25012	return c
25013}
25014
25015// IfNoneMatch sets the optional parameter which makes the operation
25016// fail if the object's ETag matches the given value. This is useful for
25017// getting updates only after the object has changed since the last
25018// request. Use googleapi.IsNotModified to check whether the response
25019// error from Do is the result of In-None-Match.
25020func (c *ProductstatusesGetCall) IfNoneMatch(entityTag string) *ProductstatusesGetCall {
25021	c.ifNoneMatch_ = entityTag
25022	return c
25023}
25024
25025// Context sets the context to be used in this call's Do method. Any
25026// pending HTTP request will be aborted if the provided context is
25027// canceled.
25028func (c *ProductstatusesGetCall) Context(ctx context.Context) *ProductstatusesGetCall {
25029	c.ctx_ = ctx
25030	return c
25031}
25032
25033// Header returns an http.Header that can be modified by the caller to
25034// add HTTP headers to the request.
25035func (c *ProductstatusesGetCall) Header() http.Header {
25036	if c.header_ == nil {
25037		c.header_ = make(http.Header)
25038	}
25039	return c.header_
25040}
25041
25042func (c *ProductstatusesGetCall) doRequest(alt string) (*http.Response, error) {
25043	reqHeaders := make(http.Header)
25044	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25045	for k, v := range c.header_ {
25046		reqHeaders[k] = v
25047	}
25048	reqHeaders.Set("User-Agent", c.s.userAgent())
25049	if c.ifNoneMatch_ != "" {
25050		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25051	}
25052	var body io.Reader = nil
25053	c.urlParams_.Set("alt", alt)
25054	c.urlParams_.Set("prettyPrint", "false")
25055	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/productstatuses/{productId}")
25056	urls += "?" + c.urlParams_.Encode()
25057	req, err := http.NewRequest("GET", urls, body)
25058	if err != nil {
25059		return nil, err
25060	}
25061	req.Header = reqHeaders
25062	googleapi.Expand(req.URL, map[string]string{
25063		"merchantId": strconv.FormatUint(c.merchantId, 10),
25064		"productId":  c.productId,
25065	})
25066	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25067}
25068
25069// Do executes the "content.productstatuses.get" call.
25070// Exactly one of *ProductStatus or error will be non-nil. Any non-2xx
25071// status code is an error. Response headers are in either
25072// *ProductStatus.ServerResponse.Header or (if a response was returned
25073// at all) in error.(*googleapi.Error).Header. Use
25074// googleapi.IsNotModified to check whether the returned error was
25075// because http.StatusNotModified was returned.
25076func (c *ProductstatusesGetCall) Do(opts ...googleapi.CallOption) (*ProductStatus, error) {
25077	gensupport.SetOptions(c.urlParams_, opts...)
25078	res, err := c.doRequest("json")
25079	if res != nil && res.StatusCode == http.StatusNotModified {
25080		if res.Body != nil {
25081			res.Body.Close()
25082		}
25083		return nil, &googleapi.Error{
25084			Code:   res.StatusCode,
25085			Header: res.Header,
25086		}
25087	}
25088	if err != nil {
25089		return nil, err
25090	}
25091	defer googleapi.CloseBody(res)
25092	if err := googleapi.CheckResponse(res); err != nil {
25093		return nil, err
25094	}
25095	ret := &ProductStatus{
25096		ServerResponse: googleapi.ServerResponse{
25097			Header:         res.Header,
25098			HTTPStatusCode: res.StatusCode,
25099		},
25100	}
25101	target := &ret
25102	if err := gensupport.DecodeResponse(target, res); err != nil {
25103		return nil, err
25104	}
25105	return ret, nil
25106	// {
25107	//   "description": "Gets the status of a product from your Merchant Center account.",
25108	//   "flatPath": "{merchantId}/productstatuses/{productId}",
25109	//   "httpMethod": "GET",
25110	//   "id": "content.productstatuses.get",
25111	//   "parameterOrder": [
25112	//     "merchantId",
25113	//     "productId"
25114	//   ],
25115	//   "parameters": {
25116	//     "destinations": {
25117	//       "description": "If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination.",
25118	//       "location": "query",
25119	//       "repeated": true,
25120	//       "type": "string"
25121	//     },
25122	//     "includeAttributes": {
25123	//       "description": "Flag to include full product data in the result of this get request. The default value is false.",
25124	//       "location": "query",
25125	//       "type": "boolean"
25126	//     },
25127	//     "merchantId": {
25128	//       "description": "The ID of the account that contains the product. This account cannot be a multi-client account.",
25129	//       "format": "uint64",
25130	//       "location": "path",
25131	//       "required": true,
25132	//       "type": "string"
25133	//     },
25134	//     "productId": {
25135	//       "description": "The REST ID of the product.",
25136	//       "location": "path",
25137	//       "required": true,
25138	//       "type": "string"
25139	//     }
25140	//   },
25141	//   "path": "{merchantId}/productstatuses/{productId}",
25142	//   "response": {
25143	//     "$ref": "ProductStatus"
25144	//   },
25145	//   "scopes": [
25146	//     "https://www.googleapis.com/auth/content"
25147	//   ]
25148	// }
25149
25150}
25151
25152// method id "content.productstatuses.list":
25153
25154type ProductstatusesListCall struct {
25155	s            *APIService
25156	merchantId   uint64
25157	urlParams_   gensupport.URLParams
25158	ifNoneMatch_ string
25159	ctx_         context.Context
25160	header_      http.Header
25161}
25162
25163// List: Lists the statuses of the products in your Merchant Center
25164// account.
25165//
25166// - merchantId: The ID of the account that contains the products. This
25167//   account cannot be a multi-client account.
25168func (r *ProductstatusesService) List(merchantId uint64) *ProductstatusesListCall {
25169	c := &ProductstatusesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25170	c.merchantId = merchantId
25171	return c
25172}
25173
25174// Destinations sets the optional parameter "destinations": If set, only
25175// issues for the specified destinations are returned, otherwise only
25176// issues for the Shopping destination.
25177func (c *ProductstatusesListCall) Destinations(destinations ...string) *ProductstatusesListCall {
25178	c.urlParams_.SetMulti("destinations", append([]string{}, destinations...))
25179	return c
25180}
25181
25182// IncludeAttributes sets the optional parameter "includeAttributes":
25183// Flag to include full product data in the results of the list request.
25184// The default value is false.
25185func (c *ProductstatusesListCall) IncludeAttributes(includeAttributes bool) *ProductstatusesListCall {
25186	c.urlParams_.Set("includeAttributes", fmt.Sprint(includeAttributes))
25187	return c
25188}
25189
25190// IncludeInvalidInsertedItems sets the optional parameter
25191// "includeInvalidInsertedItems": Flag to include the invalid inserted
25192// items in the result of the list request. By default the invalid items
25193// are not shown (the default value is false).
25194func (c *ProductstatusesListCall) IncludeInvalidInsertedItems(includeInvalidInsertedItems bool) *ProductstatusesListCall {
25195	c.urlParams_.Set("includeInvalidInsertedItems", fmt.Sprint(includeInvalidInsertedItems))
25196	return c
25197}
25198
25199// MaxResults sets the optional parameter "maxResults": The maximum
25200// number of product statuses to return in the response, used for
25201// paging.
25202func (c *ProductstatusesListCall) MaxResults(maxResults int64) *ProductstatusesListCall {
25203	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
25204	return c
25205}
25206
25207// PageToken sets the optional parameter "pageToken": The token returned
25208// by the previous request.
25209func (c *ProductstatusesListCall) PageToken(pageToken string) *ProductstatusesListCall {
25210	c.urlParams_.Set("pageToken", pageToken)
25211	return c
25212}
25213
25214// Fields allows partial responses to be retrieved. See
25215// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25216// for more information.
25217func (c *ProductstatusesListCall) Fields(s ...googleapi.Field) *ProductstatusesListCall {
25218	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25219	return c
25220}
25221
25222// IfNoneMatch sets the optional parameter which makes the operation
25223// fail if the object's ETag matches the given value. This is useful for
25224// getting updates only after the object has changed since the last
25225// request. Use googleapi.IsNotModified to check whether the response
25226// error from Do is the result of In-None-Match.
25227func (c *ProductstatusesListCall) IfNoneMatch(entityTag string) *ProductstatusesListCall {
25228	c.ifNoneMatch_ = entityTag
25229	return c
25230}
25231
25232// Context sets the context to be used in this call's Do method. Any
25233// pending HTTP request will be aborted if the provided context is
25234// canceled.
25235func (c *ProductstatusesListCall) Context(ctx context.Context) *ProductstatusesListCall {
25236	c.ctx_ = ctx
25237	return c
25238}
25239
25240// Header returns an http.Header that can be modified by the caller to
25241// add HTTP headers to the request.
25242func (c *ProductstatusesListCall) Header() http.Header {
25243	if c.header_ == nil {
25244		c.header_ = make(http.Header)
25245	}
25246	return c.header_
25247}
25248
25249func (c *ProductstatusesListCall) doRequest(alt string) (*http.Response, error) {
25250	reqHeaders := make(http.Header)
25251	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25252	for k, v := range c.header_ {
25253		reqHeaders[k] = v
25254	}
25255	reqHeaders.Set("User-Agent", c.s.userAgent())
25256	if c.ifNoneMatch_ != "" {
25257		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25258	}
25259	var body io.Reader = nil
25260	c.urlParams_.Set("alt", alt)
25261	c.urlParams_.Set("prettyPrint", "false")
25262	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/productstatuses")
25263	urls += "?" + c.urlParams_.Encode()
25264	req, err := http.NewRequest("GET", urls, body)
25265	if err != nil {
25266		return nil, err
25267	}
25268	req.Header = reqHeaders
25269	googleapi.Expand(req.URL, map[string]string{
25270		"merchantId": strconv.FormatUint(c.merchantId, 10),
25271	})
25272	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25273}
25274
25275// Do executes the "content.productstatuses.list" call.
25276// Exactly one of *ProductstatusesListResponse or error will be non-nil.
25277// Any non-2xx status code is an error. Response headers are in either
25278// *ProductstatusesListResponse.ServerResponse.Header or (if a response
25279// was returned at all) in error.(*googleapi.Error).Header. Use
25280// googleapi.IsNotModified to check whether the returned error was
25281// because http.StatusNotModified was returned.
25282func (c *ProductstatusesListCall) Do(opts ...googleapi.CallOption) (*ProductstatusesListResponse, error) {
25283	gensupport.SetOptions(c.urlParams_, opts...)
25284	res, err := c.doRequest("json")
25285	if res != nil && res.StatusCode == http.StatusNotModified {
25286		if res.Body != nil {
25287			res.Body.Close()
25288		}
25289		return nil, &googleapi.Error{
25290			Code:   res.StatusCode,
25291			Header: res.Header,
25292		}
25293	}
25294	if err != nil {
25295		return nil, err
25296	}
25297	defer googleapi.CloseBody(res)
25298	if err := googleapi.CheckResponse(res); err != nil {
25299		return nil, err
25300	}
25301	ret := &ProductstatusesListResponse{
25302		ServerResponse: googleapi.ServerResponse{
25303			Header:         res.Header,
25304			HTTPStatusCode: res.StatusCode,
25305		},
25306	}
25307	target := &ret
25308	if err := gensupport.DecodeResponse(target, res); err != nil {
25309		return nil, err
25310	}
25311	return ret, nil
25312	// {
25313	//   "description": "Lists the statuses of the products in your Merchant Center account.",
25314	//   "flatPath": "{merchantId}/productstatuses",
25315	//   "httpMethod": "GET",
25316	//   "id": "content.productstatuses.list",
25317	//   "parameterOrder": [
25318	//     "merchantId"
25319	//   ],
25320	//   "parameters": {
25321	//     "destinations": {
25322	//       "description": "If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination.",
25323	//       "location": "query",
25324	//       "repeated": true,
25325	//       "type": "string"
25326	//     },
25327	//     "includeAttributes": {
25328	//       "description": "Flag to include full product data in the results of the list request. The default value is false.",
25329	//       "location": "query",
25330	//       "type": "boolean"
25331	//     },
25332	//     "includeInvalidInsertedItems": {
25333	//       "description": "Flag to include the invalid inserted items in the result of the list request. By default the invalid items are not shown (the default value is false).",
25334	//       "location": "query",
25335	//       "type": "boolean"
25336	//     },
25337	//     "maxResults": {
25338	//       "description": "The maximum number of product statuses to return in the response, used for paging.",
25339	//       "format": "uint32",
25340	//       "location": "query",
25341	//       "type": "integer"
25342	//     },
25343	//     "merchantId": {
25344	//       "description": "The ID of the account that contains the products. This account cannot be a multi-client account.",
25345	//       "format": "uint64",
25346	//       "location": "path",
25347	//       "required": true,
25348	//       "type": "string"
25349	//     },
25350	//     "pageToken": {
25351	//       "description": "The token returned by the previous request.",
25352	//       "location": "query",
25353	//       "type": "string"
25354	//     }
25355	//   },
25356	//   "path": "{merchantId}/productstatuses",
25357	//   "response": {
25358	//     "$ref": "ProductstatusesListResponse"
25359	//   },
25360	//   "scopes": [
25361	//     "https://www.googleapis.com/auth/content"
25362	//   ]
25363	// }
25364
25365}
25366
25367// Pages invokes f for each page of results.
25368// A non-nil error returned from f will halt the iteration.
25369// The provided context supersedes any context provided to the Context method.
25370func (c *ProductstatusesListCall) Pages(ctx context.Context, f func(*ProductstatusesListResponse) error) error {
25371	c.ctx_ = ctx
25372	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25373	for {
25374		x, err := c.Do()
25375		if err != nil {
25376			return err
25377		}
25378		if err := f(x); err != nil {
25379			return err
25380		}
25381		if x.NextPageToken == "" {
25382			return nil
25383		}
25384		c.PageToken(x.NextPageToken)
25385	}
25386}
25387
25388// method id "content.shippingsettings.custombatch":
25389
25390type ShippingsettingsCustombatchCall struct {
25391	s                                  *APIService
25392	shippingsettingscustombatchrequest *ShippingsettingsCustomBatchRequest
25393	urlParams_                         gensupport.URLParams
25394	ctx_                               context.Context
25395	header_                            http.Header
25396}
25397
25398// Custombatch: Retrieves and updates the shipping settings of multiple
25399// accounts in a single request.
25400func (r *ShippingsettingsService) Custombatch(shippingsettingscustombatchrequest *ShippingsettingsCustomBatchRequest) *ShippingsettingsCustombatchCall {
25401	c := &ShippingsettingsCustombatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25402	c.shippingsettingscustombatchrequest = shippingsettingscustombatchrequest
25403	return c
25404}
25405
25406// DryRun sets the optional parameter "dryRun": Flag to simulate a
25407// request like in a live environment. If set to true, dry-run mode
25408// checks the validity of the request and returns errors (if any).
25409func (c *ShippingsettingsCustombatchCall) DryRun(dryRun bool) *ShippingsettingsCustombatchCall {
25410	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
25411	return c
25412}
25413
25414// Fields allows partial responses to be retrieved. See
25415// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25416// for more information.
25417func (c *ShippingsettingsCustombatchCall) Fields(s ...googleapi.Field) *ShippingsettingsCustombatchCall {
25418	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25419	return c
25420}
25421
25422// Context sets the context to be used in this call's Do method. Any
25423// pending HTTP request will be aborted if the provided context is
25424// canceled.
25425func (c *ShippingsettingsCustombatchCall) Context(ctx context.Context) *ShippingsettingsCustombatchCall {
25426	c.ctx_ = ctx
25427	return c
25428}
25429
25430// Header returns an http.Header that can be modified by the caller to
25431// add HTTP headers to the request.
25432func (c *ShippingsettingsCustombatchCall) Header() http.Header {
25433	if c.header_ == nil {
25434		c.header_ = make(http.Header)
25435	}
25436	return c.header_
25437}
25438
25439func (c *ShippingsettingsCustombatchCall) doRequest(alt string) (*http.Response, error) {
25440	reqHeaders := make(http.Header)
25441	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25442	for k, v := range c.header_ {
25443		reqHeaders[k] = v
25444	}
25445	reqHeaders.Set("User-Agent", c.s.userAgent())
25446	var body io.Reader = nil
25447	body, err := googleapi.WithoutDataWrapper.JSONReader(c.shippingsettingscustombatchrequest)
25448	if err != nil {
25449		return nil, err
25450	}
25451	reqHeaders.Set("Content-Type", "application/json")
25452	c.urlParams_.Set("alt", alt)
25453	c.urlParams_.Set("prettyPrint", "false")
25454	urls := googleapi.ResolveRelative(c.s.BasePath, "shippingsettings/batch")
25455	urls += "?" + c.urlParams_.Encode()
25456	req, err := http.NewRequest("POST", urls, body)
25457	if err != nil {
25458		return nil, err
25459	}
25460	req.Header = reqHeaders
25461	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25462}
25463
25464// Do executes the "content.shippingsettings.custombatch" call.
25465// Exactly one of *ShippingsettingsCustomBatchResponse or error will be
25466// non-nil. Any non-2xx status code is an error. Response headers are in
25467// either *ShippingsettingsCustomBatchResponse.ServerResponse.Header or
25468// (if a response was returned at all) in
25469// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
25470// whether the returned error was because http.StatusNotModified was
25471// returned.
25472func (c *ShippingsettingsCustombatchCall) Do(opts ...googleapi.CallOption) (*ShippingsettingsCustomBatchResponse, error) {
25473	gensupport.SetOptions(c.urlParams_, opts...)
25474	res, err := c.doRequest("json")
25475	if res != nil && res.StatusCode == http.StatusNotModified {
25476		if res.Body != nil {
25477			res.Body.Close()
25478		}
25479		return nil, &googleapi.Error{
25480			Code:   res.StatusCode,
25481			Header: res.Header,
25482		}
25483	}
25484	if err != nil {
25485		return nil, err
25486	}
25487	defer googleapi.CloseBody(res)
25488	if err := googleapi.CheckResponse(res); err != nil {
25489		return nil, err
25490	}
25491	ret := &ShippingsettingsCustomBatchResponse{
25492		ServerResponse: googleapi.ServerResponse{
25493			Header:         res.Header,
25494			HTTPStatusCode: res.StatusCode,
25495		},
25496	}
25497	target := &ret
25498	if err := gensupport.DecodeResponse(target, res); err != nil {
25499		return nil, err
25500	}
25501	return ret, nil
25502	// {
25503	//   "description": "Retrieves and updates the shipping settings of multiple accounts in a single request.",
25504	//   "flatPath": "shippingsettings/batch",
25505	//   "httpMethod": "POST",
25506	//   "id": "content.shippingsettings.custombatch",
25507	//   "parameterOrder": [],
25508	//   "parameters": {
25509	//     "dryRun": {
25510	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
25511	//       "location": "query",
25512	//       "type": "boolean"
25513	//     }
25514	//   },
25515	//   "path": "shippingsettings/batch",
25516	//   "request": {
25517	//     "$ref": "ShippingsettingsCustomBatchRequest"
25518	//   },
25519	//   "response": {
25520	//     "$ref": "ShippingsettingsCustomBatchResponse"
25521	//   },
25522	//   "scopes": [
25523	//     "https://www.googleapis.com/auth/content"
25524	//   ]
25525	// }
25526
25527}
25528
25529// method id "content.shippingsettings.get":
25530
25531type ShippingsettingsGetCall struct {
25532	s            *APIService
25533	merchantId   uint64
25534	accountId    uint64
25535	urlParams_   gensupport.URLParams
25536	ifNoneMatch_ string
25537	ctx_         context.Context
25538	header_      http.Header
25539}
25540
25541// Get: Retrieves the shipping settings of the account.
25542//
25543// - accountId: The ID of the account for which to get/update shipping
25544//   settings.
25545// - merchantId: The ID of the managing account. If this parameter is
25546//   not the same as accountId, then this account must be a multi-client
25547//   account and `accountId` must be the ID of a sub-account of this
25548//   account.
25549func (r *ShippingsettingsService) Get(merchantId uint64, accountId uint64) *ShippingsettingsGetCall {
25550	c := &ShippingsettingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25551	c.merchantId = merchantId
25552	c.accountId = accountId
25553	return c
25554}
25555
25556// Fields allows partial responses to be retrieved. See
25557// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25558// for more information.
25559func (c *ShippingsettingsGetCall) Fields(s ...googleapi.Field) *ShippingsettingsGetCall {
25560	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25561	return c
25562}
25563
25564// IfNoneMatch sets the optional parameter which makes the operation
25565// fail if the object's ETag matches the given value. This is useful for
25566// getting updates only after the object has changed since the last
25567// request. Use googleapi.IsNotModified to check whether the response
25568// error from Do is the result of In-None-Match.
25569func (c *ShippingsettingsGetCall) IfNoneMatch(entityTag string) *ShippingsettingsGetCall {
25570	c.ifNoneMatch_ = entityTag
25571	return c
25572}
25573
25574// Context sets the context to be used in this call's Do method. Any
25575// pending HTTP request will be aborted if the provided context is
25576// canceled.
25577func (c *ShippingsettingsGetCall) Context(ctx context.Context) *ShippingsettingsGetCall {
25578	c.ctx_ = ctx
25579	return c
25580}
25581
25582// Header returns an http.Header that can be modified by the caller to
25583// add HTTP headers to the request.
25584func (c *ShippingsettingsGetCall) Header() http.Header {
25585	if c.header_ == nil {
25586		c.header_ = make(http.Header)
25587	}
25588	return c.header_
25589}
25590
25591func (c *ShippingsettingsGetCall) doRequest(alt string) (*http.Response, error) {
25592	reqHeaders := make(http.Header)
25593	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25594	for k, v := range c.header_ {
25595		reqHeaders[k] = v
25596	}
25597	reqHeaders.Set("User-Agent", c.s.userAgent())
25598	if c.ifNoneMatch_ != "" {
25599		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25600	}
25601	var body io.Reader = nil
25602	c.urlParams_.Set("alt", alt)
25603	c.urlParams_.Set("prettyPrint", "false")
25604	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/shippingsettings/{accountId}")
25605	urls += "?" + c.urlParams_.Encode()
25606	req, err := http.NewRequest("GET", urls, body)
25607	if err != nil {
25608		return nil, err
25609	}
25610	req.Header = reqHeaders
25611	googleapi.Expand(req.URL, map[string]string{
25612		"merchantId": strconv.FormatUint(c.merchantId, 10),
25613		"accountId":  strconv.FormatUint(c.accountId, 10),
25614	})
25615	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25616}
25617
25618// Do executes the "content.shippingsettings.get" call.
25619// Exactly one of *ShippingSettings or error will be non-nil. Any
25620// non-2xx status code is an error. Response headers are in either
25621// *ShippingSettings.ServerResponse.Header or (if a response was
25622// returned at all) in error.(*googleapi.Error).Header. Use
25623// googleapi.IsNotModified to check whether the returned error was
25624// because http.StatusNotModified was returned.
25625func (c *ShippingsettingsGetCall) Do(opts ...googleapi.CallOption) (*ShippingSettings, error) {
25626	gensupport.SetOptions(c.urlParams_, opts...)
25627	res, err := c.doRequest("json")
25628	if res != nil && res.StatusCode == http.StatusNotModified {
25629		if res.Body != nil {
25630			res.Body.Close()
25631		}
25632		return nil, &googleapi.Error{
25633			Code:   res.StatusCode,
25634			Header: res.Header,
25635		}
25636	}
25637	if err != nil {
25638		return nil, err
25639	}
25640	defer googleapi.CloseBody(res)
25641	if err := googleapi.CheckResponse(res); err != nil {
25642		return nil, err
25643	}
25644	ret := &ShippingSettings{
25645		ServerResponse: googleapi.ServerResponse{
25646			Header:         res.Header,
25647			HTTPStatusCode: res.StatusCode,
25648		},
25649	}
25650	target := &ret
25651	if err := gensupport.DecodeResponse(target, res); err != nil {
25652		return nil, err
25653	}
25654	return ret, nil
25655	// {
25656	//   "description": "Retrieves the shipping settings of the account.",
25657	//   "flatPath": "{merchantId}/shippingsettings/{accountId}",
25658	//   "httpMethod": "GET",
25659	//   "id": "content.shippingsettings.get",
25660	//   "parameterOrder": [
25661	//     "merchantId",
25662	//     "accountId"
25663	//   ],
25664	//   "parameters": {
25665	//     "accountId": {
25666	//       "description": "The ID of the account for which to get/update shipping settings.",
25667	//       "format": "uint64",
25668	//       "location": "path",
25669	//       "required": true,
25670	//       "type": "string"
25671	//     },
25672	//     "merchantId": {
25673	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
25674	//       "format": "uint64",
25675	//       "location": "path",
25676	//       "required": true,
25677	//       "type": "string"
25678	//     }
25679	//   },
25680	//   "path": "{merchantId}/shippingsettings/{accountId}",
25681	//   "response": {
25682	//     "$ref": "ShippingSettings"
25683	//   },
25684	//   "scopes": [
25685	//     "https://www.googleapis.com/auth/content"
25686	//   ]
25687	// }
25688
25689}
25690
25691// method id "content.shippingsettings.getsupportedcarriers":
25692
25693type ShippingsettingsGetsupportedcarriersCall struct {
25694	s            *APIService
25695	merchantId   uint64
25696	urlParams_   gensupport.URLParams
25697	ifNoneMatch_ string
25698	ctx_         context.Context
25699	header_      http.Header
25700}
25701
25702// Getsupportedcarriers: Retrieves supported carriers and carrier
25703// services for an account.
25704//
25705// - merchantId: The ID of the account for which to retrieve the
25706//   supported carriers.
25707func (r *ShippingsettingsService) Getsupportedcarriers(merchantId uint64) *ShippingsettingsGetsupportedcarriersCall {
25708	c := &ShippingsettingsGetsupportedcarriersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25709	c.merchantId = merchantId
25710	return c
25711}
25712
25713// Fields allows partial responses to be retrieved. See
25714// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25715// for more information.
25716func (c *ShippingsettingsGetsupportedcarriersCall) Fields(s ...googleapi.Field) *ShippingsettingsGetsupportedcarriersCall {
25717	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25718	return c
25719}
25720
25721// IfNoneMatch sets the optional parameter which makes the operation
25722// fail if the object's ETag matches the given value. This is useful for
25723// getting updates only after the object has changed since the last
25724// request. Use googleapi.IsNotModified to check whether the response
25725// error from Do is the result of In-None-Match.
25726func (c *ShippingsettingsGetsupportedcarriersCall) IfNoneMatch(entityTag string) *ShippingsettingsGetsupportedcarriersCall {
25727	c.ifNoneMatch_ = entityTag
25728	return c
25729}
25730
25731// Context sets the context to be used in this call's Do method. Any
25732// pending HTTP request will be aborted if the provided context is
25733// canceled.
25734func (c *ShippingsettingsGetsupportedcarriersCall) Context(ctx context.Context) *ShippingsettingsGetsupportedcarriersCall {
25735	c.ctx_ = ctx
25736	return c
25737}
25738
25739// Header returns an http.Header that can be modified by the caller to
25740// add HTTP headers to the request.
25741func (c *ShippingsettingsGetsupportedcarriersCall) Header() http.Header {
25742	if c.header_ == nil {
25743		c.header_ = make(http.Header)
25744	}
25745	return c.header_
25746}
25747
25748func (c *ShippingsettingsGetsupportedcarriersCall) doRequest(alt string) (*http.Response, error) {
25749	reqHeaders := make(http.Header)
25750	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25751	for k, v := range c.header_ {
25752		reqHeaders[k] = v
25753	}
25754	reqHeaders.Set("User-Agent", c.s.userAgent())
25755	if c.ifNoneMatch_ != "" {
25756		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25757	}
25758	var body io.Reader = nil
25759	c.urlParams_.Set("alt", alt)
25760	c.urlParams_.Set("prettyPrint", "false")
25761	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/supportedCarriers")
25762	urls += "?" + c.urlParams_.Encode()
25763	req, err := http.NewRequest("GET", urls, body)
25764	if err != nil {
25765		return nil, err
25766	}
25767	req.Header = reqHeaders
25768	googleapi.Expand(req.URL, map[string]string{
25769		"merchantId": strconv.FormatUint(c.merchantId, 10),
25770	})
25771	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25772}
25773
25774// Do executes the "content.shippingsettings.getsupportedcarriers" call.
25775// Exactly one of *ShippingsettingsGetSupportedCarriersResponse or error
25776// will be non-nil. Any non-2xx status code is an error. Response
25777// headers are in either
25778// *ShippingsettingsGetSupportedCarriersResponse.ServerResponse.Header
25779// or (if a response was returned at all) in
25780// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
25781// whether the returned error was because http.StatusNotModified was
25782// returned.
25783func (c *ShippingsettingsGetsupportedcarriersCall) Do(opts ...googleapi.CallOption) (*ShippingsettingsGetSupportedCarriersResponse, error) {
25784	gensupport.SetOptions(c.urlParams_, opts...)
25785	res, err := c.doRequest("json")
25786	if res != nil && res.StatusCode == http.StatusNotModified {
25787		if res.Body != nil {
25788			res.Body.Close()
25789		}
25790		return nil, &googleapi.Error{
25791			Code:   res.StatusCode,
25792			Header: res.Header,
25793		}
25794	}
25795	if err != nil {
25796		return nil, err
25797	}
25798	defer googleapi.CloseBody(res)
25799	if err := googleapi.CheckResponse(res); err != nil {
25800		return nil, err
25801	}
25802	ret := &ShippingsettingsGetSupportedCarriersResponse{
25803		ServerResponse: googleapi.ServerResponse{
25804			Header:         res.Header,
25805			HTTPStatusCode: res.StatusCode,
25806		},
25807	}
25808	target := &ret
25809	if err := gensupport.DecodeResponse(target, res); err != nil {
25810		return nil, err
25811	}
25812	return ret, nil
25813	// {
25814	//   "description": "Retrieves supported carriers and carrier services for an account.",
25815	//   "flatPath": "{merchantId}/supportedCarriers",
25816	//   "httpMethod": "GET",
25817	//   "id": "content.shippingsettings.getsupportedcarriers",
25818	//   "parameterOrder": [
25819	//     "merchantId"
25820	//   ],
25821	//   "parameters": {
25822	//     "merchantId": {
25823	//       "description": "The ID of the account for which to retrieve the supported carriers.",
25824	//       "format": "uint64",
25825	//       "location": "path",
25826	//       "required": true,
25827	//       "type": "string"
25828	//     }
25829	//   },
25830	//   "path": "{merchantId}/supportedCarriers",
25831	//   "response": {
25832	//     "$ref": "ShippingsettingsGetSupportedCarriersResponse"
25833	//   },
25834	//   "scopes": [
25835	//     "https://www.googleapis.com/auth/content"
25836	//   ]
25837	// }
25838
25839}
25840
25841// method id "content.shippingsettings.getsupportedholidays":
25842
25843type ShippingsettingsGetsupportedholidaysCall struct {
25844	s            *APIService
25845	merchantId   uint64
25846	urlParams_   gensupport.URLParams
25847	ifNoneMatch_ string
25848	ctx_         context.Context
25849	header_      http.Header
25850}
25851
25852// Getsupportedholidays: Retrieves supported holidays for an account.
25853//
25854// - merchantId: The ID of the account for which to retrieve the
25855//   supported holidays.
25856func (r *ShippingsettingsService) Getsupportedholidays(merchantId uint64) *ShippingsettingsGetsupportedholidaysCall {
25857	c := &ShippingsettingsGetsupportedholidaysCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25858	c.merchantId = merchantId
25859	return c
25860}
25861
25862// Fields allows partial responses to be retrieved. See
25863// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25864// for more information.
25865func (c *ShippingsettingsGetsupportedholidaysCall) Fields(s ...googleapi.Field) *ShippingsettingsGetsupportedholidaysCall {
25866	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25867	return c
25868}
25869
25870// IfNoneMatch sets the optional parameter which makes the operation
25871// fail if the object's ETag matches the given value. This is useful for
25872// getting updates only after the object has changed since the last
25873// request. Use googleapi.IsNotModified to check whether the response
25874// error from Do is the result of In-None-Match.
25875func (c *ShippingsettingsGetsupportedholidaysCall) IfNoneMatch(entityTag string) *ShippingsettingsGetsupportedholidaysCall {
25876	c.ifNoneMatch_ = entityTag
25877	return c
25878}
25879
25880// Context sets the context to be used in this call's Do method. Any
25881// pending HTTP request will be aborted if the provided context is
25882// canceled.
25883func (c *ShippingsettingsGetsupportedholidaysCall) Context(ctx context.Context) *ShippingsettingsGetsupportedholidaysCall {
25884	c.ctx_ = ctx
25885	return c
25886}
25887
25888// Header returns an http.Header that can be modified by the caller to
25889// add HTTP headers to the request.
25890func (c *ShippingsettingsGetsupportedholidaysCall) Header() http.Header {
25891	if c.header_ == nil {
25892		c.header_ = make(http.Header)
25893	}
25894	return c.header_
25895}
25896
25897func (c *ShippingsettingsGetsupportedholidaysCall) doRequest(alt string) (*http.Response, error) {
25898	reqHeaders := make(http.Header)
25899	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25900	for k, v := range c.header_ {
25901		reqHeaders[k] = v
25902	}
25903	reqHeaders.Set("User-Agent", c.s.userAgent())
25904	if c.ifNoneMatch_ != "" {
25905		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25906	}
25907	var body io.Reader = nil
25908	c.urlParams_.Set("alt", alt)
25909	c.urlParams_.Set("prettyPrint", "false")
25910	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/supportedHolidays")
25911	urls += "?" + c.urlParams_.Encode()
25912	req, err := http.NewRequest("GET", urls, body)
25913	if err != nil {
25914		return nil, err
25915	}
25916	req.Header = reqHeaders
25917	googleapi.Expand(req.URL, map[string]string{
25918		"merchantId": strconv.FormatUint(c.merchantId, 10),
25919	})
25920	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25921}
25922
25923// Do executes the "content.shippingsettings.getsupportedholidays" call.
25924// Exactly one of *ShippingsettingsGetSupportedHolidaysResponse or error
25925// will be non-nil. Any non-2xx status code is an error. Response
25926// headers are in either
25927// *ShippingsettingsGetSupportedHolidaysResponse.ServerResponse.Header
25928// or (if a response was returned at all) in
25929// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
25930// whether the returned error was because http.StatusNotModified was
25931// returned.
25932func (c *ShippingsettingsGetsupportedholidaysCall) Do(opts ...googleapi.CallOption) (*ShippingsettingsGetSupportedHolidaysResponse, error) {
25933	gensupport.SetOptions(c.urlParams_, opts...)
25934	res, err := c.doRequest("json")
25935	if res != nil && res.StatusCode == http.StatusNotModified {
25936		if res.Body != nil {
25937			res.Body.Close()
25938		}
25939		return nil, &googleapi.Error{
25940			Code:   res.StatusCode,
25941			Header: res.Header,
25942		}
25943	}
25944	if err != nil {
25945		return nil, err
25946	}
25947	defer googleapi.CloseBody(res)
25948	if err := googleapi.CheckResponse(res); err != nil {
25949		return nil, err
25950	}
25951	ret := &ShippingsettingsGetSupportedHolidaysResponse{
25952		ServerResponse: googleapi.ServerResponse{
25953			Header:         res.Header,
25954			HTTPStatusCode: res.StatusCode,
25955		},
25956	}
25957	target := &ret
25958	if err := gensupport.DecodeResponse(target, res); err != nil {
25959		return nil, err
25960	}
25961	return ret, nil
25962	// {
25963	//   "description": "Retrieves supported holidays for an account.",
25964	//   "flatPath": "{merchantId}/supportedHolidays",
25965	//   "httpMethod": "GET",
25966	//   "id": "content.shippingsettings.getsupportedholidays",
25967	//   "parameterOrder": [
25968	//     "merchantId"
25969	//   ],
25970	//   "parameters": {
25971	//     "merchantId": {
25972	//       "description": "The ID of the account for which to retrieve the supported holidays.",
25973	//       "format": "uint64",
25974	//       "location": "path",
25975	//       "required": true,
25976	//       "type": "string"
25977	//     }
25978	//   },
25979	//   "path": "{merchantId}/supportedHolidays",
25980	//   "response": {
25981	//     "$ref": "ShippingsettingsGetSupportedHolidaysResponse"
25982	//   },
25983	//   "scopes": [
25984	//     "https://www.googleapis.com/auth/content"
25985	//   ]
25986	// }
25987
25988}
25989
25990// method id "content.shippingsettings.getsupportedpickupservices":
25991
25992type ShippingsettingsGetsupportedpickupservicesCall struct {
25993	s            *APIService
25994	merchantId   uint64
25995	urlParams_   gensupport.URLParams
25996	ifNoneMatch_ string
25997	ctx_         context.Context
25998	header_      http.Header
25999}
26000
26001// Getsupportedpickupservices: Retrieves supported pickup services for
26002// an account.
26003//
26004// - merchantId: The ID of the account for which to retrieve the
26005//   supported pickup services.
26006func (r *ShippingsettingsService) Getsupportedpickupservices(merchantId uint64) *ShippingsettingsGetsupportedpickupservicesCall {
26007	c := &ShippingsettingsGetsupportedpickupservicesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26008	c.merchantId = merchantId
26009	return c
26010}
26011
26012// Fields allows partial responses to be retrieved. See
26013// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26014// for more information.
26015func (c *ShippingsettingsGetsupportedpickupservicesCall) Fields(s ...googleapi.Field) *ShippingsettingsGetsupportedpickupservicesCall {
26016	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26017	return c
26018}
26019
26020// IfNoneMatch sets the optional parameter which makes the operation
26021// fail if the object's ETag matches the given value. This is useful for
26022// getting updates only after the object has changed since the last
26023// request. Use googleapi.IsNotModified to check whether the response
26024// error from Do is the result of In-None-Match.
26025func (c *ShippingsettingsGetsupportedpickupservicesCall) IfNoneMatch(entityTag string) *ShippingsettingsGetsupportedpickupservicesCall {
26026	c.ifNoneMatch_ = entityTag
26027	return c
26028}
26029
26030// Context sets the context to be used in this call's Do method. Any
26031// pending HTTP request will be aborted if the provided context is
26032// canceled.
26033func (c *ShippingsettingsGetsupportedpickupservicesCall) Context(ctx context.Context) *ShippingsettingsGetsupportedpickupservicesCall {
26034	c.ctx_ = ctx
26035	return c
26036}
26037
26038// Header returns an http.Header that can be modified by the caller to
26039// add HTTP headers to the request.
26040func (c *ShippingsettingsGetsupportedpickupservicesCall) Header() http.Header {
26041	if c.header_ == nil {
26042		c.header_ = make(http.Header)
26043	}
26044	return c.header_
26045}
26046
26047func (c *ShippingsettingsGetsupportedpickupservicesCall) doRequest(alt string) (*http.Response, error) {
26048	reqHeaders := make(http.Header)
26049	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26050	for k, v := range c.header_ {
26051		reqHeaders[k] = v
26052	}
26053	reqHeaders.Set("User-Agent", c.s.userAgent())
26054	if c.ifNoneMatch_ != "" {
26055		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26056	}
26057	var body io.Reader = nil
26058	c.urlParams_.Set("alt", alt)
26059	c.urlParams_.Set("prettyPrint", "false")
26060	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/supportedPickupServices")
26061	urls += "?" + c.urlParams_.Encode()
26062	req, err := http.NewRequest("GET", urls, body)
26063	if err != nil {
26064		return nil, err
26065	}
26066	req.Header = reqHeaders
26067	googleapi.Expand(req.URL, map[string]string{
26068		"merchantId": strconv.FormatUint(c.merchantId, 10),
26069	})
26070	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26071}
26072
26073// Do executes the "content.shippingsettings.getsupportedpickupservices" call.
26074// Exactly one of *ShippingsettingsGetSupportedPickupServicesResponse or
26075// error will be non-nil. Any non-2xx status code is an error. Response
26076// headers are in either
26077// *ShippingsettingsGetSupportedPickupServicesResponse.ServerResponse.Hea
26078// der or (if a response was returned at all) in
26079// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
26080// whether the returned error was because http.StatusNotModified was
26081// returned.
26082func (c *ShippingsettingsGetsupportedpickupservicesCall) Do(opts ...googleapi.CallOption) (*ShippingsettingsGetSupportedPickupServicesResponse, error) {
26083	gensupport.SetOptions(c.urlParams_, opts...)
26084	res, err := c.doRequest("json")
26085	if res != nil && res.StatusCode == http.StatusNotModified {
26086		if res.Body != nil {
26087			res.Body.Close()
26088		}
26089		return nil, &googleapi.Error{
26090			Code:   res.StatusCode,
26091			Header: res.Header,
26092		}
26093	}
26094	if err != nil {
26095		return nil, err
26096	}
26097	defer googleapi.CloseBody(res)
26098	if err := googleapi.CheckResponse(res); err != nil {
26099		return nil, err
26100	}
26101	ret := &ShippingsettingsGetSupportedPickupServicesResponse{
26102		ServerResponse: googleapi.ServerResponse{
26103			Header:         res.Header,
26104			HTTPStatusCode: res.StatusCode,
26105		},
26106	}
26107	target := &ret
26108	if err := gensupport.DecodeResponse(target, res); err != nil {
26109		return nil, err
26110	}
26111	return ret, nil
26112	// {
26113	//   "description": "Retrieves supported pickup services for an account.",
26114	//   "flatPath": "{merchantId}/supportedPickupServices",
26115	//   "httpMethod": "GET",
26116	//   "id": "content.shippingsettings.getsupportedpickupservices",
26117	//   "parameterOrder": [
26118	//     "merchantId"
26119	//   ],
26120	//   "parameters": {
26121	//     "merchantId": {
26122	//       "description": "The ID of the account for which to retrieve the supported pickup services.",
26123	//       "format": "uint64",
26124	//       "location": "path",
26125	//       "required": true,
26126	//       "type": "string"
26127	//     }
26128	//   },
26129	//   "path": "{merchantId}/supportedPickupServices",
26130	//   "response": {
26131	//     "$ref": "ShippingsettingsGetSupportedPickupServicesResponse"
26132	//   },
26133	//   "scopes": [
26134	//     "https://www.googleapis.com/auth/content"
26135	//   ]
26136	// }
26137
26138}
26139
26140// method id "content.shippingsettings.list":
26141
26142type ShippingsettingsListCall struct {
26143	s            *APIService
26144	merchantId   uint64
26145	urlParams_   gensupport.URLParams
26146	ifNoneMatch_ string
26147	ctx_         context.Context
26148	header_      http.Header
26149}
26150
26151// List: Lists the shipping settings of the sub-accounts in your
26152// Merchant Center account.
26153//
26154// - merchantId: The ID of the managing account. This must be a
26155//   multi-client account.
26156func (r *ShippingsettingsService) List(merchantId uint64) *ShippingsettingsListCall {
26157	c := &ShippingsettingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26158	c.merchantId = merchantId
26159	return c
26160}
26161
26162// MaxResults sets the optional parameter "maxResults": The maximum
26163// number of shipping settings to return in the response, used for
26164// paging.
26165func (c *ShippingsettingsListCall) MaxResults(maxResults int64) *ShippingsettingsListCall {
26166	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
26167	return c
26168}
26169
26170// PageToken sets the optional parameter "pageToken": The token returned
26171// by the previous request.
26172func (c *ShippingsettingsListCall) PageToken(pageToken string) *ShippingsettingsListCall {
26173	c.urlParams_.Set("pageToken", pageToken)
26174	return c
26175}
26176
26177// Fields allows partial responses to be retrieved. See
26178// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26179// for more information.
26180func (c *ShippingsettingsListCall) Fields(s ...googleapi.Field) *ShippingsettingsListCall {
26181	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26182	return c
26183}
26184
26185// IfNoneMatch sets the optional parameter which makes the operation
26186// fail if the object's ETag matches the given value. This is useful for
26187// getting updates only after the object has changed since the last
26188// request. Use googleapi.IsNotModified to check whether the response
26189// error from Do is the result of In-None-Match.
26190func (c *ShippingsettingsListCall) IfNoneMatch(entityTag string) *ShippingsettingsListCall {
26191	c.ifNoneMatch_ = entityTag
26192	return c
26193}
26194
26195// Context sets the context to be used in this call's Do method. Any
26196// pending HTTP request will be aborted if the provided context is
26197// canceled.
26198func (c *ShippingsettingsListCall) Context(ctx context.Context) *ShippingsettingsListCall {
26199	c.ctx_ = ctx
26200	return c
26201}
26202
26203// Header returns an http.Header that can be modified by the caller to
26204// add HTTP headers to the request.
26205func (c *ShippingsettingsListCall) Header() http.Header {
26206	if c.header_ == nil {
26207		c.header_ = make(http.Header)
26208	}
26209	return c.header_
26210}
26211
26212func (c *ShippingsettingsListCall) doRequest(alt string) (*http.Response, error) {
26213	reqHeaders := make(http.Header)
26214	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26215	for k, v := range c.header_ {
26216		reqHeaders[k] = v
26217	}
26218	reqHeaders.Set("User-Agent", c.s.userAgent())
26219	if c.ifNoneMatch_ != "" {
26220		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26221	}
26222	var body io.Reader = nil
26223	c.urlParams_.Set("alt", alt)
26224	c.urlParams_.Set("prettyPrint", "false")
26225	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/shippingsettings")
26226	urls += "?" + c.urlParams_.Encode()
26227	req, err := http.NewRequest("GET", urls, body)
26228	if err != nil {
26229		return nil, err
26230	}
26231	req.Header = reqHeaders
26232	googleapi.Expand(req.URL, map[string]string{
26233		"merchantId": strconv.FormatUint(c.merchantId, 10),
26234	})
26235	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26236}
26237
26238// Do executes the "content.shippingsettings.list" call.
26239// Exactly one of *ShippingsettingsListResponse or error will be
26240// non-nil. Any non-2xx status code is an error. Response headers are in
26241// either *ShippingsettingsListResponse.ServerResponse.Header or (if a
26242// response was returned at all) in error.(*googleapi.Error).Header. Use
26243// googleapi.IsNotModified to check whether the returned error was
26244// because http.StatusNotModified was returned.
26245func (c *ShippingsettingsListCall) Do(opts ...googleapi.CallOption) (*ShippingsettingsListResponse, error) {
26246	gensupport.SetOptions(c.urlParams_, opts...)
26247	res, err := c.doRequest("json")
26248	if res != nil && res.StatusCode == http.StatusNotModified {
26249		if res.Body != nil {
26250			res.Body.Close()
26251		}
26252		return nil, &googleapi.Error{
26253			Code:   res.StatusCode,
26254			Header: res.Header,
26255		}
26256	}
26257	if err != nil {
26258		return nil, err
26259	}
26260	defer googleapi.CloseBody(res)
26261	if err := googleapi.CheckResponse(res); err != nil {
26262		return nil, err
26263	}
26264	ret := &ShippingsettingsListResponse{
26265		ServerResponse: googleapi.ServerResponse{
26266			Header:         res.Header,
26267			HTTPStatusCode: res.StatusCode,
26268		},
26269	}
26270	target := &ret
26271	if err := gensupport.DecodeResponse(target, res); err != nil {
26272		return nil, err
26273	}
26274	return ret, nil
26275	// {
26276	//   "description": "Lists the shipping settings of the sub-accounts in your Merchant Center account.",
26277	//   "flatPath": "{merchantId}/shippingsettings",
26278	//   "httpMethod": "GET",
26279	//   "id": "content.shippingsettings.list",
26280	//   "parameterOrder": [
26281	//     "merchantId"
26282	//   ],
26283	//   "parameters": {
26284	//     "maxResults": {
26285	//       "description": "The maximum number of shipping settings to return in the response, used for paging.",
26286	//       "format": "uint32",
26287	//       "location": "query",
26288	//       "type": "integer"
26289	//     },
26290	//     "merchantId": {
26291	//       "description": "The ID of the managing account. This must be a multi-client account.",
26292	//       "format": "uint64",
26293	//       "location": "path",
26294	//       "required": true,
26295	//       "type": "string"
26296	//     },
26297	//     "pageToken": {
26298	//       "description": "The token returned by the previous request.",
26299	//       "location": "query",
26300	//       "type": "string"
26301	//     }
26302	//   },
26303	//   "path": "{merchantId}/shippingsettings",
26304	//   "response": {
26305	//     "$ref": "ShippingsettingsListResponse"
26306	//   },
26307	//   "scopes": [
26308	//     "https://www.googleapis.com/auth/content"
26309	//   ]
26310	// }
26311
26312}
26313
26314// Pages invokes f for each page of results.
26315// A non-nil error returned from f will halt the iteration.
26316// The provided context supersedes any context provided to the Context method.
26317func (c *ShippingsettingsListCall) Pages(ctx context.Context, f func(*ShippingsettingsListResponse) error) error {
26318	c.ctx_ = ctx
26319	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26320	for {
26321		x, err := c.Do()
26322		if err != nil {
26323			return err
26324		}
26325		if err := f(x); err != nil {
26326			return err
26327		}
26328		if x.NextPageToken == "" {
26329			return nil
26330		}
26331		c.PageToken(x.NextPageToken)
26332	}
26333}
26334
26335// method id "content.shippingsettings.update":
26336
26337type ShippingsettingsUpdateCall struct {
26338	s                *APIService
26339	merchantId       uint64
26340	accountId        uint64
26341	shippingsettings *ShippingSettings
26342	urlParams_       gensupport.URLParams
26343	ctx_             context.Context
26344	header_          http.Header
26345}
26346
26347// Update: Updates the shipping settings of the account. Any fields that
26348// are not provided are deleted from the resource.
26349//
26350// - accountId: The ID of the account for which to get/update shipping
26351//   settings.
26352// - merchantId: The ID of the managing account. If this parameter is
26353//   not the same as accountId, then this account must be a multi-client
26354//   account and `accountId` must be the ID of a sub-account of this
26355//   account.
26356func (r *ShippingsettingsService) Update(merchantId uint64, accountId uint64, shippingsettings *ShippingSettings) *ShippingsettingsUpdateCall {
26357	c := &ShippingsettingsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26358	c.merchantId = merchantId
26359	c.accountId = accountId
26360	c.shippingsettings = shippingsettings
26361	return c
26362}
26363
26364// DryRun sets the optional parameter "dryRun": Flag to simulate a
26365// request like in a live environment. If set to true, dry-run mode
26366// checks the validity of the request and returns errors (if any).
26367func (c *ShippingsettingsUpdateCall) DryRun(dryRun bool) *ShippingsettingsUpdateCall {
26368	c.urlParams_.Set("dryRun", fmt.Sprint(dryRun))
26369	return c
26370}
26371
26372// Fields allows partial responses to be retrieved. See
26373// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26374// for more information.
26375func (c *ShippingsettingsUpdateCall) Fields(s ...googleapi.Field) *ShippingsettingsUpdateCall {
26376	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26377	return c
26378}
26379
26380// Context sets the context to be used in this call's Do method. Any
26381// pending HTTP request will be aborted if the provided context is
26382// canceled.
26383func (c *ShippingsettingsUpdateCall) Context(ctx context.Context) *ShippingsettingsUpdateCall {
26384	c.ctx_ = ctx
26385	return c
26386}
26387
26388// Header returns an http.Header that can be modified by the caller to
26389// add HTTP headers to the request.
26390func (c *ShippingsettingsUpdateCall) Header() http.Header {
26391	if c.header_ == nil {
26392		c.header_ = make(http.Header)
26393	}
26394	return c.header_
26395}
26396
26397func (c *ShippingsettingsUpdateCall) doRequest(alt string) (*http.Response, error) {
26398	reqHeaders := make(http.Header)
26399	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26400	for k, v := range c.header_ {
26401		reqHeaders[k] = v
26402	}
26403	reqHeaders.Set("User-Agent", c.s.userAgent())
26404	var body io.Reader = nil
26405	body, err := googleapi.WithoutDataWrapper.JSONReader(c.shippingsettings)
26406	if err != nil {
26407		return nil, err
26408	}
26409	reqHeaders.Set("Content-Type", "application/json")
26410	c.urlParams_.Set("alt", alt)
26411	c.urlParams_.Set("prettyPrint", "false")
26412	urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/shippingsettings/{accountId}")
26413	urls += "?" + c.urlParams_.Encode()
26414	req, err := http.NewRequest("PUT", urls, body)
26415	if err != nil {
26416		return nil, err
26417	}
26418	req.Header = reqHeaders
26419	googleapi.Expand(req.URL, map[string]string{
26420		"merchantId": strconv.FormatUint(c.merchantId, 10),
26421		"accountId":  strconv.FormatUint(c.accountId, 10),
26422	})
26423	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26424}
26425
26426// Do executes the "content.shippingsettings.update" call.
26427// Exactly one of *ShippingSettings or error will be non-nil. Any
26428// non-2xx status code is an error. Response headers are in either
26429// *ShippingSettings.ServerResponse.Header or (if a response was
26430// returned at all) in error.(*googleapi.Error).Header. Use
26431// googleapi.IsNotModified to check whether the returned error was
26432// because http.StatusNotModified was returned.
26433func (c *ShippingsettingsUpdateCall) Do(opts ...googleapi.CallOption) (*ShippingSettings, error) {
26434	gensupport.SetOptions(c.urlParams_, opts...)
26435	res, err := c.doRequest("json")
26436	if res != nil && res.StatusCode == http.StatusNotModified {
26437		if res.Body != nil {
26438			res.Body.Close()
26439		}
26440		return nil, &googleapi.Error{
26441			Code:   res.StatusCode,
26442			Header: res.Header,
26443		}
26444	}
26445	if err != nil {
26446		return nil, err
26447	}
26448	defer googleapi.CloseBody(res)
26449	if err := googleapi.CheckResponse(res); err != nil {
26450		return nil, err
26451	}
26452	ret := &ShippingSettings{
26453		ServerResponse: googleapi.ServerResponse{
26454			Header:         res.Header,
26455			HTTPStatusCode: res.StatusCode,
26456		},
26457	}
26458	target := &ret
26459	if err := gensupport.DecodeResponse(target, res); err != nil {
26460		return nil, err
26461	}
26462	return ret, nil
26463	// {
26464	//   "description": "Updates the shipping settings of the account. Any fields that are not provided are deleted from the resource.",
26465	//   "flatPath": "{merchantId}/shippingsettings/{accountId}",
26466	//   "httpMethod": "PUT",
26467	//   "id": "content.shippingsettings.update",
26468	//   "parameterOrder": [
26469	//     "merchantId",
26470	//     "accountId"
26471	//   ],
26472	//   "parameters": {
26473	//     "accountId": {
26474	//       "description": "The ID of the account for which to get/update shipping settings.",
26475	//       "format": "uint64",
26476	//       "location": "path",
26477	//       "required": true,
26478	//       "type": "string"
26479	//     },
26480	//     "dryRun": {
26481	//       "description": "Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).",
26482	//       "location": "query",
26483	//       "type": "boolean"
26484	//     },
26485	//     "merchantId": {
26486	//       "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.",
26487	//       "format": "uint64",
26488	//       "location": "path",
26489	//       "required": true,
26490	//       "type": "string"
26491	//     }
26492	//   },
26493	//   "path": "{merchantId}/shippingsettings/{accountId}",
26494	//   "request": {
26495	//     "$ref": "ShippingSettings"
26496	//   },
26497	//   "response": {
26498	//     "$ref": "ShippingSettings"
26499	//   },
26500	//   "scopes": [
26501	//     "https://www.googleapis.com/auth/content"
26502	//   ]
26503	// }
26504
26505}
26506