Skip to content

Commit

Permalink
Merge pull request #188 from Tinkoff/release/1.0.8
Browse files Browse the repository at this point in the history
Release/1.0.8
  • Loading branch information
hondasmx authored May 31, 2022
2 parents 7e52614 + c5c9a48 commit 2ca73eb
Show file tree
Hide file tree
Showing 5 changed files with 313 additions and 5 deletions.
62 changes: 62 additions & 0 deletions src/docs/contracts/instruments.proto
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,18 @@ service InstrumentsService {/*Сервис предназначен для по

//Метод редактирования избранных инструментов.
rpc EditFavorites (EditFavoritesRequest) returns (EditFavoritesResponse);

//Метод получения списка стран.
rpc GetCountries (GetCountriesRequest) returns (GetCountriesResponse);

//Метод поиска инструмента.
rpc FindInstrument (FindInstrumentRequest) returns (FindInstrumentResponse);

//Метод получения списка брендов.
rpc GetBrands(GetBrandsRequest) returns (GetBrandsResponse);

//Метод получения бренда по его идентификатору.
rpc GetBrandBy(GetBrandRequest) returns (Brand);
}

//Запрос расписания торгов
Expand Down Expand Up @@ -809,3 +821,53 @@ enum RealExchange {
REAL_EXCHANGE_RTS = 2; //Санкт-Петербургская биржа.
REAL_EXCHANGE_OTC = 3; //Внебиржевой инструмент.
}

//Запрос справочника стран.
message GetCountriesRequest { }

//Справочник стран.
message GetCountriesResponse {
repeated CountryResponse countries = 1; //Массив стран.
}

//Данные о стране.
message CountryResponse {
string alfa_two = 1; //Двухбуквенный код страны.
string alfa_three = 2; //Трёхбуквенный код страны.
string name = 3; //Наименование страны.
string name_brief = 4; //Краткое наименование страны.
}

//Запрос на поиск инструментов.
message FindInstrumentRequest {
string query = 1; //Строка поиска.
}

//Результат поиска инструментов.
message FindInstrumentResponse {
repeated InstrumentShort instruments = 1; //Массив инструментов, удовлетворяющих условиям поиска.
}

//Краткая информация об инструменте.
message InstrumentShort {
string isin = 1; //Isin инструмента.
string figi = 2; //Figi инструмента.
string ticker = 3; //Ticker инструмента.
string class_code = 4; //ClassCode инструмента.
string instrument_type = 5; //Тип инструмента.
string name = 6; //Название инструмента.
string uid = 7; //Уникальный идентификатор инструмента.
}

//Запрос списка брендов.
message GetBrandsRequest { }

//Запрос бренда.
message GetBrandRequest {
string id = 1; //Uid-идентификатор бренда.
}

//Список брендов.
message GetBrandsResponse {
repeated Brand brands = 1; //Массив брендов.
}
15 changes: 14 additions & 1 deletion src/docs/contracts/marketdata.proto
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ service MarketDataService { //Сервис получения биржевой
service MarketDataStreamService {
//Bi-directional стрим предоставления биржевой информации.
rpc MarketDataStream(stream MarketDataRequest) returns (stream MarketDataResponse);

//Server-side стрим предоставления биржевой информации.
rpc MarketDataServerSideStream(MarketDataServerSideStreamRequest) returns (stream MarketDataResponse);
}

//Запрос подписки или отписки на определённые биржевые данные.
Expand All @@ -46,6 +49,14 @@ message MarketDataRequest {
}
}

message MarketDataServerSideStreamRequest {
SubscribeCandlesRequest subscribe_candles_request = 1; //Запрос подписки на свечи.
SubscribeOrderBookRequest subscribe_order_book_request = 2; //Запрос подписки на стаканы.
SubscribeTradesRequest subscribe_trades_request = 3; //Запрос подписки на ленту обезличенных сделок.
SubscribeInfoRequest subscribe_info_request = 4; //Запрос подписки на торговые статусы инструментов.
SubscribeLastPriceRequest subscribe_last_price_request = 5; //Запрос подписки на последние цены.
}

//Пакет биржевой информации по подписке.
message MarketDataResponse {
oneof payload {
Expand All @@ -67,6 +78,7 @@ message MarketDataResponse {
message SubscribeCandlesRequest {
SubscriptionAction subscription_action = 1; //Изменение статуса подписки.
repeated CandleInstrument instruments = 2; //Массив инструментов для подписки на свечи.
bool waiting_close = 3; //Флаг ожидания закрытия временного интервала для отправки свечи.
}

//Тип операции со списком подписок.
Expand Down Expand Up @@ -110,8 +122,9 @@ enum SubscriptionStatus {
SUBSCRIPTION_STATUS_SUBSCRIPTION_ACTION_IS_INVALID = 3; //Некорректный статус подписки, список возможных значений: [SubscriptionAction](https://tinkoff.github.io/investAPI/marketdata#subscriptionaction).
SUBSCRIPTION_STATUS_DEPTH_IS_INVALID = 4; //Некорректная глубина стакана, доступные значения: 1, 10, 20, 30, 40, 50.
SUBSCRIPTION_STATUS_INTERVAL_IS_INVALID = 5; //Некорректный интервал свечей, список возможных значений: [SubscriptionInterval](https://tinkoff.github.io/investAPI/marketdata#subscriptioninterval).
SUBSCRIPTION_STATUS_LIMIT_IS_EXCEEDED = 6; //Превышен лимит подписок в рамках стрима, подробнее: [Лимитная политика](https://tinkoff.github.io/investAPI/limits/).
SUBSCRIPTION_STATUS_LIMIT_IS_EXCEEDED = 6; //Превышен лимит на общее количество подписок в рамках стрима, подробнее: [Лимитная политика](https://tinkoff.github.io/investAPI/limits/).
SUBSCRIPTION_STATUS_INTERNAL_ERROR = 7; //Внутренняя ошибка сервиса.
SUBSCRIPTION_STATUS_TOO_MANY_REQUESTS = 8; //Превышен лимит на количество запросов на подписки в течение установленного отрезка времени
}

//Запрос на изменение статуса подписки на стаканы.
Expand Down
4 changes: 2 additions & 2 deletions src/docs/contracts/orders.proto
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ message OrderTrade {
message PostOrderRequest {
string figi = 1; //Figi-идентификатор инструмента.
int64 quantity = 2; //Количество лотов.
Quotation price = 3; //Цена одного инструмента. Для получения стоимости лота требуется умножить на лотность инструмента.
Quotation price = 3; //Цена одного инструмента. Для получения стоимости лота требуется умножить на лотность инструмента. Игнорируется для рыночных поручений.
OrderDirection direction = 4; //Направление операции.
string account_id = 5; //Номер счёта.
OrderType order_type = 6; //Тип заявки.
Expand Down Expand Up @@ -174,4 +174,4 @@ enum OrderExecutionReportStatus {
EXECUTION_REPORT_STATUS_CANCELLED = 3; //Отменена пользователем
EXECUTION_REPORT_STATUS_NEW = 4; //Новая
EXECUTION_REPORT_STATUS_PARTIALLYFILL = 5; //Частично исполнена
}
}
Loading

0 comments on commit 2ca73eb

Please sign in to comment.