Rapports PDF
Générez des rapports PDF professionnels pour les thèmes natals, la synastrie, les retours solaires et plus encore. Le module Rapports PDF vous permet de créer des rapports astrologiques personnalisables avec des interprétations, des thèmes et des tableaux.
Vue d'Ensemble
La fonctionnalité Rapports PDF fournit :
- Plusieurs types de rapports : Natal, synastrie, composite, transit, retour solaire, retour lunaire, progressions, numérologie et astrologie chinoise
- Modèles personnalisables : Créez et gérez vos propres modèles PDF avec des mises en page personnalisées
- Calculs automatiques : Les données astrologiques sont calculées à la volée et intégrées dans votre modèle
- Sortie professionnelle : Génération de PDF haute qualité avec support pour les en-têtes, pieds de page, numéros de page et CSS personnalisé
Types de Rapports Supportés
| Type de Rapport | Description |
|---|---|
natal | Analyse du thème de naissance avec positions planétaires, maisons et aspects |
synastry | Compatibilité relationnelle entre deux thèmes |
composite | Thème combiné pour les relations |
transit | Transits planétaires actuels vers le thème natal |
solar-return | Thème d'anniversaire annuel |
lunar-return | Thème de retour lunaire mensuel |
progressions | Progressions secondaires |
numerology | Calculs et analyse de numérologie |
chinese | Rapport d'astrologie chinoise |
Générer un Rapport PDF
Générez un rapport PDF en fournissant des données de naissance et en spécifiant optionnellement un modèle.
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/generate" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"reportType": "natal",
"subject": {
"name": "John Doe",
"birthDate": {
"year": 1990,
"month": 6,
"day": 15,
"hour": 14,
"minute": 30
},
"birthPlace": {
"name": "London, UK",
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": "Europe/London"
}
}
}' \
--output natal-report.pdfParamètres de Requête
| Paramètre | Type | Requis | Description |
|---|---|---|---|
reportType | string | Oui | Type de rapport (voir types supportés ci-dessus) |
templateId | string | Non | ID de modèle spécifique à utiliser (utilise le défaut si non fourni) |
subject | object | Oui | Données de naissance du sujet principal |
partner | object | Non | Données de naissance du partenaire (requis pour synastrie/composite) |
transitDate | object | Non | Date cible pour les rapports de transit/retour |
Objet Sujet
| Champ | Type | Requis | Description |
|---|---|---|---|
name | string | Oui | Nom de la personne |
birthDate | object | Oui | Date et heure de naissance |
birthDate.year | number | Oui | Année de naissance |
birthDate.month | number | Oui | Mois de naissance (1-12) |
birthDate.day | number | Oui | Jour de naissance (1-31) |
birthDate.hour | number | Oui | Heure de naissance (0-23) |
birthDate.minute | number | Oui | Minute de naissance (0-59) |
birthPlace | object | Oui | Lieu de naissance |
birthPlace.name | string | Oui | Nom du lieu |
birthPlace.latitude | number | Oui | Latitude (-90 à 90) |
birthPlace.longitude | number | Oui | Longitude (-180 à 180) |
birthPlace.timezone | string | Oui | Identifiant de fuseau horaire IANA |
Réponse
L'endpoint retourne un fichier PDF (application/pdf) avec le rapport généré.
Exemple de Rapport de Synastrie
Générez un rapport de synastrie comparant deux thèmes de naissance :
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/generate" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"reportType": "synastry",
"subject": {
"name": "Person A",
"birthDate": {
"year": 1990,
"month": 6,
"day": 15,
"hour": 14,
"minute": 30
},
"birthPlace": {
"name": "London, UK",
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": "Europe/London"
}
},
"partner": {
"name": "Person B",
"birthDate": {
"year": 1988,
"month": 3,
"day": 22,
"hour": 9,
"minute": 15
},
"birthPlace": {
"name": "Paris, France",
"latitude": 48.8566,
"longitude": 2.3522,
"timezone": "Europe/Paris"
}
}
}' \
--output synastry-report.pdfExemple de Rapport de Retour Solaire
Générez un thème de retour solaire pour une année spécifique :
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/generate" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"reportType": "solar-return",
"subject": {
"name": "John Doe",
"birthDate": {
"year": 1990,
"month": 6,
"day": 15,
"hour": 14,
"minute": 30
},
"birthPlace": {
"name": "London, UK",
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": "Europe/London"
}
},
"transitDate": {
"year": 2025,
"month": 6,
"day": 15,
"hour": 0,
"minute": 0
}
}' \
--output solar-return-2025.pdfGestion des Modèles
Les modèles définissent la mise en page et le contenu de vos rapports PDF. Chaque modèle est associé à un type de rapport spécifique.
Lister les Modèles
curl -X GET "https://api.astroapi.cloud/api/pdf-reports/templates" \
-H "X-Api-Key: your-api-key"Retourne les modèles spécifiques à l'organisation et les modèles globaux (partagés).
Obtenir un Modèle Spécifique
curl -X GET "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}" \
-H "X-Api-Key: your-api-key"Créer un Modèle
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/templates" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/vnd.api+json" \
-d '{
"data": {
"type": "templates",
"attributes": {
"name": "My Natal Report Template",
"description": "Custom natal chart report",
"reportType": "natal",
"editorConfig": {},
"pageSettings": {
"format": "A4",
"orientation": "portrait",
"margins": {
"top": 20,
"right": 20,
"bottom": 20,
"left": 20
}
},
"isDefault": true
}
}
}'Attributs du Modèle
| Attribut | Type | Description |
|---|---|---|
name | string | Nom du modèle (1-100 caractères) |
description | string | Description optionnelle |
reportType | string | Type de rapport pour lequel ce modèle est destiné |
editorConfig | object | Configuration des blocs Editor.js |
pageSettings | object | Paramètres de mise en page |
customCss | string | Styles CSS personnalisés |
isDefault | boolean | Définir comme défaut pour ce type de rapport |
isActive | boolean | Si le modèle est actif |
Paramètres de Page
| Paramètre | Type | Description |
|---|---|---|
format | string | Taille de page : "A4" ou "Letter" |
orientation | string | "portrait" ou "landscape" |
margins | object | Marges de page en mm (haut, droite, bas, gauche) |
header | object | Configuration de l'en-tête |
footer | object | Configuration du pied de page |
pageNumbers | object | Paramètres des numéros de page |
Configuration En-tête/Pied de Page
{
"header": {
"enabled": true,
"height": 15,
"content": "My Astrology Report"
},
"footer": {
"enabled": true,
"height": 15,
"content": "Generated by AstroAPI"
},
"pageNumbers": {
"enabled": true,
"position": "bottom-center",
"format": "Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>"
}
}Mettre à Jour un Modèle
curl -X PATCH "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/vnd.api+json" \
-d '{
"data": {
"type": "templates",
"attributes": {
"name": "Updated Template Name"
}
}
}'Supprimer un Modèle
curl -X DELETE "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}" \
-H "X-Api-Key: your-api-key"Dupliquer un Modèle
Copiez un modèle existant (y compris les modèles globaux) vers votre organisation :
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}/duplicate" \
-H "X-Api-Key: your-api-key"Définir le Modèle par Défaut
Définissez un modèle comme défaut pour son type de rapport :
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}/set-default" \
-H "X-Api-Key: your-api-key"Prévisualiser un Modèle
Prévisualisez comment un modèle sera rendu avec des données d'exemple (retourne du HTML) :
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/preview" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"templateId": "your-template-id"
}'Résolution des Modèles
Lors de la génération d'un PDF, le système résout quel modèle utiliser dans cet ordre :
- Modèle spécifique : Si
templateIdest fourni dans la requête - Défaut de l'organisation : Le modèle par défaut de l'organisation pour le type de rapport
- Défaut global : Un modèle global (partagé) par défaut pour le type de rapport
Permissions Requises
| Endpoint | Permission |
|---|---|
| Lister/Obtenir des modèles | content:read |
| Générer un PDF | content:read |
| Prévisualiser un modèle | content:read |
| Créer un modèle | content:create |
| Mettre à jour un modèle | content:update |
| Supprimer un modèle | content:delete |
| Dupliquer un modèle | content:create |
| Définir le défaut | content:update |
Contenu du Rapport
Les rapports générés incluent :
- Informations sur le sujet : Nom, date de naissance, heure et lieu
- Positions planétaires : Toutes les planètes majeures avec signe, maison et degré
- Cuspides de maisons : Les 12 cuspides de maisons avec les signes
- Aspects : Aspects planétaires avec orbes et interprétations
- Interprétations : Textes de contenu CMS pour chaque placement et aspect
Le contenu réel dépend de la configuration du modèle et du contenu CMS disponible.