Skip to content

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 RapportDescription
natalAnalyse du thème de naissance avec positions planétaires, maisons et aspects
synastryCompatibilité relationnelle entre deux thèmes
compositeThème combiné pour les relations
transitTransits planétaires actuels vers le thème natal
solar-returnThème d'anniversaire annuel
lunar-returnThème de retour lunaire mensuel
progressionsProgressions secondaires
numerologyCalculs et analyse de numérologie
chineseRapport 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.

bash
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.pdf

Paramètres de Requête

ParamètreTypeRequisDescription
reportTypestringOuiType de rapport (voir types supportés ci-dessus)
templateIdstringNonID de modèle spécifique à utiliser (utilise le défaut si non fourni)
subjectobjectOuiDonnées de naissance du sujet principal
partnerobjectNonDonnées de naissance du partenaire (requis pour synastrie/composite)
transitDateobjectNonDate cible pour les rapports de transit/retour

Objet Sujet

ChampTypeRequisDescription
namestringOuiNom de la personne
birthDateobjectOuiDate et heure de naissance
birthDate.yearnumberOuiAnnée de naissance
birthDate.monthnumberOuiMois de naissance (1-12)
birthDate.daynumberOuiJour de naissance (1-31)
birthDate.hournumberOuiHeure de naissance (0-23)
birthDate.minutenumberOuiMinute de naissance (0-59)
birthPlaceobjectOuiLieu de naissance
birthPlace.namestringOuiNom du lieu
birthPlace.latitudenumberOuiLatitude (-90 à 90)
birthPlace.longitudenumberOuiLongitude (-180 à 180)
birthPlace.timezonestringOuiIdentifiant 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 :

bash
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.pdf

Exemple de Rapport de Retour Solaire

Générez un thème de retour solaire pour une année spécifique :

bash
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.pdf

Gestion 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

bash
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

bash
curl -X GET "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}" \
  -H "X-Api-Key: your-api-key"

Créer un Modèle

bash
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

AttributTypeDescription
namestringNom du modèle (1-100 caractères)
descriptionstringDescription optionnelle
reportTypestringType de rapport pour lequel ce modèle est destiné
editorConfigobjectConfiguration des blocs Editor.js
pageSettingsobjectParamètres de mise en page
customCssstringStyles CSS personnalisés
isDefaultbooleanDéfinir comme défaut pour ce type de rapport
isActivebooleanSi le modèle est actif

Paramètres de Page

ParamètreTypeDescription
formatstringTaille de page : "A4" ou "Letter"
orientationstring"portrait" ou "landscape"
marginsobjectMarges de page en mm (haut, droite, bas, gauche)
headerobjectConfiguration de l'en-tête
footerobjectConfiguration du pied de page
pageNumbersobjectParamètres des numéros de page

Configuration En-tête/Pied de Page

json
{
  "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

bash
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

bash
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 :

bash
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 :

bash
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) :

bash
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 :

  1. Modèle spécifique : Si templateId est fourni dans la requête
  2. Défaut de l'organisation : Le modèle par défaut de l'organisation pour le type de rapport
  3. Défaut global : Un modèle global (partagé) par défaut pour le type de rapport

Permissions Requises

EndpointPermission
Lister/Obtenir des modèlescontent:read
Générer un PDFcontent:read
Prévisualiser un modèlecontent:read
Créer un modèlecontent:create
Mettre à jour un modèlecontent:update
Supprimer un modèlecontent:delete
Dupliquer un modèlecontent:create
Définir le défautcontent: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.

AstroAPI Documentation