İçeriğe geç
Wbiztool

Medya API'si

Medya dosyalarını listeleme API'si

Çalışma alanınızın medya kitaplığındaki dosyaları indirme URL'leriyle birlikte, en yeniden başlayarak alın. Daha önce yüklediğiniz bir dosyayı bulmak ve URL'sini bir mesajda yeniden kullanmak için türe göre filtreleyin veya ada göre arayın.

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

Gövde: Sorgu dizesi veya POST ile bir JSON gövdesi

Liste, Medya yükleme API'si ile ve Medya klasörü sayfasında yüklenen dosyaları içerir. Silinen dosyalar dahil değildir.

Hızlı örnek#

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 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#

Parametreleri bir GET isteğinin sorgu dizesinde veya Content-Type: application/json ile bir POST isteğinde JSON gövdesi olarak gönderin. İkisini karıştırmayın: client_id sorgu dizesindeyse JSON gövdesi yok sayılır. Form kodlu bir POST da client_id, api_key, file_type ve search için çalışır, ancak form alanlarında page ve limit yok sayılır; bunları sorgu dizesinde veya JSON'da gönderin.

Kimlik doğrulama

client_idintegerzorunlu

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

api_keystringzorunlu

Aynı sayfadaki API anahtarınız.

Filtreler ve sayfalama

pageintegeristeğe bağlı

Sayfa numarası, 1 (varsayılan) ile başlar. 1'den küçük değerler 1 olarak değerlendirilir.

limitintegeristeğe bağlı

Sayfa başına dosya, 1 ile 100 arası. Varsayılan 20. 100'den büyük değerler 100, 1'den küçük değerler 20 olarak değerlendirilir.

file_typestringisteğe bağlı

Yalnızca görseller için image, diğer her şey için file. Diğer her değer yok sayılır.

searchstringisteğe bağlı

Yalnızca orijinal adı veya kayıtlı adı bu metni içeren dosyaları döndürür. Büyük/küçük harfe duyarlı değildir.

JSON gövdesiyle POSTcURL
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
  }'

Yanıt#

{
  "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]"
      }
    ]
  }
}
AlanTürAçıklama
statusintegerBaşarıda 1, istek başarısız olduysa 0.
messagestringMedia files retrieved successfully, aksi halde hata mesajı.
data.total_countintegerTüm sayfalarda filtrelerinizle eşleşen dosyalar.
data.pageintegerDöndürülen sayfa.
data.limitinteger1–100 ayarlamasından sonra kullanılan sayfa boyutu.
data.total_pagesintegerSayfa sayısı. Dosya yoksa 0.
data.has_nextbooleanBundan sonra bir sayfa varsa true.
data.has_previousbooleanpage 1'den büyükse true.
data.media_filesdiziBu sayfadaki dosyalar, en yeniden başlayarak. Sayfa sonun ötesindeyse boştur.

Medya dosyası alanları#

AlanTürAçıklama
idintegerMedya dosyasının ID'si. Medya dosyası getirme ile kullanın.
file_namestringDosyanın kaydedildiği ad.
original_file_namestringDosyanın yüklendiği andaki adı.
file_urlstringDoğrudan indirme URL'si. Gönderirken img_url veya file_url olarak kullanın.
file_typestringimage veya file.
file_sizeintegerBayt cinsinden boyut.
file_size_displaystringTek ondalıklı okunabilir boyut, örneğin 512.0 KB.
mime_typestringMIME türü, örneğin image/jpeg.
is_imagebooleanfile_type değeri image olduğunda true.
file_extensionstringoriginal_file_name değerinin noktasız, küçük harfli uzantısı.
created_atstringYükleme zamanı, +00:00 farkıyla UTC'de ISO 8601.
uploaded_bystring veya nullDosyayı yükleyen ekip üyesinin giriş kullanıcı adı (genellikle e-posta adresi).

Hatalar#

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

{ "status": 0, "message": "Invalid API key" }
MesajNasıl düzeltilir
client_id is requiredclient_id ekleyin. JSON gönderiyorsanız gövdenin geçerli JSON olduğunu kontrol edin (ayrıştırma hatası bu mesajla bildirilir).
api_key is requiredapi_key ekleyin.
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.
Error retrieving media files: …Genellikle sorgu dizesindeki veya form alanlarındaki page ya da limit bir tam sayı değildir. JSON gövdesinde hata oluşmaz: page tam sayı değilse page, limit, file_type ve search değerlerinin tümü yok sayılır; bu yüzden filtre olmadan 20 dosyalık 1. sayfayı alırsınız. Yalnızca limit tam sayı değilse limit, file_type ve search yok sayılır.

Her sayfayı okuma#

data.has_next değeri true olduğu sürece sonraki sayfayı istemeye devam edin.

Tüm medya dosyalarını getirme
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")

İpuçları#

  • Doğru gönderim parametresini kullanın: is_image değeri true olduğunda URL'yi msg_type 1 ile img_url olarak, aksi halde msg_type 2 ile file_url olarak gönderin. Bkz. Mesaj gönderme.
  • API anahtarınızı günlüklerin dışında tutun: sorgu dizeleri genellikle proxy'ler ve sunucular tarafından günlüğe kaydedilir. Bu sizin için önemliyse bunun yerine JSON gövdesiyle POST kullanın.