Skip to content

PDF-отчёты

Создавайте профессиональные PDF-отчёты для натальных карт, синастрии, солярного возврата и многого другого. Модуль PDF-отчётов позволяет создавать настраиваемые астрологические отчёты с интерпретациями, картами и таблицами.

Обзор

Функция PDF-отчётов обеспечивает:

  • Несколько типов отчётов: натальные, синастрия, композит, транзиты, солярный возврат, лунный возврат, прогрессии, нумерология и китайская астрология
  • Настраиваемые шаблоны: создавайте и управляйте собственными PDF-шаблонами с пользовательской разметкой
  • Автоматические расчёты: астрологические данные вычисляются на лету и встраиваются в ваш шаблон
  • Профессиональный результат: высококачественная генерация PDF с поддержкой верхних и нижних колонтитулов, номеров страниц и пользовательского CSS

Поддерживаемые типы отчётов

Тип отчётаОписание
natalАнализ карты рождения с позициями планет, домами и аспектами
synastryСовместимость отношений двух карт
compositeОбъединённая карта для отношений
transitТекущие планетарные транзиты к натальной карте
solar-returnГодовая карта именинника
lunar-returnЕжемесячная карта лунного возврата
progressionsВторичные прогрессии
numerologyНумерологические расчёты и анализ
chineseОтчёт по китайской астрологии

Создание PDF-отчёта

Создайте PDF-отчёт, предоставив данные о рождении и, при желании, указав шаблон.

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

Параметры запроса

ПараметрТипОбязателенОписание
reportTypestringДаТип отчёта (см. поддерживаемые типы выше)
templateIdstringНетID конкретного шаблона (используется шаблон по умолчанию, если не указан)
subjectobjectДаДанные о рождении основного субъекта
partnerobjectНетДанные о рождении партнёра (обязательны для синастрии/композита)
transitDateobjectНетЦелевая дата для транзитных/возвратных отчётов

Объект Subject

ПолеТипОбязателенОписание
namestringДаИмя человека
birthDateobjectДаДата и время рождения
birthDate.yearnumberДаГод рождения
birthDate.monthnumberДаМесяц рождения (1–12)
birthDate.daynumberДаДень рождения (1–31)
birthDate.hournumberДаЧас рождения (0–23)
birthDate.minutenumberДаМинута рождения (0–59)
birthPlaceobjectДаМесто рождения
birthPlace.namestringДаНазвание места
birthPlace.latitudenumberДаШирота (от -90 до 90)
birthPlace.longitudenumberДаДолгота (от -180 до 180)
birthPlace.timezonestringДаИдентификатор часового пояса IANA

Ответ

Эндпоинт возвращает PDF-файл (application/pdf) со сгенерированным отчётом.

Пример отчёта синастрии

Создание отчёта синастрии для сравнения двух натальных карт:

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

Пример отчёта солярного возврата

Создание карты солярного возврата для конкретного года:

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

Управление шаблонами

Шаблоны определяют разметку и содержимое ваших PDF-отчётов. Каждый шаблон связан с определённым типом отчёта.

Список шаблонов

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

Возвращает как шаблоны организации, так и глобальные (общие) шаблоны.

Получение конкретного шаблона

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

Создание шаблона

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

Атрибуты шаблона

АтрибутТипОписание
namestringНазвание шаблона (1–100 символов)
descriptionstringНеобязательное описание
reportTypestringТип отчёта для данного шаблона
editorConfigobjectКонфигурация блоков Editor.js
pageSettingsobjectНастройки макета страницы
customCssstringПользовательские CSS-стили
isDefaultbooleanУстановить как шаблон по умолчанию для данного типа отчёта
isActivebooleanАктивен ли шаблон

Настройки страницы

НастройкаТипОписание
formatstringРазмер страницы: "A4" или "Letter"
orientationstring"portrait" (книжная) или "landscape" (альбомная)
marginsobjectПоля страницы в мм (top, right, bottom, left)
headerobjectКонфигурация верхнего колонтитула
footerobjectКонфигурация нижнего колонтитула
pageNumbersobjectНастройки нумерации страниц

Конфигурация верхнего/нижнего колонтитула

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

Обновление шаблона

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

Удаление шаблона

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

Дублирование шаблона

Скопируйте существующий шаблон (включая глобальные) в вашу организацию:

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

Установка шаблона по умолчанию

Установите шаблон как шаблон по умолчанию для его типа отчёта:

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

Предварительный просмотр шаблона

Просмотр рендеринга шаблона с примерными данными (возвращает 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"
  }'

Выбор шаблона

При создании PDF система выбирает шаблон в следующем порядке:

  1. Конкретный шаблон: если templateId указан в запросе
  2. По умолчанию для организации: шаблон по умолчанию организации для данного типа отчёта
  3. Глобальный по умолчанию: глобальный (общий) шаблон по умолчанию для данного типа отчёта

Необходимые разрешения

ЭндпоинтРазрешение
Список/Просмотр шаблоновcontent:read
Генерация PDFcontent:read
Предварительный просмотр шаблонаcontent:read
Создание шаблонаcontent:create
Обновление шаблонаcontent:update
Удаление шаблонаcontent:delete
Дублирование шаблонаcontent:create
Установка по умолчаниюcontent:update

Содержимое отчёта

Сгенерированные отчёты включают:

  • Информация о субъекте: имя, дата, время и место рождения
  • Позиции планет: все основные планеты со знаком, домом и градусом
  • Куспиды домов: все 12 куспидов домов со знаками
  • Аспекты: планетарные аспекты с орбами и интерпретациями
  • Интерпретации: текстовый контент из CMS для каждой позиции и аспекта

Фактическое содержимое зависит от конфигурации шаблона и доступного контента CMS.

AstroAPI Documentation