Key Concepts

The glossary below defines key Sunshine Conversations concepts and how they relate to each other.

ER diagram

User Account

A top level entity that identifies the owner in charge of one or many Sunshine Conversations apps. A user account either represents a single business, or it represents a software maker who manages multiple apps on behalf of many separate businesses. A separate user account may also be created as a sandbox for development and testing purposes.

Service Account

A service account represents an API user, with its own set of credentials, that only has access to a certain subset of apps. For software makers that create apps on behalf of separate customers or businesses, service accounts can be used to generate and distribute credentials that only have access to a single business’ data.


An app represents a customer or business as a whole using your software, or a department within one of those customers or businesses. An app contains a set of configured channels as well as any associated appUser profile and conversation data. Each app’s appUser and conversation data exists separately; apps never share data between each other.


An end user communicating with a business. More details can be found here.


A stored history of messages sent to and received from an appUser.


A message that was sent via the Sunshine Conversations API, or received from a third party integration. All messages have one of two roles: appUser, representing the end user, or appMaker, meaning it was sent on behalf of the business. Messages can be simple or complex, supporting a variety of interactive structures, extensions and media formats. Messages have a source property that identifies which client they came from.


A connection through which an individual appUser can send and receive messages. Clients come in a variety of flavors, each identified by different channel. Clients also contain metadata about the channel or device being used. For example, a Messenger client will contain a raw copy of the appUser’s Facebook profile information. An iOS client will include basic details of the appUser’s device. A single appUser may have multiple connected clients.

client diagram


A configuration that defines how the app connects to one of the Sunshine Conversations SDKs or to a third party messaging service. More details can be found here.


A point of extension by which third party software can listen for and react to app events. More details can be found here.