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

मीडिया API

मीडिया अपलोड करें API

अपने वर्कस्पेस की मीडिया लाइब्रेरी में इमेज, डॉक्यूमेंट, ऑडियो या वीडियो फाइल अपलोड करें और बदले में एक डाउनलोड URL पाएं। जब आपके पास अपनी फाइल होस्टिंग न हो, तो यह URL संदेश भेजें में पास करें, या, सिर्फ इमेज के लिए, रिमाइंडर बनाएं में img_url के रूप में।

POSThttps://wbiztool.com/api/v1/media/upload/

बॉडी: multipart/form-data

फाइल तुरंत स्टोर हो जाती है और रिस्पॉन्स में उसका file_url होता है। अपलोड की गई फाइलें आपके डैशबोर्ड के मीडिया डायरेक्टरी पेज पर भी दिखती हैं।

छोटा उदाहरण#

curl -X POST https://wbiztool.com/api/v1/media/upload/ \
  -F client_id=12345 \
  -F api_key=YOUR_API_KEY \
  -F media_file=@./invoice-4821.pdf

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

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

रिक्वेस्ट multipart/form-data के रूप में भेजें। यह एंडपॉइंट JSON बॉडी और query string पैरामीटर नहीं पढ़ता।

client_idintegerआवश्यक

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

api_keystringआवश्यक

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

media_filefileआवश्यक

अपलोड की जाने वाली फाइल, अधिकतम 64 MB। इसका टाइप फाइल के नाम के एक्सटेंशन से तय होता है, इसलिए नाम किसी सपोर्टेड एक्सटेंशन पर खत्म होना चाहिए।

सपोर्टेड फाइल टाइप#

कैटेगरीएक्सटेंशन
इमेज.jpg, .jpeg, .png, .gif
डॉक्यूमेंट.pdf, .doc, .xls, .ppt, .txt, .csv
ऑडियो.mp3, .wav
वीडियो.mp4, .mov
आर्काइव.zip

इमेज file_type को image सेट करके स्टोर होती हैं; बाकी सब file होता है।

रिस्पॉन्स#

सफल रिक्वेस्ट HTTP 200 लौटाती है:

{
  "status": 1,
  "message": "File uploaded 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"
  }
}
फील्डटाइपविवरण
statusintegerफाइल अपलोड होने पर 1, रिक्वेस्ट फेल होने पर 0
messagestringFile uploaded successfully, वरना एरर।
data.idintegerमीडिया फाइल का ID। इसे मीडिया फाइल पाएं के साथ इस्तेमाल करें।
data.file_namestringवह नाम जिससे फाइल स्टोर है, Wbiztool द्वारा बनाया गया।
data.original_file_namestringआपकी अपलोड की गई फाइल का नाम।
data.file_urlstringडायरेक्ट डाउनलोड URL। भेजते समय इसे img_url या file_url के रूप में इस्तेमाल करें।
data.file_typestringimage या file
data.file_sizeintegerबाइट में साइज़।
data.file_size_displaystringएक दशमलव स्थान के साथ पढ़ने लायक साइज़, जैसे 242.5 KB
data.mime_typestringएक्सटेंशन से निकाला गया MIME टाइप, जैसे application/pdf
data.is_imagebooleanfile_type के image होने पर true
data.file_extensionstringoriginal_file_name का lower-case एक्सटेंशन, बिना डॉट के।
data.created_atstringअपलोड का समय, UTC में ISO 8601, +00:00 ऑफसेट के साथ।

एरर#

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

{ "status": 0, "message": "File is too large. Maximum size is 64MB. Your file: 71.3MB" }
संदेशकैसे ठीक करें
Only POST method is supportedPOST रिक्वेस्ट भेजें।
client_id is requiredclient_id को फॉर्म फील्ड के रूप में जोड़ें। जांचें कि बॉडी multipart/form-data है, JSON नहीं।
api_key is requiredapi_key को फॉर्म फील्ड के रूप में जोड़ें।
media_file is requiredफाइल को media_file नाम के फील्ड में भेजें।
client_id must be a valid integerclient_id को नंबर के रूप में भेजें।
Invalid API keyजांचें कि की मौजूद है और डिलीट या डिसेबल नहीं हुई है।
Invalid client_id for this API keyकी किसी दूसरे client_id की है।
File is too large. Maximum size is 64MB. Your file: …MB64 MB या उससे छोटी फाइल अपलोड करें।
File type not supported. Type detected: …किसी सपोर्टेड एक्सटेंशन का इस्तेमाल करें।
Error uploading file: …अपलोड पूरा नहीं हो सका। फिर से कोशिश करें। यह तब भी मिलता है जब API की किसी वर्कस्पेस से जुड़ी नहीं है; जिस वर्कस्पेस को इस्तेमाल करना चाहते हैं, उसमें नई की बनाएं।

अपलोड करें और भेजें#

फाइल अपलोड करें, फिर file_url को संदेश भेजें में पास करें: इमेज के लिए msg_type 1 के साथ img_url के रूप में, या दूसरी फाइलों के लिए msg_type 2 के साथ file_url के रूप में।

PDF अपलोड करें और भेजें
import requests

BASE = "https://wbiztool.com/api/v1"
AUTH = {"client_id": 12345, "api_key": "YOUR_API_KEY"}

with open("invoice-4821.pdf", "rb") as f:
    upload = requests.post(f"{BASE}/media/upload/", data=AUTH, files={"media_file": f}, timeout=120).json()
if upload["status"] != 1:
    raise SystemExit("Upload failed: " + upload["message"])

media = upload["data"]
message = {
    **AUTH,
    "whatsapp_client": 678,
    "country_code": "91",
    "phone": "9876543210",
    "msg": "Your invoice for order #4821 is attached.",
}
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"])

sent = requests.post(f"{BASE}/send_msg/", json=message, timeout=60).json()
print(sent)

संदेश भेजें API की फाइल एक्सटेंशन की अपनी अलग सूची है। इस API से स्वीकार होने वाले टाइप में से, msg_type 2 के साथ भेजी गई .doc, .ppt, .csv, .zip, .wav और .mov फाइलें नाम में .pdf जुड़कर डिलीवर होती हैं (जैसे brochure.doc.pdf)। डॉक्यूमेंट भेजने से पहले उन्हें PDF में बदल लें। इमेज और फाइलें भेजना देखें। नाम छोटे अक्षरों (lower case) में भी भेजा जाता है (Invoice-4821.PDF पहुंचता है invoice-4821.pdf के रूप में)।

msg_type 1 के साथ भेजी गई इमेज 16 MB या उससे छोटी होनी चाहिए। बड़ी इमेज यहां ठीक से अपलोड हो जाती हैं, लेकिन भेजते समय File exceeds WhatsApp size limit (16MB max) के साथ फेल हो जाती हैं। पहले उन्हें कंप्रेस करें, या msg_type 2 के साथ फाइल के रूप में भेजें।

सुझाव#

  • अपलोड दोबारा इस्तेमाल करें। id या file_url सेव करें और एक ही फाइल को दोबारा अपलोड करने के बजाय कई बार भेजें।
  • मूल नाम समझने लायक रखें। डैशबोर्ड में आपको original_file_name ही दिखता है, और भेजते समय file_name के लिए भी यह अच्छी वैल्यू है।
  • पहले के अपलोड ढूंढें: मीडिया की सूची से।