We are happy to announce several enhancements to the CM Market Data WebSocket API including creation of the Order Books endpoint, faster Quotes endpoint, and minor changes for Quotes and Trades messages. 

We’ve detailed the changes below.

1. Order Book endpoint

  • A new feed endpoint was added that gives access to level 2 Order Books data.
  • The feed is structured as a full order book snapshot upon connection and all subsequent messages are deltas to the snapshot.
  • The amount field in the Order Book update message reflects the updated amount at that price level, not a delta.
  • An amount field of zero in the Order Book update message indicates that the price level has been removed from the Order Book.

2. Quotes endpoint

  • The Quotes endpoint now leverages the same WebSocket exchanges scrapers as the Order Book endpoint instead of HTTP exchange scrapers. This means that the Quotes endpoint is now much faster (amounts vary by exchange). 
  • Added a cmSequenceId field. The cmSequenceId field is an always growing number, but can reset on feed restart. Every message is guaranteed to have cmSequenceId equal to cmSequenceId + 1 of the previous message, so if you see increments that are higher than 1, it means that you are missing some of the updates.
  • Removed the scraperSequenceId and scraperSessionId as they are redundant.

3. Trades endpoint 

  • Added a cmSequenceId field. The cmSequenceId field is an always growing number, but can reset on feed restart. Every message is guaranteed to have cmSequenceId equal to cmSequenceId + 1 of the previous message, so if you see increments that are higher than 1, it means that you are missing some of the updates.