This is an old revision of the document!
Order Routing
The WebSocket API provides real-time order routing, allowing clients to submit, revise, and pull orders. All order-related operations are sent within a **ClientMessage** envelope and responses are received within a **ServerMessage** envelope.
Submitting an Order
To submit an order, clients send an OrderSubmit message.
Note: You must subscribe to the Account before submitting an order into it. Orders will be rejected if the account is not subscribed.
Example OrderSubmit message:
OrderSubmit { UserId = "efda0709-af12-4b65-8971-5089edb4aaf0", AccountId = "448c9ddd-6a50-4852-85ea-aad3b6d60620", MarketId = "XCME_C ZC (H25)", Orders = [ { BuySell = BuySell.Buy, PriceType = PriceType.Limit, TimeType = TimeType.Normal, Volume = 5, LimitPrice = "4200.50" } ] }
Note: The OrderSubmit message allows submitting multiple orders at once.
Revising an Order
To revise an existing order, clients send an OrderRevise message.
Example OrderRevise message:
OrderRevise { UserId = "efda0709-af12-4b65-8971-5089edb4aaf0", AccountId = "448c9ddd-6a50-4852-85ea-aad3b6d60620", MarketId = "XCME_C ZC (H25)", Revisions = [ { UniqueId = "a3b1c5f2-7d43-4f9b-88e2-1e2f75c6d9a1", Volume = 10, LimitPrice = "4250.00" } ] }
Pulling (Cancelling) an Order
To cancel an order, clients must send an OrderPull message with the order ID.
Example OrderPull message:
OrderPull { UserId = "efda0709-af12-4b65-8971-5089edb4aaf0", AccountId = "448c9ddd-6a50-4852-85ea-aad3b6d60620", MarketId = "XCME_C ZC (H25)", Pulls = [ { UniqueId = "a3b1c5f2-7d43-4f9b-88e2-1e2f75c6d9a1" } ] }