chatasist_flutter 1.0.0 copy "chatasist_flutter: ^1.0.0" to clipboard
chatasist_flutter: ^1.0.0 copied to clipboard

Native Flutter widget SDK for Chatasist chat.

Chatasist Flutter #

Native Flutter widget SDK for Chatasist chat with a simple initialize then present integration flow, fully powered by Chatasist Widget APIs.

Features #

  • Native chat UI (chat list, thread, composer)
  • Session bootstrap with JWT persistence
  • File/image/video/audio attachments (multipart to /api/widget/messages)
  • Realtime integration via Pusher (/api/widget/broadcasting/auth)
  • Voice/video call signaling support using WebRTC + widget call endpoints
  • Global plugin singleton + unread/incoming call notifiers

Requirements #

  • Flutter 3.35+
  • Backend endpoints under /api/widget/*
  • Required request header: X-Chatasist-Channel: {channel_uuid}
  • Optional identity support through /api/widget/session

Install #

dependencies:
  chatasist_flutter:
    path: ../chatasist-flutter

Quick start #

final navigatorKey = GlobalKey<NavigatorState>();

await chatasistFlutter.initialize(
  ChatasistWidgetOptions(
    baseUrl: 'https://chatasist.com',
    channelId: '00000000-0000-0000-0000-000000000001',
    language: 'en',
    navigatorKey: navigatorKey,
  ),
);

await chatasistFlutter.setIdentity('visitor@example.com');
await chatasistFlutter.present();

API #

  • initialize(ChatasistWidgetOptions options)
  • setIdentity(String? identity)
  • present({BuildContext? context})
  • dismiss()
  • refresh()
  • unreadCount (ValueNotifier<int>)
  • hasIncomingCall (ValueNotifier<bool>)

Backend endpoint mapping #

  • POST /api/widget/session
  • GET /api/widget/chats
  • GET /api/widget/chats/{id}
  • POST /api/widget/messages
  • POST /api/widget/broadcasting/auth
  • POST /api/widget/chats/{chat}/calls/start
  • POST /api/widget/chats/{chat}/calls/{call}/answer
  • POST /api/widget/chats/{chat}/calls/{call}/ice
  • POST /api/widget/chats/{chat}/calls/{call}/end