Consumer lifecycle
A browser screen and a server risk process may have very different capacity limits. Agree how subscriptions are acknowledged, how slow consumers are handled and whether updates are conflated or queued when processing falls behind.
Deliver CFD updates over a persistent connection with explicit subscriptions, instrument status and recovery behavior.
A browser screen and a server risk process may have very different capacity limits. Agree how subscriptions are acknowledged, how slow consumers are handled and whether updates are conflated or queued when processing falls behind.
After reconnecting, rebuild the subscription set and establish a current snapshot before continuing incremental processing. Document whether missed updates can be replayed or whether the consumer must accept a fresh state only.
Bring the proposed instrument list, source documentation and consumer workflow to a technical discussion. The agreed integration specification defines coverage, fields, usage permissions and acceptance tests.
| Subscription scope | Specify symbol identifiers, supported fields and acknowledgement or rejection behaviour. |
|---|---|
| Quote semantics | Agree snapshot versus incremental updates, source timestamps and status fields. |
| Consumer pressure | Define application buffer limits and what happens when a consumer cannot process updates fast enough. |
| Reconnect rules | Agree authentication, resubscription, fresh snapshot and duplicate-message handling. |
For your instrument universe, define what a new subscriber receives before incremental updates begin. A connected socket does not prove a symbol is fresh. Separate heartbeat health from per-symbol timestamps and document the resubscription procedure after a disconnect.
{
"type": "quote",
"symbol": "EURUSD",
"bid": "1.10000",
"ask": "1.10010",
"source_time": "2026-10-18T12:00:00.000Z",
"received_at": "2026-10-18T12:00:00.012Z",
"source_id": "example-source",
"status": "illustrative"
}Illustrative engineering example, not live prices or a published API contract. Confirm field names and delivery rules during integration.