Заявки
Order
Объект заявка описывается следующими полями:
{
"orderNo": 0,
"transactionId": 0,
"securityCode": "string",
"clientId": "string",
"status": "None",
"buySell": "Sell",
"createdAt": "2023-03-02T07:25:11.226Z",
"price": 0,
"quantity": 0,
"balance": 0,
"message": "string",
"currency": "string",
"condition": {
"type": "Bid",
"price": 0,
"time": "2023-03-02T07:25:11.226Z"
},
"validBefore": {
"type": "TillEndSession",
"time": "2023-03-02T07:25:11.226Z"
},
"acceptedAt": "2023-03-02T07:25:11.226Z",
"securityBoard": "string",
"market": "Stock"
}
orderNo - уникальный идентификатор заявки на бирже. Задается после того, как заявка будет принята биржей (см. поле status);
transactionId - внутренний идентификатор заявки в системе TRANSAQ (для чужой заявки значение всегда равно 0);
securityCode - код инструмента;
clientId - торговый код клиента;
status - текущий статус заявки. Тип OrderStatus;
buySell - тип BuySell;
createdAt - время регистрации заявки на бирже (UTC);
price - цена исполнения условной заявки. Для рыночной заявки значение всегда равно 0;
В последующих версиях API поле price для рыночных заявок будет равно null, а не 0.
quantity - объем заявки в лотах;
balance - неисполненный остаток, в лотах. Изначально равен quantity, но по мере исполнения заявки (совершения сделок) будет уменьшаться на объем сделки. Значение 0 будет соответствовать полностью исполненной заявке (см. поле status);
message - содержит сообщение об ошибке, возникшей при обработке заявки. Заявка может быть отклонена по разным причинам сервером TRANSAQ или биржей с выставлением поля status;
currency - код валюты цены;
condition - свойства выставления заявок. Тип OrderCondition;
validBefore - условие по времени действия заявки. Тип OrderValidBefore;
acceptedAt - время регистрации заявки на сервере TRANSAQ (UTC);
securityBoard - основной режим торгов инструмента;
market - рынок инструмента. Тип Market.
OrderStatus
Статус заявки. Принимает следующие значения:
None- заявка принята сервером TRANSAQ, и заявке присвоенtransactionId;Active- заявка принята биржей, и заявке присвоенorderNo;Matched- заявка полностью исполнилась (выполнилась);Cancelled- заявка была отменена (снята) пользователем или биржей.
OrderCondition
Свойства выставления заявок. Тип условия определяет значение поля type, которое принимает следующие значения:
Bid- лучшая цена покупки;BidOrLast- лучшая цена покупки или сделка по заданной цене и выше;Ask- лучшая цена продажи;AskOrLast- лучшая цена продажи или сделка по заданной цене и ниже;Time- время выставления заявки на Биржу (параметрtimeдолжен быть установлен);CovDown- обеспеченность ниже заданной;CovUp- обеспеченность выше заданной;LastUp- сделка на рынке по заданной цене или выше;LastDown- сделка на рынке по заданной цене или ниже.
Выставление новой заявки
Для выставления новой заявки необходимо отправить POST запрос на /api/v1/orders, передав тело запроса в формате json:
{
"clientId": "string",
"securityBoard": "string",
"securityCode": "string",
"buySell": "Sell",
"quantity": 0,
"useCredit": true,
"price": 0,
"property": "PutInQueue",
"condition": {
"type": "Bid",
"price": 0,
"time": "2023-03-02T07:25:11.226Z"
},
"validBefore": {
"type": "TillEndSession",
"time": "2023-03-02T07:25:11.226Z"
}
}
clientId - торговый код клиента;
securityBoard - основной режим торгов для инструмента;
securityCode - код инструмента;
buySell - тип BuySell;
quantity - объем заявки в лотах;
useCredit - использование кредита (недоступно для срочного рынка). Указать значение true, если необходимо использовать кредит, иначе false.
price - цена исполнения заявки. Для рыночной заявки указать значение null (или не передавать это поле). Для условной заявки необходимо указать цену исполнения;
Для рыночных заявок в объекте Order поле price будет равное 0, а не null, как это ожидается. В последующих версиях API данное поведение будет изменено.
property - свойства исполнения частично исполненных заявок. Принимает следующие значения:
PutInQueue- неисполненная часть заявки помещается в очередь заявок биржи;CancelBalance- неисполненная часть заявки снимается с торгов;ImmOrCancel- сделки совершаются только в том случае, если заявка может быть удовлетворена полностью и сразу при выставлении.
condition - свойства выставления заявок. Тип OrderCondition;
validBefore - условие по времени действия заявки. Тип OrderValidBefore.
В случае успешного выполнения запроса сервис вернет transactionId выставленной заявки.
Получение заявок
Для получения списка заявок необходимо выполнить GET запрос на /api/v1/orders/, указав критерии выбора в строке запроса:
clientId - торговый код клиента (обязательный);
includeMatched - вернуть исполненные заявки;
includeCanceled - вернуть отмененные заявки;
includeActive - вернуть активные заявки.
В случае успешного выполнения запроса сервис вернет список заявок.
Отмена заявки
Для отмены выставленной заявки необходимо выполнить DELETE запрос на /api/v1/orders/, передав тело запроса в формате json:
{
"clientId": "string",
"transactionId": 0
}
clientId - торговый код клиента;
transactionId - идентификатор отменяемой заявки.