Shop It Docs
Developer ResourcesSupport

Support Realtime

Support request realtime room contracts and sync flow.

Support Realtime

Scope (v1)

Realtime is an additive delta + notification layer over REST for:

  • support request message updates

Room Names

  • Support request messages room: support:request:{supportRequestId}:messages

Socket Client Events

  • support:join_request_messages
    • payload: { "supportRequestId": number }
  • support:leave_request_messages
    • payload: { "supportRequestId": number }
  • support:sync_request_messages
    • payload: { "supportRequestId": number, "sinceEventId"?: string, "limit"?: number }

Join/Leave Authorization

  • JWT is required for all support websocket events.
  • Admins can join any support request room.
  • Customers can only join rooms for their own support requests.

Error codes from join/sync handlers:

  • UNAUTHORIZED
  • FORBIDDEN
  • NOT_FOUND
  • VALIDATION_ERROR

Server Event Names

  • support.request_message.created

Event Envelope

Every support event payload follows:

{
	"eventId": "019d....",
	"eventType": "support.request_message.created",
	"occurredAt": "2026-03-19T06:49:23.790Z",
	"data": {}
}

Payload rules:

  • delta only (no speculative fields)
  • includes message id + support request id + timestamps + actor
  • use REST for initial/full state

Reconnect & Replay Flow

  1. Connect/reconnect websocket.
  2. Rejoin required support rooms.
  3. Call sync event with last processed sinceEventId.
  4. Client dedupes by eventId and applies in order.
  5. If replay fails or gap is detected, fallback to REST refetch.

Sequence Flow