merchantapi

package
v0.185.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 18, 2024 License: BSD-3-Clause Imports: 16 Imported by: 0

Documentation

Overview

Package merchantapi provides access to the Merchant API.

For product documentation, see: https://developers.devsite.corp.google.com/merchant/api

Library status

These client libraries are officially supported by Google. However, this library is considered complete and is in maintenance mode. This means that we will address critical bugs and security issues but will not add any new features.

When possible, we recommend using our newer [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) that are still actively being worked and iterated on.

Creating a client

Usage example:

import "google.golang.org/api/merchantapi/datasources_v1beta"
...
ctx := context.Background()
merchantapiService, err := merchantapi.NewService(ctx)

In this example, Google Application Default Credentials are used for authentication. For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.

Other authentication options

To use an API key for authentication (note: some APIs do not support API keys), use google.golang.org/api/option.WithAPIKey:

merchantapiService, err := merchantapi.NewService(ctx, option.WithAPIKey("AIza..."))

To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow, use google.golang.org/api/option.WithTokenSource:

config := &oauth2.Config{...}
// ...
token, err := config.Exchange(ctx, ...)
merchantapiService, err := merchantapi.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))

See google.golang.org/api/option.ClientOption for details on options.

Index

Constants

View Source
const (
	// Manage your product listings and accounts for Google Shopping
	ContentScope = "https://www.googleapis.com/auth/content"
)

OAuth2 scopes used by this API.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountsDataSourcesCreateCall

type AccountsDataSourcesCreateCall struct {
	// contains filtered or unexported fields
}

func (*AccountsDataSourcesCreateCall) Context

Context sets the context to be used in this call's Do method.

func (*AccountsDataSourcesCreateCall) Do

Do executes the "merchantapi.accounts.dataSources.create" call. Any non-2xx status code is an error. Response headers are in either *DataSource.ServerResponse.Header or (if a response was returned at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check whether the returned error was because http.StatusNotModified was returned.

func (*AccountsDataSourcesCreateCall) Fields

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more details.

func (*AccountsDataSourcesCreateCall) Header

Header returns a http.Header that can be modified by the caller to add headers to the request.

type AccountsDataSourcesDeleteCall

type AccountsDataSourcesDeleteCall struct {
	// contains filtered or unexported fields
}

func (*AccountsDataSourcesDeleteCall) Context

Context sets the context to be used in this call's Do method.

func (*AccountsDataSourcesDeleteCall) Do

Do executes the "merchantapi.accounts.dataSources.delete" call. Any non-2xx status code is an error. Response headers are in either *Empty.ServerResponse.Header or (if a response was returned at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check whether the returned error was because http.StatusNotModified was returned.

func (*AccountsDataSourcesDeleteCall) Fields

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more details.

func (*AccountsDataSourcesDeleteCall) Header

Header returns a http.Header that can be modified by the caller to add headers to the request.

type AccountsDataSourcesFetchCall

type AccountsDataSourcesFetchCall struct {
	// contains filtered or unexported fields
}

func (*AccountsDataSourcesFetchCall) Context

Context sets the context to be used in this call's Do method.

func (*AccountsDataSourcesFetchCall) Do

Do executes the "merchantapi.accounts.dataSources.fetch" call. Any non-2xx status code is an error. Response headers are in either *Empty.ServerResponse.Header or (if a response was returned at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check whether the returned error was because http.StatusNotModified was returned.

func (*AccountsDataSourcesFetchCall) Fields

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more details.

func (*AccountsDataSourcesFetchCall) Header

Header returns a http.Header that can be modified by the caller to add headers to the request.

type AccountsDataSourcesGetCall

type AccountsDataSourcesGetCall struct {
	// contains filtered or unexported fields
}

func (*AccountsDataSourcesGetCall) Context

Context sets the context to be used in this call's Do method.

func (*AccountsDataSourcesGetCall) Do

Do executes the "merchantapi.accounts.dataSources.get" call. Any non-2xx status code is an error. Response headers are in either *DataSource.ServerResponse.Header or (if a response was returned at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check whether the returned error was because http.StatusNotModified was returned.

func (*AccountsDataSourcesGetCall) Fields

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more details.

func (*AccountsDataSourcesGetCall) Header

Header returns a http.Header that can be modified by the caller to add headers to the request.

func (*AccountsDataSourcesGetCall) IfNoneMatch

IfNoneMatch sets an optional parameter which makes the operation fail if the object's ETag matches the given value. This is useful for getting updates only after the object has changed since the last request.

type AccountsDataSourcesListCall

type AccountsDataSourcesListCall struct {
	// contains filtered or unexported fields
}

func (*AccountsDataSourcesListCall) Context

Context sets the context to be used in this call's Do method.

func (*AccountsDataSourcesListCall) Do

Do executes the "merchantapi.accounts.dataSources.list" call. Any non-2xx status code is an error. Response headers are in either *ListDataSourcesResponse.ServerResponse.Header or (if a response was returned at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check whether the returned error was because http.StatusNotModified was returned.

func (*AccountsDataSourcesListCall) Fields

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more details.

func (*AccountsDataSourcesListCall) Header

Header returns a http.Header that can be modified by the caller to add headers to the request.

func (*AccountsDataSourcesListCall) IfNoneMatch

IfNoneMatch sets an optional parameter which makes the operation fail if the object's ETag matches the given value. This is useful for getting updates only after the object has changed since the last request.

func (*AccountsDataSourcesListCall) PageSize

PageSize sets the optional parameter "pageSize": The maximum number of data sources to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the maximum number of data sources will be returned.

func (*AccountsDataSourcesListCall) PageToken

PageToken sets the optional parameter "pageToken": A page token, received from a previous `ListDataSources` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDataSources` must match the call that provided the page token.

func (*AccountsDataSourcesListCall) Pages

Pages invokes f for each page of results. A non-nil error returned from f will halt the iteration. The provided context supersedes any context provided to the Context method.

type AccountsDataSourcesPatchCall

type AccountsDataSourcesPatchCall struct {
	// contains filtered or unexported fields
}

func (*AccountsDataSourcesPatchCall) Context

Context sets the context to be used in this call's Do method.

func (*AccountsDataSourcesPatchCall) Do

Do executes the "merchantapi.accounts.dataSources.patch" call. Any non-2xx status code is an error. Response headers are in either *DataSource.ServerResponse.Header or (if a response was returned at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check whether the returned error was because http.StatusNotModified was returned.

func (*AccountsDataSourcesPatchCall) Fields

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more details.

func (*AccountsDataSourcesPatchCall) Header

Header returns a http.Header that can be modified by the caller to add headers to the request.

func (*AccountsDataSourcesPatchCall) UpdateMask

UpdateMask sets the optional parameter "updateMask": Required. The list of data source fields to be updated. Fields specified in the update mask without a value specified in the body will be deleted from the data source. Providing special "*" value for full data source replacement is not supported.

type AccountsDataSourcesService

type AccountsDataSourcesService struct {
	// contains filtered or unexported fields
}

func NewAccountsDataSourcesService

func NewAccountsDataSourcesService(s *Service) *AccountsDataSourcesService

func (*AccountsDataSourcesService) Create

Create: Creates the new data source configuration for the given account.

  • parent: The account where this data source will be created. Format: `accounts/{account}`.

func (*AccountsDataSourcesService) Delete

Delete: Deletes a data source from your Merchant Center account.

  • name: The name of the data source to delete. Format: `accounts/{account}/dataSources/{datasource}`.

func (*AccountsDataSourcesService) Fetch

Fetch: Performs the data fetch immediately (even outside fetch schedule) on a data source from your Merchant Center Account. If you need to call this method more than once per day, you should use the Products service to update your product data instead. This method only works on data sources with a file input set.

  • name: The name of the data source resource to fetch. Format: `accounts/{account}/dataSources/{datasource}`.

func (*AccountsDataSourcesService) Get

Get: Retrieves the data source configuration for the given account.

  • name: The name of the data source to retrieve. Format: `accounts/{account}/dataSources/{datasource}`.

func (*AccountsDataSourcesService) List

List: Lists the configurations for data sources for the given account.

- parent: The account to list data sources for. Format: `accounts/{account}`.

func (*AccountsDataSourcesService) Patch

Patch: Updates the existing data source configuration. The fields that are set in the update mask but not provided in the resource will be deleted.

  • name: Identifier. The name of the data source. Format: `{datasource.name=accounts/{account}/dataSources/{datasource}}`.

type AccountsService

type AccountsService struct {
	DataSources *AccountsDataSourcesService
	// contains filtered or unexported fields
}

func NewAccountsService

func NewAccountsService(s *Service) *AccountsService

type DataSource

type DataSource struct {
	// DataSourceId: Output only. The data source id.
	DataSourceId int64 `json:"dataSourceId,omitempty,string"`
	// DisplayName: Required. The displayed data source name in the Merchant Center
	// UI.
	DisplayName string `json:"displayName,omitempty"`
	// FileInput: Optional. The field is used only when data is managed through a
	// file.
	FileInput *FileInput `json:"fileInput,omitempty"`
	// Input: Output only. Determines the type of input to the data source. Based
	// on the input some settings might not work. Only generic data sources can be
	// created through the API.
	//
	// Possible values:
	//   "INPUT_UNSPECIFIED" - Input unspecified.
	//   "API" - Represents data sources for which the data is primarily provided
	// through the API.
	//   "FILE" - Represents data sources for which the data is primarily provided
	// through file input. Data can still be provided through the API.
	//   "UI" - The data source for products added directly in Merchant Center.
	// This type of data source can not be created or updated through this API,
	// only by Merchant Center UI. This type of data source is read only.
	//   "AUTOFEED" - This is also known as [Automated
	// feeds](https://support.google.com/merchants/answer/12158480) used to
	// automatically build your product data. This type of data source can be
	// enabled or disabled through the Accounts bundle.
	Input string `json:"input,omitempty"`
	// LocalInventoryDataSource: Required. The local inventory
	// (https://support.google.com/merchants/answer/7023001) data source.
	LocalInventoryDataSource *LocalInventoryDataSource `json:"localInventoryDataSource,omitempty"`
	// Name: Identifier. The name of the data source. Format:
	// `{datasource.name=accounts/{account}/dataSources/{datasource}}`
	Name string `json:"name,omitempty"`
	// PrimaryProductDataSource: Required. The primary data source
	// (https://support.google.com/merchants/answer/7439058) for local and online
	// products.
	PrimaryProductDataSource *PrimaryProductDataSource `json:"primaryProductDataSource,omitempty"`
	// PromotionDataSource: Required. The promotion
	// (https://support.google.com/merchants/answer/2906014) data source.
	PromotionDataSource *PromotionDataSource `json:"promotionDataSource,omitempty"`
	// RegionalInventoryDataSource: Required. The regional inventory
	// (https://support.google.com/merchants/answer/7439058) data source.
	RegionalInventoryDataSource *RegionalInventoryDataSource `json:"regionalInventoryDataSource,omitempty"`
	// SupplementalProductDataSource: Required. The supplemental data source
	// (https://support.google.com/merchants/answer/7439058) for local and online
	// products.
	SupplementalProductDataSource *SupplementalProductDataSource `json:"supplementalProductDataSource,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DataSourceId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataSourceId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

DataSource: The data source (https://support.google.com/merchants/answer/7439058) for the Merchant Center account.

func (*DataSource) MarshalJSON

func (s *DataSource) MarshalJSON() ([]byte, error)

type Empty

type Empty struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

Empty: A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }

type FetchDataSourceRequest

type FetchDataSourceRequest struct {
}

FetchDataSourceRequest: Request message for the FetchDataSource method.

type FetchSettings

type FetchSettings struct {
	// DayOfMonth: Optional. The day of the month when the data source file should
	// be fetched (1-31). This field can only be set for monthly frequency.
	DayOfMonth int64 `json:"dayOfMonth,omitempty"`
	// DayOfWeek: Optional. The day of the week when the data source file should be
	// fetched. This field can only be set for weekly frequency.
	//
	// Possible values:
	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
	//   "MONDAY" - Monday
	//   "TUESDAY" - Tuesday
	//   "WEDNESDAY" - Wednesday
	//   "THURSDAY" - Thursday
	//   "FRIDAY" - Friday
	//   "SATURDAY" - Saturday
	//   "SUNDAY" - Sunday
	DayOfWeek string `json:"dayOfWeek,omitempty"`
	// Enabled: Optional. Enables or pauses the fetch schedule.
	Enabled bool `json:"enabled,omitempty"`
	// FetchUri: Optional. The URL where the data source file can be fetched.
	// Google Merchant Center supports automatic scheduled uploads using the HTTP,
	// HTTPS or SFTP protocols, so the value will need to be a valid link using one
	// of those three protocols. Immutable for Google Sheets files.
	FetchUri string `json:"fetchUri,omitempty"`
	// Frequency: Required. The frequency describing fetch schedule.
	//
	// Possible values:
	//   "FREQUENCY_UNSPECIFIED" - Frequency unspecified.
	//   "FREQUENCY_DAILY" - The fetch happens every day.
	//   "FREQUENCY_WEEKLY" - The fetch happens every week.
	//   "FREQUENCY_MONTHLY" - The fetch happens every month.
	Frequency string `json:"frequency,omitempty"`
	// Password: Optional. An optional password for fetch url. Used for submitting
	// data sources through SFTP
	// (https://support.google.com/merchants/answer/13813117).
	Password string `json:"password,omitempty"`
	// TimeOfDay: Optional. The hour of the day when the data source file should be
	// fetched. Minutes and seconds are not supported and will be ignored.
	TimeOfDay *TimeOfDay `json:"timeOfDay,omitempty"`
	// TimeZone: Optional. Time zone (https://cldr.unicode.org) used for schedule.
	// UTC by default. For example, "America/Los_Angeles".
	TimeZone string `json:"timeZone,omitempty"`
	// Username: Optional. An optional user name for fetch url. Used for submitting
	// data sources through SFTP
	// (https://support.google.com/merchants/answer/13813117).
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DayOfMonth") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DayOfMonth") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

FetchSettings: Fetch details to deliver the data source.

func (*FetchSettings) MarshalJSON

func (s *FetchSettings) MarshalJSON() ([]byte, error)

type FileInput

type FileInput struct {
	// FetchSettings: Optional. Fetch details to deliver the data source. It
	// contains settings for `FETCH` and `GOOGLE_SHEETS` file input types. The
	// required fields vary based on the frequency of fetching.
	FetchSettings *FetchSettings `json:"fetchSettings,omitempty"`
	// FileInputType: Output only. The type of file input.
	//
	// Possible values:
	//   "FILE_INPUT_TYPE_UNSPECIFIED" - File input type unspecified.
	//   "UPLOAD" - The file is uploaded through SFTP, Google Cloud Storage or
	// manually in the Merchant Center.
	//   "FETCH" - The file is fetched from the configured fetch_uri.
	//   "GOOGLE_SHEETS" - The file is fetched from Google Sheets specified in the
	// fetch_uri.
	FileInputType string `json:"fileInputType,omitempty"`
	// FileName: Optional. The file name of the data source. Required for `UPLOAD`
	// file input type.
	FileName string `json:"fileName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FetchSettings") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FetchSettings") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

FileInput: The data specific for file data sources. This field is empty for other data source inputs.

func (*FileInput) MarshalJSON

func (s *FileInput) MarshalJSON() ([]byte, error)

type ListDataSourcesResponse

type ListDataSourcesResponse struct {
	// DataSources: The data sources from the specified account.
	DataSources []*DataSource `json:"dataSources,omitempty"`
	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
	// next page. If this field is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DataSources") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataSources") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

ListDataSourcesResponse: Response message for the ListDataSources method.

func (*ListDataSourcesResponse) MarshalJSON

func (s *ListDataSourcesResponse) MarshalJSON() ([]byte, error)

type LocalInventoryDataSource

type LocalInventoryDataSource struct {
	// ContentLanguage: Required. Immutable. The two-letter ISO 639-1 language of
	// the items to which the local inventory is provided.
	ContentLanguage string `json:"contentLanguage,omitempty"`
	// FeedLabel: Required. Immutable. The feed label of the offers to which the
	// local inventory is provided. Must be less than or equal to 20 uppercase
	// letters (A-Z), numbers (0-9), and dashes (-). See also migration to feed
	// labels
	// (https://developers.google.com/shopping-content/guides/products/feed-labels).
	FeedLabel string `json:"feedLabel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ContentLanguage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContentLanguage") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

LocalInventoryDataSource: The local inventory data source.

func (*LocalInventoryDataSource) MarshalJSON

func (s *LocalInventoryDataSource) MarshalJSON() ([]byte, error)

type PrimaryProductDataSource

type PrimaryProductDataSource struct {
	// Channel: Required. Immutable. Specifies the type of data source channel.
	//
	// Possible values:
	//   "CHANNEL_UNSPECIFIED" - Not specified.
	//   "ONLINE_PRODUCTS" - Online product.
	//   "LOCAL_PRODUCTS" - Local product.
	//   "PRODUCTS" - Unified data source for both local and online products.
	Channel string `json:"channel,omitempty"`
	// ContentLanguage: Optional. Immutable. The two-letter ISO 639-1 language of
	// the items in the data source. `feedLabel` and `contentLanguage` must be
	// either both set or unset. The fields can only be unset for data sources
	// without file input. If set, the data source will only accept products
	// matching this combination. If unset, the data source will accept products
	// without that restriction.
	ContentLanguage string `json:"contentLanguage,omitempty"`
	// Countries: Optional. The countries where the items may be displayed.
	// Represented as a CLDR territory code
	// (https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml).
	Countries []string `json:"countries,omitempty"`
	// FeedLabel: Optional. Immutable. The feed label that is specified on the data
	// source level. Must be less than or equal to 20 uppercase letters (A-Z),
	// numbers (0-9), and dashes (-). See also migration to feed labels
	// (https://developers.google.com/shopping-content/guides/products/feed-labels).
	// `feedLabel` and `contentLanguage` must be either both set or unset for data
	// sources with product content type. They must be set for data sources with a
	// file input. If set, the data source will only accept products matching this
	// combination. If unset, the data source will accept products without that
	// restriction.
	FeedLabel string `json:"feedLabel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Channel") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Channel") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

PrimaryProductDataSource: The primary data source for local and online products.

func (*PrimaryProductDataSource) MarshalJSON

func (s *PrimaryProductDataSource) MarshalJSON() ([]byte, error)

type ProductChange

type ProductChange struct {
	// NewValue: The new value of the changed resource or attribute.
	NewValue string `json:"newValue,omitempty"`
	// OldValue: The old value of the changed resource or attribute.
	OldValue string `json:"oldValue,omitempty"`
	// RegionCode: Countries that have the change (if applicable)
	RegionCode string `json:"regionCode,omitempty"`
	// ReportingContext: Reporting contexts that have the change (if applicable)
	//
	// Possible values:
	//   "REPORTING_CONTEXT_ENUM_UNSPECIFIED" - Not specified.
	//   "SHOPPING_ADS" - [Shopping
	// ads](https://support.google.com/merchants/answer/6149970).
	//   "DISCOVERY_ADS" - Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and
	// Demand Gen ads](https://support.google.com/merchants/answer/13389785).
	//   "DEMAND_GEN_ADS" - [Demand Gen
	// ads](https://support.google.com/merchants/answer/13389785).
	//   "DEMAND_GEN_ADS_DISCOVER_SURFACE" - [Demand Gen ads on Discover
	// surface](https://support.google.com/merchants/answer/13389785).
	//   "VIDEO_ADS" - [Video
	// ads](https://support.google.com/google-ads/answer/6340491).
	//   "DISPLAY_ADS" - [Display
	// ads](https://support.google.com/merchants/answer/6069387).
	//   "LOCAL_INVENTORY_ADS" - [Local inventory
	// ads](https://support.google.com/merchants/answer/3271956).
	//   "VEHICLE_INVENTORY_ADS" - [Vehicle inventory
	// ads](https://support.google.com/merchants/answer/11544533).
	//   "FREE_LISTINGS" - [Free product
	// listings](https://support.google.com/merchants/answer/9199328).
	//   "FREE_LOCAL_LISTINGS" - [Free local product
	// listings](https://support.google.com/merchants/answer/9825611).
	//   "FREE_LOCAL_VEHICLE_LISTINGS" - [Free local vehicle
	// listings](https://support.google.com/merchants/answer/11544533).
	//   "YOUTUBE_SHOPPING" - [YouTube
	// Shopping](https://support.google.com/merchants/answer/13478370).
	//   "CLOUD_RETAIL" - [Cloud
	// retail](https://cloud.google.com/solutions/retail).
	//   "LOCAL_CLOUD_RETAIL" - [Local cloud
	// retail](https://cloud.google.com/solutions/retail).
	ReportingContext string `json:"reportingContext,omitempty"`
	// ForceSendFields is a list of field names (e.g. "NewValue") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NewValue") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

ProductChange: The change that happened to the product including old value, new value, country code as the region code and reporting context.

func (*ProductChange) MarshalJSON

func (s *ProductChange) MarshalJSON() ([]byte, error)

type ProductStatusChangeMessage

type ProductStatusChangeMessage struct {
	// Account: The target account that owns the entity that changed. Format :
	// `accounts/{merchant_id}`
	Account string `json:"account,omitempty"`
	// Attribute: The attribute in the resource that changed, in this case it will
	// be always `Status`.
	//
	// Possible values:
	//   "ATTRIBUTE_UNSPECIFIED" - Unspecified attribute
	//   "STATUS" - Status of the changed entity
	Attribute string `json:"attribute,omitempty"`
	// Changes: A message to describe the change that happened to the product
	Changes []*ProductChange `json:"changes,omitempty"`
	// ManagingAccount: The account that manages the merchant's account. can be the
	// same as merchant id if it is standalone account. Format :
	// `accounts/{service_provider_id}`
	ManagingAccount string `json:"managingAccount,omitempty"`
	// Resource: The product name. Format:
	// `{product.name=accounts/{account}/products/{product}}`
	Resource string `json:"resource,omitempty"`
	// ResourceId: The product id.
	ResourceId string `json:"resourceId,omitempty"`
	// ResourceType: The resource that changed, in this case it will always be
	// `Product`.
	//
	// Possible values:
	//   "RESOURCE_UNSPECIFIED" - Unspecified resource
	//   "PRODUCT" - Resource type : product
	ResourceType string `json:"resourceType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Account") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Account") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

ProductStatusChangeMessage: The message that the merchant will receive to notify about product status change event

func (*ProductStatusChangeMessage) MarshalJSON

func (s *ProductStatusChangeMessage) MarshalJSON() ([]byte, error)

type PromotionDataSource

type PromotionDataSource struct {
	// ContentLanguage: Required. Immutable. The two-letter ISO 639-1 language of
	// the items in the data source.
	ContentLanguage string `json:"contentLanguage,omitempty"`
	// TargetCountry: Required. Immutable. The target country used as part of the
	// unique identifier. Represented as a CLDR territory code
	// (https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml).
	// Promotions are only available in selected countries
	// (https://support.google.com/merchants/answer/4588460).
	TargetCountry string `json:"targetCountry,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ContentLanguage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContentLanguage") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

PromotionDataSource: The promotion data source.

func (*PromotionDataSource) MarshalJSON

func (s *PromotionDataSource) MarshalJSON() ([]byte, error)

type RegionalInventoryDataSource

type RegionalInventoryDataSource struct {
	// ContentLanguage: Required. Immutable. The two-letter ISO 639-1 language of
	// the items to which the regional inventory is provided.
	ContentLanguage string `json:"contentLanguage,omitempty"`
	// FeedLabel: Required. Immutable. The feed label of the offers to which the
	// regional inventory is provided. Must be less than or equal to 20 uppercase
	// letters (A-Z), numbers (0-9), and dashes (-). See also migration to feed
	// labels
	// (https://developers.google.com/shopping-content/guides/products/feed-labels).
	FeedLabel string `json:"feedLabel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ContentLanguage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContentLanguage") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

RegionalInventoryDataSource: The regional inventory data source.

func (*RegionalInventoryDataSource) MarshalJSON

func (s *RegionalInventoryDataSource) MarshalJSON() ([]byte, error)

type Service

type Service struct {
	BasePath  string // API endpoint base URL
	UserAgent string // optional additional User-Agent fragment

	Accounts *AccountsService
	// contains filtered or unexported fields
}

func New deprecated

func New(client *http.Client) (*Service, error)

New creates a new Service. It uses the provided http.Client for requests.

Deprecated: please use NewService instead. To provide a custom HTTP client, use option.WithHTTPClient. If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.

func NewService

func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error)

NewService creates a new Service.

type SupplementalProductDataSource

type SupplementalProductDataSource struct {
	// ContentLanguage: Optional. Immutable. The two-letter ISO 639-1 language of
	// the items in the data source. `feedLabel` and `contentLanguage` must be
	// either both set or unset. The fields can only be unset for data sources
	// without file input. If set, the data source will only accept products
	// matching this combination. If unset, the data source will accept produts
	// without that restriction.
	ContentLanguage string `json:"contentLanguage,omitempty"`
	// FeedLabel: Optional. Immutable. The feed label that is specified on the data
	// source level. Must be less than or equal to 20 uppercase letters (A-Z),
	// numbers (0-9), and dashes (-). See also migration to feed labels
	// (https://developers.google.com/shopping-content/guides/products/feed-labels).
	// `feedLabel` and `contentLanguage` must be either both set or unset for data
	// sources with product content type. They must be set for data sources with a
	// file input. If set, the data source will only accept products matching this
	// combination. If unset, the data source will accept produts without that
	// restriction.
	FeedLabel string `json:"feedLabel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ContentLanguage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContentLanguage") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

SupplementalProductDataSource: The supplemental data source for local and online products.

func (*SupplementalProductDataSource) MarshalJSON

func (s *SupplementalProductDataSource) MarshalJSON() ([]byte, error)

type TimeOfDay

type TimeOfDay struct {
	// Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API may
	// choose to allow the value "24:00:00" for scenarios like business closing
	// time.
	Hours int64 `json:"hours,omitempty"`
	// Minutes: Minutes of hour of day. Must be from 0 to 59.
	Minutes int64 `json:"minutes,omitempty"`
	// Nanos: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
	Nanos int64 `json:"nanos,omitempty"`
	// Seconds: Seconds of minutes of the time. Must normally be from 0 to 59. An
	// API may allow the value 60 if it allows leap-seconds.
	Seconds int64 `json:"seconds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Hours") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Hours") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

TimeOfDay: Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.

func (*TimeOfDay) MarshalJSON

func (s *TimeOfDay) MarshalJSON() ([]byte, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL