| // Copyright 2022 Google LLC. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // Code generated file. DO NOT EDIT. |
| |
| // Package mybusinessbusinesscalls provides access to the My Business Business Calls API. |
| // |
| // For product documentation, see: https://developers.google.com/my-business/ |
| // |
| // Creating a client |
| // |
| // Usage example: |
| // |
| // import "google.golang.org/api/mybusinessbusinesscalls/v1" |
| // ... |
| // ctx := context.Background() |
| // mybusinessbusinesscallsService, err := mybusinessbusinesscalls.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 option.WithAPIKey: |
| // |
| // mybusinessbusinesscallsService, err := mybusinessbusinesscalls.NewService(ctx, option.WithAPIKey("AIza...")) |
| // |
| // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: |
| // |
| // config := &oauth2.Config{...} |
| // // ... |
| // token, err := config.Exchange(ctx, ...) |
| // mybusinessbusinesscallsService, err := mybusinessbusinesscalls.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) |
| // |
| // See https://godoc.org/google.golang.org/api/option/ for details on options. |
| package mybusinessbusinesscalls // import "google.golang.org/api/mybusinessbusinesscalls/v1" |
| |
| import ( |
| "bytes" |
| "context" |
| "encoding/json" |
| "errors" |
| "fmt" |
| "io" |
| "net/http" |
| "net/url" |
| "strconv" |
| "strings" |
| |
| googleapi "google.golang.org/api/googleapi" |
| internal "google.golang.org/api/internal" |
| gensupport "google.golang.org/api/internal/gensupport" |
| option "google.golang.org/api/option" |
| internaloption "google.golang.org/api/option/internaloption" |
| htransport "google.golang.org/api/transport/http" |
| ) |
| |
| // Always reference these packages, just in case the auto-generated code |
| // below doesn't. |
| var _ = bytes.NewBuffer |
| var _ = strconv.Itoa |
| var _ = fmt.Sprintf |
| var _ = json.NewDecoder |
| var _ = io.Copy |
| var _ = url.Parse |
| var _ = gensupport.MarshalJSON |
| var _ = googleapi.Version |
| var _ = errors.New |
| var _ = strings.Replace |
| var _ = context.Canceled |
| var _ = internaloption.WithDefaultEndpoint |
| |
| const apiId = "mybusinessbusinesscalls:v1" |
| const apiName = "mybusinessbusinesscalls" |
| const apiVersion = "v1" |
| const basePath = "https://mybusinessbusinesscalls.googleapis.com/" |
| const mtlsBasePath = "https://mybusinessbusinesscalls.mtls.googleapis.com/" |
| |
| // NewService creates a new Service. |
| func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { |
| opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) |
| opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) |
| client, endpoint, err := htransport.NewClient(ctx, opts...) |
| if err != nil { |
| return nil, err |
| } |
| s, err := New(client) |
| if err != nil { |
| return nil, err |
| } |
| if endpoint != "" { |
| s.BasePath = endpoint |
| } |
| return s, nil |
| } |
| |
| // 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 New(client *http.Client) (*Service, error) { |
| if client == nil { |
| return nil, errors.New("client is nil") |
| } |
| s := &Service{client: client, BasePath: basePath} |
| s.Locations = NewLocationsService(s) |
| return s, nil |
| } |
| |
| type Service struct { |
| client *http.Client |
| BasePath string // API endpoint base URL |
| UserAgent string // optional additional User-Agent fragment |
| |
| Locations *LocationsService |
| } |
| |
| func (s *Service) userAgent() string { |
| if s.UserAgent == "" { |
| return googleapi.UserAgent |
| } |
| return googleapi.UserAgent + " " + s.UserAgent |
| } |
| |
| func NewLocationsService(s *Service) *LocationsService { |
| rs := &LocationsService{s: s} |
| rs.Businesscallsinsights = NewLocationsBusinesscallsinsightsService(s) |
| return rs |
| } |
| |
| type LocationsService struct { |
| s *Service |
| |
| Businesscallsinsights *LocationsBusinesscallsinsightsService |
| } |
| |
| func NewLocationsBusinesscallsinsightsService(s *Service) *LocationsBusinesscallsinsightsService { |
| rs := &LocationsBusinesscallsinsightsService{s: s} |
| return rs |
| } |
| |
| type LocationsBusinesscallsinsightsService struct { |
| s *Service |
| } |
| |
| // AggregateMetrics: Metrics aggregated over the input time range. |
| type AggregateMetrics struct { |
| // AnsweredCallsCount: Total count of answered calls. |
| AnsweredCallsCount int64 `json:"answeredCallsCount,omitempty"` |
| |
| // EndDate: End date for this metric. |
| EndDate *Date `json:"endDate,omitempty"` |
| |
| // HourlyMetrics: A list of metrics by hour of day. |
| HourlyMetrics []*HourlyMetrics `json:"hourlyMetrics,omitempty"` |
| |
| // MissedCallsCount: Total count of missed calls. |
| MissedCallsCount int64 `json:"missedCallsCount,omitempty"` |
| |
| // StartDate: Date for this metric. If metric is monthly, only year and |
| // month are used. |
| StartDate *Date `json:"startDate,omitempty"` |
| |
| // WeekdayMetrics: A list of metrics by day of week. |
| WeekdayMetrics []*WeekDayMetrics `json:"weekdayMetrics,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "AnsweredCallsCount") |
| // to unconditionally include in API requests. By default, fields with |
| // empty or default values are omitted from API requests. However, any |
| // non-pointer, non-interface field appearing in ForceSendFields will be |
| // sent to the server regardless of whether the field is empty or not. |
| // This may be used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "AnsweredCallsCount") to |
| // include in API requests with the JSON null value. By default, fields |
| // with empty values are omitted from API requests. However, any field |
| // with an empty value appearing in NullFields will be sent to the |
| // server as null. It is an error if a field in this list has a |
| // non-empty value. This may be used to include null fields in Patch |
| // requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *AggregateMetrics) MarshalJSON() ([]byte, error) { |
| type NoMethod AggregateMetrics |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // BusinessCallsInsights: Insights for calls made to a location. |
| type BusinessCallsInsights struct { |
| // AggregateMetrics: Metric for the time range based on start_date and |
| // end_date. |
| AggregateMetrics *AggregateMetrics `json:"aggregateMetrics,omitempty"` |
| |
| // MetricType: The metric for which the value applies. |
| // |
| // Possible values: |
| // "METRIC_TYPE_UNSPECIFIED" - Type of metric is unspecified. |
| // "AGGREGATE_COUNT" - The metrics provided are counts aggregated over |
| // the input time_range. |
| MetricType string `json:"metricType,omitempty"` |
| |
| // Name: Required. The resource name of the calls insights. Format: |
| // locations/{location}/businesscallsinsights |
| Name string `json:"name,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "AggregateMetrics") to |
| // unconditionally include in API requests. By default, fields with |
| // empty or default values are omitted from API requests. However, any |
| // non-pointer, non-interface field appearing in ForceSendFields will be |
| // sent to the server regardless of whether the field is empty or not. |
| // This may be used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "AggregateMetrics") to |
| // include in API requests with the JSON null value. By default, fields |
| // with empty values are omitted from API requests. However, any field |
| // with an empty value appearing in NullFields will be sent to the |
| // server as null. It is an error if a field in this list has a |
| // non-empty value. This may be used to include null fields in Patch |
| // requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *BusinessCallsInsights) MarshalJSON() ([]byte, error) { |
| type NoMethod BusinessCallsInsights |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // BusinessCallsSettings: Business calls settings for a location. |
| type BusinessCallsSettings struct { |
| // CallsState: Required. The state of this location's enrollment in |
| // Business calls. |
| // |
| // Possible values: |
| // "CALLS_STATE_UNSPECIFIED" - Unspecified. |
| // "ENABLED" - Business calls is enabled for the location. |
| // "DISABLED" - Business calls is disabled for the location. |
| CallsState string `json:"callsState,omitempty"` |
| |
| // ConsentTime: Input only. Time when the end user provided consent to |
| // the API user to enable business calls. |
| ConsentTime string `json:"consentTime,omitempty"` |
| |
| // Name: Required. The resource name of the calls settings. Format: |
| // locations/{location}/businesscallssettings |
| Name string `json:"name,omitempty"` |
| |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| |
| // ForceSendFields is a list of field names (e.g. "CallsState") to |
| // unconditionally include in API requests. By default, fields with |
| // empty or default values are omitted from API requests. However, any |
| // non-pointer, non-interface field appearing in ForceSendFields will be |
| // sent to the server regardless of whether the field is empty or not. |
| // This may be used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "CallsState") to include in |
| // API requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *BusinessCallsSettings) MarshalJSON() ([]byte, error) { |
| type NoMethod BusinessCallsSettings |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Date: Represents a whole or partial calendar date, such as a |
| // birthday. The time of day and time zone are either specified |
| // elsewhere or are insignificant. The date is relative to the Gregorian |
| // Calendar. This can represent one of the following: * A full date, |
| // with non-zero year, month, and day values. * A month and day, with a |
| // zero year (for example, an anniversary). * A year on its own, with a |
| // zero month and a zero day. * A year and month, with a zero day (for |
| // example, a credit card expiration date). Related types: * |
| // google.type.TimeOfDay * google.type.DateTime * |
| // google.protobuf.Timestamp |
| type Date struct { |
| // Day: Day of a month. Must be from 1 to 31 and valid for the year and |
| // month, or 0 to specify a year by itself or a year and month where the |
| // day isn't significant. |
| Day int64 `json:"day,omitempty"` |
| |
| // Month: Month of a year. Must be from 1 to 12, or 0 to specify a year |
| // without a month and day. |
| Month int64 `json:"month,omitempty"` |
| |
| // Year: Year of the date. Must be from 1 to 9999, or 0 to specify a |
| // date without a year. |
| Year int64 `json:"year,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Day") to |
| // unconditionally include in API requests. By default, fields with |
| // empty or default values are omitted from API requests. However, any |
| // non-pointer, non-interface field appearing in ForceSendFields will be |
| // sent to the server regardless of whether the field is empty or not. |
| // This may be used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Day") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Date) MarshalJSON() ([]byte, error) { |
| type NoMethod Date |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // HourlyMetrics: Metrics for an hour. |
| type HourlyMetrics struct { |
| // Hour: Hour of the day. Allowed values are 0-23. |
| Hour int64 `json:"hour,omitempty"` |
| |
| // MissedCallsCount: Total count of missed calls for this hour. |
| MissedCallsCount int64 `json:"missedCallsCount,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Hour") to |
| // unconditionally include in API requests. By default, fields with |
| // empty or default values are omitted from API requests. However, any |
| // non-pointer, non-interface field appearing in ForceSendFields will be |
| // sent to the server regardless of whether the field is empty or not. |
| // This may be used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Hour") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *HourlyMetrics) MarshalJSON() ([]byte, error) { |
| type NoMethod HourlyMetrics |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ListBusinessCallsInsightsResponse: Response message for |
| // ListBusinessCallsInsights. |
| type ListBusinessCallsInsightsResponse struct { |
| // BusinessCallsInsights: A collection of business calls insights for |
| // the location. |
| BusinessCallsInsights []*BusinessCallsInsights `json:"businessCallsInsights,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. Some of the metric_types (e.g, AGGREGATE_COUNT) returns a |
| // single page. For these metrics, the next_page_token will be empty. |
| 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. |
| // "BusinessCallsInsights") to unconditionally include in API requests. |
| // By default, fields with empty or default values are omitted from API |
| // requests. However, any non-pointer, non-interface field appearing in |
| // ForceSendFields will be sent to the server regardless of whether the |
| // field is empty or not. This may be used to include empty fields in |
| // Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "BusinessCallsInsights") to |
| // include in API requests with the JSON null value. By default, fields |
| // with empty values are omitted from API requests. However, any field |
| // with an empty value appearing in NullFields will be sent to the |
| // server as null. It is an error if a field in this list has a |
| // non-empty value. This may be used to include null fields in Patch |
| // requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *ListBusinessCallsInsightsResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod ListBusinessCallsInsightsResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // WeekDayMetrics: Metrics for a week day. |
| type WeekDayMetrics struct { |
| // Day: Day of the week. Allowed values are Sunday - Saturday. |
| // |
| // 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 |
| Day string `json:"day,omitempty"` |
| |
| // MissedCallsCount: Total count of missed calls for this hour. |
| MissedCallsCount int64 `json:"missedCallsCount,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Day") to |
| // unconditionally include in API requests. By default, fields with |
| // empty or default values are omitted from API requests. However, any |
| // non-pointer, non-interface field appearing in ForceSendFields will be |
| // sent to the server regardless of whether the field is empty or not. |
| // This may be used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Day") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *WeekDayMetrics) MarshalJSON() ([]byte, error) { |
| type NoMethod WeekDayMetrics |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // method id "mybusinessbusinesscalls.locations.getBusinesscallssettings": |
| |
| type LocationsGetBusinesscallssettingsCall struct { |
| s *Service |
| name string |
| urlParams_ gensupport.URLParams |
| ifNoneMatch_ string |
| ctx_ context.Context |
| header_ http.Header |
| } |
| |
| // GetBusinesscallssettings: Returns the Business calls settings |
| // resource for the given location. |
| // |
| // - name: The BusinessCallsSettings to get. The `name` field is used to |
| // identify the business call settings to get. Format: |
| // locations/{location_id}/businesscallssettings. |
| func (r *LocationsService) GetBusinesscallssettings(name string) *LocationsGetBusinesscallssettingsCall { |
| c := &LocationsGetBusinesscallssettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| c.name = name |
| return c |
| } |
| |
| // Fields allows partial responses to be retrieved. See |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse |
| // for more information. |
| func (c *LocationsGetBusinesscallssettingsCall) Fields(s ...googleapi.Field) *LocationsGetBusinesscallssettingsCall { |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) |
| return c |
| } |
| |
| // IfNoneMatch sets the 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. Use googleapi.IsNotModified to check whether the response |
| // error from Do is the result of In-None-Match. |
| func (c *LocationsGetBusinesscallssettingsCall) IfNoneMatch(entityTag string) *LocationsGetBusinesscallssettingsCall { |
| c.ifNoneMatch_ = entityTag |
| return c |
| } |
| |
| // Context sets the context to be used in this call's Do method. Any |
| // pending HTTP request will be aborted if the provided context is |
| // canceled. |
| func (c *LocationsGetBusinesscallssettingsCall) Context(ctx context.Context) *LocationsGetBusinesscallssettingsCall { |
| c.ctx_ = ctx |
| return c |
| } |
| |
| // Header returns an http.Header that can be modified by the caller to |
| // add HTTP headers to the request. |
| func (c *LocationsGetBusinesscallssettingsCall) Header() http.Header { |
| if c.header_ == nil { |
| c.header_ = make(http.Header) |
| } |
| return c.header_ |
| } |
| |
| func (c *LocationsGetBusinesscallssettingsCall) doRequest(alt string) (*http.Response, error) { |
| reqHeaders := make(http.Header) |
| reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) |
| for k, v := range c.header_ { |
| reqHeaders[k] = v |
| } |
| reqHeaders.Set("User-Agent", c.s.userAgent()) |
| if c.ifNoneMatch_ != "" { |
| reqHeaders.Set("If-None-Match", c.ifNoneMatch_) |
| } |
| var body io.Reader = nil |
| c.urlParams_.Set("alt", alt) |
| c.urlParams_.Set("prettyPrint", "false") |
| urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") |
| urls += "?" + c.urlParams_.Encode() |
| req, err := http.NewRequest("GET", urls, body) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| googleapi.Expand(req.URL, map[string]string{ |
| "name": c.name, |
| }) |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) |
| } |
| |
| // Do executes the "mybusinessbusinesscalls.locations.getBusinesscallssettings" call. |
| // Exactly one of *BusinessCallsSettings or error will be non-nil. Any |
| // non-2xx status code is an error. Response headers are in either |
| // *BusinessCallsSettings.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 (c *LocationsGetBusinesscallssettingsCall) Do(opts ...googleapi.CallOption) (*BusinessCallsSettings, error) { |
| gensupport.SetOptions(c.urlParams_, opts...) |
| res, err := c.doRequest("json") |
| if res != nil && res.StatusCode == http.StatusNotModified { |
| if res.Body != nil { |
| res.Body.Close() |
| } |
| return nil, &googleapi.Error{ |
| Code: res.StatusCode, |
| Header: res.Header, |
| } |
| } |
| if err != nil { |
| return nil, err |
| } |
| defer googleapi.CloseBody(res) |
| if err := googleapi.CheckResponse(res); err != nil { |
| return nil, err |
| } |
| ret := &BusinessCallsSettings{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| target := &ret |
| if err := gensupport.DecodeResponse(target, res); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Returns the Business calls settings resource for the given location.", |
| // "flatPath": "v1/locations/{locationsId}/businesscallssettings", |
| // "httpMethod": "GET", |
| // "id": "mybusinessbusinesscalls.locations.getBusinesscallssettings", |
| // "parameterOrder": [ |
| // "name" |
| // ], |
| // "parameters": { |
| // "name": { |
| // "description": "Required. The BusinessCallsSettings to get. The `name` field is used to identify the business call settings to get. Format: locations/{location_id}/businesscallssettings.", |
| // "location": "path", |
| // "pattern": "^locations/[^/]+/businesscallssettings$", |
| // "required": true, |
| // "type": "string" |
| // } |
| // }, |
| // "path": "v1/{+name}", |
| // "response": { |
| // "$ref": "BusinessCallsSettings" |
| // } |
| // } |
| |
| } |
| |
| // method id "mybusinessbusinesscalls.locations.updateBusinesscallssettings": |
| |
| type LocationsUpdateBusinesscallssettingsCall struct { |
| s *Service |
| name string |
| businesscallssettings *BusinessCallsSettings |
| urlParams_ gensupport.URLParams |
| ctx_ context.Context |
| header_ http.Header |
| } |
| |
| // UpdateBusinesscallssettings: Updates the Business call settings for |
| // the specified location. |
| // |
| // - name: The resource name of the calls settings. Format: |
| // locations/{location}/businesscallssettings. |
| func (r *LocationsService) UpdateBusinesscallssettings(name string, businesscallssettings *BusinessCallsSettings) *LocationsUpdateBusinesscallssettingsCall { |
| c := &LocationsUpdateBusinesscallssettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| c.name = name |
| c.businesscallssettings = businesscallssettings |
| return c |
| } |
| |
| // UpdateMask sets the optional parameter "updateMask": Required. The |
| // list of fields to update. |
| func (c *LocationsUpdateBusinesscallssettingsCall) UpdateMask(updateMask string) *LocationsUpdateBusinesscallssettingsCall { |
| c.urlParams_.Set("updateMask", updateMask) |
| return c |
| } |
| |
| // Fields allows partial responses to be retrieved. See |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse |
| // for more information. |
| func (c *LocationsUpdateBusinesscallssettingsCall) Fields(s ...googleapi.Field) *LocationsUpdateBusinesscallssettingsCall { |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) |
| return c |
| } |
| |
| // Context sets the context to be used in this call's Do method. Any |
| // pending HTTP request will be aborted if the provided context is |
| // canceled. |
| func (c *LocationsUpdateBusinesscallssettingsCall) Context(ctx context.Context) *LocationsUpdateBusinesscallssettingsCall { |
| c.ctx_ = ctx |
| return c |
| } |
| |
| // Header returns an http.Header that can be modified by the caller to |
| // add HTTP headers to the request. |
| func (c *LocationsUpdateBusinesscallssettingsCall) Header() http.Header { |
| if c.header_ == nil { |
| c.header_ = make(http.Header) |
| } |
| return c.header_ |
| } |
| |
| func (c *LocationsUpdateBusinesscallssettingsCall) doRequest(alt string) (*http.Response, error) { |
| reqHeaders := make(http.Header) |
| reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) |
| for k, v := range c.header_ { |
| reqHeaders[k] = v |
| } |
| reqHeaders.Set("User-Agent", c.s.userAgent()) |
| var body io.Reader = nil |
| body, err := googleapi.WithoutDataWrapper.JSONReader(c.businesscallssettings) |
| if err != nil { |
| return nil, err |
| } |
| reqHeaders.Set("Content-Type", "application/json") |
| c.urlParams_.Set("alt", alt) |
| c.urlParams_.Set("prettyPrint", "false") |
| urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") |
| urls += "?" + c.urlParams_.Encode() |
| req, err := http.NewRequest("PATCH", urls, body) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| googleapi.Expand(req.URL, map[string]string{ |
| "name": c.name, |
| }) |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) |
| } |
| |
| // Do executes the "mybusinessbusinesscalls.locations.updateBusinesscallssettings" call. |
| // Exactly one of *BusinessCallsSettings or error will be non-nil. Any |
| // non-2xx status code is an error. Response headers are in either |
| // *BusinessCallsSettings.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 (c *LocationsUpdateBusinesscallssettingsCall) Do(opts ...googleapi.CallOption) (*BusinessCallsSettings, error) { |
| gensupport.SetOptions(c.urlParams_, opts...) |
| res, err := c.doRequest("json") |
| if res != nil && res.StatusCode == http.StatusNotModified { |
| if res.Body != nil { |
| res.Body.Close() |
| } |
| return nil, &googleapi.Error{ |
| Code: res.StatusCode, |
| Header: res.Header, |
| } |
| } |
| if err != nil { |
| return nil, err |
| } |
| defer googleapi.CloseBody(res) |
| if err := googleapi.CheckResponse(res); err != nil { |
| return nil, err |
| } |
| ret := &BusinessCallsSettings{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| target := &ret |
| if err := gensupport.DecodeResponse(target, res); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Updates the Business call settings for the specified location.", |
| // "flatPath": "v1/locations/{locationsId}/businesscallssettings", |
| // "httpMethod": "PATCH", |
| // "id": "mybusinessbusinesscalls.locations.updateBusinesscallssettings", |
| // "parameterOrder": [ |
| // "name" |
| // ], |
| // "parameters": { |
| // "name": { |
| // "description": "Required. The resource name of the calls settings. Format: locations/{location}/businesscallssettings", |
| // "location": "path", |
| // "pattern": "^locations/[^/]+/businesscallssettings$", |
| // "required": true, |
| // "type": "string" |
| // }, |
| // "updateMask": { |
| // "description": "Required. The list of fields to update.", |
| // "format": "google-fieldmask", |
| // "location": "query", |
| // "type": "string" |
| // } |
| // }, |
| // "path": "v1/{+name}", |
| // "request": { |
| // "$ref": "BusinessCallsSettings" |
| // }, |
| // "response": { |
| // "$ref": "BusinessCallsSettings" |
| // } |
| // } |
| |
| } |
| |
| // method id "mybusinessbusinesscalls.locations.businesscallsinsights.list": |
| |
| type LocationsBusinesscallsinsightsListCall struct { |
| s *Service |
| parent string |
| urlParams_ gensupport.URLParams |
| ifNoneMatch_ string |
| ctx_ context.Context |
| header_ http.Header |
| } |
| |
| // List: Returns insights for Business calls for a location. |
| // |
| // - parent: The parent location to fetch calls insights for. Format: |
| // locations/{location_id}. |
| func (r *LocationsBusinesscallsinsightsService) List(parent string) *LocationsBusinesscallsinsightsListCall { |
| c := &LocationsBusinesscallsinsightsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| c.parent = parent |
| return c |
| } |
| |
| // Filter sets the optional parameter "filter": A filter constraining |
| // the calls insights to return. The response includes only entries that |
| // match the filter. If the MetricType is not provided, AGGREGATE_COUNT |
| // is returned. If no end_date is provided, the last date for which data |
| // is available is used. If no start_date is provided, we will default |
| // to the first date for which data is available, which is currently 6 |
| // months. If start_date is before the date when data is available, data |
| // is returned starting from the date when it is available. At this time |
| // we support following filters. 1. start_date="DATE" where date is in |
| // YYYY-MM-DD format. 2. end_date="DATE" where date is in YYYY-MM-DD |
| // format. 3. metric_type=XYZ where XYZ is a valid MetricType. 4. |
| // Conjunctions(AND) of all of the above. e.g., "start_date=2021-08-01 |
| // AND end_date=2021-08-10 AND metric_type=AGGREGATE_COUNT" The |
| // AGGREGATE_COUNT metric_type ignores the DD part of the date. |
| func (c *LocationsBusinesscallsinsightsListCall) Filter(filter string) *LocationsBusinesscallsinsightsListCall { |
| c.urlParams_.Set("filter", filter) |
| return c |
| } |
| |
| // PageSize sets the optional parameter "pageSize": The maximum number |
| // of BusinessCallsInsights to return. If unspecified, at most 20 will |
| // be returned. Some of the metric_types(e.g, AGGREGATE_COUNT) returns a |
| // single page. For these metrics, the page_size is ignored. |
| func (c *LocationsBusinesscallsinsightsListCall) PageSize(pageSize int64) *LocationsBusinesscallsinsightsListCall { |
| c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) |
| return c |
| } |
| |
| // PageToken sets the optional parameter "pageToken": A page token, |
| // received from a previous `ListBusinessCallsInsights` call. Provide |
| // this to retrieve the subsequent page. When paginating, all other |
| // parameters provided to `ListBusinessCallsInsights` must match the |
| // call that provided the page token. Some of the metric_types (e.g, |
| // AGGREGATE_COUNT) returns a single page. For these metrics, the |
| // pake_token is ignored. |
| func (c *LocationsBusinesscallsinsightsListCall) PageToken(pageToken string) *LocationsBusinesscallsinsightsListCall { |
| c.urlParams_.Set("pageToken", pageToken) |
| return c |
| } |
| |
| // Fields allows partial responses to be retrieved. See |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse |
| // for more information. |
| func (c *LocationsBusinesscallsinsightsListCall) Fields(s ...googleapi.Field) *LocationsBusinesscallsinsightsListCall { |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) |
| return c |
| } |
| |
| // IfNoneMatch sets the 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. Use googleapi.IsNotModified to check whether the response |
| // error from Do is the result of In-None-Match. |
| func (c *LocationsBusinesscallsinsightsListCall) IfNoneMatch(entityTag string) *LocationsBusinesscallsinsightsListCall { |
| c.ifNoneMatch_ = entityTag |
| return c |
| } |
| |
| // Context sets the context to be used in this call's Do method. Any |
| // pending HTTP request will be aborted if the provided context is |
| // canceled. |
| func (c *LocationsBusinesscallsinsightsListCall) Context(ctx context.Context) *LocationsBusinesscallsinsightsListCall { |
| c.ctx_ = ctx |
| return c |
| } |
| |
| // Header returns an http.Header that can be modified by the caller to |
| // add HTTP headers to the request. |
| func (c *LocationsBusinesscallsinsightsListCall) Header() http.Header { |
| if c.header_ == nil { |
| c.header_ = make(http.Header) |
| } |
| return c.header_ |
| } |
| |
| func (c *LocationsBusinesscallsinsightsListCall) doRequest(alt string) (*http.Response, error) { |
| reqHeaders := make(http.Header) |
| reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) |
| for k, v := range c.header_ { |
| reqHeaders[k] = v |
| } |
| reqHeaders.Set("User-Agent", c.s.userAgent()) |
| if c.ifNoneMatch_ != "" { |
| reqHeaders.Set("If-None-Match", c.ifNoneMatch_) |
| } |
| var body io.Reader = nil |
| c.urlParams_.Set("alt", alt) |
| c.urlParams_.Set("prettyPrint", "false") |
| urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/businesscallsinsights") |
| urls += "?" + c.urlParams_.Encode() |
| req, err := http.NewRequest("GET", urls, body) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| googleapi.Expand(req.URL, map[string]string{ |
| "parent": c.parent, |
| }) |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) |
| } |
| |
| // Do executes the "mybusinessbusinesscalls.locations.businesscallsinsights.list" call. |
| // Exactly one of *ListBusinessCallsInsightsResponse or error will be |
| // non-nil. Any non-2xx status code is an error. Response headers are in |
| // either *ListBusinessCallsInsightsResponse.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 (c *LocationsBusinesscallsinsightsListCall) Do(opts ...googleapi.CallOption) (*ListBusinessCallsInsightsResponse, error) { |
| gensupport.SetOptions(c.urlParams_, opts...) |
| res, err := c.doRequest("json") |
| if res != nil && res.StatusCode == http.StatusNotModified { |
| if res.Body != nil { |
| res.Body.Close() |
| } |
| return nil, &googleapi.Error{ |
| Code: res.StatusCode, |
| Header: res.Header, |
| } |
| } |
| if err != nil { |
| return nil, err |
| } |
| defer googleapi.CloseBody(res) |
| if err := googleapi.CheckResponse(res); err != nil { |
| return nil, err |
| } |
| ret := &ListBusinessCallsInsightsResponse{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| target := &ret |
| if err := gensupport.DecodeResponse(target, res); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Returns insights for Business calls for a location.", |
| // "flatPath": "v1/locations/{locationsId}/businesscallsinsights", |
| // "httpMethod": "GET", |
| // "id": "mybusinessbusinesscalls.locations.businesscallsinsights.list", |
| // "parameterOrder": [ |
| // "parent" |
| // ], |
| // "parameters": { |
| // "filter": { |
| // "description": "Optional. A filter constraining the calls insights to return. The response includes only entries that match the filter. If the MetricType is not provided, AGGREGATE_COUNT is returned. If no end_date is provided, the last date for which data is available is used. If no start_date is provided, we will default to the first date for which data is available, which is currently 6 months. If start_date is before the date when data is available, data is returned starting from the date when it is available. At this time we support following filters. 1. start_date=\"DATE\" where date is in YYYY-MM-DD format. 2. end_date=\"DATE\" where date is in YYYY-MM-DD format. 3. metric_type=XYZ where XYZ is a valid MetricType. 4. Conjunctions(AND) of all of the above. e.g., \"start_date=2021-08-01 AND end_date=2021-08-10 AND metric_type=AGGREGATE_COUNT\" The AGGREGATE_COUNT metric_type ignores the DD part of the date.", |
| // "location": "query", |
| // "type": "string" |
| // }, |
| // "pageSize": { |
| // "description": "Optional. The maximum number of BusinessCallsInsights to return. If unspecified, at most 20 will be returned. Some of the metric_types(e.g, AGGREGATE_COUNT) returns a single page. For these metrics, the page_size is ignored.", |
| // "format": "int32", |
| // "location": "query", |
| // "type": "integer" |
| // }, |
| // "pageToken": { |
| // "description": "Optional. A page token, received from a previous `ListBusinessCallsInsights` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBusinessCallsInsights` must match the call that provided the page token. Some of the metric_types (e.g, AGGREGATE_COUNT) returns a single page. For these metrics, the pake_token is ignored.", |
| // "location": "query", |
| // "type": "string" |
| // }, |
| // "parent": { |
| // "description": "Required. The parent location to fetch calls insights for. Format: locations/{location_id}", |
| // "location": "path", |
| // "pattern": "^locations/[^/]+$", |
| // "required": true, |
| // "type": "string" |
| // } |
| // }, |
| // "path": "v1/{+parent}/businesscallsinsights", |
| // "response": { |
| // "$ref": "ListBusinessCallsInsightsResponse" |
| // } |
| // } |
| |
| } |
| |
| // 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. |
| func (c *LocationsBusinesscallsinsightsListCall) Pages(ctx context.Context, f func(*ListBusinessCallsInsightsResponse) error) error { |
| c.ctx_ = ctx |
| defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point |
| for { |
| x, err := c.Do() |
| if err != nil { |
| return err |
| } |
| if err := f(x); err != nil { |
| return err |
| } |
| if x.NextPageToken == "" { |
| return nil |
| } |
| c.PageToken(x.NextPageToken) |
| } |
| } |