API कनेक्शन
अपने बाहरी API को enuchat से कनेक्ट करें ताकि AI और नियम आपके सिस्टम से रीयल-टाइम डेटा प्राप्त कर सकें।
यह कैसे काम करता है
API कनेक्शन आपको enuchat को अपने बैकएंड सिस्टम के साथ एकीकृत करने की अनुमति देते हैं — बुकिंग इंजन, CRM, ऑर्डर प्रबंधन, इन्वेंट्री, और अधिक। जब कोई आगंतुक प्रश्न पूछता है, तो enuchat वास्तविक डेटा प्राप्त करने के लिए आपके API को कॉल कर सकता है और इसे प्रतिक्रिया में शामिल कर सकता है।
प्रवाह
- एक कनेक्शन कॉन्फ़िगर करें — आपके API का बेस URL और प्रमाणीकरण
- एंडपॉइंट जोड़ें — पथ टेम्पलेट और प्रतिक्रिया मैपिंग के साथ विशिष्ट API कॉल
- एक नियम बनाएं — एक CALL_API क्रिया के साथ AI या स्थिर नियम
- आगंतुक एक प्रश्न पूछता है — नियम ट्रिगर होता है, आपके API को कॉल करता है, प्रतिक्रिया को सत्र चर में मैप करता है
- AI वास्तविक डेटा के साथ प्रतिक्रिया करता है — सत्र चर एक सटीक उत्तर उत्पन्न करने के लिए AI के लिए उपलब्ध हैं
उदाहरण: होटल कक्ष उपलब्धता
आगंतुक: „क्या कमरा 205 अगले सप्ताह उपलब्ध है?"
AI नियम मेल खाता है: „जब आगंतुक कमरे की उपलब्धता के बारे में पूछता है"
CALL_API क्रिया: GET https://api.hotel.com/rooms/205/availability
मैप की गई प्रतिक्रिया: room_available = true, price = „€120/रात"
AI प्रतिक्रिया: „कमरा 205 अगले सप्ताह €120/रात पर उपलब्ध है। क्या आप इसे बुक करना चाहेंगे?"
कनेक्शन सेट करना
अपने डैशबोर्ड में सेटिंग्स → API कनेक्शन पर जाएं।
1. एक कनेक्शन बनाएं
एक कनेक्शन एक बाहरी API का प्रतिनिधित्व करता है। आपको चाहिए:
| फ़ील्ड | विवरण | उदाहरण |
|---|---|---|
| नाम | इस कनेक्शन के लिए एक लेबल | होटल बुकिंग API |
| बेस URL | API का रूट URL | https://api.hotel.com/v1 |
| प्रमाणीकरण प्रकार | कैसे प्रमाणित करें | Bearer Token, OAuth2, आदि। |
2. प्रमाणीकरण प्रकार
कोई नहीं
सार्वजनिक API के लिए जिन्हें प्रमाणीकरण की आवश्यकता नहीं है।
API कुंजी
एक हेडर या क्वेरी पैरामीटर के रूप में एक स्थिर कुंजी भेजता है।
| फ़ील्ड | विवरण |
|---|---|
| कुंजी | आपका API कुंजी मान |
| हेडर नाम | उपयोग करने के लिए हेडर (डिफ़ॉल्ट: X-Api-Key) |
कुंजी इस रूप में भेजी जाती है: X-Api-Key: your_key_here
Bearer Token
Authorization हेडर में एक स्थिर टोकन भेजता है।
इस रूप में भेजा गया: Authorization: Bearer your_token_here
Basic Auth
उपयोगकर्ता नाम और पासवर्ड भेजता है, base64-एन्कोडेड।
इस रूप में भेजा गया: Authorization: Basic dXNlcjpwYXNz
OAuth 2.0 (Client Credentials)
स्वचालित रूप से एक एक्सेस टोकन प्राप्त करता है और समाप्ति तक इसे कैश करता है। Salesforce, Google, या कस्टम OAuth सर्वर जैसे आधुनिक API के लिए सर्वोत्तम।
| फ़ील्ड | विवरण |
|---|---|
| टोकन URL | OAuth टोकन एंडपॉइंट (जैसे https://auth.example.com/oauth/token) |
| Client ID | आपका OAuth क्लाइंट ID |
| Client Secret | आपका OAuth क्लाइंट सीक्रेट |
| Scope | स्पेस-अलग किए गए स्कोप (जैसे read write) |
enuchat टोकन जीवनचक्र को स्वचालित रूप से संभालता है — पहले कॉल पर प्राप्त करता है, समाप्ति तक कैश करता है, आवश्यकता होने पर रीफ़्रेश करता है।
सुरक्षा: सभी क्रेडेंशियल libsodium का उपयोग करके स्थिर रूप से एन्क्रिप्ट किए जाते हैं। वे API प्रतिक्रियाओं में कभी भी उजागर नहीं होते हैं — डैशबोर्ड में केवल नकाबपोश मान दिखाए जाते हैं।
एंडपॉइंट कॉन्फ़िगर करना
प्रत्येक कनेक्शन में कई एंडपॉइंट हो सकते हैं — विशिष्ट API कॉल जो आप करना चाहते हैं।
| फ़ील्ड | विवरण | उदाहरण |
|---|---|---|
| नाम | इस एंडपॉइंट के लिए लेबल | उपलब्धता जांचें |
| विधि | HTTP विधि | GET, POST, PUT, DELETE |
| पथ | URL पथ (बेस URL से जुड़ा)। गतिशील मानों के लिए {'{'}variable} का उपयोग करें | /rooms/{'{'}roomId}/availability |
| क्वेरी पैरामीटर | कुंजी-मान जोड़ों के रूप में URL पैरामीटर। मान {'{'}variable} का समर्थन करते हैं | date={'{'}checkIn} |
| बॉडी टेम्पलेट | POST/PUT के लिए JSON बॉडी। {'{'}variable} इंटरपोलेशन का समर्थन करता है | {'{'}"guest": "{'{'}name}"} |
| प्रतिक्रिया मैपिंग | डॉट नोटेशन का उपयोग करके JSON प्रतिक्रिया फ़ील्ड को सत्र चर में मैप करें | data.available → room_available |
| विवरण | AI के लिए संदर्भ (यह एंडपॉइंट कौन सा डेटा लौटाता है) | कमरे की उपलब्धता और मूल्य निर्धारण लौटाता है |
चर इंटरपोलेशन
पथ, क्वेरी पैरामीटर और बॉडी टेम्पलेट में {'{'}variableName} का उपयोग करें। चर इनसे आते हैं:
- सत्र चर — पिछले नियमों द्वारा सेट (SET_VARIABLE क्रिया)
- क्रिया पैरामीटर — CALL_API नियम क्रिया में हार्डकोड किए गए
प्रतिक्रिया मैपिंग
डॉट नोटेशन का उपयोग करके JSON प्रतिक्रिया फ़ील्ड को सत्र चर में मैप करें:
// API लौटाता है:
{'{'}
"data": {'{'}
"available": true,
"price": {'{'} "amount": 120, "currency": "EUR" }
}
}
// मैपिंग:
data.available → room_available // "true"
data.price.amount → room_price // "120"
data.price.currency → room_currency // "EUR"मैप किए गए चर बातचीत पर सत्र चर के रूप में संग्रहीत किए जाते हैं और प्रतिक्रियाएं उत्पन्न करने के लिए AI के लिए उपलब्ध हैं।
नियमों के साथ उपयोग
API कॉल नियमों में CALL_API क्रिया द्वारा ट्रिगर किए जाते हैं। आप उन्हें अन्य क्रियाओं के साथ जोड़ सकते हैं।
नुस्खा: ऑर्डर स्थिति लुकअप
कनेक्शन: ऑर्डर प्रबंधन API — https://api.shop.com/v2 — Bearer Token
एंडपॉइंट: GET /orders/{'{'}orderId} → data.status → order_status, data.eta → delivery_eta मैप करता है
नियम (AI प्रकार): „जब आगंतुक अपने ऑर्डर की स्थिति या डिलीवरी के बारे में पूछता है"
क्रियाएं:
- CALL_API → ऑर्डर स्थिति एंडपॉइंट
- REPLY_AI → AI
order_statusऔरdelivery_etaका उपयोग करके प्रतिक्रिया करता है
परिणाम: आगंतुक: „मेरा ऑर्डर #4521 कहां है?" — AI: „आपका ऑर्डर #4521 वर्तमान में शिप किया जा रहा है और गुरुवार तक पहुंचना चाहिए।"
नुस्खा: रीयल-टाइम मूल्य निर्धारण
कनेक्शन: मूल्य निर्धारण API — https://pricing.example.com — API कुंजी
एंडपॉइंट: GET /products/{'{'}productId}/price → price → current_price, currency → price_currency मैप करता है
नियम (स्थिर): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i
क्रियाएं:
- CALL_API → मूल्य निर्धारण एंडपॉइंट
- REPLY_TEXT → „वर्तमान मूल्य {'{'}current_price} {'{'}price_currency} है।"
परीक्षण
नियमों में उपयोग करने से पहले हमेशा अपने कनेक्शन और एंडपॉइंट का परीक्षण करें:
- कनेक्शन का परीक्षण करें — सत्यापित करता है कि प्रमाणीकरण काम करता है (OAuth2 के लिए: एक टोकन प्राप्त करता है)
- एंडपॉइंट का परीक्षण करें — नमूना चर के साथ एक वास्तविक API कॉल करता है और प्रतिक्रिया दिखाता है
- नियम का परीक्षण करें (ड्राई-रन) — नियम पृष्ठ पर, परीक्षण करें कि क्या एक नियम मेल खाएगा और कौन सी क्रियाएं निष्पादित होंगी
सुझाव: कनेक्शन का परीक्षण करके शुरू करें, फिर प्रत्येक एंडपॉइंट, फिर पूर्ण नियम। इस तरह आप प्रत्येक स्तर पर समस्याओं को अलग कर सकते हैं।
सुरक्षा
- स्थिर स्थिति में एन्क्रिप्शन — सभी क्रेडेंशियल भंडारण से पहले libsodium का उपयोग करके एन्क्रिप्ट किए जाते हैं
- कभी उजागर नहीं — API प्रतिक्रियाओं में कभी भी डिक्रिप्ट किए गए क्रेडेंशियल शामिल नहीं होते, केवल नकाबपोश मान
- SSRF सुरक्षा — enuchat localhost, निजी IPs, और आंतरिक होस्टनाम के लिए कॉल को ब्लॉक करता है
- टाइमआउट — बाहरी API कॉल में लटकने से रोकने के लिए 5-सेकंड का टाइमआउट होता है
- OAuth2 टोकन कैशिंग — एक्सेस टोकन सुरक्षित रूप से कैश किए जाते हैं और स्वचालित रूप से रीफ़्रेश किए जाते हैं
- टेनेंट अलगाव — कनेक्शन आपके टेनेंट के लिए स्कोप किए गए हैं, दूसरों के लिए दुर्गम
अपने API को कनेक्ट करने के लिए तैयार हैं?
आज अपने सिस्टम को enuchat के साथ एकीकृत करना शुरू करें।
निःशुल्क शुरू करें