Skip to main content

Асинхронный метод выставления заявок

С целью уменьшить latency доставки торговых поручений до биржи в T-Invest API реализован асинхронный метод выставления заявок.

При подаче поручений асинхронным методом брокер не дожидается подтверждения от биржи об успешном статусе выставления заявки и присвоения ей биржевого номера. При работе с асинхронным методом есть ряд особенностей.

Метод позволяет выставлять поручения параллельно, не создавая очереди заявок, что возможно при работе с PostOrder. Это позволяет ускорить работу алгоритма, распараллелив процессы.

PostOrderAsync запрос

Входные параметры асинхронного метода идентичны PostOrder. При этом есть особенность — идентификатор ключа идемпотентности order_id является обязательным и должен быть передан в UUID-формате любой версии.

PostOrderAsync ответ

В случае ошибки

При выставлении асинхронного поручения на стороне брокера проводятся предварительные проверки, идентичные синхронному взаимодействию.

В случае ошибок валидации ответ будет идентичен PostOrder.

Успешное выставление заявки

Если проверки пройдены и заявка передана на биржу, вернется ответ, где order_request_id — ключ идемпотентности, переданный в запросе в виде order_id.

В ответе метода нет биржевого идентификатора. trade_intent_id — внутренний идентификатор брокера.

Успешный ответ не гарантирует, что заявка будет выставлена на бирже. Биржа может отклонить заявку на своей стороне.

Получить статус торгового поручения

Получать изменения статуса торгового поручения можно через подписку на cтрим заявок.

order_request_id в сообщениях стрима соответствует order_request_id в ответе PostOrderAsync, order_id — биржевому номеру заявки.

Когда вы получили биржевой номер из стрима, дальнейшие статусы можно отслеживать через методы GetOrderState и GetOrder, а отменить поручение — через метод CancelOrder.

Дополнительно в методы GetOrderState и CancelOrder добавлена поддержка работы по ключу идемпотентности order_request_id.

openapi@tbank.ru

АО «ТБанк» использует файлы «cookie» с целью персонализации сервисов и повышения удобства пользования веб-сайтом. «Cookie» представляют собой небольшие файлы, содержащие информацию о предыдущих посещениях веб-сайта. Если вы не хотите использовать файлы «cookie», измените настройки браузера.