דלגו לתוכן
Wbiztool

API למדיה

ממשק API להעלאת מדיה

העלו קובץ תמונה, מסמך, אודיו או וידאו לספריית המדיה של סביבת העבודה שלכם, וקבלו בחזרה כתובת URL להורדה. העבירו את הכתובת הזו ל-שליחת הודעה, או, לתמונות בלבד, ל-יצירת תזכורת בתור img_url, כשאין לכם אחסון קבצים משלכם.

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

גוף הבקשה: multipart/form-data

הקובץ נשמר מיד, והתגובה כוללת את ה-file_url שלו. קבצים שהועלו מופיעים גם בדף Media Directory (ספריית מדיה) בלוח הבקרה שלכם.

דוגמה מהירה#

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. ה-endpoint הזה לא קורא גופי JSON ופרמטרים ב-query string.

client_idintegerחובה

מזהה הלקוח שלכם ל-API (API Client ID) מהדף Settings → API keys.

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"
  }
}
שדהסוגתיאור
statusinteger1 אם הקובץ הועלה, 0 אם הבקשה נכשלה.
messagestringFile uploaded successfully, אחרת השגיאה.
data.idintegerהמזהה של קובץ המדיה. השתמשו בו עם קבלת קובץ מדיה.
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_imagebooleantrue כש-file_type הוא image.
data.file_extensionstringהסיומת של original_file_name באותיות קטנות, בלי הנקודה.
data.created_atstringזמן ההעלאה, בפורמט ISO 8601 לפי UTC עם הפרש +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 supportedשלחו בקשת POST.
client_id is requiredהוסיפו client_id כשדה טופס. ודאו שהגוף הוא multipart/form-data ולא JSON.
api_key is requiredהוסיפו api_key כשדה טופס.
media_file is requiredשלחו את הקובץ בשדה בשם media_file.
client_id must be a valid integerשלחו את client_id כמספר.
Invalid API keyודאו שהמפתח קיים ולא נמחק או הושבת.
Invalid client_id for this API keyהמפתח שייך ל-client_id אחר.
File is too large. Maximum size is 64MB. Your file: …MBהעלו קובץ בגודל 64 MB לכל היותר.
File type not supported. Type detected: …השתמשו באחת מהסיומות הנתמכות.
Error uploading file: …לא ניתן היה להשלים את ההעלאה. נסו שוב. ההודעה הזו מופיעה גם אם מפתח ה-API לא מקושר לסביבת עבודה; צרו מפתח חדש בסביבת העבודה שבה אתם רוצים להשתמש.

העלאה ושליחה#

העלו את הקובץ, ואז העבירו את file_url ל-שליחת הודעה: בתור img_url עם msg_type 1 לתמונות, או בתור file_url עם msg_type 2 לקבצים אחרים.

העלאת 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 הזה מקבל, קובצי .doc, ‏.ppt, ‏.csv, ‏.zip, ‏.wav ו-.mov שנשלחים עם msg_type 2 נמסרים כשלשם מתווסף .pdf (למשל brochure.doc.pdf). המירו מסמכים ל-PDF לפני שאתם שולחים אותם. ראו שליחת תמונות וקבצים. השם גם נשלח באותיות קטנות (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 בזמן השליחה.
  • מצאו קבצים שהועלו קודם באמצעות רשימת מדיה.