Dropvik
REST API · v1

Mit Dropvik entwickeln

Lade Dateien aus deiner App, deinem Skript oder Server hoch, erhalte Freigabelinks und reagiere mit signierten Webhooks auf Downloads. JSON über HTTPS, ein API-Schlüssel.

1 · Authentifizieren

Erstelle unter Dashboard → API & Webhooks einen Schlüssel und sende ihn als „Authorization: Bearer dvk_…“ (oder im X-Api-Key-Header).

2 · Hochladen

Kleine Dateien in einer Anfrage, große (bis zum Tariflimit) in fortsetzbaren Teilen. Es gelten dieselben Limits wie in der Web-App.

3 · Reagieren

Webhooks melden deinem System, wenn ein Transfer online geht, geladen, kommentiert oder aktualisiert wird.

Schnellstart: eine Anfrage

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

Antwort (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": "…" }, … ]
}

Endpunkte

Basis-URL: https://dropvik.com/api/v1

GET/account

Dein Tarif, Speicherkontingent und Upload-Limits.

POST/upload

Lädt kleine Dateien in einer Multipart-Anfrage hoch und liefert den Link.

POST/transfers

Startet einen Upload in Teilen für große Dateien (liefert Datei-IDs und Teilgröße).

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

Sendet einen Teil als rohen Request-Body.

POST/transfers/{uuid}/complete

Schließt den Upload ab: Virenscan, Speicherung und E-Mail-Zustellung.

GET/transfers/{uuid}/status

Fragt einen Transfer ab, der noch verarbeitet wird.

GET/transfers

Listet deine Transfers (Filter: status, search; Seiten: count, page).

GET/transfers/{code}

Details eines Transfers inklusive Dateien.

DELETE/transfers/{code}

Löscht einen Transfer samt Dateien.

Große Dateien: Upload in Teilen

# 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

Optionen für beide Upload-Arten: title, message, retention_days (1, 3, 7, 30, 365, 0), password, self_destruct, max_downloads, delivery (link | email), recipients[], folder_id.

Webhooks

Lege im Dashboard eine Webhook-URL fest. Jedes Ereignis ist ein JSON-POST mit X-Dropvik-Event-Header; mit Secret wird der Body in X-Dropvik-Signature signiert.

eventtransfer.completed

Ein Transfer wurde fertig hochgeladen und ist online.

eventtransfer.downloaded

Jemand hat Dateien aus deinem Transfer geladen.

eventtransfer.comment

Ein Empfänger hat einen Kommentar, eine Auswahl oder Feedback hinterlassen.

eventtransfer.version

Unter einem bestehenden Link wurde eine neue Version hochgeladen.

eventfile_request.upload

Über einen deiner Datei-Anfrage-Links sind Dateien eingegangen.

Signatur prüfen (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- & Outlook-Erweiterung

Unsere Chrome-Erweiterung (funktioniert auch in Edge und Brave) basiert auf dieser API: große Dateien aus der Symbolleiste hochladen und den Download-Link direkt in die E-Mail einfügen, die du in Gmail oder Outlook im Web schreibst.

  1. ZIP herunterladen und entpacken.
  2. chrome://extensions öffnen, „Entwicklermodus“ aktivieren, „Entpackte Erweiterung laden“ wählen und den entpackten Ordner auswählen.
  3. Auf das Dropvik-Symbol → Einstellungen klicken und einen API-Schlüssel aus dem Dashboard einfügen.

Erweiterung herunterladen (ZIP · v1.0.0)

Limits und Fehler

Fehler liefern einen JSON-Body mit „error“-Meldung und die üblichen HTTP-Statuscodes: 401 ungültiger Schlüssel, 403 API nicht freigeschaltet, 422 Validierung oder Tariflimit, 429 zu viele Anfragen. Je nach Tarif ist der API-Zugang sofort oder nach einer kurzen Anfrage im Dashboard verfügbar.

Bereit zur Integration?Erstelle in deinem Dashboard in unter einer Minute einen Schlüssel.
API-Schlüssel holen →