דלגו לתוכן
Wbiztool

API למדיה

ממשק API לרשימת קובצי מדיה

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

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

גוף הבקשה: query string, או גוף JSON עם POST

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

דוגמה מהירה#

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 בערכים שלכם. בסעיף אימות מוסבר איפה למצוא אותם.

פרמטרי הבקשה#

שלחו את הפרמטרים ב-query string של בקשת GET, או כגוף JSON בבקשת POST עם Content-Type: application/json. אל תשלבו בין השניים: אם client_id נמצא ב-query string, המערכת מתעלמת מגוף ה-JSON. גם POST עם קידוד טופס (form-encoded) עובד עבור client_id, ‏api_key, ‏file_type ו-search, אבל המערכת מתעלמת מ-page ומ-limit בשדות טופס; שלחו אותם ב-query string או ב-JSON.

אימות

client_idintegerחובה

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

api_keystringחובה

מפתח ה-API שלכם מאותו דף.

מסננים וחלוקה לדפים

pageintegerאופציונלי

מספר הדף, החל מ-1 (ברירת מחדל). ערכים קטנים מ-1 מטופלים כ-1.

limitintegerאופציונלי

מספר הקבצים בכל דף, מ-1 עד 100. ברירת המחדל: 20. ערכים גדולים מ-100 מטופלים כ-100, וערכים קטנים מ-1 כ-20.

file_typestringאופציונלי

image לתמונות בלבד, או file לכל השאר. המערכת מתעלמת מכל ערך אחר.

searchstringאופציונלי

החזרת קבצים רק אם השם המקורי או השם השמור שלהם מכילים את הטקסט הזה. ללא הבחנה בין אותיות גדולות לקטנות.

POST עם גוף JSONcURL
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]"
      }
    ]
  }
}
שדהסוגתיאור
statusinteger1 בהצלחה, 0 אם הבקשה נכשלה.
messagestringMedia files retrieved successfully, אחרת השגיאה.
data.total_countintegerהקבצים שתואמים למסננים שלכם, בכל הדפים.
data.pageintegerהדף שהוחזר.
data.limitintegerגודל הדף שבו נעשה שימוש, אחרי ההתאמה לטווח 1 עד 100.
data.total_pagesintegerמספר הדפים. 0 כשאין קבצים.
data.has_nextbooleantrue אם יש דף אחרי הדף הזה.
data.has_previousbooleantrue אם page גדול מ-1.
data.media_filesarrayהקבצים בדף הזה, מהחדש לישן. ריק אם הדף נמצא אחרי סוף הרשימה.

שדות של קובץ מדיה#

שדהסוגתיאור
idintegerהמזהה של קובץ המדיה. השתמשו בו עם קבלת קובץ מדיה.
file_namestringהשם שתחתיו הקובץ נשמר.
original_file_namestringהשם שהיה לקובץ כשהוא הועלה.
file_urlstringכתובת URL להורדה ישירה. השתמשו בה בתור img_url או file_url בזמן השליחה.
file_typestringimage או file.
file_sizeintegerהגודל בבייטים.
file_size_displaystringגודל קריא עם ספרה אחת אחרי הנקודה, למשל 512.0 KB.
mime_typestringסוג MIME, למשל image/jpeg.
is_imagebooleantrue כש-file_type הוא image.
file_extensionstringהסיומת של original_file_name באותיות קטנות, בלי הנקודה.
created_atstringזמן ההעלאה, בפורמט ISO 8601 לפי UTC עם הפרש +00:00.
uploaded_bystring or nullשם המשתמש להתחברות (בדרך כלל כתובת האימייל) של חבר הצוות שהעלה את הקובץ.

שגיאות#

גם שגיאות מחזירות HTTP 200, עם status שמוגדר ל-0:

{ "status": 0, "message": "Invalid API key" }
הודעהאיך לתקן
client_id is requiredהוסיפו client_id. אם אתם שולחים JSON, ודאו שהגוף הוא JSON תקין (שגיאת פענוח מדווחת בהודעה הזו).
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 אחר.
Error retrieving media files: …בדרך כלל page או limit במחרוזת השאילתה או בשדות הטופס אינו מספר שלם. בגוף JSON אין שגיאה: אם page אינו מספר שלם, המערכת מתעלמת מ-page, ‏limit, ‏file_type ו-search, כך שתקבלו את דף 1 עם 20 קבצים ובלי מסננים. אם רק 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, שלחו את הכתובת בתור img_url עם msg_type 1; אחרת בתור file_url עם msg_type 2. ראו שליחת הודעה.
  • הרחיקו את מפתח ה-API מהלוגים: פרוקסי ושרתים שומרים לעיתים קרובות query strings בלוגים. אם זה חשוב לכם, השתמשו במקום זאת ב-POST עם גוף JSON.