370 lines
14 KiB
Protocol Buffer
370 lines
14 KiB
Protocol Buffer
// Copyright 2020 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto3";
|
|
|
|
package google.analytics.data.v1alpha;
|
|
|
|
import "google/analytics/data/v1alpha/data.proto";
|
|
import "google/api/annotations.proto";
|
|
import "google/api/client.proto";
|
|
import "google/api/field_behavior.proto";
|
|
import "google/api/resource.proto";
|
|
|
|
option go_package = "google.golang.org/genproto/googleapis/analytics/data/v1alpha;data";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "AnalyticsDataApiProto";
|
|
option java_package = "com.google.analytics.data.v1alpha";
|
|
|
|
// Google Analytics reporting data service.
|
|
service AlphaAnalyticsData {
|
|
option (google.api.default_host) = "analyticsdata.googleapis.com";
|
|
option (google.api.oauth_scopes) =
|
|
"https://www.googleapis.com/auth/analytics,"
|
|
"https://www.googleapis.com/auth/analytics.readonly";
|
|
|
|
// Returns a customized report of your Google Analytics event data. Reports
|
|
// contain statistics derived from data collected by the Google Analytics
|
|
// tracking code. The data returned from the API is as a table with columns
|
|
// for the requested dimensions and metrics. Metrics are individual
|
|
// measurements of user activity on your property, such as active users or
|
|
// event count. Dimensions break down metrics across some common criteria,
|
|
// such as country or event name.
|
|
rpc RunReport(RunReportRequest) returns (RunReportResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1alpha:runReport"
|
|
body: "*"
|
|
};
|
|
}
|
|
|
|
// Returns a customized pivot report of your Google Analytics event data.
|
|
// Pivot reports are more advanced and expressive formats than regular
|
|
// reports. In a pivot report, dimensions are only visible if they are
|
|
// included in a pivot. Multiple pivots can be specified to further dissect
|
|
// your data.
|
|
rpc RunPivotReport(RunPivotReportRequest) returns (RunPivotReportResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1alpha:runPivotReport"
|
|
body: "*"
|
|
};
|
|
}
|
|
|
|
// Returns multiple reports in a batch. All reports must be for the same
|
|
// Entity.
|
|
rpc BatchRunReports(BatchRunReportsRequest) returns (BatchRunReportsResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1alpha:batchRunReports"
|
|
body: "*"
|
|
};
|
|
}
|
|
|
|
// Returns multiple pivot reports in a batch. All reports must be for the same
|
|
// Entity.
|
|
rpc BatchRunPivotReports(BatchRunPivotReportsRequest) returns (BatchRunPivotReportsResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1alpha:batchRunPivotReports"
|
|
body: "*"
|
|
};
|
|
}
|
|
|
|
// Returns metadata for dimensions and metrics available in reporting methods.
|
|
// Used to explore the dimensions and metrics. Dimensions and metrics will be
|
|
// mostly added over time, but renames and deletions may occur.
|
|
rpc GetMetadata(GetMetadataRequest) returns (Metadata) {
|
|
option (google.api.http) = {
|
|
get: "/v1alpha/{name=metadata}"
|
|
additional_bindings {
|
|
get: "/v1alpha/{name=properties/*/metadata}"
|
|
}
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
}
|
|
|
|
// The dimensions and metrics currently accepted in reporting methods.
|
|
message Metadata {
|
|
option (google.api.resource) = {
|
|
type: "analyticsdata.googleapis.com/Metadata"
|
|
pattern: "metadata"
|
|
pattern: "properties/{property}/metadata"
|
|
};
|
|
|
|
// Resource name of this metadata.
|
|
string name = 3;
|
|
|
|
// The dimensions descriptions.
|
|
repeated DimensionMetadata dimensions = 1;
|
|
|
|
// The metric descriptions.
|
|
repeated MetricMetadata metrics = 2;
|
|
}
|
|
|
|
// The request to generate a report.
|
|
message RunReportRequest {
|
|
// A property whose events are tracked. Within a batch request, this entity
|
|
// should either be unspecified or consistent with the batch-level entity.
|
|
Entity entity = 1;
|
|
|
|
// The dimensions requested and displayed.
|
|
repeated Dimension dimensions = 2;
|
|
|
|
// The metrics requested and displayed.
|
|
repeated Metric metrics = 3;
|
|
|
|
// Date ranges of data to read. If multiple date ranges are requested, each
|
|
// response row will contain a zero based date range index. If two date
|
|
// ranges overlap, the event data for the overlapping days is included in the
|
|
// response rows for both date ranges. In a cohort request, this `dateRanges`
|
|
// must be unspecified.
|
|
repeated DateRange date_ranges = 4;
|
|
|
|
// The row count of the start row. The first row is counted as row 0.
|
|
int64 offset = 5;
|
|
|
|
// The number of rows to return. If unspecified, 10 rows are returned. If
|
|
// -1, all rows are returned.
|
|
int64 limit = 6;
|
|
|
|
// Aggregation of metrics. Aggregated metric values will be shown in rows
|
|
// where the dimension_values are set to "RESERVED_(MetricAggregation)".
|
|
repeated MetricAggregation metric_aggregations = 7;
|
|
|
|
// The filter clause of dimensions. Dimensions must be requested to be used in
|
|
// this filter. Metrics cannot be used in this filter.
|
|
FilterExpression dimension_filter = 8;
|
|
|
|
// The filter clause of metrics. Applied at post aggregation phase, similar to
|
|
// SQL having-clause. Metrics must be requested to be used in this filter.
|
|
// Dimensions cannot be used in this filter.
|
|
FilterExpression metric_filter = 9;
|
|
|
|
// Specifies how rows are ordered in the response.
|
|
repeated OrderBy order_bys = 10;
|
|
|
|
// A currency code in ISO4217 format, such as "AED", "USD", "JPY".
|
|
// If the field is empty, the report uses the entity's default currency.
|
|
string currency_code = 11;
|
|
|
|
// Cohort group associated with this request. If there is a cohort group
|
|
// in the request the 'cohort' dimension must be present.
|
|
CohortSpec cohort_spec = 12;
|
|
|
|
// If false or unspecified, each row with all metrics equal to 0 will not be
|
|
// returned. If true, these rows will be returned if they are not separately
|
|
// removed by a filter.
|
|
bool keep_empty_rows = 13;
|
|
|
|
// Toggles whether to return the current state of this Analytics Property's
|
|
// quota. Quota is returned in [PropertyQuota](#PropertyQuota).
|
|
bool return_property_quota = 14;
|
|
}
|
|
|
|
// The response report table corresponding to a request.
|
|
message RunReportResponse {
|
|
// Describes dimension columns. The number of DimensionHeaders and ordering of
|
|
// DimensionHeaders matches the dimensions present in rows.
|
|
repeated DimensionHeader dimension_headers = 11;
|
|
|
|
// Describes metric columns. The number of MetricHeaders and ordering of
|
|
// MetricHeaders matches the metrics present in rows.
|
|
repeated MetricHeader metric_headers = 1;
|
|
|
|
// Rows of dimension value combinations and metric values in the report.
|
|
repeated Row rows = 2;
|
|
|
|
// If requested, the totaled values of metrics.
|
|
repeated Row totals = 8;
|
|
|
|
// If requested, the maximum values of metrics.
|
|
repeated Row maximums = 9;
|
|
|
|
// If requested, the minimum values of metrics.
|
|
repeated Row minimums = 10;
|
|
|
|
// Metadata for the report.
|
|
ResponseMetaData metadata = 6;
|
|
|
|
// This Analytics Property's quota state including this request.
|
|
PropertyQuota property_quota = 7;
|
|
}
|
|
|
|
// The request to generate a pivot report.
|
|
message RunPivotReportRequest {
|
|
// A property whose events are tracked. Within a batch request, this entity
|
|
// should either be unspecified or consistent with the batch-level entity.
|
|
Entity entity = 1;
|
|
|
|
// The dimensions requested. All defined dimensions must be used by one of the
|
|
// following: dimension_expression, dimension_filter, pivots, order_bys.
|
|
repeated Dimension dimensions = 2;
|
|
|
|
// The metrics requested, at least one metric needs to be specified. All
|
|
// defined metrics must be used by one of the following: metric_expression,
|
|
// metric_filter, order_bys.
|
|
repeated Metric metrics = 3;
|
|
|
|
// The filter clause of dimensions. Dimensions must be requested to be used in
|
|
// this filter. Metrics cannot be used in this filter.
|
|
FilterExpression dimension_filter = 4;
|
|
|
|
// The filter clause of metrics. Applied at post aggregation phase, similar to
|
|
// SQL having-clause. Metrics must be requested to be used in this filter.
|
|
// Dimensions cannot be used in this filter.
|
|
FilterExpression metric_filter = 5;
|
|
|
|
// Describes the visual format of the report's dimensions in columns or rows.
|
|
// The union of the fieldNames (dimension names) in all pivots must be a
|
|
// subset of dimension names defined in Dimensions. No two pivots can share a
|
|
// dimension. A dimension is only visible if it appears in a pivot.
|
|
repeated Pivot pivots = 6;
|
|
|
|
// The date range to retrieve event data for the report. If multiple date
|
|
// ranges are specified, event data from each date range is used in the
|
|
// report. A special dimension with field name "dateRange" can be included in
|
|
// a Pivot's field names; if included, the report compares between date
|
|
// ranges. In a cohort request, this `dateRanges` must be unspecified.
|
|
repeated DateRange date_ranges = 7;
|
|
|
|
// A currency code in ISO4217 format, such as "AED", "USD", "JPY".
|
|
// If the field is empty, the report uses the entity's default currency.
|
|
string currency_code = 8;
|
|
|
|
// Cohort group associated with this request. If there is a cohort group
|
|
// in the request the 'cohort' dimension must be present.
|
|
CohortSpec cohort_spec = 9;
|
|
|
|
// If false or unspecified, each row with all metrics equal to 0 will not be
|
|
// returned. If true, these rows will be returned if they are not separately
|
|
// removed by a filter.
|
|
bool keep_empty_rows = 10;
|
|
|
|
// Toggles whether to return the current state of this Analytics Property's
|
|
// quota. Quota is returned in [PropertyQuota](#PropertyQuota).
|
|
bool return_property_quota = 11;
|
|
}
|
|
|
|
// The response pivot report table corresponding to a pivot request.
|
|
message RunPivotReportResponse {
|
|
// Summarizes the columns and rows created by a pivot. Each pivot in the
|
|
// request produces one header in the response. If we have a request like
|
|
// this:
|
|
//
|
|
// "pivots": [{
|
|
// "fieldNames": ["country",
|
|
// "city"]
|
|
// },
|
|
// {
|
|
// "fieldNames": "eventName"
|
|
// }]
|
|
//
|
|
// We will have the following `pivotHeaders` in the response:
|
|
//
|
|
// "pivotHeaders" : [{
|
|
// "dimensionHeaders": [{
|
|
// "dimensionValues": [
|
|
// { "value": "United Kingdom" },
|
|
// { "value": "London" }
|
|
// ]
|
|
// },
|
|
// {
|
|
// "dimensionValues": [
|
|
// { "value": "Japan" },
|
|
// { "value": "Osaka" }
|
|
// ]
|
|
// }]
|
|
// },
|
|
// {
|
|
// "dimensionHeaders": [{
|
|
// "dimensionValues": [{ "value": "session_start" }]
|
|
// },
|
|
// {
|
|
// "dimensionValues": [{ "value": "scroll" }]
|
|
// }]
|
|
// }]
|
|
repeated PivotHeader pivot_headers = 1;
|
|
|
|
// Describes dimension columns. The number of DimensionHeaders and ordering of
|
|
// DimensionHeaders matches the dimensions present in rows.
|
|
repeated DimensionHeader dimension_headers = 7;
|
|
|
|
// Describes metric columns. The number of MetricHeaders and ordering of
|
|
// MetricHeaders matches the metrics present in rows.
|
|
repeated MetricHeader metric_headers = 2;
|
|
|
|
// Rows of dimension value combinations and metric values in the report.
|
|
repeated Row rows = 3;
|
|
|
|
// Aggregation of metric values. Can be totals, minimums, or maximums. The
|
|
// returned aggregations are controlled by the metric_aggregations in the
|
|
// pivot. The type of aggregation returned in each row is shown by the
|
|
// dimension_values which are set to "RESERVED_<MetricAggregation>".
|
|
repeated Row aggregates = 4;
|
|
|
|
// Metadata for the report.
|
|
ResponseMetaData metadata = 5;
|
|
|
|
// This Analytics Property's quota state including this request.
|
|
PropertyQuota property_quota = 6;
|
|
}
|
|
|
|
// The batch request containing multiple report requests.
|
|
message BatchRunReportsRequest {
|
|
// A property whose events are tracked. This entity must be specified for the
|
|
// batch. The entity within RunReportRequest may either be unspecified or
|
|
// consistent with this entity.
|
|
Entity entity = 1;
|
|
|
|
// Individual requests. Each request has a separate report response. Each
|
|
// batch request is allowed up to 5 requests.
|
|
repeated RunReportRequest requests = 2;
|
|
}
|
|
|
|
// The batch response containing multiple reports.
|
|
message BatchRunReportsResponse {
|
|
// Individual responses. Each response has a separate report request.
|
|
repeated RunReportResponse reports = 1;
|
|
}
|
|
|
|
// The batch request containing multiple pivot report requests.
|
|
message BatchRunPivotReportsRequest {
|
|
// A property whose events are tracked. This entity must be specified for the
|
|
// batch. The entity within RunPivotReportRequest may either be unspecified or
|
|
// consistent with this entity.
|
|
Entity entity = 1;
|
|
|
|
// Individual requests. Each request has a separate pivot report response.
|
|
// Each batch request is allowed up to 5 requests.
|
|
repeated RunPivotReportRequest requests = 2;
|
|
}
|
|
|
|
// The batch response containing multiple pivot reports.
|
|
message BatchRunPivotReportsResponse {
|
|
// Individual responses. Each response has a separate pivot report request.
|
|
repeated RunPivotReportResponse pivot_reports = 1;
|
|
}
|
|
|
|
// Request for dimension and metric metadata.
|
|
message GetMetadataRequest {
|
|
// Required. The name of the metadata to retrieve. Either has the form
|
|
// 'metadata' or 'properties/{property}/metadata'. This name field is
|
|
// specified in the URL path and not URL parameters. Property is a numeric
|
|
// Google Analytics App + Web Property Id.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "analyticsdata.googleapis.com/Metadata"
|
|
}
|
|
];
|
|
}
|