BI (Power BI/Tableau) और Zapier/Make कनेक्ट करें
अपनी खुद की API key जनरेट करें और BI व ऑटोमेशन टूल्स को अपने CRM डेटा से कनेक्ट करें, हमारे किसी बाहरी अकाउंट की ज़रूरत नहीं।
आप BI टूल्स (Power BI, Tableau, Looker) और ऑटोमेशन टूल्स (Zapier, Make, n8n) को सीधे अपने CRM डेटाबेस से कनेक्ट कर सकते हैं। हमारे किसी बाहरी अकाउंट की ज़रूरत नहीं है: आप CRM के भीतर ही एक API key जनरेट करते हैं और उसे टूल से कनेक्ट करते हैं। सब कुछ केवल-पठन (read-only) है और आपके टेनेंट के डेटा तक सीमित है।
पूर्वापेक्षाएं
- किसी BI टूल (Power BI, Tableau, Looker Studio) या ऑटोमेशन टूल (Zapier, Make, n8n) में एक अकाउंट, जो authentication header के साथ REST/JSON API का उपयोग कर सके।
- Sellio में, Settings → API में API key जनरेट करने के लिए एडमिनिस्ट्रेटर एक्सेस।
1) एक API key जनरेट करें
- Settings → API खोलें।
- एक नई API key बनाएं और वैल्यू कॉपी करें (यह sk_ से शुरू होती है और केवल एक बार दिखाई देती है, इसलिए इसे पासवर्ड की तरह मानें)।
- टूल्स में, इस key को header में भेजें: Authorization: Bearer sk_...
2) डेटा एंडपॉइंट्स ("टेबल्स")
- GET /api/v1/objects: उपलब्ध ऑब्जेक्ट्स की सूची देता है (वे टेबल्स जिन्हें BI पढ़ सकता है)।
- GET /api/v1/data/{object}: ऑब्जेक्ट के रिकॉर्ड्स को rows में फ्लैट करके देता है, स्थिर (stable) कॉलम्स के साथ: id, created_at, updated_at, owner_id और हर फील्ड के लिए एक कॉलम (फील्ड का api_name)।
पेजिनेशन: ?page=1&pageSize=100 का उपयोग करें (या ?limit= और ?offset=)। अधिकतम pageSize 200 है। रिस्पॉन्स में object, columns (हर कॉलम का नाम और टाइप), page, pageSize, total और rows शामिल होते हैं।
3) Power BI / Tableau / Looker
- Power BI में: Get Data → Web; Tableau में: Web/JSON connector; Looker Studio में: JSON/URL connector।
- डेटा URL पर पॉइंट करें, उदाहरण के लिए https://YOUR-CRM/api/v1/data/opportunity
- Authorization header को Bearer sk_... (आपकी API key) वैल्यू के साथ जोड़ें।
- कॉलम्स स्थिर (stable) और टाइप्ड होते हैं, इसलिए आप उन्हें एक बार मैप करते हैं और नए रिकॉर्ड्स आने पर भी रिपोर्ट काम करती रहती है।
4) Zapier / Make / n8n
- पोलिंग ट्रिगर ("New/Updated record"): GET /api/v1/data/{object}?updated_since=<ISO> (या created_since=<ISO>) क्वेरी करें ताकि पिछली जांच के बाद जो बदला या बनाया गया हो, केवल वही मिले। सबसे हाल के रिकॉर्ड्स पहले आते हैं।
- इंस्टेंट ट्रिगर: Settings → Webhooks में, एक आउटबाउंड webhook बनाएं और URL को Zapier के "Catch Hook" (या Make/n8n के "Custom Webhook") पर पॉइंट करें। हर बार रिकॉर्ड बनने/अपडेट होने पर, CRM साइन किया हुआ इवेंट (HMAC) तुरंत भेजता है।
Settings → Integrations में, "BI और बाहरी ऑटोमेशन" कार्ड में एंडपॉइंट लिंक्स और API key जनरेट करने का शॉर्टकट एक साथ मिलते हैं।
कैसे टेस्ट करें
- त्वरित: header Authorization: Bearer sk_... के साथ GET https://YOUR-CRM/api/v1/objects खोलें (एक्सटेंशन वाले ब्राउज़र में, Postman में या curl के साथ) और ऑब्जेक्ट लिस्ट जांचें।
- डेटा पढ़ें: GET /api/v1/data/opportunity?pageSize=5 कॉल करें और पुष्टि करें कि rows में id, created_at, updated_at, owner_id कॉलम्स और फील्ड्स शामिल हैं।
- BI में: डेटा URL पर पॉइंट करते हुए कनेक्शन बनाएं और जांचें कि कॉलम्स टाइप्ड दिखाई देते हैं; Zapier/Make में, टेस्ट ट्रिगर करें और रिकॉर्ड को आते देखें।
समस्या निवारण
- 401 Unauthorized: API key गायब है, गलत है, या "Authorization: Bearer sk_..." के रूप में नहीं भेजी गई। Settings → API में एक नई key जनरेट करें (वैल्यू केवल एक बार दिखाई देती है) और टूल को फिर से कॉन्फ़िगर करें।
- एंडपॉइंट पर 404: URL जांचें। ऑब्जेक्ट्स /api/v1/objects पर हैं और डेटा /api/v1/data/{api_name} पर। ऑब्जेक्ट का सटीक api_name उपयोग करें (लोकलाइज्ड लेबल नहीं)।
- सिर्फ कुछ ही rows वापस आती हैं: नतीजे पेजिनेटेड होते हैं। ?page=1&pageSize=200 (अधिकतम 200) का उपयोग करें और पेजों में आगे बढ़ें; इंक्रीमेंटल रीड्स के लिए, ?updated_since=<ISO> का उपयोग करें।
- इंस्टेंट webhook फायर नहीं होता: पुष्टि करें कि Settings → Webhooks में आउटबाउंड webhook "Catch Hook" (Zapier) / "Custom Webhook" (Make/n8n) पर पॉइंट करता है और सक्रिय है। CRM भेजते समय साइन (HMAC) करता है, इसलिए अगर टूल को इसकी ज़रूरत है तो सीक्रेट को वैलिडेट करें।
- मुझे सिर्फ अपना डेटा दिखता है: सही है। हर API key उसके मालिक टेनेंट तक सीमित है, इसलिए यह कभी किसी दूसरी कंपनी का डेटा नहीं देखती।