Advertisement

API Documentation

w upload bisa dipakai sebagai backend file pihak ketiga untuk website lain, bot Telegram, bot Discord, WhatsApp gateway, automation, dan service internal Anda sendiri. Seluruh flow utamanya bisa dijalankan dengan API key atau sesi browser.

Authentication

Gunakan salah satu metode berikut untuk setiap request yang membutuhkan otorisasi.

Method 1: Bearer Token
Authorization: Bearer <your_jwt_token>
Method 2: API Key
x-api-key: <your_api_key>

API key dibuat dari Profile dan cocok untuk backend server, bot, worker, atau webhook relay.

Upload API

POST /api/upload

Upload file via Base64 JSON. Bisa dipakai dari website pihak ketiga, bot, webhook processor, atau custom admin panel.

Headers:
x-api-key: YOUR_API_KEY
Content-Type: application/json
Body:
{
  "filename": "photo.jpg",
  "contentType": "image/jpeg",
  "base64": "data:image/jpeg;base64,...",
  "description": "Uploaded from Telegram bot",
  "parentId": null
}
POST /api/upload/remote

Ambil file langsung dari URL pihak ketiga lalu simpan ke akun Anda.

{
  "url": "https://example.com/video.mp4",
  "parentId": "optional_folder_id"
}
POST /api/upload/chunk/init

Mulai upload file besar secara chunk.

Third-Party Integrations

w upload sekarang siap dipakai sebagai service pihak ketiga untuk banyak channel. Pola paling umum:

  • Website lain: kirim file Base64 atau remote URL ke /api/upload menggunakan x-api-key.
  • Telegram / Discord bots: ambil attachment dari bot API, ubah ke Base64 atau remote fetch, lalu kirim ke w upload.
  • WhatsApp gateway: file dari webhook WA atau middleware bisa diteruskan ke endpoint upload yang sama.
  • Automation / worker: gunakan API key + webhook untuk sinkron status upload ke sistem asal.
Example Node.js relay (Telegram/Discord/WA middleware):
const response = await fetch('https://your-domain/api/upload', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': process.env.WUPLOAD_API_KEY
  },
  body: JSON.stringify({
    filename: 'voice-note.ogg',
    contentType: 'audio/ogg',
    base64: dataUrlFromBot
  })
});

const result = await response.json();

Webhooks

Gunakan webhook untuk menerima event real-time dari akun Anda. Cocok untuk sinkronisasi ke CRM, bot balasan, notifikasi Discord, atau sistem pihak ketiga.

file.uploaded

Terpicu ketika file berhasil disimpan.

file.converted

Terpicu ketika file hasil konversi selesai dibuat.

file.updated

Terpicu ketika versi file baru berhasil disimpan.

test.ping

Dipakai untuk mengetes endpoint webhook Anda dari halaman profile.

Example Payload:
{
  "event": "file.uploaded",
  "timestamp": "2026-04-08T12:00:00.000Z",
  "data": {
    "fileId": "6800...",
    "filename": "document.pdf",
    "alias": "document_1.pdf",
    "size": 102400,
    "url": "https://your-domain/w-upload/file/document_1.pdf"
  }
}

Validasi signature menggunakan header X-Webhook-Signature jika Anda mengisi secret webhook di profile.

API Key Limits

Plan Max API Keys Recommended Use
Free 3 keys Testing, personal scripts, 1-2 bots
Pro 25 keys Production integrations, multiple bots, team automations

Jika limit tercapai, endpoint pembuatan API key akan menolak request baru sampai Anda menghapus key lama.

Security Features

  • Passkeys (WebAuthn): Login biometrik untuk perangkat modern.
  • 2FA (TOTP): Tambahan keamanan berbasis authenticator app.
  • Session Control: Lihat dan revoke perangkat aktif dari profile.
  • Webhook Secret: Tanda tangan HMAC untuk memverifikasi payload webhook.
  • Virus Scan: Scan file tertentu dengan integrasi VirusTotal bila tersedia.