API संदर्भ
Tenant API का उपयोग करके enuchat को अपने सिस्टम में एकीकृत करें। बातचीत प्रबंधित करें, संदेश भेजें, और प्रोग्रामेटिक रूप से बिलिंग डेटा तक पहुंचें।
प्रमाणीकरण
सभी API अनुरोधों को X-Api-Key हेडर में भेजी गई API कुंजी का उपयोग करके प्रमाणित किया जाता है।
अपनी API कुंजी प्राप्त करना
- अपने डैशबोर्ड में सेटिंग्स → API कुंजियां पर जाएं
- API कुंजी बनाएं पर क्लिक करें और इसे एक नाम दें
- कुंजी को तुरंत कॉपी करें — यह केवल एक बार दिखाई गई है
- इसे सुरक्षित रूप से स्टोर करें (एनवायरनमेंट वेरिएबल, सीक्रेट मैनेजर)
अनुरोध करना
प्रत्येक अनुरोध में कुंजी शामिल करें:
curl -H "X-Api-Key: tak_your_key_here" \
https://api.enuchat.com/api/v1/tenant-api/widgetsसभी प्रतिक्रियाएं JSON हैं। सफल प्रतिक्रियाओं में data फ़ील्ड होती है। त्रुटियों में code और message के साथ एक error फ़ील्ड होती है।
सुरक्षा: API कुंजियां हमारे डेटाबेस में हैश (SHA-256) की जाती हैं। हम कभी भी कच्ची कुंजी स्टोर नहीं करते। अपनी कुंजी को एक पासवर्ड की तरह व्यवहार करें — इसे कोड में कमिट न करें या सार्वजनिक रूप से साझा न करें।
बेस URL
https://api.enuchat.com/api/v1/tenant-apiनीचे दिए गए सभी एंडपॉइंट इस बेस URL के सापेक्ष हैं।
एंडपॉइंट
GET /widgets
अपने खाते के लिए सभी विजेट सूचीबद्ध करें।
प्रतिक्रिया
{'{'}
"data": [
{'{'}
"id": "019d19c6-7e0b-...",
"name": "Main Website Chat",
"isActive": true,
"aiEnabled": true,
"translationEnabled": true,
"primaryColor": "#2563eb",
"position": "bottom-right"
}
]
}GET /conversations
सबसे हाल के संदेश के अनुसार क्रमबद्ध बातचीत सूचीबद्ध करें।
क्वेरी पैरामीटर
| पैरामीटर | प्रकार | विवरण |
|---|---|---|
status | string | स्थिति के अनुसार फ़िल्टर करें: open, pending, closed |
widgetId | string | विजेट UUID द्वारा फ़िल्टर करें |
limit | integer | अधिकतम परिणाम (डिफ़ॉल्ट 20, अधिकतम 100) |
offset | integer | N परिणाम छोड़ें |
उदाहरण
curl -H "X-Api-Key: tak_..." \
"https://api.enuchat.com/api/v1/tenant-api/conversations?status=open&limit=10"प्रतिक्रिया
{'{'}
"data": [
{'{'}
"id": "019d6724-000e-...",
"widgetId": "019d19c6-7e0b-...",
"visitorId": "v-abc123",
"visitorName": "John",
"visitorEmail": "john{'@'}example.com",
"visitorLanguage": "en",
"status": "open",
"assignedTo": null,
"lastMessageAt": "2026-04-11T14:30:00+00:00",
"startedAt": "2026-04-11T14:25:00+00:00"
}
]
}GET /conversations/{'{'}id}
सभी संदेशों के साथ एक बातचीत प्राप्त करें।
क्वेरी पैरामीटर
| पैरामीटर | प्रकार | विवरण |
|---|---|---|
limit | integer | अधिकतम संदेश (डिफ़ॉल्ट 50, अधिकतम 200) |
प्रतिक्रिया
{'{'}
"data": {'{'}
"id": "019d6724-000e-...",
"visitorLanguage": "en",
"status": "open",
"messages": [
{'{'}
"id": "019d6724-1234-...",
"role": "visitor",
"content": "Hello, how much does it cost?",
"contentLanguage": "en",
"translatedContent": "Cześć, ile to kosztuje?",
"translatedLanguage": "pl",
"isAutoReply": false,
"createdAt": "2026-04-11T14:25:30+00:00"
},
{'{'}
"id": "019d6724-5678-...",
"role": "ai",
"content": "Our plans start at €19/month...",
"isAutoReply": true,
"createdAt": "2026-04-11T14:25:32+00:00"
}
]
}
}POST /conversations/{'{'}id}/messages
एक बातचीत में एक संदेश भेजें। संदेश चैट विजेट के माध्यम से आगंतुक को रीयल-टाइम में वितरित किया जाएगा।
अनुरोध बॉडी
{'{'}
"content": "Thanks for reaching out! We'll process your request.",
"role": "system"
}| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
content | string | आवश्यक। संदेश पाठ। |
role | string | system (डिफ़ॉल्ट) या operator |
प्रतिक्रिया (201 Created)
{'{'}
"data": {'{'}
"id": "019d6725-abcd-...",
"role": "system",
"content": "Thanks for reaching out!",
"createdAt": "2026-04-11T14:35:00+00:00"
}
}PATCH /conversations/{'{'}id}
एक बातचीत की स्थिति या असाइनमेंट अपडेट करें।
अनुरोध बॉडी
{'{'}
"status": "closed"
}| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
status | string | open, pending, या closed |
assignedTo | string|null | असाइन करने के लिए ऑपरेटर UUID, या अनअसाइन करने के लिए null |
GET /billing/balance
अपनी वर्तमान योजना और क्रेडिट शेष प्राप्त करें।
प्रतिक्रिया
{'{'}
"data": {'{'}
"plan": "pro",
"creditBalance": 4500000,
"totalCreditsAdded": 10000000
}
}त्रुटि हैंडलिंग
त्रुटियां JSON बॉडी के साथ एक गैर-2xx स्थिति कोड लौटाती हैं:
{'{'}
"error": {'{'}
"code": "NOT_FOUND",
"message": "Conversation not found."
}
}| HTTP स्थिति | अर्थ |
|---|---|
401 | अमान्य, समाप्त, या अनुपलब्ध API कुंजी |
400 | अमान्य अनुरोध बॉडी या पैरामीटर |
404 | संसाधन नहीं मिला (या किसी अन्य टेनेंट से संबंधित है) |
500 | सर्वर त्रुटि |
सामान्य उपयोग के मामले
CRM एकीकरण
नई बातचीत के लिए पोल करें और आगंतुक डेटा (नाम, ईमेल, भाषा) को अपने CRM में सिंक करें। एक बाहरी संदर्भ के रूप में बातचीत ID का उपयोग करें।
स्वचालित फ़ॉलो-अप
एक बातचीत बंद होने के बाद, API के माध्यम से एक फ़ॉलो-अप संदेश भेजें: „चैट के लिए धन्यवाद! क्या कुछ और है जिसमें हम मदद कर सकते हैं?"
Webhook विकल्प
जब तक आउटगोइंग webhooks उपलब्ध नहीं हैं, नए संदेशों या स्थिति परिवर्तनों का पता लगाने के लिए समय-समय पर बातचीत एंडपॉइंट पर पोल करें।
थोक संचालन
7 दिनों से अधिक पुरानी सभी बातचीत बंद करें, बाहरी तर्क के आधार पर ऑपरेटरों को बातचीत असाइन करें, या विश्लेषण के लिए बातचीत इतिहास निर्यात करें।
दर सीमाएं
API प्रति API कुंजी 60 अनुरोध प्रति मिनट तक की अनुमति देता है। यदि आप इस सीमा को पार करते हैं, तो आपको 429 Too Many Requests प्रतिक्रिया मिलेगी। प्रतीक्षा करें और घातीय बैकऑफ के साथ पुनः प्रयास करें।
एकीकृत करने के लिए तैयार हैं?
अपना मुफ़्त खाता बनाएं और मिनटों में एक API कुंजी उत्पन्न करें।
निःशुल्क शुरू करें