Introduction

Using the Realtime API you can create channels and channel resources where messages can be published. Site visitors who subscribe to a channel receive the messages published to that channel. When a message is received you can handle the message any way you choose, such as displaying the contents of the message or changing the state of page elements depending on the contents of the message. You can also manage the permissions of who can read from specific channels.

The @wix/site-realtime module is used in conjunction with the wix-realtime-backend module.

Get hands-on experience with the Realtime API on our Hello Realtime example page.

Typical uses of the Realtime API include implementing a messaging system or as an alternative to using a polling mechanism.

The Realtime API uses the following terminology:

  • Channel: A specific channel on which messages are published. Each channel has a unique name. Site visitors can subscribe to a channel to receive the messages that are published on it. When site visitors subscribe to a channel, they do not receive messages published to a resource on that same channel.
  • Channel resource: A subchannel on which messages are published. Subchannels can share a name with a channel and other subchannels, but they have a unique resource ID. When site visitors subscribe to a channel resource, they do not receive messages published to that same channel without a specified resource. Channel resources inherit their parent channel's permissions, unless specified otherwise.
  • Message: A message published on a channel or channel resource. A message can be of any type, such as a string, number, or object. Channel subscribers receive the messages published on the channel.
  • Publish: Sending a message over a channel or channel resource.
  • Subscribe: A site visitor subscribes to receive the messages published on a channel or channel resource.

For a tutorial on using the Realtime API, see Sending Messages with the Realtime API.

To use the Realtime API, import wixRealtimeFrontend from the @wix/site-realtime module:

Copy
Did this help?