Dropvik
REST API · v1

Dropvik üzerine inşa edin

Uygulamanızdan, betiğinizden ya da sunucunuzdan dosya yükleyin, paylaşım bağlantısını alın ve imzalı webhook’larla indirmelere tepki verin. HTTPS üzerinden JSON, tek API anahtarı.

1 · Kimlik doğrula

Panel → API ve webhook bölümünde bir anahtar oluşturun ve “Authorization: Bearer dvk_…” (ya da X-Api-Key başlığı) olarak gönderin.

2 · Yükle

Küçük dosyalar tek istekte; büyük dosyalar (paket sınırınıza kadar) devam ettirilebilir parçalarla. Web uygulamasıyla aynı sınırlar geçerlidir.

3 · Tepki ver

Webhook’lar bir transfer yayına girdiğinde, indirildiğinde, yorum aldığında ya da güncellendiğinde sisteminize haber verir.

Hızlı başlangıç: tek istek

curl -H "Authorization: Bearer dvk_YOUR_KEY" \
     -F "files[][email protected]" -F "files[][email protected]" \
     -F "title=Quarterly report" -F "retention_days=7" \
     https://dropvik.com/api/v1/upload

Yanıt (201):

{
  "code": "k3x9q2m7tz",
  "status": "active",
  "link": "https://dropvik.com/t/k3x9q2m7tz",
  "file_count": 2,
  "total_size": 48213377,
  "files": [ { "id": 812, "name": "report.pdf", "size": 1204331, "sha256": "…" }, … ]
}

Uç noktalar

Temel URL: https://dropvik.com/api/v1

GET/account

Paketiniz, depolama kotanız ve yükleme sınırlarınız.

POST/upload

Küçük dosyaları tek multipart istekle yükler ve bağlantıyı döndürür.

POST/transfers

Büyük dosyalar için parçalı yükleme başlatır (dosya kimliklerini ve parça boyutunu döndürür).

PUT/transfers/{uuid}/chunk/{file}/{index}

Bir parçayı ham istek gövdesi olarak gönderir.

POST/transfers/{uuid}/complete

Yüklemeyi bitirir: virüs taraması, depolama ve e-posta teslimi.

GET/transfers/{uuid}/status

Hâlâ işlenen bir transferin durumunu sorgular.

GET/transfers

Transferlerinizi listeler (filtre: status, search; sayfalama: count, page).

GET/transfers/{code}

Bir transferin dosyalarıyla birlikte ayrıntıları.

DELETE/transfers/{code}

Bir transferi ve dosyalarını siler.

Büyük dosyalar: parçalı yükleme

# 1. start
curl -H "Authorization: Bearer dvk_YOUR_KEY" -H "Content-Type: application/json" \
     -d '{"files":[{"name":"film.mov","size":7340032000}],"delivery":"email","recipients":["[email protected]"]}' \
     https://dropvik.com/api/v1/transfers

# 2. every chunk (index 0, 1, 2 … up to total_chunks - 1)
curl -X PUT -H "Authorization: Bearer dvk_YOUR_KEY" -H "Content-Type: application/octet-stream" \
     --data-binary @chunk-0.bin https://dropvik.com/api/v1/transfers/UUID/chunk/FILE_ID/0

# 3. finish
curl -X POST -H "Authorization: Bearer dvk_YOUR_KEY" https://dropvik.com/api/v1/transfers/UUID/complete

İki yükleme yönteminin seçenekleri: title, message, retention_days (1, 3, 7, 30, 365, 0), password, self_destruct, max_downloads, delivery (link | email), recipients[], folder_id.

Webhook’lar

Panelinizde bir webhook adresi belirleyin. Her olay X-Dropvik-Event başlıklı bir JSON POST’tur; gizli anahtar belirlerseniz gövde X-Dropvik-Signature ile imzalanır.

eventtransfer.completed

Bir transferin yüklemesi bitti ve yayında.

eventtransfer.downloaded

Biri transferinizden dosya indirdi.

eventtransfer.comment

Bir alıcı yorum, seçim ya da geri bildirim bıraktı.

eventtransfer.version

Mevcut bir bağlantıya yeni sürüm yüklendi.

eventfile_request.upload

Dosya isteği bağlantılarınızdan birinden dosya geldi.

İmzayı doğrulama (PHP):

$body = file_get_contents('php://input');
$expected = 'sha256=' . hash_hmac('sha256', $body, $webhookSecret);
if (! hash_equals($expected, $_SERVER['HTTP_X_DROPVIK_SIGNATURE'] ?? '')) {
    http_response_code(401); exit;
}
$event = json_decode($body, true);   // { "event": "transfer.downloaded", "time": "…", "data": { … } }

Gmail ve Outlook eklentisi

Chrome eklentimiz (Edge ve Brave’de de çalışır) bu API üzerine kurulu: araç çubuğundan büyük dosya yükleyin, indirme bağlantısını web’deki Gmail ya da Outlook’ta yazdığınız e-postaya doğrudan ekleyin.

  1. ZIP dosyasını indirip açın.
  2. chrome://extensions sayfasını açın, “Geliştirici modu”nu açıp “Paketlenmemiş öğe yükle”yi seçin ve açtığınız klasörü gösterin.
  3. Dropvik simgesine → Ayarlar’a tıklayın ve panelinizden aldığınız API anahtarını yapıştırın.

Eklentiyi indir (ZIP · v1.0.0)

Sınırlar ve hatalar

Hatalar “error” mesajı içeren bir JSON gövdesi ve alışılmış HTTP durum kodlarıyla döner: 401 geçersiz anahtar, 403 API etkin değil, 422 doğrulama ya da paket sınırı, 429 çok fazla istek. Paketinize göre API erişimi hemen ya da panelden kısa bir başvurudan sonra açılır.

Entegre etmeye hazır mısınız?Panelinizde bir dakikadan kısa sürede anahtar oluşturun.
API anahtarı al →