PDF herunterladen

Ein erzeugtes PDF über seine URL mit deinem API-Key abrufen.

Die url eines erzeugten Dokuments ist ein Endpunkt des Tuix PDF Service, kein öffentlicher Link. Zum Abrufen braucht es denselben API-Key, mit dem du erzeugt hast, im selben Header x-api-key.

Endpunkt

GET {API_BASE_URL}/api/applications/{applicationId}/pdf-files/{fileId}

Normalerweise baust du diese URL nie selbst: sie kommt fertig in generatedDocuments[].url zurück. Speichere diesen Wert und frage ihn so ab, wie er ist.

HeaderPflichtWert
x-api-keyJaDerselbe API-Key, mit dem du erzeugst. Siehe API-Keys.
AcceptJaapplication/pdf. Jeder andere Wert liefert die Datei base64-kodiert.

Accept ist nicht optional. Eine Anfrage ohne diesen Header wird mit 400 abgelehnt; eine Anfrage mit einem anderen Wert antwortet zwar mit 200, aber mit einem base64-String statt der PDF-Bytes.

Beispiel

const downloadPdf = async (url: string) => {
    const response = await fetch(url, {
        headers: {
            'x-api-key': process.env.TUIX_PDF_API_KEY!,
            Accept: 'application/pdf',
        },
    })
 
    if (!response.ok) {
        throw new Error(`PDF-Download fehlgeschlagen: ${response.status}`)
    }
 
    return Buffer.from(await response.arrayBuffer())
}

Antwort

200 OK mit den Bytes des PDFs und Content-Type: application/pdf. Der Body ist die Datei selbst, es gibt keine JSON-Hülle darum.

Statuscodes

StatusBedeutung
200Die Datei kommt zurück.
400Ungültige applicationId oder fileId, oder kein Accept-Header.
401Kein API-Key geschickt.
403Unbekannter oder gelöschter API-Key.
404Kein Dokument mit dieser fileId in dieser Anwendung.
500Die Datei konnte nicht gelesen werden.

Ausliefern der Datei an einen Browser

Die URL lässt sich nicht weitergeben: ein Browser, der sie öffnet, schickt weder den API-Key noch den Header Accept und bekommt deshalb einen Fehler statt der Datei. Und ein API-Key darf nie in einen Browser gelangen, er hat vollen Zugriff auf die API.

Lade die Datei in deinem Backend herunter und liefere sie von dort aus:

Browser ──▶ dein Endpunkt ──x-api-key──▶ Tuix PDF Service
        ◀── PDF-Bytes ─────

Was danach passiert, entscheidet dein Endpunkt: die Bytes zurückstreamen, die Datei speichern, sie an eine E-Mail hängen oder einen eigenen Link mit deinen eigenen Zugriffsregeln herausgeben.

Auf dieser Seite