API रेफ़रेंस
Widget API और REST एंडपॉइंट्स का पूर्ण रेफ़रेंस।
Widget API
ग्लोबल window.LaunchChatWidget ऑब्जेक्ट विजेट को प्रोग्रामेटिक रूप से नियंत्रित करने के मेथड्स प्रदान करता है।
मेथड्स
open()चैट विंडो को प्रोग्रामेटिक रूप से खोलता है।
window.LaunchChatWidget.open();close()चैट विंडो बंद करता है।
window.LaunchChatWidget.close();destroy()विजेट को पेज से पूरी तरह हटाता है। SPA में नेविगेट करते समय उपयोगी।
window.LaunchChatWidget.destroy();init(config)नए कॉन्फ़िगरेशन के साथ विजेट को री-इनिशियलाइज़ करता है।
window.LaunchChatWidget.init({ widgetId: "new-widget-id" });on(event, callback)विजेट इवेंट्स को सब्सक्राइब करें।
window.LaunchChatWidget.on('message', (data) => {
console.log('New message:', data);
});off(event, callback)विजेट इवेंट्स से अनसब्सक्राइब करें।
इवेंट्स
| इवेंट | पेलोड | विवरण |
|---|---|---|
open | { timestamp } | चैट विंडो खुली |
close | { timestamp } | चैट विंडो बंद हुई |
message | { content, role } | संदेश भेजा या प्राप्त हुआ |
escalate | { email, message } | यूज़र ने ह्यूमन सपोर्ट का अनुरोध किया |
feedback | { messageId, type } | यूज़र ने फ़ीडबैक दिया (सकारात्मक/नकारात्मक) |
REST API
POST /api/widget/chat
एक संदेश भेजें और AI-जनित प्रतिक्रिया प्राप्त करें।
रिक्वेस्ट बॉडी
{
"widgetId": "string", // Required
"message": "string", // Required - user's question
"conversationId": "string", // Optional - for context
"visitorId": "string", // Optional - track visitor
"pageUrl": "string" // Optional - current page
}रिस्पॉन्स
{
"conversationId": "uuid",
"messageId": "uuid",
"answer": "string",
"citations": [
{
"pageId": "string",
"pageTitle": "string",
"pageUrl": "string",
"excerpt": "string"
}
],
"relatedArticles": [...],
"confidenceScore": 0.85,
"wasRefused": false
}एरर कोड्स
| कोड | स्टेटस | विवरण |
|---|---|---|
400 | Bad Request | आवश्यक फ़ील्ड्स गायब हैं |
403 | Forbidden | डोमेन अनुमति सूची में नहीं है |
404 | Not Found | विजेट नहीं मिला या निष्क्रिय है |
429 | Rate Limited | संदेश कोटा पार हो गया |
500 | Server Error | आंतरिक प्रोसेसिंग त्रुटि |
TypeScript टाइप्स
पूर्ण टाइप सेफ़्टी के लिए इन टाइप्स को अपने प्रोजेक्ट में कॉपी करें:
interface LaunchChatConfig {
widgetId: string;
primaryColor?: string;
greeting?: string;
placeholder?: string;
position?: 'bottom-right' | 'bottom-left';
theme?: 'light' | 'dark' | 'auto';
}
interface WidgetAPI {
open(): void;
close(): void;
destroy(): void;
init(config: { widgetId: string }): Promise<void>;
on<E extends keyof WidgetEvents>(
event: E,
callback: (data: WidgetEvents[E]) => void
): void;
off<E extends keyof WidgetEvents>(
event: E,
callback: (data: WidgetEvents[E]) => void
): void;
}
interface WidgetEvents {
open: { timestamp: number };
close: { timestamp: number };
message: { content: string; role: 'user' | 'assistant' };
escalate: { email: string; message: string };
feedback: { messageId: string; type: 'positive' | 'negative' };
}
declare global {
interface Window {
LaunchChatConfig?: LaunchChatConfig;
LaunchChatWidget?: WidgetAPI;
}
}