انتقل إلى المحتوى
Wbiztool

API الوسائط

API جلب ملف وسائط

احصل على تفاصيل ملف واحد في مكتبة الوسائط وعنوان URL لتنزيله بواسطة معرّفه. استخدمه للتحقق من أن الملف لا يزال موجودًا قبل إرساله.

GEThttps://wbiztool.com/api/v1/media/{media_id}/

النص (Body): سلسلة استعلام، أو جسم JSON مع POST

استبدل {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_KEY

استبدل 12345 وYOUR_API_KEY بقيمك الخاصة. راجع المصادقة لمعرفة مكان العثور عليها.

معاملات الطلب#

أرسل client_id وapi_key في سلسلة الاستعلام لطلب GET، أو كجسم JSON في طلب POST. إذا كان client_id في سلسلة الاستعلام، يُتجاهل جسم JSON.

المسار

media_idintegerمطلوب

معرّف ملف الوسائط. يجب أن يكون عددًا صحيحًا؛ وأي قيمة أخرى تُرجع استجابة HTML بمعنى «الصفحة غير موجودة» بدلًا من JSON.

المصادقة

client_idintegerمطلوب

معرّف العميل في API ‏(API Client ID) من Settings → API keys (الإعدادات ← مفاتيح API).

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]"
  }
}
الحقلالنوعالوصف
statusinteger‏1 عند النجاح، و0 إذا فشل الطلب.
messagestring‏Media file retrieved successfully، وإلا نص الخطأ.
data.idintegerمعرّف ملف الوسائط.
data.file_namestringالاسم الذي خُزّن به الملف.
data.original_file_namestringاسم الملف عند رفعه.
data.file_urlstringعنوان URL مباشر للتنزيل. استخدمه كقيمة img_url أو file_url عند الإرسال.
data.file_typestring‏image أو file.
data.file_sizeintegerالحجم بالبايت.
data.file_size_displaystringحجم مقروء بمنزلة عشرية واحدة، مثل 242.5 KB.
data.mime_typestringنوع MIME، مثل application/pdf.
data.is_imageboolean‏true عندما تكون قيمة file_type هي image.
data.file_extensionstringامتداد original_file_name بأحرف صغيرة، بدون النقطة.
data.created_atstringوقت الرفع، بصيغة ISO 8601 بتوقيت UTC مع الفرق +00:00.
data.modified_atstringآخر وقت تغيّر فيه سجل الملف، بالصيغة نفسها.
data.uploaded_bystring or nullاسم مستخدم تسجيل الدخول (عادةً عنوان البريد الإلكتروني) لعضو الفريق الذي رفع الملف.

الأخطاء#

تُرجع الأخطاء أيضًا HTTP 200، مع status بقيمة 0:

{ "status": 0, "message": "Media file not found" }

استثناء واحد: إذا لم تكن قيمة media_id رقمًا، فلن يطابق عنوان URL أي نقطة نهاية، وستحصل على صفحة 404 بصيغة HTML بدلًا من JSON.

الرسالةطريقة الإصلاح
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، أو أنه حُذف.
Error retrieving media file: …حدث خطأ من جانبنا. حاول مرة أخرى.

تحقّق من الملف قبل إرساله#

اجلب الملف بواسطة معرّفه، وتوقف إذا لم يعد موجودًا، ثم أرسل file_url الخاص به: كقيمة img_url مع msg_type 1 للصور، أو كقيمة file_url مع msg_type 2 لأي شيء آخر.

إرسال ملف وسائط محفوظ
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())

الملفات غير الصور مثل .doc و.ppt و.csv و.zip و.wav و.mov تصل بعد إضافة .pdf إلى اسمها، والصور التي يزيد حجمها على 16 MB يفشل إرسالها. راجع رفع الوسائط ← الرفع والإرسال.

نصائح#

  • الملفات المحذوفة تُرجع Media file not found، رغم أن file_url الخاص بها قد يظل قابلًا للتنزيل. تحقّق باستخدام نقطة النهاية هذه بدلًا من جلب عنوان URL. عناوين URL للملفات المرفوعة عامة ودائمة؛ راجع رفع الوسائط ← الرفع والإرسال.
  • الملفات خاصة بكل مساحة عمل. لا يمكن قراءة ملف رُفع في مساحة عمل باستخدام مفتاح API من مساحة عمل أخرى.
  • لا تعرف المعرّف؟ ابحث بالاسم باستخدام عرض الوسائط.