Skip to content

Relatórios PDF

Gera relatórios PDF profissionais para mapas natais, sinastria, revoluções solares e muito mais. O módulo de Relatórios PDF permite-te criar relatórios astrológicos personalizáveis com interpretações, mapas e tabelas.

Visão Geral

A funcionalidade de Relatórios PDF oferece:

  • Múltiplos tipos de relatório: Natal, sinastria, composto, trânsito, revolução solar, revolução lunar, progressões, numerologia e astrologia chinesa
  • Modelos personalizáveis: Cria e gere os teus próprios modelos de PDF com layouts personalizados
  • Cálculos automáticos: Os dados astrológicos são calculados em tempo real e integrados no teu modelo
  • Saída profissional: Geração de PDF de alta qualidade com suporte para cabeçalhos, rodapés, números de página e CSS personalizado

Tipos de Relatório Suportados

Tipo de RelatórioDescrição
natalAnálise do mapa natal com posições planetárias, casas e aspectos
synastryCompatibilidade de relacionamento entre dois mapas
compositeMapa combinado para relacionamentos
transitTrânsitos planetários actuais ao mapa natal
solar-returnMapa de aniversário anual
lunar-returnMapa de revolução lunar mensal
progressionsProgressões secundárias
numerologyCálculos e análise de numerologia
chineseRelatório de astrologia chinesa

Gerar um Relatório PDF

Gera um relatório PDF fornecendo dados de nascimento e opcionalmente especificando um modelo.

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

Parâmetros do Pedido

ParâmetroTipoObrigatórioDescrição
reportTypestringSimTipo de relatório (ver tipos suportados acima)
templateIdstringNãoID do modelo específico a usar (usa o padrão se não fornecido)
subjectobjectSimDados de nascimento do sujeito principal
partnerobjectNãoDados de nascimento do parceiro (necessário para sinastria/composto)
transitDateobjectNãoData alvo para relatórios de trânsito/revolução

Objecto Subject

CampoTipoObrigatórioDescrição
namestringSimNome da pessoa
birthDateobjectSimData e hora de nascimento
birthDate.yearnumberSimAno de nascimento
birthDate.monthnumberSimMês de nascimento (1–12)
birthDate.daynumberSimDia de nascimento (1–31)
birthDate.hournumberSimHora de nascimento (0–23)
birthDate.minutenumberSimMinuto de nascimento (0–59)
birthPlaceobjectSimLocal de nascimento
birthPlace.namestringSimNome do local
birthPlace.latitudenumberSimLatitude (-90 a 90)
birthPlace.longitudenumberSimLongitude (-180 a 180)
birthPlace.timezonestringSimIdentificador de fuso horário IANA

Resposta

O endpoint devolve um ficheiro PDF (application/pdf) com o relatório gerado.

Exemplo de Relatório de Sinastria

Gera um relatório de sinastria comparando dois mapas natais:

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

Exemplo de Relatório de Revolução Solar

Gera um mapa de revolução solar para um ano específico:

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

Gestão de Modelos

Os modelos definem o layout e o conteúdo dos teus relatórios PDF. Cada modelo está associado a um tipo de relatório específico.

Listar Modelos

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

Devolve tanto os modelos específicos da organização como os modelos globais (partilhados).

Obter um Modelo Específico

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

Criar um Modelo

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
      }
    }
  }'

Atributos do Modelo

AtributoTipoDescrição
namestringNome do modelo (1–100 caracteres)
descriptionstringDescrição opcional
reportTypestringTipo de relatório para o qual este modelo se destina
editorConfigobjectConfiguração de blocos do Editor.js
pageSettingsobjectDefinições de layout de página
customCssstringEstilos CSS personalizados
isDefaultbooleanDefinir como padrão para este tipo de relatório
isActivebooleanSe o modelo está activo

Definições de Página

DefiniçãoTipoDescrição
formatstringTamanho de página: "A4" ou "Letter"
orientationstring"portrait" ou "landscape"
marginsobjectMargens da página em mm (top, right, bottom, left)
headerobjectConfiguração do cabeçalho
footerobjectConfiguração do rodapé
pageNumbersobjectDefinições dos números de página

Configuração do Cabeçalho/Rodapé

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>"
  }
}

Actualizar um Modelo

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"
      }
    }
  }'

Eliminar um Modelo

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

Duplicar um Modelo

Copia um modelo existente (incluindo modelos globais) para a tua organização:

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

Definir Modelo Padrão

Define um modelo como padrão para o seu tipo de relatório:

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

Pré-visualizar um Modelo

Pré-visualiza como um modelo será renderizado com dados de exemplo (devolve 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"
  }'

Resolução de Modelos

Ao gerar um PDF, o sistema resolve qual o modelo a utilizar nesta ordem:

  1. Modelo específico: Se templateId for fornecido no pedido
  2. Padrão da organização: O modelo padrão da organização para o tipo de relatório
  3. Padrão global: Um modelo padrão global (partilhado) para o tipo de relatório

Permissões Necessárias

EndpointPermissão
Listar/Obter modeloscontent:read
Gerar PDFcontent:read
Pré-visualizar modelocontent:read
Criar modelocontent:create
Actualizar modelocontent:update
Eliminar modelocontent:delete
Duplicar modelocontent:create
Definir padrãocontent:update

Conteúdo do Relatório

Os relatórios gerados incluem:

  • Informação do sujeito: Nome, data de nascimento, hora e local
  • Posições planetárias: Todos os planetas principais com signo, casa e grau
  • Cúspides das casas: Todas as 12 cúspides das casas com signos
  • Aspectos: Aspectos planetários com orbes e interpretações
  • Interpretações: Textos de conteúdo do CMS para cada posicionamento e aspecto

O conteúdo real depende da configuração do modelo e do conteúdo CMS disponível.

AstroAPI Documentation