blob: 4ac839002bda4f3e282d3604d514dd4fa6fb363f [file]
// Copyright 2022 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.maps.regionlookup.v1alpha;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/maps/regionlookup/v1alpha/region_identifier.proto";
import "google/maps/regionlookup/v1alpha/region_match.proto";
import "google/maps/regionlookup/v1alpha/region_search_values.proto";
option cc_enable_arenas = true;
option csharp_namespace = "Google.Maps.RegionLookup.V1Alpha";
option go_package = "cloud.google.com/go/maps/regionlookup/apiv1alpha/regionlookuppb;regionlookuppb";
option java_multiple_files = true;
option java_outer_classname = "RegionLookupServiceProto";
option java_package = "com.google.maps.regionlookup.v1alpha";
option objc_class_prefix = "MRLV1A";
option php_namespace = "Google\\Maps\\RegionLookup\\V1alpha";
// Service definition for the Region Lookup API.
service RegionLookup {
option (google.api.default_host) = "regionlookup.googleapis.com";
// Lookup region RPC.
//
// Looks up a set of region Place IDs of types related to geographic
// boundaries.
//
// The API looks up a region Place ID using the `RegionIdentifier` proto. See
// `RegionIdentifier` for more details and examples.
//
// The following region place types are supported for look up: postal_code,
// administrative_area_level_1, administrative_area_level_2, locality,
// neighborhood, and country.
rpc LookupRegion(LookupRegionRequest) returns (LookupRegionResponse) {
option (google.api.http) = {
post: "/v1alpha:lookupRegion"
body: "*"
};
}
// Search region RPC.
//
// Searches for a set of region Place IDs of types related to geographic
// boundaries.
//
// Similar to `LookupRegion` RPC but instead of looking up Place IDs for the
// given `RegionIdentifier`, the API searches for Region Place IDs by
// considering all regions that are contained within a specified location. The
// `RegionSearchValue` is used to specify the search values. See
// `RegionSearchValue` for more details and examples.
//
// The following region place types are supported for searching: postal_code,
// administrative_area_level_1, administrative_area_level_2, locality,
// neighborhood, and country.
rpc SearchRegion(SearchRegionRequest) returns (SearchRegionResponse) {
option (google.api.http) = {
post: "/v1alpha:searchRegion"
body: "*"
};
}
}
// Lookup Region Request.
//
// Next available tag: 4
message LookupRegionRequest {
// Each `RegionIdentifier` represents the desired fields used to lookup a
// single region. See `RegionIdentifier` proto for more details and examples.
repeated RegionIdentifier identifiers = 1;
// The maximum number of matches to return. The service may return fewer than
// this value.
//
// If unspecified, at most 50 matches will be returned. The maximum value is
// 1000; values above 1000 will be coerced to 1000.
int32 page_size = 2;
// A page token, received from a previous `LookupRegion` call. Provide this to
// retrieve the subsequent page.
//
// When paginating, all other parameters provided to `LookupRegion` must match
// the call that provided the page token.
string page_token = 3;
}
// Lookup Region Response.
//
// Next available tag: 3
message LookupRegionResponse {
// Lookup region matches, one for each `RegionIdentifier` in
// `LookupRegionRequest.identifiers`.
repeated RegionMatch matches = 1;
// A token that can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
}
// Search Region Request.
//
// Next available tag: 4
message SearchRegionRequest {
// Each value represents desired search values of a single region to match.
// The API tries to match them to Place IDs. See `RegionSearchValue`
// proto for more info and examples.
repeated RegionSearchValue search_values = 1;
// The maximum number of matches to return. The service may return fewer than
// this value.
//
// If unspecified, at most 50 matches will be returned. The maximum value is
// 1000; values above 1000 will be coerced to 1000.
int32 page_size = 2;
// A page token, received from a previous `SearchRegion` call. Provide this to
// retrieve the subsequent page.
//
// When paginating, all other parameters provided to `LookupRegion` must match
// the call that provided the page token.
string page_token = 3;
}
// Match Region Response.
//
// Next available tag: 3
message SearchRegionResponse {
// Search region matches, one for each `RegionSearchValue` in
// `SearchRegionRequest.search_values`.
repeated RegionMatch matches = 1;
// A token that can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
}