SDK Overview
Uchara provides SDKs for 8+ platforms, organized into three types based on use case.
SDK Types
Section titled “SDK Types”Visitor SDK
Section titled “Visitor SDK”For: Embedding chat widget in customer applications
Features:
- Session initialization with widget token
- Start/manage conversations
- Send/receive messages
- File uploads
- Real-time WebSocket events
- Typing indicators
Platforms:
- TypeScript/JavaScript (Browser + Node.js)
- Python
- iOS (Swift)
- Android (Kotlin)
- Flutter (Dart)
- React Native
Agent SDK
Section titled “Agent SDK”For: Building custom agent dashboards
Features:
- Email/password authentication
- List/filter conversations
- Assign/resolve conversations
- Send messages with attachments
- Internal notes
- Contact management
- Real-time WebSocket events
Platforms:
- TypeScript/JavaScript
- Python
- iOS (Swift)
- Android (Kotlin)
Server SDK
Section titled “Server SDK”For: Backend-to-backend integration
Features:
- API key authentication
- Send messages as bot/agent
- Manage contacts
- Manage conversations
- List channels/members
- No WebSocket (REST only)
Platforms:
- TypeScript/JavaScript (Node.js)
- Python
- Go
- PHP
- Ruby (planned)
- Java (planned)
- .NET (planned)
Platform Support Matrix
Section titled “Platform Support Matrix”| Platform | Visitor | Agent | Server | Status |
|---|---|---|---|---|
| TypeScript/JS | ✅ | ✅ | ✅ | Stable |
| Python | ✅ | ✅ | ✅ | Stable |
| Go | ❌ | ❌ | ✅ | Stable |
| iOS (Swift) | ✅ | ✅ | ❌ | Stable |
| Android (Kotlin) | ✅ | ✅ | ❌ | Stable |
| Flutter | ✅ | ❌ | ❌ | Stable |
| React Native | ✅ | ❌ | ❌ | Stable |
| PHP | ❌ | ❌ | ✅ | Stable |
Installation
Section titled “Installation”TypeScript/JavaScript
Section titled “TypeScript/JavaScript”npm install @uchara/sdkPython
Section titled “Python”pip install uchara-sdkgo get github.com/Uchara-AI/sdk-goiOS (Swift Package Manager)
Section titled “iOS (Swift Package Manager)”dependencies: [ .package(url: "https://github.com/Uchara-AI/sdk-ios.git", from: "1.0.0")]Android (Gradle)
Section titled “Android (Gradle)”dependencies { implementation("com.uchara:sdk-android:1.0.0")}Flutter
Section titled “Flutter”dependencies: uchara_sdk: ^1.0.0React Native
Section titled “React Native”npm install @uchara/react-native-sdkPHP (Composer)
Section titled “PHP (Composer)”composer require uchara/sdkQuick Comparison
Section titled “Quick Comparison”| Feature | Visitor SDK | Agent SDK | Server SDK |
|---|---|---|---|
| Auth | Widget token | Email/password | API key |
| WebSocket | ✅ Yes | ✅ Yes | ❌ No |
| Send Messages | ✅ Yes | ✅ Yes | ✅ Yes |
| Manage Conversations | Limited | ✅ Full | ✅ Full |
| Contact Management | ❌ No | ✅ Read | ✅ Read/Write |
| Internal Notes | ❌ No | ✅ Yes | ❌ No |
| Typing Indicators | ✅ Yes | ✅ Yes | ❌ No |
Next Steps
Section titled “Next Steps”Choose your platform: