Documentation
API संदर्भ
कोटा प्रबंधन, उपयोग ट्रैकिंग, और सत्र इतिहास के लिए REST API समापन बिंदु
Quick Start
Connect your existing Puppeteer, Playwright, or CDP automation to BotCloud by swapping your WebSocket endpoint to wss://cloud.bots.win. No code rewrites — just one line change.
import puppeteer from "puppeteer-core";
const params = new URLSearchParams({
token: process.env.BOTCLOUD_TOKEN,
"--proxy-server": process.env.BOTCLOUD_PROXY,
device_type: "mac",
});
const browser = await puppeteer.connect({
browserWSEndpoint: `wss://cloud.bots.win?${params.toString()}`,
});
const page = await browser.newPage();
await page.goto("https://example.com");
await page.screenshot({ path: "screenshot.png" });
await browser.close();प्रमाणीकरण
सभी API समापन बिंदुओं को Bearer टोकन प्रमाणीकरण की आवश्यकता है
# All API endpoints require Bearer token authentication
curl -H "Authorization: Bearer your-user-token-here" \
https://cloud.bots.win/api/quotaGET /api/quota
नौकरियां शुरू करने से पहले शेष कोटा जांचें
/api/quotaResponse: कुल, उपयोग, शेष कोटा और प्रतिशत उपयोग लौटाता है
curl -H "Authorization: Bearer your-token" https://cloud.bots.win/api/quotaGET /api/usage
रिपोर्टिंग और लागत विश्लेषण के लिए उपयोग आंकड़े प्राप्त करें
/api/usageResponse: कुल सत्र, कुल मिनट, और सक्रिय सत्र गणना लौटाता है
curl -H "Authorization: Bearer your-token" https://cloud.bots.win/api/usageGET /api/history
ऑडिट ट्रेल्स के लिए सत्र इतिहास प्राप्त करें
/api/historyParameters: वैकल्पिक प्रारंभ और अंत क्वेरी पैरामीटर (ISO 8601 टाइमस्टैम्प)
Response: अवधि और डिस्कनेक्ट कारणों के साथ सत्र ऑब्जेक्ट का सरणी लौटाता है
curl -H "Authorization: Bearer your-token" https://cloud.bots.win/api/historyPOST /api/user-data
स्थायी ब्राउज़र स्थिति के लिए नया उपयोगकर्ता डेटा कंटेनर बनाएं (कुकीज़, localStorage, आदि)
/api/user-dataResponse: बनाई गई उपयोगकर्ता डेटा ID और टाइमस्टैम्प लौटाता है
curl -X POST -H "Authorization: Bearer your-token" https://cloud.bots.win/api/user-dataGET /api/user-data
सत्यापित उपयोगकर्ता के लिए सभी उपयोगकर्ता डेटा कंटेनर सूचीबद्ध करें
/api/user-dataResponse: कोटा जानकारी के साथ उपयोगकर्ता डेटा ऑब्जेक्ट की सरणी लौटाता है
curl -H "Authorization: Bearer your-token" https://cloud.bots.win/api/user-dataDELETE /api/user-data/:id
उपयोगकर्ता डेटा कंटेनर हटाएं और कोटा रिलीज करें
/api/user-data/:idResponse: सफलता स्थिति लौटाता है
curl -X DELETE -H "Authorization: Bearer your-token" \
https://cloud.bots.win/api/user-data/udd_abc123xyz789defgFramework Integration
Puppeteer, PuppeteerSharp, Playwright (Node.js / Python / .NET), raw CDP, Go (chromedp / rod), Java (native WebSocket), and Ruby (Ferrum) all work without code rewrites. Swap wss://cloud.bots.win as your endpoint and pass your token, proxy, and device type as query parameters.
import puppeteer from "puppeteer-core";
const params = new URLSearchParams({
token: process.env.BOTCLOUD_TOKEN,
"--proxy-server": process.env.BOTCLOUD_PROXY,
device_type: "mac",
});
const browser = await puppeteer.connect({
browserWSEndpoint: `wss://cloud.bots.win?${params.toString()}`,
});
const page = await browser.newPage();
await page.goto("https://example.com");
await page.screenshot({ path: "screenshot.png" });
await browser.close();बिलिंग मॉडल
सब्सक्रिप्शन प्लान में मासिक ब्राउज़र घंटे शामिल हैं। समाप्त होने के बाद, अतिरिक्त उपयोग प्लान की overage दर पर आपके प्रीपेड बैलेंस से काटा जाता है।
कनेक्शन त्रुटियाँ
ये त्रुटियाँ कनेक्शन स्थापित होने के दौरान होती हैं — सत्र कभी नहीं बनता, इसलिए यह /api/history में नहीं दिखेगा। इन्हें संभालने के लिए HTTP स्टेटस और response body में संदेश देखें।
| HTTP Status | Cause |
|---|---|
| 400 | --proxy-server query parameter गायब है या गलत प्रारूप में है |
| 401 | Token गायब है या अमान्य है |
| 401 | सदस्यता सक्रिय नहीं है (कोई सदस्यता नहीं, समाप्त, या अवधि खत्म) |
| 401 | ट्रायल token समाप्त हो गया है या कोटा उपयोग हो चुका है |
| 403 | खाता शेष समाप्त — कोई सदस्यता घंटे शेष नहीं और शेष शून्य है |
| 429 | ट्रायल खाते एक समय में केवल 1 सक्रिय सत्र तक सीमित हैं |
डिस्कनेक्ट कारण
एक बार सत्र खुल जाने के बाद, यह अंततः नीचे दिए गए कारणों में से किसी एक के साथ समाप्त होगा — /api/history में दर्ज। त्रुटि प्रबंधन और ऑडिट ट्रेल के लिए इन कोड का उपयोग करें।
| Code | Description |
|---|---|
| socket_close | क्लाइंट ने कनेक्शन बंद किया (जैसे browser.close() या प्रक्रिया समाप्त) — सबसे सामान्य, सामान्य समाप्ति |
| idle_timeout | क्लाइंट की ओर से लंबे समय तक कोई गतिविधि नहीं — gateway ने सत्र समाप्त किया |
| browser_close_graceful | ब्राउज़र ने स्वयं बंद किया (जैसे पृष्ठ के अंदर से window.close() कॉल किया गया) |
| trial_exhausted | सत्र के दौरान ट्रायल टोकन कोटा समाप्त हो गया |
| primary_blocked:Insufficient balance | सत्र के बीच में खाता शेष समाप्त हो गया — gateway ने सत्र बंद किया |
| primary_blocked:Subscription lapsed or expired | सत्र के बीच में सदस्यता समाप्त हो गई या निष्क्रिय हो गई |
| browser_disconnect | ब्राउज़र gateway से डिस्कनेक्ट हो गया — पुनः प्रयास सुरक्षित है |
| browser_crash | ब्राउज़र प्रक्रिया क्रैश हो गई — पुनः प्रयास सुरक्षित है |
| gateway_crash | Gateway पुनः आरंभ हुआ — आपका सत्र समाप्त हो गया, पुनः प्रयास सुरक्षित है |
| socket_error | नेटवर्क स्तर की त्रुटि (TCP reset या असामान्य बंद) |