Files
services/stock/proto/stock.proto
2021-06-18 15:21:41 +01:00

72 lines
1.3 KiB
Protocol Buffer

syntax = "proto3";
package stock;
option go_package = "./proto;stock";
service Stock {
rpc Quote(QuoteRequest) returns (QuoteResponse) {}
rpc Price(PriceRequest) returns (PriceResponse) {}
rpc History(HistoryRequest) returns (HistoryResponse) {}
}
// Get the last price for a given stock ticker
message PriceRequest {
// stock symbol e.g AAPL
string symbol = 1;
}
message PriceResponse {
// the stock symbol e.g AAPL
string symbol = 1;
// the last price
double price = 2;
}
// Get the last quote for the stock
message QuoteRequest {
// the stock symbol e.g AAPL
string symbol = 1;
}
message QuoteResponse {
// the stock symbol
string symbol = 1;
// the asking price
double ask_price = 2;
// the bidding price
double bid_price = 3;
// the ask size
int32 ask_size = 4;
// the bid size
int32 bid_size = 5;
// the UTC timestamp of the quote
string timestamp = 6;
}
// Get the historic open-close for a given day
message HistoryRequest {
// the stock symbol e.g AAPL
string stock = 1;
// date to retrieve as YYYY-MM-DD
string date = 2;
}
message HistoryResponse {
// the stock symbol
string symbol = 1;
// the open price
double open = 2;
// the close price
double close = 3;
// the peak price
double high = 4;
// the low price
double low = 5;
// the volume
int32 volume = 6;
// the date
string date = 7;
}