Upload API

Terakhir diperbarui: 3 Juli 2026

Upload adalah resource sementara yang dibuat dengan mengunggah berkas. Ini adalah langkah pertama sebelum membuat Media: ketika Anda mengunggah berkas, respons mengembalikan satu Upload, lalu Anda membuat Media menggunakan informasi Upload tersebut. Pembuatan Media dilakukan di CMA (Weegloo User) atau ACMA (Service User), dan berada di luar cakupan halaman ini.

Upload adalah resource sementara. Resource ini kedaluwarsa 24 jam setelah dibuat (expiresAt), dan jika tidak dijadikan Media dalam rentang waktu tersebut, resource akan hilang. Upload tidak memiliki konsep publikasi atau versi (tidak ada properti version, status, atau publish). Upload juga tidak memiliki field konten, dan hanya memiliki properti sistem sys. Base URL-nya adalah https://upload.weegloo.com/v1, dan setiap permintaan memerlukan Bearer token yang mengautentikasi Upload.

Struktur resource

Berikut adalah respons sebuah Upload yang mengunggah foto produk toko pakaian (gambar tumbler) ke sebuah Space. Hanya ada sys, yang di dalamnya berisi kunci seperti owner, expiresAt, dan size.

{
  "sys": {
    "id": "4bgMfu7cFGYDRQn4jdqFI8tkOWKZIm",
    "type": "Upload",
    "owner": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "createdBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
    "createdAt": "2026-06-18T04:48:44.057Z",
    "updatedBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
    "updatedAt": "2026-06-18T04:48:44.057Z",
    "expiresAt": "2026-06-19T04:48:44.057Z",
    "size": 50847
  }
}

Kunci utama:

  • sys.id: Pengidentifikasi unik Upload. Nilai ini diteruskan saat membuat Media. Nilai ini juga masuk ke {uploadId} pada path pembacaan tunggal dan penghapusan.
  • sys.owner: Referensi yang menunjuk ke tempat Upload ini berada. targetType-nya adalah Space atau Organization (lihat Konteks Space dan Organization di bawah).
  • sys.expiresAt: Waktu kedaluwarsa. Ini adalah 24 jam setelah createdAt, dan setelah waktu ini berlalu, Upload akan hilang.
  • sys.size: Ukuran berkas yang diunggah (dalam byte). Contoh di atas adalah 50847 byte.

Properti sistem (sys)

Setiap Upload menyimpan properti sistemnya dalam objek sys. owner, createdBy, dan updatedBy masuk dalam bentuk Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).

PropertiTipeDeskripsi
idstringPengidentifikasi unik resource.
typestringJenis resource. Upload selalu "Upload".
ownerReferTempat Upload ini berada. targetType-nya adalah Space atau Organization.
createdByRefer<User>Pengguna yang membuat.
createdAtstring (date-time)Waktu pembuatan.
updatedByRefer<User>Pengguna yang terakhir mengubah.
updatedAtstring (date-time)Waktu perubahan terakhir.
expiresAtstring (date-time)Waktu kedaluwarsa. 24 jam setelah createdAt, dan setelah berlalu, Upload akan hilang.
sizeinteger (int64)Ukuran berkas yang diunggah (dalam byte).

Kesembilan properti di atas selalu disertakan dalam respons. version, status, dan publish yang ada pada sys Content atau Content Type tidak ada pada Upload. Hal ini karena Upload bukan resource yang dipublikasikan atau diberi versi, melainkan bahan sekali pakai untuk membuat Media. Tidak seperti space pada resource lain yang menunjuk satu jenis saja, owner menunjuk ke Space atau Organization sesuai dengan targetType.

Konteks Space dan Organization

Upload dapat dibuat dalam dua konteks, dan path serta sys.owner berbeda sesuai konteksnya.

KonteksDasar pathsys.owner.sys.targetTypeKegunaan
Space/spaces/{spaceId}/uploadsSpaceBerkas yang akan menjadi bahan Media, seperti foto produk.
Organization/organizations/{organizationId}/uploadsOrganizationAset tingkat organisasi seperti ikon organisasi.

Upload dalam konteks Space adalah bahan untuk membuat Media pada Space tersebut. Upload dalam konteks Organization digunakan saat mengunggah berkas yang dipakai langsung oleh organisasi, seperti ikon organisasi. Pada kedua kasus, struktur resource yang dikembalikan dalam respons adalah sama, hanya nilai targetType pada sys.owner yang berbeda.

Cara mengunggah: multipart dan binary

Permintaan POST yang mengunggah berkas memiliki dua cara. Apa pun yang Anda pilih, yang dikembalikan dalam respons adalah resource Upload yang sama.

Cara multipart mengirim body permintaan sebagai multipart/form-data. Berkas dimasukkan ke dalam field formulir bernama file. Cara ini cocok untuk situasi pengiriman lewat data formulir, misalnya saat mengunggah langsung dari input pemilih berkas di peramban.

Cara binary memasukkan byte mentah berkas langsung ke dalam body permintaan. Tidak ada batasan pada tipe media body (Content-Type) (biasanya digunakan application/octet-stream), dan dalam konteks Space Anda harus mengirim panjang byte body pada header Content-Length. Cara ini cocok untuk kode sisi server yang hanya mengirim byte berkas tanpa struktur formulir.

API

Base URL untuk semua endpoint di bawah ini adalah https://upload.weegloo.com/v1, dan header Authorization memerlukan Bearer token yang mengautentikasi Upload. Pertama dibahas 4 endpoint konteks Space, lalu 4 endpoint konteks Organization.

  • Media: Format permintaan untuk membuat Media dari Upload yang diunggah.
  • Media (konsep): Cara menangani aset berkas di studio konten.