All Downloads are FREE. Search and download functionalities are using the official Maven repository.

api.java-sdk-grpc-contract.1.6.source-code.operations.proto Maven / Gradle / Ivy

There is a newer version: 1.25
Show newest version
syntax = "proto3";

package tinkoff.public.invest.api.contract.v1;

option go_package = "./;investapi";
option java_package = "ru.tinkoff.piapi.contract.v1";
option java_multiple_files = true;
option csharp_namespace = "Tinkoff.InvestApi.V1";
option objc_class_prefix = "TIAPI";
option php_namespace = "Tinkoff\\Invest\\V1";

import "google/protobuf/timestamp.proto";
import "common.proto";

service OperationsService {/*Сервис предназначен для получения:
**1**. списка операций по счёту;
**2**. портфеля по счёту;
**3**. позиций ценных бумаг на счёте;
**4**. доступного остатка для вывода средств;
**5**. получения различных отчётов.*/ //Метод получения списка операций по счёту.При работе с данным методом необходимо учитывать // [особенности взаимодействия](/investAPI/operations_problems) с данным методом. rpc GetOperations(OperationsRequest) returns (OperationsResponse); //Метод получения портфеля по счёту. rpc GetPortfolio(PortfolioRequest) returns (PortfolioResponse); //Метод получения списка позиций по счёту. rpc GetPositions(PositionsRequest) returns (PositionsResponse); //Метод получения доступного остатка для вывода средств. rpc GetWithdrawLimits(WithdrawLimitsRequest) returns (WithdrawLimitsResponse); //Метод получения брокерского отчёта. rpc GetBrokerReport(BrokerReportRequest) returns (BrokerReportResponse); //Метод получения отчёта "Справка о доходах за пределами РФ". rpc GetDividendsForeignIssuer(GetDividendsForeignIssuerRequest) returns (GetDividendsForeignIssuerResponse); //Метод получения списка операций по счёту с пагинацией. При работе с данным методом необходимо учитывать // [особенности взаимодействия](/investAPI/operations_problems) с данным методом. rpc GetOperationsByCursor(GetOperationsByCursorRequest) returns (GetOperationsByCursorResponse); } service OperationsStreamService { //Server-side stream обновлений портфеля rpc PortfolioStream(PortfolioStreamRequest) returns (stream PortfolioStreamResponse); //Server-side stream обновлений информации по изменению позиций портфеля rpc PositionsStream(PositionsStreamRequest) returns (stream PositionsStreamResponse); } //Запрос получения списка операций по счёту. message OperationsRequest { string account_id = 1; //Идентификатор счёта клиента. google.protobuf.Timestamp from = 2; //Начало периода (по UTC). google.protobuf.Timestamp to = 3; //Окончание периода (по UTC). OperationState state = 4; //Статус запрашиваемых операций. string figi = 5; //Figi-идентификатор инструмента для фильтрации. } //Список операций. message OperationsResponse { repeated Operation operations = 1; //Массив операций. } //Данные по операции. message Operation { string id = 1; //Идентификатор операции. string parent_operation_id = 2; //Идентификатор родительской операции. string currency = 3; //Валюта операции. MoneyValue payment = 4; //Сумма операции. MoneyValue price = 5; //Цена операции за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента. OperationState state = 6; //Статус операции. int64 quantity = 7; //Количество единиц инструмента. int64 quantity_rest = 8; //Неисполненный остаток по сделке. string figi = 9; //Figi-идентификатор инструмента, связанного с операцией. string instrument_type = 10; //Тип инструмента. Возможные значения:
**bond** — облигация;
**share** — акция;
**currency** — валюта;
**etf** — фонд;
**futures** — фьючерс. google.protobuf.Timestamp date = 11; //Дата и время операции в формате часовом поясе UTC. string type = 12; //Текстовое описание типа операции. OperationType operation_type = 13; //Тип операции. repeated OperationTrade trades = 14; //Массив сделок. string asset_uid = 16; //Идентификатор актива string position_uid = 17; //position_uid-идентификатора инструмента. string instrument_uid = 18; //Уникальный идентификатор инструмента. } //Сделка по операции. message OperationTrade { string trade_id = 1; //Идентификатор сделки. google.protobuf.Timestamp date_time = 2; //Дата и время сделки в часовом поясе UTC. int64 quantity = 3; //Количество инструментов. MoneyValue price = 4; //Цена за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента. } //Запрос получения текущего портфеля по счёту. message PortfolioRequest { string account_id = 1; //Идентификатор счёта пользователя. CurrencyRequest currency = 2; //Валюта, в которой требуется рассчитать портфель enum CurrencyRequest { RUB = 0; //Рубли USD = 1; //Доллары EUR = 2; //Евро } } //Текущий портфель по счёту. message PortfolioResponse { MoneyValue total_amount_shares = 1; //Общая стоимость акций в портфеле. MoneyValue total_amount_bonds = 2; //Общая стоимость облигаций в портфеле. MoneyValue total_amount_etf = 3; //Общая стоимость фондов в портфеле. MoneyValue total_amount_currencies = 4; //Общая стоимость валют в портфеле. MoneyValue total_amount_futures = 5; //Общая стоимость фьючерсов в портфеле. Quotation expected_yield = 6; //Текущая относительная доходность портфеля, в %. repeated PortfolioPosition positions = 7; //Список позиций портфеля. string account_id = 8; //Идентификатор счёта пользователя. MoneyValue total_amount_options = 9; //Общая стоимость опционов в портфеле. MoneyValue total_amount_sp = 10; //Общая стоимость структурных нот в портфеле. MoneyValue total_amount_portfolio = 11; //Общая стоимость портфеля. repeated VirtualPortfolioPosition virtual_positions = 12; //Массив виртуальных позиций портфеля. } //Запрос позиций портфеля по счёту. message PositionsRequest { string account_id = 1; //Идентификатор счёта пользователя. } //Список позиций по счёту. message PositionsResponse { repeated MoneyValue money = 1; //Массив валютных позиций портфеля. repeated MoneyValue blocked = 2; //Массив заблокированных валютных позиций портфеля. repeated PositionsSecurities securities = 3; //Список ценно-бумажных позиций портфеля. bool limits_loading_in_progress = 4; //Признак идущей в данный момент выгрузки лимитов. repeated PositionsFutures futures = 5; //Список фьючерсов портфеля. repeated PositionsOptions options = 6; //Список опционов портфеля. } //Запрос доступного для вывода остатка. message WithdrawLimitsRequest { string account_id = 1; //Идентификатор счёта пользователя. } //Доступный для вывода остаток. message WithdrawLimitsResponse { repeated MoneyValue money = 1; //Массив валютных позиций портфеля. repeated MoneyValue blocked = 2; //Массив заблокированных валютных позиций портфеля. repeated MoneyValue blocked_guarantee = 3; //Заблокировано под гарантийное обеспечение фьючерсов. } //Позиции портфеля. message PortfolioPosition { string figi = 1; //Figi-идентификатора инструмента. string instrument_type = 2; //Тип инструмента. Quotation quantity = 3; //Количество инструмента в портфеле в штуках. MoneyValue average_position_price = 4; //Средневзвешенная цена позиции. **Возможна задержка до секунды для пересчёта**. Quotation expected_yield = 5; //Текущая рассчитанная доходность позиции. MoneyValue current_nkd = 6; // Текущий НКД. Quotation average_position_price_pt = 7 [ deprecated = true ]; // Deprecated Средняя цена позиции в пунктах (для фьючерсов). **Возможна задержка до секунды для пересчёта**. MoneyValue current_price = 8; //Текущая цена за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента. MoneyValue average_position_price_fifo = 9; //Средняя цена позиции по методу FIFO. **Возможна задержка до секунды для пересчёта**. Quotation quantity_lots = 10 [ deprecated = true ]; //Deprecated Количество лотов в портфеле. bool blocked = 21; //Заблокировано на бирже. Quotation blocked_lots = 22; //Количество бумаг, заблокированных выставленными заявками. string position_uid = 24; //position_uid-идентификатора инструмента string instrument_uid = 25; //instrument_uid-идентификатора инструмента MoneyValue var_margin = 26; //Вариационная маржа Quotation expected_yield_fifo = 27; //Текущая рассчитанная доходность позиции. } message VirtualPortfolioPosition { string position_uid = 1; //position_uid-идентификатора инструмента string instrument_uid = 2; //instrument_uid-идентификатора инструмента string figi = 3; //Figi-идентификатора инструмента. string instrument_type = 4; //Тип инструмента. Quotation quantity = 5; //Количество инструмента в портфеле в штуках. MoneyValue average_position_price = 6; //Средневзвешенная цена позиции. **Возможна задержка до секунды для пересчёта**. Quotation expected_yield = 7; //Текущая рассчитанная доходность позиции. Quotation expected_yield_fifo = 8; //Текущая рассчитанная доходность позиции. google.protobuf.Timestamp expire_date = 9; //Дата до которой нужно продать виртуальные бумаги, после этой даты виртуальная позиция "сгорит" MoneyValue current_price = 10; //Текущая цена за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента. MoneyValue average_position_price_fifo = 11; //Средняя цена позиции по методу FIFO. **Возможна задержка до секунды для пересчёта**. } //Баланс позиции ценной бумаги. message PositionsSecurities { string figi = 1; //Figi-идентификатор бумаги. int64 blocked = 2; //Количество бумаг заблокированных выставленными заявками. int64 balance = 3; //Текущий незаблокированный баланс. string position_uid = 4; //Уникальный идентификатор позиции. string instrument_uid = 5; //Уникальный идентификатор инструмента. bool exchange_blocked = 11; //Заблокировано на бирже. string instrument_type = 16; //Тип инструмента. } //Баланс фьючерса. message PositionsFutures { string figi = 1; //Figi-идентификатор фьючерса. int64 blocked = 2; //Количество бумаг заблокированных выставленными заявками. int64 balance = 3; //Текущий незаблокированный баланс. string position_uid = 4; //Уникальный идентификатор позиции. string instrument_uid = 5; //Уникальный идентификатор инструмента. } //Баланс опциона. message PositionsOptions { string position_uid = 1; //Уникальный идентификатор позиции опциона. string instrument_uid = 2; //Уникальный идентификатор инструмента. int64 blocked = 11; //Количество бумаг заблокированных выставленными заявками. int64 balance = 21; //Текущий незаблокированный баланс. } message BrokerReportRequest { oneof payload { GenerateBrokerReportRequest generate_broker_report_request = 1; GetBrokerReportRequest get_broker_report_request = 2; } } message BrokerReportResponse { oneof payload { GenerateBrokerReportResponse generate_broker_report_response = 1; GetBrokerReportResponse get_broker_report_response = 2; } } message GenerateBrokerReportRequest { string account_id = 1; //Идентификатор счёта клиента. google.protobuf.Timestamp from = 2; //Начало периода в часовом поясе UTC. google.protobuf.Timestamp to = 3; //Окончание периода в часовом поясе UTC. } message GenerateBrokerReportResponse { string task_id = 1; //Идентификатор задачи формирования брокерского отчёта. } message GetBrokerReportRequest { string task_id = 1; //Идентификатор задачи формирования брокерского отчёта. int32 page = 2; //Номер страницы отчета (начинается с 1), значение по умолчанию: 0. } message GetBrokerReportResponse { repeated BrokerReport broker_report = 1; int32 itemsCount = 2; //Количество записей в отчете. int32 pagesCount = 3; //Количество страниц с данными отчета (начинается с 0). int32 page = 4; //Текущая страница (начинается с 0). } message BrokerReport { string trade_id = 1;//Номер сделки. string order_id = 2; //Номер поручения. string figi = 3; //Figi-идентификатор инструмента. string execute_sign = 4; //Признак исполнения. google.protobuf.Timestamp trade_datetime = 5; //Дата и время заключения в часовом поясе UTC. string exchange = 6; //Торговая площадка. string class_code = 7; //Режим торгов. string direction = 8; //Вид сделки. string name = 9; //Сокращённое наименование актива. string ticker = 10; //Код актива. MoneyValue price = 11; //Цена за единицу. int64 quantity = 12; //Количество. MoneyValue order_amount = 13; //Сумма (без НКД). Quotation aci_value = 14; //НКД. MoneyValue total_order_amount = 15; //Сумма сделки. MoneyValue broker_commission = 16; //Комиссия брокера. MoneyValue exchange_commission = 17; //Комиссия биржи. MoneyValue exchange_clearing_commission = 18; //Комиссия клир. центра. Quotation repo_rate = 19; //Ставка РЕПО (%). string party = 20; //Контрагент/Брокер. google.protobuf.Timestamp clear_value_date = 21; //Дата расчётов в часовом поясе UTC. google.protobuf.Timestamp sec_value_date = 22; //Дата поставки в часовом поясе UTC. string broker_status = 23; //Статус брокера. string separate_agreement_type = 24; //Тип дог. string separate_agreement_number = 25; //Номер дог. string separate_agreement_date = 26; //Дата дог. string delivery_type = 27; //Тип расчёта по сделке. } //Статус запрашиваемых операций. enum OperationState { OPERATION_STATE_UNSPECIFIED = 0; //Статус операции не определён OPERATION_STATE_EXECUTED = 1; //Исполнена. OPERATION_STATE_CANCELED = 2; //Отменена. OPERATION_STATE_PROGRESS = 3; //Исполняется. } //Тип операции. enum OperationType { OPERATION_TYPE_UNSPECIFIED = 0; //Тип операции не определён. OPERATION_TYPE_INPUT = 1; //Пополнение брокерского счёта. OPERATION_TYPE_BOND_TAX = 2; //Удержание НДФЛ по купонам. OPERATION_TYPE_OUTPUT_SECURITIES = 3; //Вывод ЦБ. OPERATION_TYPE_OVERNIGHT = 4; //Доход по сделке РЕПО овернайт. OPERATION_TYPE_TAX = 5; //Удержание налога. OPERATION_TYPE_BOND_REPAYMENT_FULL = 6; //Полное погашение облигаций. OPERATION_TYPE_SELL_CARD = 7; //Продажа ЦБ с карты. OPERATION_TYPE_DIVIDEND_TAX = 8; //Удержание налога по дивидендам. OPERATION_TYPE_OUTPUT = 9; //Вывод денежных средств. OPERATION_TYPE_BOND_REPAYMENT = 10; //Частичное погашение облигаций. OPERATION_TYPE_TAX_CORRECTION = 11; //Корректировка налога. OPERATION_TYPE_SERVICE_FEE = 12; //Удержание комиссии за обслуживание брокерского счёта. OPERATION_TYPE_BENEFIT_TAX = 13; //Удержание налога за материальную выгоду. OPERATION_TYPE_MARGIN_FEE = 14; //Удержание комиссии за непокрытую позицию. OPERATION_TYPE_BUY = 15; //Покупка ЦБ. OPERATION_TYPE_BUY_CARD = 16; //Покупка ЦБ с карты. OPERATION_TYPE_INPUT_SECURITIES = 17; //Перевод ценных бумаг из другого депозитария. OPERATION_TYPE_SELL_MARGIN = 18; //Продажа в результате Margin-call. OPERATION_TYPE_BROKER_FEE = 19; //Удержание комиссии за операцию. OPERATION_TYPE_BUY_MARGIN = 20; //Покупка в результате Margin-call. OPERATION_TYPE_DIVIDEND = 21; //Выплата дивидендов. OPERATION_TYPE_SELL = 22; //Продажа ЦБ. OPERATION_TYPE_COUPON = 23; //Выплата купонов. OPERATION_TYPE_SUCCESS_FEE = 24; //Удержание комиссии SuccessFee. OPERATION_TYPE_DIVIDEND_TRANSFER = 25; //Передача дивидендного дохода. OPERATION_TYPE_ACCRUING_VARMARGIN = 26; //Зачисление вариационной маржи. OPERATION_TYPE_WRITING_OFF_VARMARGIN = 27; //Списание вариационной маржи. OPERATION_TYPE_DELIVERY_BUY = 28; //Покупка в рамках экспирации фьючерсного контракта. OPERATION_TYPE_DELIVERY_SELL = 29; //Продажа в рамках экспирации фьючерсного контракта. OPERATION_TYPE_TRACK_MFEE = 30; //Комиссия за управление по счёту автоследования. OPERATION_TYPE_TRACK_PFEE = 31; //Комиссия за результат по счёту автоследования. OPERATION_TYPE_TAX_PROGRESSIVE = 32; //Удержание налога по ставке 15%. OPERATION_TYPE_BOND_TAX_PROGRESSIVE = 33; //Удержание налога по купонам по ставке 15%. OPERATION_TYPE_DIVIDEND_TAX_PROGRESSIVE = 34; //Удержание налога по дивидендам по ставке 15%. OPERATION_TYPE_BENEFIT_TAX_PROGRESSIVE = 35; //Удержание налога за материальную выгоду по ставке 15%. OPERATION_TYPE_TAX_CORRECTION_PROGRESSIVE = 36; //Корректировка налога по ставке 15%. OPERATION_TYPE_TAX_REPO_PROGRESSIVE = 37; //Удержание налога за возмещение по сделкам РЕПО по ставке 15%. OPERATION_TYPE_TAX_REPO = 38; //Удержание налога за возмещение по сделкам РЕПО. OPERATION_TYPE_TAX_REPO_HOLD = 39; //Удержание налога по сделкам РЕПО. OPERATION_TYPE_TAX_REPO_REFUND = 40; //Возврат налога по сделкам РЕПО. OPERATION_TYPE_TAX_REPO_HOLD_PROGRESSIVE = 41; //Удержание налога по сделкам РЕПО по ставке 15%. OPERATION_TYPE_TAX_REPO_REFUND_PROGRESSIVE = 42; //Возврат налога по сделкам РЕПО по ставке 15%. OPERATION_TYPE_DIV_EXT = 43; //Выплата дивидендов на карту. OPERATION_TYPE_TAX_CORRECTION_COUPON = 44; //Корректировка налога по купонам. OPERATION_TYPE_CASH_FEE = 45; //Комиссия за валютный остаток. OPERATION_TYPE_OUT_FEE = 46; //Комиссия за вывод валюты с брокерского счета. OPERATION_TYPE_OUT_STAMP_DUTY = 47; //Гербовый сбор. OPERATION_TYPE_OUTPUT_SWIFT = 50; // SWIFT-перевод OPERATION_TYPE_INPUT_SWIFT = 51; // SWIFT-перевод OPERATION_TYPE_OUTPUT_ACQUIRING = 53; // Перевод на карту OPERATION_TYPE_INPUT_ACQUIRING = 54; // Перевод с карты OPERATION_TYPE_OUTPUT_PENALTY = 55; // Комиссия за вывод средств OPERATION_TYPE_ADVICE_FEE = 56; // Списание оплаты за сервис Советов OPERATION_TYPE_TRANS_IIS_BS = 57; // Перевод ценных бумаг с ИИС на Брокерский счет OPERATION_TYPE_TRANS_BS_BS = 58; // Перевод ценных бумаг с одного брокерского счета на другой OPERATION_TYPE_OUT_MULTI = 59; // Вывод денежных средств со счета OPERATION_TYPE_INP_MULTI = 60; // Пополнение денежных средств со счета OPERATION_TYPE_OVER_PLACEMENT = 61; // Размещение биржевого овернайта OPERATION_TYPE_OVER_COM = 62; // Списание комиссии OPERATION_TYPE_OVER_INCOME = 63; // Доход от оверанайта OPERATION_TYPE_OPTION_EXPIRATION = 64; // Экспирация } message GetDividendsForeignIssuerRequest { oneof payload { GenerateDividendsForeignIssuerReportRequest generate_div_foreign_issuer_report = 1; //Объект запроса формирования отчёта. GetDividendsForeignIssuerReportRequest get_div_foreign_issuer_report = 2; //Объект запроса сформированного отчёта. } } message GetDividendsForeignIssuerResponse { oneof payload { GenerateDividendsForeignIssuerReportResponse generate_div_foreign_issuer_report_response = 1; //Объект результата задачи запуска формирования отчёта. GetDividendsForeignIssuerReportResponse div_foreign_issuer_report = 2; //Отчёт "Справка о доходах за пределами РФ". } } //Объект запроса формирования отчёта "Справка о доходах за пределами РФ". message GenerateDividendsForeignIssuerReportRequest { string account_id = 1; //Идентификатор счёта клиента. google.protobuf.Timestamp from = 2; //Начало периода (по UTC). google.protobuf.Timestamp to = 3; //Окончание периода (по UTC). } // Объект запроса сформированного отчёта "Справка о доходах за пределами РФ". message GetDividendsForeignIssuerReportRequest { string task_id = 1; //Идентификатор задачи формирования отчёта. int32 page = 2; //Номер страницы отчета (начинается с 0), значение по умолчанию: 0. } // Объект результата задачи запуска формирования отчёта "Справка о доходах за пределами РФ". message GenerateDividendsForeignIssuerReportResponse { string task_id = 1; //Идентификатор задачи формирования отчёта. } message GetDividendsForeignIssuerReportResponse { repeated DividendsForeignIssuerReport dividends_foreign_issuer_report = 1; int32 itemsCount = 2; //Количество записей в отчете. int32 pagesCount = 3; //Количество страниц с данными отчета (начинается с 0). int32 page = 4; //Текущая страница (начинается с 0). } // Отчёт "Справка о доходах за пределами РФ". message DividendsForeignIssuerReport { google.protobuf.Timestamp record_date = 1; //Дата фиксации реестра. google.protobuf.Timestamp payment_date = 2; //Дата выплаты. string security_name = 3; //Наименование ценной бумаги. string isin = 4; //ISIN-идентификатор ценной бумаги. string issuer_country = 5; //Страна эмитента. Для депозитарных расписок указывается страна эмитента базового актива. int64 quantity = 6; //Количество ценных бумаг. Quotation dividend = 7; //Выплаты на одну бумагу Quotation external_commission = 8; //Комиссия внешних платёжных агентов. Quotation dividend_gross = 9; //Сумма до удержания налога. Quotation tax = 10; //Сумма налога, удержанного агентом. Quotation dividend_amount = 11; //Итоговая сумма выплаты. string currency = 12; //Валюта. } //Запрос установки stream-соединения. message PortfolioStreamRequest { repeated string accounts = 1; //Массив идентификаторов счётов пользователя } //Информация по позициям и доходностям портфелей. message PortfolioStreamResponse { oneof payload { PortfolioSubscriptionResult subscriptions = 1; //Объект результата подписки. PortfolioResponse portfolio = 2; //Объект стриминга портфеля. Ping ping = 3; //Проверка активности стрима. } } //Объект результата подписки. message PortfolioSubscriptionResult { repeated AccountSubscriptionStatus accounts = 1; //Массив счетов клиента. } //Счет клиента. message AccountSubscriptionStatus { string account_id = 1; //Идентификатор счёта PortfolioSubscriptionStatus subscription_status = 6; //Результат подписки. } //Результат подписки. enum PortfolioSubscriptionStatus { PORTFOLIO_SUBSCRIPTION_STATUS_UNSPECIFIED = 0; //Тип не определён. PORTFOLIO_SUBSCRIPTION_STATUS_SUCCESS = 1; //Успешно. PORTFOLIO_SUBSCRIPTION_STATUS_ACCOUNT_NOT_FOUND = 2; //Счёт не найден или недостаточно прав. PORTFOLIO_SUBSCRIPTION_STATUS_INTERNAL_ERROR = 3; //Произошла ошибка. } //Запрос списка операций по счёту с пагинацией. message GetOperationsByCursorRequest { string account_id = 1; //Идентификатор счёта клиента. Обязательный параметр для данного метода, остальные параметры опциональны. string instrument_id = 2; //Идентификатор инструмента (Figi инструмента или uid инструмента) google.protobuf.Timestamp from = 6; //Начало периода (по UTC). google.protobuf.Timestamp to = 7; //Окончание периода (по UTC). string cursor = 11; //Идентификатор элемента, с которого начать формировать ответ. int32 limit = 12; //Лимит количества операций. По умолчанию устанавливается значение **100**, максимальное значение 1000. repeated OperationType operation_types = 13; //Тип операции. Принимает значение из списка OperationType. OperationState state = 14; //Статус запрашиваемых операций, возможные значения указаны в OperationState. bool without_commissions = 15; //Флаг возвращать ли комиссии, по умолчанию false bool without_trades = 16; //Флаг получения ответа без массива сделок. bool without_overnights = 17; //Флаг не показывать overnight операций. } //Список операций по счёту с пагинацией. message GetOperationsByCursorResponse { bool has_next = 1; //Признак, есть ли следующий элемент. string next_cursor = 2; //Следующий курсор. repeated OperationItem items = 6; //Список операций. } //Данные об операции. message OperationItem { string cursor = 1; //Курсор. string broker_account_id = 6; //Номер счета клиента. string id = 16; //Идентификатор операции, может меняться с течением времени. string parent_operation_id = 17; //Идентификатор родительской операции, может измениться, если изменился id родительской операции. string name = 18; //Название операции. google.protobuf.Timestamp date = 21; //Дата поручения. OperationType type = 22; //Тип операции. string description = 23; //Описание операции. OperationState state = 24; //Статус поручения. string instrument_uid = 31; //Уникальный идентификатор инструмента. string figi = 32; //Figi. string instrument_type = 33; //Тип инструмента. InstrumentType instrument_kind = 34; //Тип инструмента. string position_uid = 35; //position_uid-идентификатора инструмента. MoneyValue payment = 41; //Сумма операции. MoneyValue price = 42; //Цена операции за 1 инструмент. MoneyValue commission = 43; //Комиссия. MoneyValue yield = 44; //Доходность. Quotation yield_relative = 45; //Относительная доходность. MoneyValue accrued_int = 46; //Накопленный купонный доход. int64 quantity = 51; //Количество единиц инструмента. int64 quantity_rest = 52; //Неисполненный остаток по сделке. int64 quantity_done = 53; //Исполненный остаток. google.protobuf.Timestamp cancel_date_time = 56; //Дата и время снятия заявки. string cancel_reason = 57; //Причина отмены операции. OperationItemTrades trades_info = 61; //Массив сделок. string asset_uid = 64; //Идентификатор актива } //Массив с информацией о сделках. message OperationItemTrades { repeated OperationItemTrade trades = 6; } //Сделка по операции. message OperationItemTrade { string num = 1; //Номер сделки google.protobuf.Timestamp date = 6; //Дата сделки int64 quantity = 11; //Количество в единицах. MoneyValue price = 16; //Цена. MoneyValue yield = 21; //Доходность. Quotation yield_relative = 22; //Относительная доходность. } //Запрос установки stream-соединения позиций. message PositionsStreamRequest { repeated string accounts = 1; //Массив идентификаторов счётов пользователя } //Информация по изменению позиций портфеля. message PositionsStreamResponse { oneof payload { PositionsSubscriptionResult subscriptions = 1; //Объект результата подписки. PositionData position = 2; //Объект стриминга позиций. Ping ping = 3; //Проверка активности стрима. } } //Объект результата подписки. message PositionsSubscriptionResult { repeated PositionsSubscriptionStatus accounts = 1; //Массив счетов клиента. } //Счет клиента. message PositionsSubscriptionStatus { string account_id = 1; //Идентификатор счёта PositionsAccountSubscriptionStatus subscription_status = 6; //Результат подписки. } //Результат подписки. enum PositionsAccountSubscriptionStatus { POSITIONS_SUBSCRIPTION_STATUS_UNSPECIFIED = 0; //Тип не определён. POSITIONS_SUBSCRIPTION_STATUS_SUCCESS = 1; //Успешно. POSITIONS_SUBSCRIPTION_STATUS_ACCOUNT_NOT_FOUND = 2; //Счёт не найден или недостаточно прав. POSITIONS_SUBSCRIPTION_STATUS_INTERNAL_ERROR = 3; //Произошла ошибка. } //Данные о позиции портфеля. message PositionData { string account_id = 1; //Идентификатор счёта. repeated PositionsMoney money = 2; //Массив валютных позиций портфеля. repeated PositionsSecurities securities = 3; //Список ценно-бумажных позиций портфеля. repeated PositionsFutures futures = 4; //Список фьючерсов портфеля. repeated PositionsOptions options = 5; //Список опционов портфеля. google.protobuf.Timestamp date = 6; //Дата и время операции в формате UTC. } //Валютная позиция портфеля. message PositionsMoney { MoneyValue available_value = 1; //Доступное количество валютный позиций. MoneyValue blocked_value = 2; //Заблокированное количество валютный позиций. }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy