İçeriğe geç
Wbiztool

Medya API'si

Medya yükleme API'si

Çalışma alanınızın medya kitaplığına bir görsel, belge, ses veya video dosyası yükleyin ve bir indirme URL'si alın. Kendi dosya barındırmanız olmadığında bu URL'yi Mesaj gönderme endpoint'ine veya yalnızca görseller için Hatırlatıcı oluşturma endpoint'ine img_url olarak iletin.

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

Gövde: multipart/form-data

Dosya hemen kaydedilir ve yanıt dosyanın file_url değerini içerir. Yüklenen dosyalar panelinizdeki Medya klasörü sayfasında da görünür.

Hızlı örnek#

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 ve YOUR_API_KEY değerlerini kendi değerlerinizle değiştirin. Bunları nerede bulacağınız için Kimlik doğrulama bölümüne bakın.

İstek parametreleri#

İsteği multipart/form-data olarak gönderin. Bu endpoint JSON gövdelerini ve sorgu dizesi parametrelerini okumaz.

client_idintegerzorunlu

Ayarlar → API anahtarları sayfasındaki API Client ID'niz.

api_keystringzorunlu

Aynı sayfadaki API anahtarınız.

media_filefilezorunlu

Yüklenecek dosya, en fazla 64 MB. Türü dosya adının uzantısına göre belirlenir; bu yüzden ad desteklenen uzantılardan biriyle bitmelidir.

Desteklenen dosya türleri#

KategoriUzantılar
Görseller.jpg, .jpeg, .png, .gif
Belgeler.pdf, .doc, .xls, .ppt, .txt, .csv
Ses.mp3, .wav
Video.mp4, .mov
Arşivler.zip

Görseller file_type değeri image olarak kaydedilir; diğer her şey file olur.

Yanıt#

Başarılı bir istek HTTP 200 döndürür:

{
  "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"
  }
}
AlanTürAçıklama
statusintegerDosya yüklendiyse 1, istek başarısız olduysa 0.
messagestringFile uploaded successfully, aksi halde hata mesajı.
data.idintegerMedya dosyasının ID'si. Medya dosyası getirme ile kullanın.
data.file_namestringDosyanın kaydedildiği, Wbiztool tarafından oluşturulan ad.
data.original_file_namestringYüklediğiniz dosyanın adı.
data.file_urlstringDoğrudan indirme URL'si. Gönderirken img_url veya file_url olarak kullanın.
data.file_typestringimage veya file.
data.file_sizeintegerBayt cinsinden boyut.
data.file_size_displaystringTek ondalıklı okunabilir boyut, örneğin 242.5 KB.
data.mime_typestringUzantıdan belirlenen MIME türü, örneğin application/pdf.
data.is_imagebooleanfile_type değeri image olduğunda true.
data.file_extensionstringoriginal_file_name değerinin noktasız, küçük harfli uzantısı.
data.created_atstringYükleme zamanı, +00:00 farkıyla UTC'de ISO 8601.

Hatalar#

Hatalar da status değeri 0 olarak HTTP 200 döndürür:

{ "status": 0, "message": "File is too large. Maximum size is 64MB. Your file: 71.3MB" }
MesajNasıl düzeltilir
Only POST method is supportedBir POST isteği gönderin.
client_id is requiredclient_id değerini form alanı olarak ekleyin. Gövdenin JSON değil, multipart/form-data olduğunu kontrol edin.
api_key is requiredapi_key değerini form alanı olarak ekleyin.
media_file is requiredDosyayı media_file adlı bir alanda gönderin.
client_id must be a valid integerclient_id değerini sayı olarak gönderin.
Invalid API keyAnahtarın mevcut olduğunu ve silinmediğini veya devre dışı bırakılmadığını kontrol edin.
Invalid client_id for this API keyAnahtar farklı bir client_id değerine ait.
File is too large. Maximum size is 64MB. Your file: …MB64 MB veya daha küçük bir dosya yükleyin.
File type not supported. Type detected: …Desteklenen uzantılardan birini kullanın.
Error uploading file: …Yükleme tamamlanamadı. Tekrar deneyin. API anahtarı bir çalışma alanına bağlı değilse de bunu alırsınız; kullanmak istediğiniz çalışma alanında yeni bir anahtar oluşturun.

Yükleme ve gönderme#

Dosyayı yükleyin, ardından file_url değerini Mesaj gönderme endpoint'ine iletin: görseller için msg_type 1 ile img_url olarak, diğer dosyalar için msg_type 2 ile file_url olarak.

Bir PDF yükleyip gönderme
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)

Mesaj gönderme endpoint'inin kendi dosya uzantısı listesi vardır. Bu API'nin kabul ettiği türlerden .doc, .ppt, .csv, .zip, .wav ve .mov dosyaları msg_type 2 ile gönderildiğinde adlarına .pdf eklenerek teslim edilir (örneğin brochure.doc.pdf). Belgeleri göndermeden önce PDF'ye dönüştürün. Bkz. Görsel ve dosya gönderme. Ad ayrıca küçük harflerle gönderilir (Invoice-4821.PDF, invoice-4821.pdf olarak ulaşır).

msg_type 1 ile gönderilen görseller 16 MB veya daha küçük olmalıdır. Daha büyük görseller burada sorunsuz yüklenir ama gönderilirken File exceeds WhatsApp size limit (16MB max) ile başarısız olur. Önce sıkıştırın veya msg_type 2 ile dosya olarak gönderin.

İpuçları#

  • Yüklemeleri yeniden kullanın. id veya file_url değerini saklayın ve aynı dosyayı yeniden yüklemek yerine birçok kez gönderin.
  • Orijinal adı anlamlı tutun. original_file_name panelde gördüğünüz addır ve gönderirken file_name için iyi bir değerdir.
  • Önceki yüklemeleri bulun: Medya listeleme ile bulun.