Skip to content

Concepts

  • Tenant: your company. It owns your apps and your dashboard members. A tenant has a status: test, live or suspended. Only mondochat staff change it. See Tenants and apps.
  • Account: a person who signs in to the dashboard with an email link. A tenant member has the role owner, admin or moderator.
  • App: one chat installation with its own users, settings, secrets, origins and webhooks. Apps never share users. Your tenant comes with a first app, and only staff create more.
  • Origin: the scheme, host and port of a page that may show the chat, for example https://www.example.com. An app lists at most 20 (1024 bytes in total), and one entry may be a wildcard such as https://*.example.com. The chat refuses to load on any other origin.
  • Settings: one JSON document per app for everything that can differ between sites: roles, policy, limits, calls, branding, languages, moderation rules and webhook options. Every key has a default. See the settings overview and the settings reference.
  • Server secret (mcs_...): lives only on your server. It signs client tokens and authenticates server API calls. An app has at most two active secrets, so you can rotate.
  • Client token: an HS256 JWT your server signs with the server secret for one user. It lives at most 600 seconds. The browser exchanges it once for a session. See Sessions and tokens.
  • Session token: the ES256 token the chat uses to call the user API. It lasts 15 minutes and is renewed until 12 hours after sign-in.
  • Member: a user your server vouches for with a client token. You address a member by your own id, the sub claim, which the API calls external_id. mondochat stores a display name, avatar, language and role, never an email.
  • Guest: an anonymous visitor. Guests are off by default and turn on with guests.enabled. A guest who later logs in can be merged into the member.
  • Role: a key from your settings, for example fan or model. Every user has one.
  • Policy: one row per ordered pair of roles saying what from may do to to: start a conversation, message, call, send photos, block, see presence. A missing pair allows nothing.
  • Conversation: the chat between two users of an app. There is at most one per pair.
  • seq: a counter that orders changes. Each conversation, and each user’s inbox, has one. A client keeps the copy of a message or conversation row with the higher seq, and uses it as the cursor to catch up after a gap. See Sync and recovery.
  • Webhook: an event mondochat sends to your server, signed per Standard Webhooks. You answer 2xx. See Webhooks overview.
  • Callout: a request mondochat sends to your server and waits for your answer. Callouts carry the catalog, charges and per-minute call charges. Only apps that sell inside the chat or charge calls per minute use them.