Ein Flipbook erstellen (aus einem PDF oder einer URL)

Flipbooks

Erstelle ein Flipbook aus einem PDF, das du hochlädst, oder aus einer PDF-URL, die der Server herunterlädt, und lies die ID des neuen Items, seine View-URL und dein aktualisiertes Tarifkontingent zurück.

In dieser Diskussion verwendete APIs

Etwas in dieser Anleitung ungenau oder veraltet?

Was du tun kannst

Es gibt zwei Wege, ein Flipbook aus einem PDF zu erstellen, je nachdem, wo das PDF liegt:

  • Die Datei direkt hochladen – sende das PDF als multipart/form-data.
  • Auf eine URL zeigen – gib eine PDF-URL an und lass sie der Server für dich herunterladen.

So oder so wird die Datei gespeichert, ein Thumbnail generiert, der Datensatz registriert, und du bekommst die ID des neuen Items, seine View-URL und dein aktualisiertes Tarifkontingent zurück. Verwende die zurückgegebene ID für Folge-Aufrufe (set-meta, set-cta-primary, save-as-template und so weiter).

Bevor du loslegst

  • Einen API-Schlüssel – wird bei jeder Anfrage als X-Api-Key-Header oder als Authorization: Bearer YOUR_API_KEY gesendet.
  • Alle Anfragen gehen an die Basis-URL https://go.fliplink.me.
  • Ob du ein Flipbook oder ein Document erstellst, wählst du über das optionale Feld DocType: lass es weg oder sende DocType=Flipbook für ein Flipbook (der Standard), oder DocType=Document für ein Dokument – FlipLink unterstützt beides.
  • Die zurückgegebenen Kontingentfelder (Flipbooks_Count / Flipbooks_Max / Flipbooks_Left) spiegeln dein Tarifkontingent nach der Erstellung wider.

Keiner der beiden Endpunkte verwendet einen Pfadparameter – du erstellst per POST an den Endpunkt selbst und bekommst die neue ID zurück. Create by File verwendet multipart/form-data. Create by URL ist form-urlencoded (kein JSON).

Aus einem hochgeladenen PDF erstellen

POST /api/create-by-file erstellt ein Flipbook aus einem hochgeladenen PDF, das als multipart/form-data gesendet wird. Die Datei wird gespeichert, ein Thumbnail generiert und der Datensatz registriert. Das einzige erforderliche Feld ist File; Name, Title und DocType sind optional. Die maximale Dateigröße ist tarifabhängig (siehe MaxFileSizeMB aus who-am-i).

curl -X POST 'https://go.fliplink.me/api/create-by-file' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -F 'File=@/path/to/file' \
  -F 'Name=My Document' \
  -F 'Title=My Title' \
  -F 'DocType=Flipbook'

DocType ist Flipbook (der Standard) oder Document – sende DocType=Document, um statt eines Flipbooks ein Dokument zu erstellen.

Antwort:

{
  "Result": "OK",
  "ID": "90001",
  "URL": "https://go.fliplink.me/view/<slug>",
  "Flipbooks_Count": 12,
  "Flipbooks_Max": 200,
  "Flipbooks_Left": 188
}

Aus einer PDF-URL erstellen

POST /api/create-by-url erstellt ein Flipbook aus einer PDF-URL. Der Server lädt FileURL herunter, lädt es zu S3 hoch, generiert ein Thumbnail und registriert den Datensatz. Der Body ist form-urlencoded. Das einzige erforderliche Feld ist FileURL; Name, Title und DocType sind optional.

curl -X POST 'https://go.fliplink.me/api/create-by-url' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'FileURL=https://example.com/document.pdf' \
  --data-urlencode 'Name=My Document' \
  --data-urlencode 'Title=My Title' \
  --data-urlencode 'DocType=Flipbook'

Die Quell-URL muss innerhalb von 60s antworten – langsame oder nicht erreichbare Quellen scheitern mit Source URL timed out after 60s. Für unzuverlässige Quellen bevorzuge /api/create-by-file.

Antwort:

{
  "Result": "OK",
  "ID": "90001",
  "URL": "https://go.fliplink.me/view/<slug>",
  "Flipbooks_Count": 12,
  "Flipbooks_Max": 200,
  "Flipbooks_Left": 188
}

Mögliche Fehler

Create by File:

  • Fehlender oder ungültiger API-Schlüssel → HTTP 401. Das gibt eine reine Unauthorized-HTML-Seite zurück – es gibt keinen JSON-Body.
  • Hochgeladene Datei ist kein lesbares PDF → HTTP 200, Nachricht File is not a valid PDF.
  • Upload überschreitet die maximale Dateigröße des Tarifs → HTTP 413, Nachricht File exceeds the maximum allowed upload size.

Create by URL:

  • Fehlender oder ungültiger API-Schlüssel → HTTP 401. Das gibt eine reine Unauthorized-HTML-Seite zurück – es gibt keinen JSON-Body.
  • FileURL-Host ist privat oder nicht erlaubt → HTTP 200, Nachricht FileURL host is not allowed.
  • Unbekanntes oder falsch geschriebenes Body-Feld → HTTP 200, Nachricht Unknown field(s) '…'. Expected: …

Hinweise

  • Die Werte Flipbooks_Count / Flipbooks_Max / Flipbooks_Left spiegeln dein Tarifkontingent nach dieser Erstellung wider.
  • Behalte die zurückgegebene ID – sie ist das, was du an Folge-Aufrufe übergibst (set-meta, set-cta-primary, save-as-template und andere).

Verwandte Diskussionen