API Publications

Créez, mettez à jour, supprimez et gérez les publications flipbook. Téléchargez des PDF, contrôlez la visibilité, gérez les versions et générez des QR codes.

On this page

API Publications

L'API Publications vous permet de créer des publications flipbook, de télécharger des PDF pour conversion, de gérer les versions et de contrôler les paramètres d'accès. Tous les endpoints nécessitent une authentification sauf ceux marqués comme publics.

URL de base : https://api.zenflip.io/v1/publications

Lister les publications

Récupérez une liste paginée des publications de votre organisation.

` GET /publications `

Paramètres de requête

Paramètre

Type

Requis

Description

page

integer

Non

Numéro de page (par défaut : 1)

limit

integer

Non

Éléments par page (par défaut : 20)

search

string

Non

Filtrer par titre (correspondance partielle)

status

string

Non

Filtrer par statut : draft, published, archived

sortBy

string

Non

Champ de tri (ex. : createdAt, title)

sortOrder

string

Non

Direction du tri : ASC ou DESC

Exemple de requête

`bash curl "https://api.zenflip.io/v1/publications?page=1&limit=10&status=published" \ -H "Authorization: Bearer YOUR_TOKEN" `

Exemple de réponse

`json { "data": [ { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "title": "Product Catalog 2026", "slug": "product-catalog-2026", "description": "Annual product catalog with pricing", "status": "published", "accessType": "public", "activeVersionNumber": 2, "thumbnailUrl": "https://cdn.zenflip.io/thumbs/a1b2c3d4.jpg", "publishedAt": "2026-01-20T09:00:00.000Z", "createdAt": "2026-01-15T10:30:00.000Z", "updatedAt": "2026-02-01T14:22:00.000Z" } ], "meta": { "total": 24, "page": 1, "limit": 10, "totalPages": 3 } } `

Créer une publication

Créez un nouvel enregistrement de publication. Après la création, téléchargez un PDF pour générer les pages du flipbook.

` POST /publications `

Rôle requis : editor ou supérieur.

Corps de la requête

Champ

Type

Requis

Description

title

string

Oui

Titre de la publication (1 à 200 caractères)

description

string

Non

Courte description de la publication

Exemple de requête

`bash curl -X POST https://api.zenflip.io/v1/publications \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "title": "Q1 Sales Report", "description": "Quarterly sales performance flipbook" }' `

Exemple de réponse

`json { "data": { "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "title": "Q1 Sales Report", "slug": "q1-sales-report", "description": "Quarterly sales performance flipbook", "status": "draft", "accessType": "public", "activeVersionId": null, "activeVersionNumber": null, "settings": {}, "branding": null, "createdAt": "2026-02-20T12:00:00.000Z", "updatedAt": "2026-02-20T12:00:00.000Z" } } `

Télécharger un PDF

Téléchargez un fichier PDF pour créer une nouvelle version d'une publication. Le PDF est stocké dans S3 et une tâche de conversion en arrière-plan est mise en file d'attente pour générer les pages du flipbook.

` POST /uploads/publication/:pubId/pdf `

Rôle requis : editor ou supérieur. Taille maximale du fichier : 200 Mo. Seuls les fichiers PDF sont acceptés.

Exemple de requête

`bash curl -X POST "https://api.zenflip.io/v1/uploads/publication/b2c3d4e5-f6a7-8901-bcde-f12345678901/pdf" \ -H "Authorization: Bearer YOUR_TOKEN" \ -F "file=@/path/to/report.pdf" `

Exemple de réponse

`json { "data": { "id": "c3d4e5f6-a7b8-9012-cdef-123456789012", "publicationId": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "versionNumber": 1, "pdfFilename": "report.pdf", "pdfSizeBytes": 4521984, "status": "uploaded" } } `

Le statut de la version progresse à travers : uploading -> uploaded -> converting -> ready (ou failed). Utilisez l'endpoint Obtenir une publication pour vérifier le statut de la version active.

Obtenir une publication

Récupérez une seule publication par son identifiant.

` GET /publications/:id `

Exemple de requête

`bash curl "https://api.zenflip.io/v1/publications/b2c3d4e5-f6a7-8901-bcde-f12345678901" \ -H "Authorization: Bearer YOUR_TOKEN" `

Exemple de réponse

`json { "data": { "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "title": "Q1 Sales Report", "slug": "q1-sales-report", "description": "Quarterly sales performance flipbook", "status": "published", "accessType": "public", "accessPassword": null, "activeVersionId": "c3d4e5f6-a7b8-9012-cdef-123456789012", "activeVersionNumber": 1, "settings": { "pageMode": "double", "toolbarVisible": true }, "branding": null, "leadCaptureEnabled": false, "thumbnailUrl": "https://cdn.zenflip.io/thumbs/b2c3d4e5.jpg", "publishedAt": "2026-02-20T14:00:00.000Z", "createdAt": "2026-02-20T12:00:00.000Z", "updatedAt": "2026-02-20T14:00:00.000Z" } } `

Mettre à jour une publication

Mettez à jour les métadonnées d'une publication.

` PATCH /publications/:id `

Rôle requis : editor ou supérieur.

Corps de la requête

Champ

Type

Requis

Description

title

string

Non

Titre de la publication (1 à 200 caractères)

description

string

Non

Courte description

slug

string

Non

Slug adapté aux URL (1 à 200 caractères)

Exemple de requête

`bash curl -X PATCH "https://api.zenflip.io/v1/publications/b2c3d4e5-f6a7-8901-bcde-f12345678901" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "title": "Q1 Sales Report - Updated", "slug": "q1-sales-report-2026" }' `

Mettre à jour les paramètres de publication

Mettez à jour les paramètres du lecteur pour une publication (mode de page, lecture automatique, visibilité de la barre d'outils, etc.).

` PATCH /publications/:id/settings `

Rôle requis : editor ou supérieur.

Exemple de requête

`bash curl -X PATCH "https://api.zenflip.io/v1/publications/b2c3d4e5.../settings" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "settings": { "autoPlay": true, "toolbarVisible": false, "pageMode": "double" } }' `

Mettre à jour la marque de la publication

Appliquez une marque personnalisée (logo, couleurs, polices) à une publication. Nécessite la fonctionnalité customBranding sur votre forfait.

` PATCH /publications/:id/branding `

Rôle requis : editor ou supérieur. Fonctionnalité de forfait requise : customBranding.

Exemple de requête

`bash curl -X PATCH "https://api.zenflip.io/v1/publications/b2c3d4e5.../branding" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "branding": { "logoUrl": "https://example.com/logo.png", "primaryColor": "#4F46E5", "fontFamily": "Inter" } }' `

Publier / Archiver

Modifiez le statut du cycle de vie de la publication :

`bash

Publier un brouillon

curl -X POST "https://api.zenflip.io/v1/publications/:id/publish" \ -H "Authorization: Bearer YOUR_TOKEN"

Archiver une publication

curl -X POST "https://api.zenflip.io/v1/publications/:id/archive" \ -H "Authorization: Bearer YOUR_TOKEN" `

Supprimer une publication

Supprimez définitivement une publication et toutes les données associées (versions, pages, analytics).

` DELETE /publications/:id `

Rôle requis : admin ou supérieur.

`bash curl -X DELETE "https://api.zenflip.io/v1/publications/b2c3d4e5-f6a7-8901-bcde-f12345678901" \ -H "Authorization: Bearer YOUR_TOKEN" `

Lister les versions

Récupérez toutes les versions d'une publication.

` GET /publications/:id/versions `

Exemple de réponse

`json { "data": [ { "id": "c3d4e5f6-a7b8-9012-cdef-123456789012", "versionNumber": 2, "pdfFilename": "report-v2.pdf", "pdfSizeBytes": 5120000, "pageCount": 24, "status": "ready", "conversionProgress": 100, "convertedAt": "2026-02-20T14:05:00.000Z", "createdAt": "2026-02-20T14:00:00.000Z" }, { "id": "d4e5f6a7-b8c9-0123-def0-234567890123", "versionNumber": 1, "pdfFilename": "report.pdf", "pdfSizeBytes": 4521984, "pageCount": 20, "status": "ready", "conversionProgress": 100, "convertedAt": "2026-02-20T12:10:00.000Z", "createdAt": "2026-02-20T12:00:00.000Z" } ] } `

Activer une version

Basculez la version active (en ligne) d'une publication vers une version précédemment téléchargée.

` POST /publications/:id/versions/:versionId/activate `

Rôle requis : editor ou supérieur.

Générer un QR code

Générez un QR code au format PNG qui renvoie vers le lecteur de la publication.

` GET /publications/:id/qr-code `

Retourne une image PNG de 512x512 directement (Content-Type : image/png).

`bash curl "https://api.zenflip.io/v1/publications/b2c3d4e5.../qr-code" \ -H "Authorization: Bearer YOUR_TOKEN" \ --output qr-code.png `

Endpoint du lecteur public

Récupérez les données de publication pour le lecteur flipbook public. Aucune authentification requise.

` GET /publications/public/:slug `

Cet endpoint est limité à 60 requêtes par minute par IP et retourne la publication avec les URL d'images de pages résolues pour le rendu dans le lecteur.

← Previous
API de capture de prospects
Next →
API Équipes