Bienvenue sur l'API de génération d'affiches. Voici un résumé des endpoints disponibles et leur utilisation.
Toutes les requêtes à l'API nécessitent une clé d'authentification incluse dans les headers HTTP. Cette clé doit être envoyée sous la forme suivante :
X-Frontend-Token: VOTRE_TOKEN_SECRET
⚠️ Attention : Ne partagez jamais votre clé d'authentification publiquement. Assurez-vous qu'elle est stockée de manière sécurisée.
Paramètres : JSON contenant les données de l'affiche (titre, sous-titre, couleurs, images, etc.). Les images (imageIA, logo) doivent être encodées en base64 et au format PNG, JPEG, GIF ou WEBP.
Les données doivent être envoyées au format JSON. Les images (imageIA, logo) doivent être encodées en base64 (PNG, JPEG, GIF ou WEBP).
Règles de validation :
template : optionnel, string, valeurs possibles : ModerneAfficheTemplate, ClassiqueAfficheTemplate, IAVisuelRondTemplateformat : optionnel, string, valeurs possibles : A4, A5titre : requis, string, max 200 caractèressousTitre : optionnel, string, max 200 caractèresdates : optionnel, string, max 100 caractèresdescriptif : optionnel, string, max 1000 caractèresnomCommerce : optionnel, string, max 150 caractèresadresse : optionnel, string, max 200 caractèresmention : optionnel, string, max 200 caractèrestextColor : optionnel, hexadécimal CSS (ex : #FFFFFF)backgroundColor : optionnel, hexadécimal CSSfontFamily : optionnel, stringimageIA : optionnel, base64 string (ou null)logo : optionnel, base64 string (ou null)Réponse : JSON contenant les familles de polices et leurs variantes.
Réponse : JSON contenant les identifiants et noms des templates.
GET /api/fonts
Content-Type: application/json
Réponse :
[
{
"family": "Roboto Slab",
"variants": [
{
"file": "RobotoSlab-400.ttf",
"path": "resources/fonts/robotoslab/RobotoSlab-400.ttf",
"fontFamily": "robotoslab400",
"fontDisplay": "Roboto Slab Regular"
},
{
"file": "RobotoSlab-700.ttf",
"path": "resources/fonts/robotoslab/RobotoSlab-700.ttf",
"fontFamily": "robotoslab700",
"fontDisplay": "Roboto Slab Bold"
}
]
}
]
GET /api/templates
Content-Type: application/json
Réponse :
[
{ "id": "ClassiqueAfficheTemplate", "name": "Classique" },
{ "id": "ModerneAfficheTemplate", "name": "Moderne" },
{ "id": "IAVisuelRondTemplate", "name": "Rond (avec image IA)" }
]
POST /api/generate-affiche
Content-Type: application/json
{
"template": "ModerneAfficheTemplate",
"format": "A4",
"titre": "Pâques en fête",
"sousTitre": "Offres spéciales",
"dates": "25-31 mars 2025",
"nomCommerce": "Boulangerie du Marché",
"descriptif": "Brioches en forme de lapin, œufs en chocolat maison...",
"adresse": "4 rue des Artisans, 78000 Versailles",
"mention": "Affiche générée par IA avec Liya !",
"textColor": "#000000",
"backgroundColor": "#FFFFFF",
"fontFamily": "RobotoSlab-400",
"imageIA": "data:image/png;base64,...",
"logo": "data:image/png;base64,..."
}
Réponse :
{
"pdf_base64": "JVBERi0xLjQKJcTl8uXrp...",
"png_preview_base64": "iVBORw0KGgoAAAANSUhEUgAA..."
}
Chargement des polices...