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/quota

GET /api/quota

नौकरियां शुरू करने से पहले शेष कोटा जांचें

GET/api/quota

Response: कुल, उपयोग, शेष कोटा और प्रतिशत उपयोग लौटाता है

curl -H "Authorization: Bearer your-token" https://cloud.bots.win/api/quota

GET /api/usage

रिपोर्टिंग और लागत विश्लेषण के लिए उपयोग आंकड़े प्राप्त करें

GET/api/usage

Response: कुल सत्र, कुल मिनट, और सक्रिय सत्र गणना लौटाता है

curl -H "Authorization: Bearer your-token" https://cloud.bots.win/api/usage

GET /api/history

ऑडिट ट्रेल्स के लिए सत्र इतिहास प्राप्त करें

GET/api/history

Parameters: वैकल्पिक प्रारंभ और अंत क्वेरी पैरामीटर (ISO 8601 टाइमस्टैम्प)

Response: अवधि और डिस्कनेक्ट कारणों के साथ सत्र ऑब्जेक्ट का सरणी लौटाता है

curl -H "Authorization: Bearer your-token" https://cloud.bots.win/api/history

POST /api/user-data

स्थायी ब्राउज़र स्थिति के लिए नया उपयोगकर्ता डेटा कंटेनर बनाएं (कुकीज़, localStorage, आदि)

POST/api/user-data

Response: बनाई गई उपयोगकर्ता डेटा ID और टाइमस्टैम्प लौटाता है

curl -X POST -H "Authorization: Bearer your-token" https://cloud.bots.win/api/user-data

GET /api/user-data

सत्यापित उपयोगकर्ता के लिए सभी उपयोगकर्ता डेटा कंटेनर सूचीबद्ध करें

GET/api/user-data

Response: कोटा जानकारी के साथ उपयोगकर्ता डेटा ऑब्जेक्ट की सरणी लौटाता है

curl -H "Authorization: Bearer your-token" https://cloud.bots.win/api/user-data

DELETE /api/user-data/:id

उपयोगकर्ता डेटा कंटेनर हटाएं और कोटा रिलीज करें

DELETE/api/user-data/:id

Response: सफलता स्थिति लौटाता है

curl -X DELETE -H "Authorization: Bearer your-token" \
  https://cloud.bots.win/api/user-data/udd_abc123xyz789defg

Framework 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 StatusCause
400--proxy-server query parameter गायब है या गलत प्रारूप में है
401Token गायब है या अमान्य है
401सदस्यता सक्रिय नहीं है (कोई सदस्यता नहीं, समाप्त, या अवधि खत्म)
401ट्रायल token समाप्त हो गया है या कोटा उपयोग हो चुका है
403खाता शेष समाप्त — कोई सदस्यता घंटे शेष नहीं और शेष शून्य है
429ट्रायल खाते एक समय में केवल 1 सक्रिय सत्र तक सीमित हैं

डिस्कनेक्ट कारण

एक बार सत्र खुल जाने के बाद, यह अंततः नीचे दिए गए कारणों में से किसी एक के साथ समाप्त होगा — /api/history में दर्ज। त्रुटि प्रबंधन और ऑडिट ट्रेल के लिए इन कोड का उपयोग करें।

CodeDescription
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_crashGateway पुनः आरंभ हुआ — आपका सत्र समाप्त हो गया, पुनः प्रयास सुरक्षित है
socket_errorनेटवर्क स्तर की त्रुटि (TCP reset या असामान्य बंद)