Tickki
Chat SDK API · v1

Build your own chat. We run the inbox.

Drop a custom chat experience into your web or mobile app and route conversations into the Tickki agent inbox. Your visitors talk to your agents — through whatever UI you build. Five HTTP calls plus a Pusher subscription and you're done.

1

Mint a key

A Tickki business owner opens Settings → Developer and creates a publishable key. The plaintext is shown once — copy it into your app's config.

2

Start a session

Call POST /chat/sessions with a stable visitor id. You get back a session token plus the Reverb channel name your client should subscribe to.

3

Send + receive

Visitor messages go via POST .../messages. Agent replies arrive over the websocket as MessageCreated events. No polling.

A minimal first call

Replace YOUR_PK_KEY with the publishable key you just minted, then run this from any terminal. The agent's inbox lights up immediately.

Full step-by-step — including the realtime subscription — is in the API reference under "Quickstart".

curl -X POST https://app.tickki.com/api/v1/chat/sessions \
  -H "Authorization: Bearer YOUR_PK_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "visitor_id": "user_8432",
    "name": "Jane Doe",
    "email": "jane@example.com"
  }'

Official SDKs

Skip the REST plumbing — drop in a chat with one method call, or use the headless primitives if you want full UI control.

Flutter

tickki_chat_flutter · v0.1.0

Two usage modes in one package. Use the drop-in widget for an instant branded chat screen, or import the headless API to build your own UI. Branding (colors, welcome copy, logo) is fetched from the business dashboard at runtime — no rebuild needed when a customer changes their colors.

# Install
flutter pub add tickki_chat_flutter

# Then in your app:
import 'package:tickki_chat_flutter/widget.dart';

final tickki = TickkiChat(publishableKey: 'pk_live_…');
TickkiChatWidget.show(context, client: tickki, visitorId: 'user_8432');

React Native, JS, Swift, Kotlin

Coming soon

More official SDKs are on the way. In the meantime the REST API plus a Pusher-protocol client (e.g. pusher-js, PusherSwift) gets you the same surface — see the realtime walkthrough in the reference.

What's in the docs