मीडिया API
मीडिया फाइल पाएं API
अपनी मीडिया लाइब्रेरी की किसी एक फाइल की जानकारी और डाउनलोड URL उसके ID से पाएं। भेजने से पहले यह जांचने के लिए इसका इस्तेमाल करें कि फाइल अब भी मौजूद है।
https://wbiztool.com/api/v1/media/{media_id}/बॉडी: Query string, या POST के साथ JSON बॉडी
पाथ में {media_id} की जगह मीडिया अपलोड करें या मीडिया की सूची से मिला id डालें, जैसे /api/v1/media/5122/।
छोटा उदाहरण#
curl -G https://wbiztool.com/api/v1/media/5122/ \
--data-urlencode client_id=12345 \
--data-urlencode api_key=YOUR_API_KEYimport requests
media_id = 5122
response = requests.get(
f"https://wbiztool.com/api/v1/media/{media_id}/",
params={"client_id": 12345, "api_key": "YOUR_API_KEY"},
timeout=60,
)
result = response.json()
if result["status"] == 1:
media = result["data"]
print(media["original_file_name"], media["file_size_display"], media["file_url"])
else:
print("Failed:", result["message"])// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const mediaId = 5122;
const url = new URL(`https://wbiztool.com/api/v1/media/${mediaId}/`);
url.search = new URLSearchParams({ client_id: "12345", api_key: "YOUR_API_KEY" });
const response = await fetch(url);
const result = await response.json();
if (result.status === 1) {
const media = result.data;
console.log(media.original_file_name, media.file_size_display, media.file_url);
} else {
console.error("Failed:", result.message);
}<?php
$mediaId = 5122;
$query = http_build_query(['client_id' => 12345, 'api_key' => 'YOUR_API_KEY']);
$ch = curl_init("https://wbiztool.com/api/v1/media/$mediaId/?" . $query);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (($result['status'] ?? 0) === 1) {
echo $result['data']['original_file_name'] . ': ' . $result['data']['file_url'];
} else {
echo 'Failed: ' . ($result['message'] ?? 'no response');
}12345 और YOUR_API_KEY की जगह अपनी वैल्यू डालें। ये कहां मिलेंगी, यह जानने के लिए ऑथेंटिकेशन देखें।
रिक्वेस्ट पैरामीटर#
client_id और api_key को GET रिक्वेस्ट की query string में भेजें, या POST रिक्वेस्ट में JSON बॉडी के रूप में। अगर client_id query string में है, तो JSON बॉडी को नज़रअंदाज़ कर दिया जाता है।
पाथ
media_idintegerआवश्यकमीडिया फाइल का ID। यह पूर्ण संख्या होनी चाहिए; कुछ और देने पर JSON की जगह HTML वाला “page not found” रिस्पॉन्स मिलता है।
ऑथेंटिकेशन
client_idintegerआवश्यकसेटिंग्स → API Keys से आपका API क्लाइंट ID।
api_keystringआवश्यकउसी पेज से आपकी API की।
रिस्पॉन्स#
{
"status": 1,
"message": "Media file retrieved successfully",
"data": {
"id": 5122,
"file_name": "media_12345_17895804001234.pdf",
"original_file_name": "invoice-4821.pdf",
"file_url": "https://wbiztool-static.s3.ap-southeast-1.amazonaws.com/media/org_12345/media_12345_17895804001234.pdf",
"file_type": "file",
"file_size": 248312,
"file_size_display": "242.5 KB",
"mime_type": "application/pdf",
"is_image": false,
"file_extension": "pdf",
"created_at": "2026-09-16T10:20:31.512934+00:00",
"modified_at": "2026-09-16T10:20:31.512961+00:00",
"uploaded_by": "[email protected]"
}
}
| फील्ड | टाइप | विवरण |
|---|---|---|
status | integer | सफल होने पर 1, रिक्वेस्ट फेल होने पर 0। |
message | string | Media file retrieved successfully, वरना एरर। |
data.id | integer | मीडिया फाइल का ID। |
data.file_name | string | वह नाम जिससे फाइल स्टोर है। |
data.original_file_name | string | अपलोड के समय फाइल का नाम। |
data.file_url | string | डायरेक्ट डाउनलोड URL। भेजते समय इसे img_url या file_url के रूप में इस्तेमाल करें। |
data.file_type | string | image या file। |
data.file_size | integer | बाइट में साइज़। |
data.file_size_display | string | एक दशमलव स्थान के साथ पढ़ने लायक साइज़, जैसे 242.5 KB। |
data.mime_type | string | MIME टाइप, जैसे application/pdf। |
data.is_image | boolean | file_type के image होने पर true। |
data.file_extension | string | original_file_name का lower-case एक्सटेंशन, बिना डॉट के। |
data.created_at | string | अपलोड का समय, UTC में ISO 8601, +00:00 ऑफसेट के साथ। |
data.modified_at | string | फाइल का रिकॉर्ड आखिरी बार कब बदला गया, इसी फॉर्मेट में। |
data.uploaded_by | string or null | फाइल अपलोड करने वाले टीम सदस्य का लॉगिन यूज़रनेम (आमतौर पर ईमेल पता)। |
एरर#
एरर भी HTTP 200 लौटाते हैं, और status 0 होता है:
{ "status": 0, "message": "Media file not found" }
एक अपवाद: अगर media_id नंबर नहीं है, तो URL किसी एंडपॉइंट से मैच नहीं करता और आपको JSON की जगह HTML 404 पेज मिलता है।
| संदेश | कैसे ठीक करें |
|---|---|
client_id is required | client_id जोड़ें। |
api_key is required | api_key जोड़ें। |
client_id must be a valid integer | client_id को नंबर के रूप में भेजें। |
Invalid API key | जांचें कि की मौजूद है और डिलीट या डिसेबल नहीं हुई है। |
Invalid client_id for this API key | की किसी दूसरे client_id की है। |
Media file not found | API की वाले वर्कस्पेस में इस ID की कोई फाइल नहीं है, या वह डिलीट हो चुकी है। |
Error retrieving media file: … | हमारी तरफ कुछ गड़बड़ हुई। फिर से कोशिश करें। |
भेजने से पहले फाइल जांचें#
ID से फाइल लें, अगर वह अब मौजूद नहीं है तो रुक जाएं, फिर उसका file_url भेजें: इमेज के लिए msg_type 1 के साथ img_url के रूप में, और बाकी सब के लिए msg_type 2 के साथ file_url के रूप में।
import requests
BASE = "https://wbiztool.com/api/v1"
AUTH = {"client_id": 12345, "api_key": "YOUR_API_KEY"}
result = requests.get(f"{BASE}/media/5122/", params=AUTH, timeout=60).json()
if result["status"] != 1:
raise SystemExit("Can't use this file: " + result["message"])
media = result["data"]
message = {
**AUTH,
"whatsapp_client": 678,
"country_code": "91",
"phone": "9876543210",
"msg": "Here is the document you asked for.",
}
if media["is_image"]:
message.update(msg_type=1, img_url=media["file_url"])
else:
message.update(msg_type=2, file_url=media["file_url"], file_name=media["original_file_name"])
print(requests.post(f"{BASE}/send_msg/", json=message, timeout=60).json())// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const BASE = "https://wbiztool.com/api/v1";
const auth = { client_id: 12345, api_key: "YOUR_API_KEY" };
const url = new URL(`${BASE}/media/5122/`);
url.search = new URLSearchParams(auth);
const result = await (await fetch(url)).json();
if (result.status !== 1) throw new Error(`Can't use this file: ${result.message}`);
const media = result.data;
const message = {
...auth,
whatsapp_client: 678,
country_code: "91",
phone: "9876543210",
msg: "Here is the document you asked for.",
...(media.is_image
? { msg_type: 1, img_url: media.file_url }
: { msg_type: 2, file_url: media.file_url, file_name: media.original_file_name }),
};
const sent = await fetch(`${BASE}/send_msg/`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(message),
});
console.log(await sent.json());.doc, .ppt, .csv, .zip, .wav और .mov जैसी गैर-इमेज फाइलें नाम में .pdf जुड़कर डिलीवर होती हैं, और 16 MB से बड़ी इमेज भेजते समय फेल हो जाती हैं। देखें मीडिया अपलोड करें → अपलोड करें और भेजें।
सुझाव#
- डिलीट की गई फाइलें
Media file not foundलौटाती हैं, भले ही उनकाfile_urlअब भी डाउनलोड हो सकता हो। URL फेच करने के बजाय इस एंडपॉइंट से जांचें। अपलोड की गई फाइलों के URL सार्वजनिक और स्थायी होते हैं; देखें मीडिया अपलोड करें → अपलोड करें और भेजें। - फाइलें हर वर्कस्पेस की अलग होती हैं। एक वर्कस्पेस में अपलोड की गई फाइल को दूसरे वर्कस्पेस की API की से नहीं पढ़ा जा सकता।
- ID नहीं पता? मीडिया की सूची से नाम के आधार पर खोजें।
