Satori Docs

Your definitive guide to subscribing and publishing live data

Dev Portal Direct link

This article describes how to set up your RTM development environment in Satori Dev Portal.

Satori Dev Portal is your control center for developing on the Satori platform. You use the Dev Portal to:

To start using the Dev Portal, sign up for a Satori account and log into the Dev Portal.

Manage Projects Direct link

Projects are used to organize, track, and manage apps affiliated with your organization and are private to your organization. The first project is automatically created when you create a Satori account.

A single Satori account allows an organization to manage multiple projects.

A project has the following attributes.

  • Endpoint: A project has a unique connection endpoint.

  • Appkeys: A project has one or more appkeys.
    You can connect to the endpoint for your project with the appkey to perform operations to any valid channel in the project. 

Connection URL Format

When using one of the Satori SDKs, you pass your appkey and endpoint values. To connect to RTM directly, using RTM API, you need to construct a full URL as follows via the secure WebSocket:

wss:<endpoint>/<RTM API version>?appkey=<appkey>

For example:

wss://xxxx.api.satori.com/v2?appkey=0D43Cxxxx

To create a project:

  • Click Projects at the top and select Create a project.

Manage Appkeys Direct link

When you create a project, an appkey is generated for the client apps to connect to RTM. You can optionally create additional appkeys for the project to enforce stronger security control. For example, you can allocate a dedicated key to a team and disable the team’s access to a particular channel.

To add, view, or delete appkeys:

  1. In the Dev Portal, add a project or open an existing project.

  2. Click the Appkeys tab.

    • Click Add an appkey to add an additional appkey.

    • Click an appkey to view, update the status, or delete an appkey.

    • Click the Console tab to connect to a channel using this appkey and monitor the channel activities. See below for more information.

Manage Roles Direct link

In the Dev Portal, you create roles for a project in the Roles tab and grant each role the permission to subscribe and publish to relevant channels in the project. In your client code, you authenticate to RTM as the role using that role name and the secret key generated for the role.

When you create a role, a role secret key is generated for the role. Note the name of the role and the role secret key as you will need them to authenticate with the client SDK.

Channel Permissions

By default, anyone connecting to the endpoint of a project with a valid appkey can publish or subscribe to any channel in the project. To customize the channel access permissions, view, add, update, and delete permissions for the role in the Channel permissions tab.

Channel Namespaces

When assigning role permissions, you can use a single channel name or a wildcard to refer to a group of channels, prefixed by the common namespace. The table below lists several examples.

Namespace example

Description

Matching channel name example

*

Matches any channel name.

locations.boston

animals

locations.*

Matches any channel name starting with “locations.”

locations.boston

locations.busses

locations.a.b.c

animals

Matches exactly one channel name.

animals

See Access Control for an overview of how Satori manages access control to channels.

Configure Channel History Settings Direct link

RTM stores all published messages for at least one minute to provide a persistency. If a client gets disconnected and reconnected within a minute, the client will still be able to receive all messages it subscribes to.

If a message is the last published message in the channel, the message is stored for six hours.

If you want to store more messages or for a longer period of time, add a channel history setting for the specific channel. You configure a history setting in the Channel settings tab by specifying:

  • Channel name: The exact channel name for one channel or use a wildcard for multiple channels. A wildcard is only allowed as the last character, e.g. "abc*". "*abc", "a*bc", "*" are not allowed in the Channel name field.

  • Messages count: The count of the messages to store at a given time.

  • Duration: Specifies how long messages are stored.

The default history setting for a channel is one message for 6 hours. The data limit is 64MB per channel.

You can also update or delete channel settings in the Channel settings tab.

Monitor Channels in Web Console Direct link

In the Console tab of your project, you can:

  • Inspect live data.

  • Pause the data stream.

  • Apply views.

  • Test your use cases before you write the actual code.

When you navigate to the Console tab, the Web Console automatically connects and authenticates with RTM, subscribes to the selected channel, and displays the messages being published to the channel.

The console shows the channel activity in Protocol Data Units (PDUs) that clients use to interact with RTM. For more information about PDUs, see RTM API.

Access the Console tab in one of the following ways.

  • In Open Data to view and manage an open channel

  • In Projects to view and manage a project-specific channel

To view and manage channel activities:

  1. In the Console tab, click default and select a role to authenticate with.

  2. In the Enter Channel field, type a channel name. The console connects, authenticates as the role given above, and subscribes to the specified channel.

  3. In the <> Code pane, the Web Console displays the messages published to the channel.

  4. Click Filter and specify a Stream SQL statement if you want to see a subset of messages.

    • Optionally, specify an interval and a number of times to display messages.
      Intervals can be 1 - 60 seconds.

  5. Click the publish button at the bottom right to publish a message.

    1. Specify the message as a PDU.

    2. Optionally specify the number of times to publish and click Send.

  6. Additional options are:

    • Click ||, the pause button, to pause the message stream displayed in the <> Code pane.

    • Select Run in background if you want the messages to be displayed when you browse away from the Web Console.

Related Articles