@tinkoff/invest-js
Version:
T-Invest OpenAPI Client
263 lines (262 loc) • 17.7 kB
TypeScript
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { type CallContext, type CallOptions } from "nice-grpc-common";
import { MoneyValue } from "./common";
import { GetOperationsByCursorRequest, GetOperationsByCursorResponse, OperationsRequest, OperationsResponse, PortfolioRequest, PortfolioResponse, PositionsRequest, PositionsResponse, WithdrawLimitsRequest, WithdrawLimitsResponse } from "./operations";
import { CancelOrderRequest, CancelOrderResponse, GetMaxLotsRequest, GetMaxLotsResponse, GetOrdersRequest, GetOrdersResponse, GetOrderStateRequest, OrderState, PostOrderRequest, PostOrderResponse, ReplaceOrderRequest } from "./orders";
import { GetAccountsRequest, GetAccountsResponse } from "./users";
/** Запрос открытия счёта в песочнице. */
export interface OpenSandboxAccountRequest {
/** Название счёта */
name?: string | undefined;
}
/** Номер открытого счёта в песочнице. */
export interface OpenSandboxAccountResponse {
/** Номер счёта */
accountId: string;
}
/** Запрос закрытия счёта в песочнице. */
export interface CloseSandboxAccountRequest {
/** Номер счёта */
accountId: string;
}
/** Результат закрытия счёта в песочнице. */
export interface CloseSandboxAccountResponse {
}
/** Запрос пополнения счёта в песочнице. */
export interface SandboxPayInRequest {
/** Номер счёта */
accountId: string;
/** Сумма пополнения счёта в рублях */
amount: MoneyValue | undefined;
}
/** Результат пополнения счёта, текущий баланс. */
export interface SandboxPayInResponse {
/** Текущий баланс счёта */
balance: MoneyValue | undefined;
}
interface MessageFns<T> {
encode(message: T, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): T;
fromJSON(object: any): T;
toJSON(message: T): unknown;
create(base?: DeepPartial<T>): T;
fromPartial(object: DeepPartial<T>): T;
}
export declare const OpenSandboxAccountRequest: MessageFns<OpenSandboxAccountRequest>;
export declare const OpenSandboxAccountResponse: MessageFns<OpenSandboxAccountResponse>;
export declare const CloseSandboxAccountRequest: MessageFns<CloseSandboxAccountRequest>;
export declare const CloseSandboxAccountResponse: MessageFns<CloseSandboxAccountResponse>;
export declare const SandboxPayInRequest: MessageFns<SandboxPayInRequest>;
export declare const SandboxPayInResponse: MessageFns<SandboxPayInResponse>;
/** Методы для работы с песочницей T-Invest API */
export type SandboxServiceDefinition = typeof SandboxServiceDefinition;
export declare const SandboxServiceDefinition: {
readonly name: "SandboxService";
readonly fullName: "tinkoff.public.invest.api.contract.v1.SandboxService";
readonly methods: {
/** Зарегистрировать счёт. */
readonly openSandboxAccount: {
readonly name: "OpenSandboxAccount";
readonly requestType: MessageFns<OpenSandboxAccountRequest>;
readonly requestStream: false;
readonly responseType: MessageFns<OpenSandboxAccountResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Получить счета. */
readonly getSandboxAccounts: {
readonly name: "GetSandboxAccounts";
readonly requestType: import("./users").MessageFns<GetAccountsRequest>;
readonly requestStream: false;
readonly responseType: import("./users").MessageFns<GetAccountsResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Закрыть счёт. */
readonly closeSandboxAccount: {
readonly name: "CloseSandboxAccount";
readonly requestType: MessageFns<CloseSandboxAccountRequest>;
readonly requestStream: false;
readonly responseType: MessageFns<CloseSandboxAccountResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Выставить торговое поручение. */
readonly postSandboxOrder: {
readonly name: "PostSandboxOrder";
readonly requestType: import("./orders").OrdersMessageUtils.MessageFns<PostOrderRequest>;
readonly requestStream: false;
readonly responseType: import("./orders").OrdersMessageUtils.MessageFns<PostOrderResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Изменить выставленную заявку. */
readonly replaceSandboxOrder: {
readonly name: "ReplaceSandboxOrder";
readonly requestType: import("./orders").OrdersMessageUtils.MessageFns<ReplaceOrderRequest>;
readonly requestStream: false;
readonly responseType: import("./orders").OrdersMessageUtils.MessageFns<PostOrderResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Получить список активных заявок по счёту. */
readonly getSandboxOrders: {
readonly name: "GetSandboxOrders";
readonly requestType: import("./orders").OrdersMessageUtils.MessageFns<GetOrdersRequest>;
readonly requestStream: false;
readonly responseType: import("./orders").OrdersMessageUtils.MessageFns<GetOrdersResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Отменить торговое поручение. */
readonly cancelSandboxOrder: {
readonly name: "CancelSandboxOrder";
readonly requestType: import("./orders").OrdersMessageUtils.MessageFns<CancelOrderRequest>;
readonly requestStream: false;
readonly responseType: import("./orders").OrdersMessageUtils.MessageFns<CancelOrderResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Поулчить статус заявки в песочнице. Заявки хранятся в таблице 7 дней. */
readonly getSandboxOrderState: {
readonly name: "GetSandboxOrderState";
readonly requestType: import("./orders").OrdersMessageUtils.MessageFns<GetOrderStateRequest>;
readonly requestStream: false;
readonly responseType: import("./orders").OrdersMessageUtils.MessageFns<OrderState>;
readonly responseStream: false;
readonly options: {};
};
/** Получить позиции по виртуальному счёту. */
readonly getSandboxPositions: {
readonly name: "GetSandboxPositions";
readonly requestType: import("./operations").OperationsUtils.MessageFns<PositionsRequest>;
readonly requestStream: false;
readonly responseType: import("./operations").OperationsUtils.MessageFns<PositionsResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Получить операции по номеру счёта. */
readonly getSandboxOperations: {
readonly name: "GetSandboxOperations";
readonly requestType: import("./operations").OperationsUtils.MessageFns<OperationsRequest>;
readonly requestStream: false;
readonly responseType: import("./operations").OperationsUtils.MessageFns<OperationsResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Получить операции по номеру счёта с пагинацией. */
readonly getSandboxOperationsByCursor: {
readonly name: "GetSandboxOperationsByCursor";
readonly requestType: import("./operations").OperationsUtils.MessageFns<GetOperationsByCursorRequest>;
readonly requestStream: false;
readonly responseType: import("./operations").OperationsUtils.MessageFns<GetOperationsByCursorResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Получить портфель. */
readonly getSandboxPortfolio: {
readonly name: "GetSandboxPortfolio";
readonly requestType: import("./operations").OperationsUtils.MessageFns<PortfolioRequest>;
readonly requestStream: false;
readonly responseType: import("./operations").OperationsUtils.MessageFns<PortfolioResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Пополнить счёт. */
readonly sandboxPayIn: {
readonly name: "SandboxPayIn";
readonly requestType: MessageFns<SandboxPayInRequest>;
readonly requestStream: false;
readonly responseType: MessageFns<SandboxPayInResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Получить доступный остаток для вывода средств. */
readonly getSandboxWithdrawLimits: {
readonly name: "GetSandboxWithdrawLimits";
readonly requestType: import("./operations").OperationsUtils.MessageFns<WithdrawLimitsRequest>;
readonly requestStream: false;
readonly responseType: import("./operations").OperationsUtils.MessageFns<WithdrawLimitsResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Расчёт количества доступных для покупки/продажи лотов в песочнице. */
readonly getSandboxMaxLots: {
readonly name: "GetSandboxMaxLots";
readonly requestType: import("./orders").OrdersMessageUtils.MessageFns<GetMaxLotsRequest>;
readonly requestStream: false;
readonly responseType: import("./orders").OrdersMessageUtils.MessageFns<GetMaxLotsResponse>;
readonly responseStream: false;
readonly options: {};
};
};
};
export interface SandboxServiceImplementation<CallContextExt = {}> {
/** Зарегистрировать счёт. */
openSandboxAccount(request: OpenSandboxAccountRequest, context: CallContext & CallContextExt): Promise<DeepPartial<OpenSandboxAccountResponse>>;
/** Получить счета. */
getSandboxAccounts(request: GetAccountsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetAccountsResponse>>;
/** Закрыть счёт. */
closeSandboxAccount(request: CloseSandboxAccountRequest, context: CallContext & CallContextExt): Promise<DeepPartial<CloseSandboxAccountResponse>>;
/** Выставить торговое поручение. */
postSandboxOrder(request: PostOrderRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PostOrderResponse>>;
/** Изменить выставленную заявку. */
replaceSandboxOrder(request: ReplaceOrderRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PostOrderResponse>>;
/** Получить список активных заявок по счёту. */
getSandboxOrders(request: GetOrdersRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetOrdersResponse>>;
/** Отменить торговое поручение. */
cancelSandboxOrder(request: CancelOrderRequest, context: CallContext & CallContextExt): Promise<DeepPartial<CancelOrderResponse>>;
/** Поулчить статус заявки в песочнице. Заявки хранятся в таблице 7 дней. */
getSandboxOrderState(request: GetOrderStateRequest, context: CallContext & CallContextExt): Promise<DeepPartial<OrderState>>;
/** Получить позиции по виртуальному счёту. */
getSandboxPositions(request: PositionsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PositionsResponse>>;
/** Получить операции по номеру счёта. */
getSandboxOperations(request: OperationsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<OperationsResponse>>;
/** Получить операции по номеру счёта с пагинацией. */
getSandboxOperationsByCursor(request: GetOperationsByCursorRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetOperationsByCursorResponse>>;
/** Получить портфель. */
getSandboxPortfolio(request: PortfolioRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PortfolioResponse>>;
/** Пополнить счёт. */
sandboxPayIn(request: SandboxPayInRequest, context: CallContext & CallContextExt): Promise<DeepPartial<SandboxPayInResponse>>;
/** Получить доступный остаток для вывода средств. */
getSandboxWithdrawLimits(request: WithdrawLimitsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<WithdrawLimitsResponse>>;
/** Расчёт количества доступных для покупки/продажи лотов в песочнице. */
getSandboxMaxLots(request: GetMaxLotsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetMaxLotsResponse>>;
}
export interface SandboxServiceClient<CallOptionsExt = {}> {
/** Зарегистрировать счёт. */
openSandboxAccount(request: DeepPartial<OpenSandboxAccountRequest>, options?: CallOptions & CallOptionsExt): Promise<OpenSandboxAccountResponse>;
/** Получить счета. */
getSandboxAccounts(request: DeepPartial<GetAccountsRequest>, options?: CallOptions & CallOptionsExt): Promise<GetAccountsResponse>;
/** Закрыть счёт. */
closeSandboxAccount(request: DeepPartial<CloseSandboxAccountRequest>, options?: CallOptions & CallOptionsExt): Promise<CloseSandboxAccountResponse>;
/** Выставить торговое поручение. */
postSandboxOrder(request: DeepPartial<PostOrderRequest>, options?: CallOptions & CallOptionsExt): Promise<PostOrderResponse>;
/** Изменить выставленную заявку. */
replaceSandboxOrder(request: DeepPartial<ReplaceOrderRequest>, options?: CallOptions & CallOptionsExt): Promise<PostOrderResponse>;
/** Получить список активных заявок по счёту. */
getSandboxOrders(request: DeepPartial<GetOrdersRequest>, options?: CallOptions & CallOptionsExt): Promise<GetOrdersResponse>;
/** Отменить торговое поручение. */
cancelSandboxOrder(request: DeepPartial<CancelOrderRequest>, options?: CallOptions & CallOptionsExt): Promise<CancelOrderResponse>;
/** Поулчить статус заявки в песочнице. Заявки хранятся в таблице 7 дней. */
getSandboxOrderState(request: DeepPartial<GetOrderStateRequest>, options?: CallOptions & CallOptionsExt): Promise<OrderState>;
/** Получить позиции по виртуальному счёту. */
getSandboxPositions(request: DeepPartial<PositionsRequest>, options?: CallOptions & CallOptionsExt): Promise<PositionsResponse>;
/** Получить операции по номеру счёта. */
getSandboxOperations(request: DeepPartial<OperationsRequest>, options?: CallOptions & CallOptionsExt): Promise<OperationsResponse>;
/** Получить операции по номеру счёта с пагинацией. */
getSandboxOperationsByCursor(request: DeepPartial<GetOperationsByCursorRequest>, options?: CallOptions & CallOptionsExt): Promise<GetOperationsByCursorResponse>;
/** Получить портфель. */
getSandboxPortfolio(request: DeepPartial<PortfolioRequest>, options?: CallOptions & CallOptionsExt): Promise<PortfolioResponse>;
/** Пополнить счёт. */
sandboxPayIn(request: DeepPartial<SandboxPayInRequest>, options?: CallOptions & CallOptionsExt): Promise<SandboxPayInResponse>;
/** Получить доступный остаток для вывода средств. */
getSandboxWithdrawLimits(request: DeepPartial<WithdrawLimitsRequest>, options?: CallOptions & CallOptionsExt): Promise<WithdrawLimitsResponse>;
/** Расчёт количества доступных для покупки/продажи лотов в песочнице. */
getSandboxMaxLots(request: DeepPartial<GetMaxLotsRequest>, options?: CallOptions & CallOptionsExt): Promise<GetMaxLotsResponse>;
}
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
[K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
export {};