Заявки
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
- идентификатор отменяемой заявки.