Files
services/postcode/proto/postcode.proto
2021-08-26 18:31:34 +01:00

66 lines
1.3 KiB
Protocol Buffer

syntax = "proto3";
package postcode;
option go_package = "./proto;postcode";
service Postcode {
rpc Lookup(LookupRequest) returns (LookupResponse) {}
rpc Random(RandomRequest) returns (RandomResponse) {}
rpc Validate(ValidateRequest) returns (ValidateResponse) {}
}
// Lookup a postcode to retrieve the related region, county, etc
message LookupRequest {
// UK postcode e.g SW1A 2AA
string postcode = 1;
}
message LookupResponse {
// UK postcode e.g SW1A 2AA
string postcode = 1;
// country e.g United Kingdom
string country = 2;
// related region e.g London
string region = 3;
// e.g Westminster
string district = 4;
// e.g St James's
string ward = 5;
// e.g 51.50354
double latitude = 6;
// e.g -0.127695
double longitude = 7;
}
// Validate a postcode. Should return valid: true or valid: false
message ValidateRequest {
// UK postcode e.g SW1A 2AA
string postcode = 1;
}
message ValidateResponse {
bool valid = 1;
}
// Return a random postcode and its related info
message RandomRequest {}
message RandomResponse {
// UK postcode e.g SW1A 2AA
string postcode = 1;
// country e.g United Kingdom
string country = 2;
// related region e.g London
string region = 3;
// e.g Westminster
string district = 4;
// e.g St James's
string ward = 5;
// e.g 51.50354
double latitude = 6;
// e.g -0.127695
double longitude = 7;
}