Créer un flipbook (à partir d'un PDF ou d'une URL)
FlipbooksCrée un flipbook à partir d'un PDF que tu téléverses ou d'une URL de PDF que le serveur télécharge, et relis l'ID du nouvel élément, son URL d'affichage et le quota mis à jour de ton offre.
API utilisées dans cette discussion
Ce que tu peux faire
Il y a deux façons de créer un flipbook à partir d'un PDF, selon l'endroit où se trouve le PDF :
- Téléverse le fichier directement — envoie le PDF en
multipart/form-data. - Pointe vers une URL — donne une URL de PDF et laisse le serveur le télécharger pour toi.
Dans les deux cas, le fichier est stocké, une miniature est générée, l'enregistrement est enregistré, et tu récupères l'ID du
nouvel élément, son URL d'affichage et le quota mis à jour de ton offre. Utilise l'ID renvoyé pour les appels suivants (set-meta,
set-cta-primary, save-as-template, et ainsi de suite).
Avant de commencer
- Une clé d'API — envoyée dans l'en-tête
X-Api-Key, ou viaAuthorization: Bearer YOUR_API_KEY, à chaque requête. - Toutes les requêtes sont adressées à l'URL de base
https://go.fliplink.me. - Le fait de créer un Flipbook ou un Document est déterminé par le champ optionnel
DocType: omets-le ou envoieDocType=Flipbookpour un flipbook (la valeur par défaut), ouDocType=Documentpour un document — FlipLink prend en charge les deux. - Les champs de quota renvoyés (
Flipbooks_Count / Flipbooks_Max / Flipbooks_Left) reflètent le quota de ton offre après la création.
Aucun des deux endpoints n'utilise de paramètre de chemin — tu crées en faisant un POST vers l'endpoint lui-même et tu récupères le nouvel ID.
Create by File utilise multipart/form-data. Create by URL est form-urlencoded (pas du JSON).
Créer à partir d'un PDF téléversé
POST /api/create-by-file crée un flipbook à partir d'un PDF téléversé envoyé en multipart/form-data. Le fichier est
stocké, une miniature est générée et l'enregistrement est enregistré. Le seul champ requis est File ; Name,
Title et DocType sont optionnels. La taille de fichier maximale dépend de l'offre (voir MaxFileSizeMB depuis 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 vaut Flipbook (la valeur par défaut) ou Document — envoie DocType=Document pour créer un document plutôt qu'un flipbook.
Réponse :
{
"Result": "OK",
"ID": "90001",
"URL": "https://go.fliplink.me/view/<slug>",
"Flipbooks_Count": 12,
"Flipbooks_Max": 200,
"Flipbooks_Left": 188
}
Créer à partir d'une URL de PDF
POST /api/create-by-url crée un flipbook à partir d'une URL de PDF. Le serveur télécharge FileURL, le téléverse vers S3,
génère une miniature et enregistre l'enregistrement. Le corps est form-urlencoded. Le seul champ requis est
FileURL ; Name, Title et DocType sont optionnels.
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'
L'URL source doit répondre en moins de 60 s — les sources lentes ou injoignables échouent avec Source URL timed out after 60s.
Pour les sources peu fiables, préfère /api/create-by-file.
Réponse :
{
"Result": "OK",
"ID": "90001",
"URL": "https://go.fliplink.me/view/<slug>",
"Flipbooks_Count": 12,
"Flipbooks_Max": 200,
"Flipbooks_Left": 188
}
Erreurs possibles
Create by File :
- Clé d'API manquante ou invalide → HTTP
401. Renvoie une simple page HTML « Unauthorized » — il n'y a pas de corps JSON. - Le fichier téléversé n'est pas un PDF lisible → HTTP
200, messageFile is not a valid PDF. - Le téléversement dépasse la taille de fichier maximale de l'offre → HTTP
413, messageFile exceeds the maximum allowed upload size.
Create by URL :
- Clé d'API manquante ou invalide → HTTP
401. Renvoie une simple page HTML « Unauthorized » — il n'y a pas de corps JSON. - L'hôte de
FileURLest privé ou non autorisé → HTTP200, messageFileURL host is not allowed. - Champ du corps inconnu ou mal orthographié → HTTP
200, messageUnknown field(s) '…'. Expected: …
Notes
- Les valeurs
Flipbooks_Count / Flipbooks_Max / Flipbooks_Leftreflètent le quota de ton offre après cette création. - Conserve l'
IDrenvoyé — c'est ce que tu passes aux appels suivants (set-meta, set-cta-primary, save-as-template, et d'autres).