Rapporti PDF
Genera rapporti PDF professionali per temi natali, sinastria, rivoluzioni solari e altro. Il modulo Rapporti PDF consente di creare rapporti astrologici personalizzabili con interpretazioni, temi e tabelle.
Panoramica
La funzionalità Rapporti PDF fornisce:
- Più tipi di rapporto: Natale, sinastria, composito, transiti, rivoluzione solare, rivoluzione lunare, progressioni, numerologia e astrologia cinese
- Modelli personalizzabili: Crea e gestisci i tuoi modelli PDF con layout personalizzati
- Calcoli automatici: I dati astrologici vengono calcolati al volo e integrati nel tuo modello
- Output professionale: Generazione di PDF di alta qualità con supporto per intestazioni, piè di pagina, numeri di pagina e CSS personalizzato
Tipi di Rapporto Supportati
| Tipo di Rapporto | Descrizione |
|---|---|
natal | Analisi del tema natale con posizioni planetarie, case e aspetti |
synastry | Compatibilità relazionale tra due temi |
composite | Tema combinato per le relazioni |
transit | Transiti planetari attuali rispetto al tema natale |
solar-return | Tema del compleanno annuale |
lunar-return | Tema della rivoluzione lunare mensile |
progressions | Progressioni secondarie |
numerology | Calcoli e analisi numerologici |
chinese | Rapporto di astrologia cinese |
Genera un Rapporto PDF
Genera un rapporto PDF fornendo i dati di nascita e opzionalmente specificando un modello.
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.pdfParametri della Richiesta
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
reportType | string | Sì | Tipo di rapporto (vedi tipi supportati sopra) |
templateId | string | No | ID del modello specifico da usare (usa il predefinito se non fornito) |
subject | object | Sì | Dati di nascita per il soggetto principale |
partner | object | No | Dati di nascita del partner (richiesto per sinastria/composito) |
transitDate | object | No | Data di destinazione per rapporti di transito/rivoluzione |
Oggetto Soggetto
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | Sì | Nome della persona |
birthDate | object | Sì | Data e ora di nascita |
birthDate.year | number | Sì | Anno di nascita |
birthDate.month | number | Sì | Mese di nascita (1-12) |
birthDate.day | number | Sì | Giorno di nascita (1-31) |
birthDate.hour | number | Sì | Ora di nascita (0-23) |
birthDate.minute | number | Sì | Minuto di nascita (0-59) |
birthPlace | object | Sì | Luogo di nascita |
birthPlace.name | string | Sì | Nome del luogo |
birthPlace.latitude | number | Sì | Latitudine (da -90 a 90) |
birthPlace.longitude | number | Sì | Longitudine (da -180 a 180) |
birthPlace.timezone | string | Sì | Identificatore di fuso orario IANA |
Risposta
L'endpoint restituisce un file PDF (application/pdf) con il rapporto generato.
Esempio di Rapporto di Sinastria
Genera un rapporto di sinastria che confronta due temi natali:
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.pdfEsempio di Rapporto di Rivoluzione Solare
Genera un tema di rivoluzione solare per un anno specifico:
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.pdfGestione dei Modelli
I modelli definiscono il layout e il contenuto dei tuoi rapporti PDF. Ogni modello è associato a un tipo specifico di rapporto.
Elenca i Modelli
curl -X GET "https://api.astroapi.cloud/api/pdf-reports/templates" \
-H "X-Api-Key: your-api-key"Restituisce sia i modelli specifici dell'organizzazione che i modelli globali (condivisi).
Ottieni un Modello Specifico
curl -X GET "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}" \
-H "X-Api-Key: your-api-key"Crea un Modello
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
}
}
}'Attributi del Modello
| Attributo | Tipo | Descrizione |
|---|---|---|
name | string | Nome del modello (1-100 caratteri) |
description | string | Descrizione opzionale |
reportType | string | Tipo di rapporto per cui è destinato il modello |
editorConfig | object | Configurazione dei blocchi Editor.js |
pageSettings | object | Impostazioni del layout di pagina |
customCss | string | Stili CSS personalizzati |
isDefault | boolean | Imposta come predefinito per questo tipo di rapporto |
isActive | boolean | Se il modello è attivo |
Impostazioni di Pagina
| Impostazione | Tipo | Descrizione |
|---|---|---|
format | string | Dimensione della pagina: "A4" o "Letter" |
orientation | string | "portrait" o "landscape" |
margins | object | Margini di pagina in mm (top, right, bottom, left) |
header | object | Configurazione dell'intestazione |
footer | object | Configurazione del piè di pagina |
pageNumbers | object | Impostazioni per i numeri di pagina |
Configurazione Intestazione/Piè di Pagina
{
"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>"
}
}Aggiorna un Modello
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"
}
}
}'Elimina un Modello
curl -X DELETE "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}" \
-H "X-Api-Key: your-api-key"Duplica un Modello
Copia un modello esistente (inclusi i modelli globali) nella tua organizzazione:
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}/duplicate" \
-H "X-Api-Key: your-api-key"Imposta il Modello Predefinito
Imposta un modello come predefinito per il suo tipo di rapporto:
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}/set-default" \
-H "X-Api-Key: your-api-key"Anteprima di un Modello
Visualizza l'anteprima di come un modello verrà renderizzato con dati di esempio (restituisce 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"
}'Risoluzione del Modello
Quando si genera un PDF, il sistema risolve quale modello utilizzare in questo ordine:
- Modello specifico: Se
templateIdè fornito nella richiesta - Predefinito dell'organizzazione: Il modello predefinito dell'organizzazione per il tipo di rapporto
- Predefinito globale: Un modello predefinito globale (condiviso) per il tipo di rapporto
Permessi Richiesti
| Endpoint | Permesso |
|---|---|
| Elenca/Ottieni modelli | content:read |
| Genera PDF | content:read |
| Anteprima modello | content:read |
| Crea modello | content:create |
| Aggiorna modello | content:update |
| Elimina modello | content:delete |
| Duplica modello | content:create |
| Imposta predefinito | content:update |
Contenuto del Rapporto
I rapporti generati includono:
- Informazioni sul soggetto: Nome, data di nascita, orario e luogo
- Posizioni planetarie: Tutti i pianeti principali con segno, casa e grado
- Cuspidi delle case: Tutte le 12 cuspidi delle case con i segni
- Aspetti: Aspetti planetari con orbi e interpretazioni
- Interpretazioni: Testi del CMS per ogni posizionamento e aspetto
Il contenuto effettivo dipende dalla configurazione del modello e dal contenuto CMS disponibile.