Langkau ke kandungan
Wbiztool

API media

API Muat Naik Media

Muat naik fail imej, dokumen, audio atau video ke pustaka media ruang kerja anda dan dapatkan semula URL muat turun. Hantar URL itu kepada Hantar mesej, atau, untuk imej sahaja, kepada Cipta peringatan sebagai img_url, apabila anda tiada pengehosan fail sendiri.

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

Body: multipart/form-data

Fail disimpan serta-merta dan respons menyertakan file_urlnya. Fail yang dimuat naik juga muncul di halaman Media directory (Direktori media) dalam papan pemuka anda.

Contoh ringkas#

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

Gantikan 12345 dan YOUR_API_KEY dengan nilai anda sendiri. Lihat Pengesahan identiti untuk mengetahui di mana nilai ini boleh didapati.

Parameter permintaan#

Hantar permintaan sebagai multipart/form-data. Badan JSON dan parameter rentetan pertanyaan tidak dibaca oleh endpoint ini.

client_idintegerwajib

API Client ID anda dari Settings → API keys (Tetapan → Kunci API).

api_keystringwajib

Kunci API anda dari halaman yang sama.

media_filefilewajib

Fail yang hendak dimuat naik, sehingga 64 MB. Jenisnya ditentukan oleh sambungan nama fail, jadi nama mesti berakhir dengan salah satu sambungan yang disokong.

Jenis fail yang disokong#

KategoriSambungan
Imej.jpg, .jpeg, .png, .gif
Dokumen.pdf, .doc, .xls, .ppt, .txt, .csv
Audio.mp3, .wav
Video.mp4, .mov
Arkib.zip

Imej disimpan dengan file_type ditetapkan kepada image; selainnya ialah file.

Respons#

Permintaan yang berjaya memulangkan 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"
  }
}
MedanJenisPenerangan
statusinteger1 jika fail telah dimuat naik, 0 jika permintaan gagal.
messagestringFile uploaded successfully, jika tidak, mesej ralat.
data.idintegerID fail media. Gunakannya dengan Dapatkan fail media.
data.file_namestringNama simpanan fail, dijana oleh Wbiztool.
data.original_file_namestringNama fail yang anda muat naik.
data.file_urlstringURL muat turun terus. Gunakannya sebagai img_url atau file_url semasa menghantar.
data.file_typestringimage atau file.
data.file_sizeintegerSaiz dalam bait.
data.file_size_displaystringSaiz yang mudah dibaca dengan satu tempat perpuluhan, contohnya 242.5 KB.
data.mime_typestringJenis MIME yang ditentukan daripada sambungan, contohnya application/pdf.
data.is_imagebooleantrue apabila file_type ialah image.
data.file_extensionstringSambungan huruf kecil bagi original_file_name, tanpa titik.
data.created_atstringMasa muat naik, ISO 8601 dalam UTC dengan ofset +00:00.

Ralat#

Ralat juga memulangkan HTTP 200, dengan status ditetapkan kepada 0:

{ "status": 0, "message": "File is too large. Maximum size is 64MB. Your file: 71.3MB" }
MesejCara membetulkannya
Only POST method is supportedHantar permintaan POST.
client_id is requiredTambah client_id sebagai medan borang. Pastikan badan permintaan ialah multipart/form-data, bukan JSON.
api_key is requiredTambah api_key sebagai medan borang.
media_file is requiredHantar fail dalam medan bernama media_file.
client_id must be a valid integerHantar client_id sebagai nombor.
Invalid API keyPastikan kunci wujud dan belum dipadam atau dinyahdayakan.
Invalid client_id for this API keyKunci itu milik client_id yang lain.
File is too large. Maximum size is 64MB. Your file: …MBMuat naik fail bersaiz 64 MB atau kurang.
File type not supported. Type detected: …Gunakan salah satu sambungan yang disokong.
Error uploading file: …Muat naik tidak dapat diselesaikan. Cuba lagi. Anda juga menerima ralat ini jika kunci API tidak dipautkan ke mana-mana ruang kerja; cipta kunci baharu dalam ruang kerja yang anda mahu gunakan.

Muat naik dan hantar#

Muat naik fail, kemudian hantar file_url kepada Hantar mesej: sebagai img_url dengan msg_type 1 untuk imej, atau sebagai file_url dengan msg_type 2 untuk fail lain.

Muat naik PDF dan hantarkannya
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)

Hantar mesej mempunyai senarai sambungan failnya sendiri. Daripada jenis yang diterima oleh API ini, fail .doc, .ppt, .csv, .zip, .wav dan .mov yang dihantar dengan msg_type 2 akan diterima dengan .pdf ditambah pada nama (contohnya brochure.doc.pdf). Tukar dokumen kepada PDF sebelum anda menghantarnya. Lihat Menghantar imej dan fail. Nama juga dihantar dalam huruf kecil (Invoice-4821.PDF diterima sebagai invoice-4821.pdf).

Imej yang dihantar dengan msg_type 1 mesti bersaiz 16 MB atau kurang. Imej yang lebih besar boleh dimuat naik di sini tetapi gagal semasa dihantar, dengan File exceeds WhatsApp size limit (16MB max). Mampatkan imej dahulu, atau hantarkannya sebagai fail dengan msg_type 2.

Petua#

  • Guna semula muat naik. Simpan id atau file_url dan hantar fail yang sama berkali-kali dan bukannya memuat naiknya semula.
  • Pastikan nama asal bermakna. original_file_name ialah nama yang anda lihat dalam papan pemuka dan nilai yang baik untuk file_name semasa menghantar.
  • Cari muat naik terdahulu dengan Senarai media.