Data Storage

Customer confidence and information security is critical to everything we do at Sunshine Conversations. In this guide, you can learn what kind of data Sunshine Conversations is storing and how you may delete it.

How Is Your Data Stored

All data stored by Sunshine Conversations is encrypted, both in transit and at rest, following industry best practices. To learn more, read about security at Sunshine Conversations and have a look at our Security Policy.

What Kind of Data Is Stored by Sunshine Conversations

Sunshine Conversations stores the following data when you create an App and use our services:

User Account

A User Account is the top level entity that is in charge of one or many Sunshine Conversations Apps. It is created on sign-up and contains information such as Name, Email and Creation Date.

Service Account

A Service Account represents an API user and is created via the Create Service Account API. It contains information such as Name and Creation Date.

Use the Delete Service Account API to remove a specified Service Account. This works only once no more Apps are linked to it.

Use the Delete Service Account Key API to remove a specified API key.

App

An App is created via the Create App API or the Sunshine Conversations dashboard. It represents a business as a whole and contains information such as Name, Creation Date, Channel Integrations, Webhooks and API Keys. Apps never share data between each other.

To fully delete all of an App’s data, use the Delete App API or the Sunshine Conversations dashboard under your App’s settings. When an App is deleted, it immediately becomes unavailable and all of its Integrations are removed. Subsequent API calls made for that deleted App will return an error.

You may also delete an App key.

User

A User represents the end user messaging your app and is created when receiving their first Message. A user can also be created ahead of time via the Create User API. It contains information such as External ID, Sign-Up Date and, when applicable, Given Name, Last Name, Email, Avatar URL, Locale and other custom user properties.

Use the Delete User API to remove all related stored data, i.e. the User profile along with its Clients, Conversations, Messages and Attachments.

To remove only the data directly associated with the user account, use instead the Delete User Personal Information API. The user’s Conversation History, Messages, Attachments and Client External IDs are kept.

Conversation

A Conversation represents a history of Messages sent to and received from a User and is automatically created when the first Message occurs. It contains information such as Unread Count and Read Timestamps for both the user and the business.

Use the Delete All Messages API to remove the entire Conversation History for a specified user, along with any attachments uploaded with a message scope (see the Upload Attachment API for more details). The user’s clients are preserved, meaning one can seamlessly start a new conversation while being identified as the same user.

Message

A Message is created when your business or a User sends a Message. It contains information such as Conversation ID, Author ID, Name, Avatar, Received Date, Channel Source, Attachment and Content.

Use the Delete Single Message API to remove a specific Message and replace it with [deleted]. An attachment uploaded with a message scope will also be deleted.

Use the Delete Attachment API to remove an attachment hosted on a specified media URL.

The conversationRetentionSeconds app setting can be used to automatically delete messages after a conversation has become inactive.

Client

A Client represents a specific connection through which a User can send and receive Messages. It is created when a User sends a Message on a specific channel for the first time. It contains information such as Channel Name, Conversation Title, SDK Version, User Agent, External ID, Display Name and Personal Identifiable Information as provided by the channel used.

Use the Remove Client API to remove a specified channel from the user’s clients.

Integration

An Integration represents a configuration that defines how the App connects to one of the Sunshine Conversations SDKs or to a third party messaging service. It is created either via the Sunshine Conversations dashboard or the Create Integration API. It contains information such as third-party credentials and IDs, configuration and other integration metadata.

Use the Delete Integration API to remove a specified Integration.

An Integration Menu, also called a Persistent Menu, represents a custom menu in the chat UI. It is currently supported in Facebook Meseenger and WeChat. To create a Integration Menu, call the Update Integration Menu API.

Use the Delete Integration Menu API to remove a specified Integration’s menu, falling back to the App Menu if configured.

Webhook

A Webhook represents a point of extension by which third party software can listen for and react to App events. It is created via the Create Integration API (custom integration) or the Sunshine Conversations dashboard. It contains information such as Triggers, Target URL and Secret.

Use the Delete Integration API to remove a specified Webhook.

Templates

A Template allows you to send structured messages via convenient shorthands. It is created using the Create Template API. It contains information such as Template Name and Message Content.

Use the Delete Template API to remove a specified Template.

Support

If you have any questions or need help with deleting any of the aforementioned elements, do not hesitate to reach out and ask for help!