Een flipbook maken (van een PDF of een URL)

Flipbooks

Maak een flipbook van een PDF die je uploadt of van een PDF-URL die de server downloadt, en lees de ID, weergave-URL en bijgewerkte abonnementsquota van het nieuwe item terug.

API's die in deze discussie worden gebruikt

Iets onjuist of verouderd in deze gids?

Wat je kunt doen

Er zijn twee manieren om een flipbook van een PDF te maken, afhankelijk van waar de PDF staat:

  • Upload het bestand rechtstreeks — stuur de PDF als multipart/form-data.
  • Verwijs naar een URL — geef een PDF-URL op en laat de server hem voor je downloaden.

Hoe dan ook wordt het bestand opgeslagen, wordt er een thumbnail gegenereerd, wordt het record geregistreerd en krijg je de ID, de weergave-URL en je bijgewerkte abonnementsquota van het nieuwe item terug. Gebruik de teruggegeven ID voor vervolgaanroepen (set-meta, set-cta-primary, save-as-template, enzovoort).

Voordat je begint

  • Een API-sleutel — meegestuurd als de X-Api-Key-header, of als Authorization: Bearer YOUR_API_KEY, op elk verzoek.
  • Alle verzoeken gaan naar de basis-URL https://go.fliplink.me.
  • Of je een Flipbook of een Document maakt, bepaal je met het optionele veld DocType: laat het weg of stuur DocType=Flipbook voor een flipbook (de standaard), of DocType=Document voor een document — FlipLink ondersteunt beide.
  • De teruggegeven quotavelden (Flipbooks_Count / Flipbooks_Max / Flipbooks_Left) weerspiegelen je abonnementsquota na het aanmaken.

Geen van beide endpoints gebruikt een pad-parameter — je maakt aan door te POSTen naar het endpoint zelf en krijgt de nieuwe ID terug. Create by File gebruikt multipart/form-data. Create by URL is form-urlencoded (geen JSON).

Maken van een geüploade PDF

POST /api/create-by-file maakt een flipbook van een geüploade PDF die als multipart/form-data wordt meegestuurd. Het bestand wordt opgeslagen, er wordt een thumbnail gegenereerd en het record wordt geregistreerd. Het enige verplichte veld is File; Name, Title en DocType zijn optioneel. De maximale bestandsgrootte is per abonnement (zie MaxFileSizeMB uit 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 is Flipbook (de standaard) of Document — stuur DocType=Document om een document te maken in plaats van een flipbook.

Response:

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

Maken van een PDF-URL

POST /api/create-by-url maakt een flipbook van een PDF-URL. De server downloadt FileURL, uploadt hem naar S3, genereert een thumbnail en registreert het record. De body is form-urlencoded. Het enige verplichte veld is FileURL; Name, Title en DocType zijn optioneel.

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'

De bron-URL moet binnen 60s reageren — trage of onbereikbare bronnen mislukken met Source URL timed out after 60s. Voor onbetrouwbare bronnen gebruik je liever /api/create-by-file.

Response:

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

Mogelijke fouten

Create by File:

  • Ontbrekende of ongeldige API-sleutel → HTTP 401. Dit geeft een kale Unauthorized-HTML-pagina terug — er is geen JSON-body.
  • Geüpload bestand is geen leesbare PDF → HTTP 200, bericht File is not a valid PDF.
  • Upload overschrijdt de maximale bestandsgrootte van het abonnement → HTTP 413, bericht File exceeds the maximum allowed upload size.

Create by URL:

  • Ontbrekende of ongeldige API-sleutel → HTTP 401. Dit geeft een kale Unauthorized-HTML-pagina terug — er is geen JSON-body.
  • FileURL-host is privé of niet toegestaan → HTTP 200, bericht FileURL host is not allowed.
  • Onbekend of verkeerd gespeld body-veld → HTTP 200, bericht Unknown field(s) '…'. Expected: …

Opmerkingen

  • De waarden Flipbooks_Count / Flipbooks_Max / Flipbooks_Left weerspiegelen je abonnementsquota na dit aanmaken.
  • Bewaar de teruggegeven ID — die geef je door aan vervolgaanroepen (set-meta, set-cta-primary, save-as-template en andere).

Gerelateerde discussies