Zeitverhalten beim Upload und Erhalten des dazugehörigen Download-Link (QR-Code)
Hallo und Guten Tag.
Beim Check-Out an der (Verkaufs) Kasse möchten wir ein PDF per QR-Code zu Verfügung stellen. Hierfür laden wir das PDF mit folgendem Workflow auf den Dracoon-Server:
Nach Anmeldung an den Dracoon-Server und Ermittlung der parentID des Zielordners für den Uploade:
Unter Verwendung der <parentID> öffnen eines Upload-Kanals:
POST REST.Request = nodes/files/uploads Upload-Token
Senden der PDF-Datei:
POST REST.Request = uploads/ + <Upload-Token>
Den Upload-Kanal schließen:
PUT REST.Request = uploads/ + < Upload-Token>
Holen der <share-id> für den Download:
POST REST.Request = shares/downloads => share_id
Holen des Download-Link als QR-Code:
GET REST.Request = shares/downloads/<share_id>/qr
Hier versuchen wir zu optimieren (<öffnen eines Upload-Kanals> bis <holen des Download-Link als QR-Code>)
Ein Gedanke: wäre es möglich, eine von uns vordefinierte URL in Verbindung mit der Upload Datei an den Server zu schicken, um den Vorgang asynchron zu gestalten. Nach dem jetzigen Konstrukt können wir den Kassenbon erst erzeugen/anzeigen, wenn wir die Daten für den QR-Code erhalten haben.
Ideen oder weitere/andere Gedanken, sehr gerne.
Gruß
-
Hallo Herr Paetow,
ich fürchte das ist so nicht möglich.
Ein Download-Share (dessen Link Sie in Form eines QR-Codes benötigen) kann erst angelegt werden, wenn die entsprechende Entität in DRACOON vorhanden ist (in Ihrem Fall die hochgeladene Datei).
Da jede in DRACOON hochgeladene Datei eine eigene Entität bildet, können Sie auch keine Blinddateien vorbereiten. Beim Upload einer Datei mit dem gleichen Namen im gleichen Datenraum/Ordner wird entweder eine neue Entität angelegt (und die bestehende Entität in den Papierkorb verschoben, relevant u.a. für die Versionshistorie) oder der File Upload seitens DRACOON abgebrochen. Das Verhalten kann mit der Eigenschaft "resolutionStrategy" gesteuert werden:
In Ihrem Use-Case können Sie die Wartezeit bis zum Abruf des QR-Codes meiner Meinung nach nur verringern, wenn Sie einen eigenen Link Referrer/Shortener Service implementieren und dessen individuelle URL als QR-Code nutzen. Sobald der Upload in DRACOON abgeschlossen ist, können Sie das Ziel für den Link aus Ihrem Referrer Service hinterlegen. Das Ganze schlägt nur dann fehl, wenn der Endanwender das Auflösen des QR-Codes auslöst, bevor der Upload in DRACOON abgeschlossen und der Download-Link generiert wurde (und der Anwender damit sehr schnell ist).
Sprich aus
https://acme.dracoon.team/public/download-shares/X9N8EltOVTfOL3X7ofw0OlnWtQmZLqVb
wird beispielsweise
https://acme.link/receipt/39a8480e-9596-45c2-999f-a7a210809abb
und in Ihrem Link Referrer / Shortener lösen Sie die untere URL durch die obere auf (sobald der Download-Share in DRACOON provisioniert wurde).
Viele Grüße,
Sebastian.
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
2 Kommentare