मुख्य सामग्री पर जाएं
Wbiztool

मीडिया API

मीडिया फाइलों की सूची API

अपने वर्कस्पेस की मीडिया लाइब्रेरी की फाइलें उनके डाउनलोड URL के साथ पाएं, सबसे नई पहले। पहले अपलोड की गई फाइल ढूंढने और उसका URL किसी संदेश में दोबारा इस्तेमाल करने के लिए टाइप से फिल्टर करें या नाम से खोजें।

GEThttps://wbiztool.com/api/v1/media/list/

बॉडी: Query string, या POST के साथ JSON बॉडी

सूची में मीडिया अपलोड करें API से और मीडिया डायरेक्टरी पेज पर अपलोड की गई फाइलें शामिल होती हैं। डिलीट की गई फाइलें शामिल नहीं होतीं।

छोटा उदाहरण#

curl -G https://wbiztool.com/api/v1/media/list/ \
  --data-urlencode client_id=12345 \
  --data-urlencode api_key=YOUR_API_KEY \
  --data-urlencode file_type=image \
  --data-urlencode page=1 \
  --data-urlencode limit=20

12345 और YOUR_API_KEY की जगह अपनी वैल्यू डालें। ये कहां मिलेंगी, यह जानने के लिए ऑथेंटिकेशन देखें।

रिक्वेस्ट पैरामीटर#

पैरामीटर GET रिक्वेस्ट की query string में भेजें, या Content-Type: application/json वाली POST रिक्वेस्ट में JSON बॉडी के रूप में। दोनों को मिलाएं नहीं: अगर client_id query string में है, तो JSON बॉडी को नज़रअंदाज़ कर दिया जाता है। फॉर्म-एन्कोडेड POST भी client_id, api_key, file_type और search के लिए काम करता है, लेकिन फॉर्म फील्ड में page और limit नज़रअंदाज़ हो जाते हैं; इन्हें query string या JSON में भेजें।

ऑथेंटिकेशन

client_idintegerआवश्यक

सेटिंग्स → API Keys से आपका API क्लाइंट ID।

api_keystringआवश्यक

उसी पेज से आपकी API की।

फिल्टर और पेजिनेशन

pageintegerवैकल्पिक

पेज नंबर, 1 (डिफ़ॉल्ट) से शुरू। 1 से कम वैल्यू को 1 माना जाता है।

limitintegerवैकल्पिक

हर पेज पर फाइलें, 1 से 100 तक। डिफ़ॉल्ट 20। 100 से ज़्यादा वैल्यू को 100 और 1 से कम वैल्यू को 20 माना जाता है।

file_typestringवैकल्पिक

सिर्फ इमेज के लिए image, या बाकी सब के लिए file। कोई भी दूसरी वैल्यू नज़रअंदाज़ की जाती है।

searchstringवैकल्पिक

सिर्फ वे फाइलें लौटाएं जिनके मूल नाम या स्टोर किए गए नाम में यह टेक्स्ट हो। अक्षरों के छोटे-बड़े (case) होने से फर्क नहीं पड़ता।

JSON बॉडी के साथ POSTcURL
curl -X POST https://wbiztool.com/api/v1/media/list/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "search": "invoice",
    "page": 1,
    "limit": 50
  }'

रिस्पॉन्स#

{
  "status": 1,
  "message": "Media files retrieved successfully",
  "data": {
    "total_count": 1,
    "page": 1,
    "limit": 20,
    "total_pages": 1,
    "has_next": false,
    "has_previous": false,
    "media_files": [
      {
        "id": 5123,
        "file_name": "media_12345_17895806123456.jpg",
        "original_file_name": "diwali-sale.jpg",
        "file_url": "https://wbiztool-static.s3.ap-southeast-1.amazonaws.com/media/org_12345/media_12345_17895806123456.jpg",
        "file_type": "image",
        "file_size": 524288,
        "file_size_display": "512.0 KB",
        "mime_type": "image/jpeg",
        "is_image": true,
        "file_extension": "jpg",
        "created_at": "2026-09-16T10:23:52.106447+00:00",
        "uploaded_by": "[email protected]"
      }
    ]
  }
}
फील्डटाइपविवरण
statusintegerसफल होने पर 1, रिक्वेस्ट फेल होने पर 0
messagestringMedia files retrieved successfully, वरना एरर।
data.total_countintegerसभी पेजों को मिलाकर आपके फिल्टर से मैच करने वाली फाइलें।
data.pageintegerलौटाया गया पेज।
data.limitinteger1 से 100 के समायोजन के बाद इस्तेमाल हुआ पेज साइज़।
data.total_pagesintegerपेजों की संख्या। कोई फाइल न होने पर 0
data.has_nextbooleanइस पेज के बाद कोई पेज हो तो true
data.has_previousbooleanpage 1 से बड़ा हो तो true
data.media_filesarrayइस पेज की फाइलें, सबसे नई पहले। अगर पेज आखिरी पेज से आगे है तो खाली।

मीडिया फाइल फील्ड#

फील्डटाइपविवरण
idintegerमीडिया फाइल का ID। इसे मीडिया फाइल पाएं के साथ इस्तेमाल करें।
file_namestringवह नाम जिससे फाइल स्टोर है।
original_file_namestringअपलोड के समय फाइल का नाम।
file_urlstringडायरेक्ट डाउनलोड URL। भेजते समय इसे img_url या file_url के रूप में इस्तेमाल करें।
file_typestringimage या file
file_sizeintegerबाइट में साइज़।
file_size_displaystringएक दशमलव स्थान के साथ पढ़ने लायक साइज़, जैसे 512.0 KB
mime_typestringMIME टाइप, जैसे image/jpeg
is_imagebooleanfile_type के image होने पर true
file_extensionstringoriginal_file_name का lower-case एक्सटेंशन, बिना डॉट के।
created_atstringअपलोड का समय, UTC में ISO 8601, +00:00 ऑफसेट के साथ।
uploaded_bystring or nullफाइल अपलोड करने वाले टीम सदस्य का लॉगिन यूज़रनेम (आमतौर पर ईमेल पता)।

एरर#

एरर भी HTTP 200 लौटाते हैं, और status 0 होता है:

{ "status": 0, "message": "Invalid API key" }
संदेशकैसे ठीक करें
client_id is requiredclient_id जोड़ें। अगर आप JSON भेजते हैं, तो जांचें कि बॉडी सही JSON है (पार्स एरर इसी संदेश के रूप में दिखता है)।
api_key is requiredapi_key जोड़ें।
client_id must be a valid integerclient_id को नंबर के रूप में भेजें।
Invalid API keyजांचें कि की मौजूद है और डिलीट या डिसेबल नहीं हुई है।
Invalid client_id for this API keyकी किसी दूसरे client_id की है।
Error retrieving media files: …आमतौर पर query string या फॉर्म फील्ड में page या limit पूर्ण संख्या नहीं होती। JSON बॉडी में कोई एरर नहीं आता: अगर page पूर्ण संख्या नहीं है, तो page, limit, file_type और search सभी नज़रअंदाज़ हो जाते हैं, इसलिए आपको बिना किसी फिल्टर के 20 फाइलों वाला पेज 1 मिलता है। अगर सिर्फ limit पूर्ण संख्या नहीं है, तो limit, file_type और search नज़रअंदाज़ हो जाते हैं।

हर पेज पढ़ना#

जब तक data.has_next true है, अगला पेज मांगते रहें।

सभी मीडिया फाइलें पाएं
import requests

files, page = [], 1

while True:
    result = requests.get(
        "https://wbiztool.com/api/v1/media/list/",
        params={"client_id": 12345, "api_key": "YOUR_API_KEY", "page": page, "limit": 100},
        timeout=60,
    ).json()
    if result["status"] != 1:
        raise RuntimeError(result["message"])

    files += result["data"]["media_files"]
    if not result["data"]["has_next"]:
        break
    page += 1

print(len(files), "files")

सुझाव#

  • भेजने के लिए सही पैरामीटर इस्तेमाल करें: जब is_image true हो, तो URL को msg_type 1 के साथ img_url के रूप में भेजें; वरना msg_type 2 के साथ file_url के रूप में। संदेश भेजें देखें।
  • अपनी API की को लॉग से दूर रखें: query string अक्सर प्रॉक्सी और सर्वर लॉग कर लेते हैं। अगर यह आपके लिए मायने रखता है, तो इसकी जगह JSON बॉडी के साथ POST इस्तेमाल करें।