1 · Authentifizieren
Erstelle unter Dashboard → API & Webhooks einen Schlüssel und sende ihn als „Authorization: Bearer dvk_…“ (oder im X-Api-Key-Header).
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.
Erstelle unter Dashboard → API & Webhooks einen Schlüssel und sende ihn als „Authorization: Bearer dvk_…“ (oder im X-Api-Key-Header).
Kleine Dateien in einer Anfrage, große (bis zum Tariflimit) in fortsetzbaren Teilen. Es gelten dieselben Limits wie in der Web-App.
Webhooks melden deinem System, wenn ein Transfer online geht, geladen, kommentiert oder aktualisiert wird.
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": "…" }, … ]
}
Basis-URL: https://dropvik.com/api/v1
/accountDein Tarif, Speicherkontingent und Upload-Limits.
/uploadLädt kleine Dateien in einer Multipart-Anfrage hoch und liefert den Link.
/transfersStartet einen Upload in Teilen für große Dateien (liefert Datei-IDs und Teilgröße).
/transfers/{uuid}/chunk/{file}/{index}Sendet einen Teil als rohen Request-Body.
/transfers/{uuid}/completeSchließt den Upload ab: Virenscan, Speicherung und E-Mail-Zustellung.
/transfers/{uuid}/statusFragt einen Transfer ab, der noch verarbeitet wird.
/transfersListet deine Transfers (Filter: status, search; Seiten: count, page).
/transfers/{code}Details eines Transfers inklusive Dateien.
/transfers/{code}Löscht einen Transfer samt Dateien.
# 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.
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.
transfer.completedEin Transfer wurde fertig hochgeladen und ist online.
transfer.downloadedJemand hat Dateien aus deinem Transfer geladen.
transfer.commentEin Empfänger hat einen Kommentar, eine Auswahl oder Feedback hinterlassen.
transfer.versionUnter einem bestehenden Link wurde eine neue Version hochgeladen.
file_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": { … } }
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.
Erweiterung herunterladen (ZIP · v1.0.0)
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.