Langsung ke konten
Wbiztool

API Media

API Daftar file media

Dapatkan file di pustaka media workspace Anda beserta URL unduhannya, dari yang terbaru. Filter berdasarkan jenis atau cari berdasarkan nama untuk menemukan file yang sudah Anda unggah sebelumnya dan menggunakan kembali URL-nya di pesan.

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

Body: Query string, atau body JSON dengan POST

Daftar mencakup file yang diunggah dengan API Unggah media dan di halaman Media directory (Direktori media). File yang dihapus tidak disertakan.

Contoh singkat#

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

Ganti 12345 dan YOUR_API_KEY dengan nilai Anda sendiri. Lihat Autentikasi untuk mengetahui di mana menemukannya.

Parameter request#

Kirim parameter di query string request GET, atau sebagai body JSON di request POST dengan Content-Type: application/json. Jangan mencampur keduanya: jika client_id ada di query string, body JSON diabaikan. POST yang dienkode sebagai formulir juga berfungsi untuk client_id, api_key, file_type, dan search, tetapi page dan limit diabaikan di field formulir; kirim keduanya di query string atau JSON.

Autentikasi

client_idintegerwajib

API Client ID Anda dari Settings → API keys (Pengaturan → Kunci API).

api_keystringwajib

API key Anda dari halaman yang sama.

Filter dan paginasi

pageintegeropsional

Nomor halaman, dimulai dari 1 (default). Nilai di bawah 1 diperlakukan sebagai 1.

limitintegeropsional

Jumlah file per halaman, dari 1 hingga 100. Default 20. Nilai di atas 100 diperlakukan sebagai 100, dan nilai di bawah 1 sebagai 20.

file_typestringopsional

image untuk gambar saja, atau file untuk semua jenis lainnya. Nilai lain diabaikan.

searchstringopsional

Hanya kembalikan file yang nama aslinya atau nama penyimpanannya mengandung teks ini. Tidak peka huruf besar-kecil.

POST dengan body 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
  }'

Respons#

{
  "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]"
      }
    ]
  }
}
FieldTipeDeskripsi
statusinteger1 jika berhasil, 0 jika request gagal.
messagestringMedia files retrieved successfully, selain itu berisi error.
data.total_countintegerJumlah file yang cocok dengan filter Anda, di semua halaman.
data.pageintegerHalaman yang dikembalikan.
data.limitintegerUkuran halaman yang digunakan, setelah penyesuaian ke rentang 1 hingga 100.
data.total_pagesintegerJumlah halaman. 0 jika tidak ada file.
data.has_nextbooleantrue jika ada halaman setelah halaman ini.
data.has_previousbooleantrue jika page lebih besar dari 1.
data.media_filesarrayFile di halaman ini, dari yang terbaru. Kosong jika halaman melewati akhir daftar.

Field file media#

FieldTipeDeskripsi
idintegerID file media. Gunakan dengan Ambil file media.
file_namestringNama penyimpanan file.
original_file_namestringNama file saat diunggah.
file_urlstringURL unduhan langsung. Gunakan sebagai img_url atau file_url saat mengirim.
file_typestringimage atau file.
file_sizeintegerUkuran dalam byte.
file_size_displaystringUkuran yang mudah dibaca dengan satu desimal, misalnya 512.0 KB.
mime_typestringTipe MIME, misalnya image/jpeg.
is_imagebooleantrue jika file_type bernilai image.
file_extensionstringEkstensi original_file_name dalam huruf kecil, tanpa titik.
created_atstringWaktu unggah, ISO 8601 dalam UTC dengan offset +00:00.
uploaded_bystring atau nullUsername login (biasanya alamat email) anggota tim yang mengunggah file.

Error#

Error juga mengembalikan HTTP 200, dengan status bernilai 0:

{ "status": 0, "message": "Invalid API key" }
PesanCara memperbaikinya
client_id is requiredTambahkan client_id. Jika Anda mengirim JSON, pastikan body berupa JSON yang valid (error parsing dilaporkan dengan pesan ini).
api_key is requiredTambahkan api_key.
client_id must be a valid integerKirim client_id sebagai angka.
Invalid API keyPastikan key tersebut ada dan belum dihapus atau dinonaktifkan.
Invalid client_id for this API keyKey tersebut milik client_id lain.
Error retrieving media files: …Biasanya page atau limit di query string atau field formulir bukan bilangan bulat. Di body JSON tidak ada error: jika page bukan bilangan bulat, page, limit, file_type, dan search semuanya diabaikan, sehingga Anda mendapatkan halaman 1 dengan 20 file tanpa filter. Jika hanya limit yang bukan bilangan bulat, limit, file_type, dan search diabaikan.

Membaca semua halaman#

Terus minta halaman berikutnya selama data.has_next bernilai true.

Ambil semua file media
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")

Tips#

  • Gunakan parameter kirim yang tepat: jika is_image bernilai true, kirim URL sebagai img_url dengan msg_type 1; jika tidak, sebagai file_url dengan msg_type 2. Lihat Kirim pesan.
  • Jauhkan API key Anda dari log: query string sering dicatat oleh proxy dan server. Jika hal ini penting bagi Anda, gunakan POST dengan body JSON.