@trypanacea/sdk
v0.0.20
Published
The Panacea SDK enables developers to seamlessly integrate the Panacea live chat widget into their web applications. It provides tools for initializing chat sessions, customizing widget behavior, and managing user interactions—all with minimal setup.
Downloads
1,241
Readme
Panacea SDK
The Panacea SDK enables developers to seamlessly integrate the Panacea live chat widget into their web applications. It provides tools for initializing chat sessions, customizing widget behavior, and managing user interactions—all with minimal setup.
Features
- Easy-to-integrate chat widget
- Customizable launcher button
- Supports shadow DOM for CSS isolation
- API-driven session creation
- Lightweight and developer-friendly
Installation
Install the Panacea SDK via npm:
npm install @trypanacea/sdk
Usage
Basic Setup
Import and initialize the SDK in your application:
import { PanaceaSDK } from "@trypanacea/sdk";
PanaceaSDK.initPanacea({
appKey: "your-app-key", // Replace with your app key
apiKey: "your-api-key", // Replace with your API key
settings: {
userId: "12345", // Optional: Unique user ID
firstName: "John", // Optional: User's first name
lastName: "Doe", // Optional: User's last name
email: "[email protected]", // Optional: User's email
actionColor: "#3498db", // Optional: Button color
backgroundColor: "#ffffff", // Optional: Widget background color
region: "us", // Optional: Default region (us, eu, ap)
},
});
Customizing the Launcher Button
You can hide the default launcher and use a custom element:
PanaceaSDK.initPanacea({
appKey: "your-app-key",
apiKey: "your-api-key",
settings: {
customLauncherSelector: "#custom-launcher",
hideDefaultLauncher: true,
},
});
In your HTML:
<button id="custom-launcher">Start Chat</button>
Example with React
Here's how to integrate the SDK in a React component:
import { useEffect } from "react";
import { PanaceaSDK } from "@trypanacea/sdk";
const ChatWidget = () => {
useEffect(() => {
PanaceaSDK.initPanacea({
appKey: "your-app-key",
apiKey: "your-api-key",
settings: {
firstName: "Jane",
email: "[email protected]",
},
});
}, []);
return null;
};
export default ChatWidget;
API Reference
initPanacea({ appKey, apiKey, settings })
- appKey (string): Your app's unique identifier. Required.
- apiKey (string): API key for authentication. Required.
- settings (object): Configuration options:
- userId (string): User ID for the session.
- firstName (string): User's first name.
- lastName (string): User's last name.
- email (string): User's email.
- avatar (string): URL to the user's avatar image.
- customLauncherSelector (string): CSS selector for a custom launcher.
- hideDefaultLauncher (boolean): Hide the default launcher button.
- actionColor (string): Color for interactive elements.
- backgroundColor (string): Chat widget background color.
- region (string): Server region (us, eu, ap).
Development
Running Tests
Run the unit tests to ensure everything is working correctly:
npm test
Building the Package
Compile the TypeScript code:
npm run build
Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature
- Make your changes and commit them:
git commit -m "Add your feature"
- Push to your branch:
git push origin feature/your-feature
- Submit a pull request.
License
This package is licensed under the MIT License.
Support
If you encounter issues or have questions, please open an issue in the GitHub repository.