syntax = "proto3";
package tinkoff.public.invest.api.contract.v1;
import "invest/common.proto";
import "invest/orders.proto";
import "invest/operations.proto";
import "invest/users.proto";
service SandboxService { //Сервис для работы с песочницей TINKOFF INVEST API
//Метод регистрации счёта в песочнице.
rpc OpenSandboxAccount(OpenSandboxAccountRequest) returns (OpenSandboxAccountResponse);
//Метод получения счетов в песочнице.
rpc GetSandboxAccounts(GetAccountsRequest) returns (GetAccountsResponse);
//Метод закрытия счёта в песочнице.
rpc CloseSandboxAccount(CloseSandboxAccountRequest) returns (CloseSandboxAccountResponse);
//Метод выставления торгового поручения в песочнице.
rpc PostSandboxOrder(PostOrderRequest) returns (PostOrderResponse);
//Метод получения списка активных заявок по счёту в песочнице.
rpc GetSandboxOrders(GetOrdersRequest) returns (GetOrdersResponse);
//Метод отмены торгового поручения в песочнице.
rpc CancelSandboxOrder(CancelOrderRequest) returns (CancelOrderResponse);
//Метод получения статуса заявки в песочнице.
rpc GetSandboxOrderState(GetOrderStateRequest) returns (OrderState);
//Метод получения позиций по виртуальному счёту песочницы.
rpc GetSandboxPositions(PositionsRequest) returns (PositionsResponse);
//Метод получения операций в песочнице по номеру счёта.
rpc GetSandboxOperations(OperationsRequest) returns (OperationsResponse);
//Метод получения портфолио в песочнице.
rpc GetSandboxPortfolio(PortfolioRequest) returns (PortfolioResponse);
//Метод пополнения счёта в песочнице.
rpc SandboxPayIn(SandboxPayInRequest) returns (SandboxPayInResponse);
}
//Запрос открытия счёта в песочнице.
message OpenSandboxAccountRequest {
//пустой запрос
}
//Номер открытого счёта в песочнице.
message OpenSandboxAccountResponse {
string account_id = 1; //Номер счёта
}
//Запрос закрытия счёта в песочнице.
message CloseSandboxAccountRequest {
string account_id = 1; //Номер счёта
}
//Результат закрытия счёта в песочнице.
message CloseSandboxAccountResponse {
//пустой ответ
}
//Запрос пополнения счёта в песочнице.
message SandboxPayInRequest {
string account_id = 1; //Номер счёта
MoneyValue amount = 2; //Сумма пополнения счёта в рублях
}
//Результат пополнения счёта, текущий баланс.
message SandboxPayInResponse {
MoneyValue balance = 1; //Текущий баланс счёта
}