# Асинхронный метод выставления заявок
С целью уменьшить latency доставки торговых поручений до биржи в T-Invest API реализован асинхронный метод выставления заявок.
При подачи поручений асинхронным методом брокер не дожидается подтверждения от биржи об успешном статусе выставления заявки и
присвоении ей биржевого номера. При работе с асинхронным методом есть ряд особенностей.
Метод позволяет выставлять поручения параллельно, не создавая очереди заявок, что возможно при работе с PostOrder.
Это позволяет ускорить работа алгоритма распараллелив процессы.
## PostOrderAsync запрос
Входные параметры асинхронного метода идентичны [PostOrder](/investAPI/orders/#postorder).
При этом есть особенности:
[Идентификатор ключа идемпотентности](/investAPI/head-orders/#_5) `order_id` является обязательным
и должен быть передан в UUID формате любой версии.
## PostOrderAsync ответ
###В случае ошибки
При выставлении асинхронного поручения на стороне брокера проводятся предварительные проверки, идентичные синхронному взаимодействию.
В случае ошибок валидации ответ будет идентичен [PostOrder](/investAPI/orders/#postorder).
###Успешное выставление заявки
Если проверки пройдены и заявка передана на биржу, то вернется [ответ](/investAPI/orders/#postorderasyncresponse), где
`order_request_id` - ключ идемпотентности, переданный в запросе в виде `order_id`.
<blockquote>
<p><strong>Важно</strong><br>
В ответе метода нет биржевого идентификатора. <code>trade_intent_id</code> — внутренний идентификатор брокера. </p>
</blockquote>
<blockquote>
<p><strong>Важно</strong><br>
Успешный ответ не гарантирует, что заявка будет выставлена на бирже. Биржа на своей стороне может отклонить заявку.</p>
</blockquote>
## Получить статус торгового поручения.
Изменение статуса торгового поручения можно подписавшись на [Стрим заявок](/investAPI/orders_state_stream/).
`order_request_id` в сообщениях стрима соответствует `order_request_id` в ответе PostOrderAsync, `order_id` — биржевому номеру заявки.
Получив из стрима биржевой номер, дальнейшие статусы можно отслеживать методами [GetOrderState](/investAPI/orders/#getorderstate)
и [GetOrder](/investAPI/orders/#getorders), а отменить методом [CancelOrder](/investAPI/orders/#cancelorder).
Дополнительно в методы GetOrderState и CancelOrder добавлена поддержка работы по ключу идемпотентности `order_request_id`.