Endpoint
text/event-stream. Heartbeat comment every 15 s. Auto-close on
terminal status (completed, failed, expired, refunded).
Event format
<order_id>:<status>:<unix_ms>. Use it for deduplication if you
fan-out to multiple consumers.
Resuming after disconnect
SendLast-Event-ID on reconnect. The server has a 60 s in-memory ring buffer
per order. Response carries:
If you see frequent
snapshot resumes, your client disconnects last longer
than 60 s. Either fix your network or accept the snapshot fallback — no data
is ever lost, only the per-event replay between snapshot and current is.
Concurrency limits
Above the cap:
429 RATE_LIMITED on connect. One SSE counts as one read in
the 30-second-per-read bucket.
SDK helper
Last-Event-ID and exponential backoff (1s, 2s, 5s,
15s, then capped at 30s). After 5 consecutive failed reconnects, it falls
back to polling GET /order/{id} every 10 s and emits a degraded event.