Skip to content

Báo cáo PDF

Tạo các báo cáo PDF chuyên nghiệp cho lá số tử vi, hợp tinh, hồi quy mặt trời và nhiều loại khác. Module Báo cáo PDF cho phép bạn tạo các báo cáo chiêm tinh học tùy chỉnh với giải thích, lá số và bảng biểu.

Tổng quan

Tính năng Báo cáo PDF cung cấp:

  • Nhiều loại báo cáo: Tử vi, hợp tinh, kết hợp, quá độ, hồi quy mặt trời, hồi quy mặt trăng, tiến triển, số học và chiêm tinh học Trung Quốc
  • Mẫu có thể tùy chỉnh: Tạo và quản lý các mẫu PDF của riêng bạn với bố cục tùy chỉnh
  • Tính toán tự động: Dữ liệu chiêm tinh học được tính toán ngay lập tức và hợp nhất vào mẫu của bạn
  • Đầu ra chuyên nghiệp: Tạo PDF chất lượng cao với hỗ trợ đầu trang, chân trang, số trang và CSS tùy chỉnh

Các Loại Báo cáo Được hỗ trợ

Loại Báo cáoMô tả
natalPhân tích lá số sinh với vị trí hành tinh, cung nhà và góc chiếu
synastryTương hợp quan hệ giữa hai lá số
compositeLá số kết hợp cho các mối quan hệ
transitCác quá độ hành tinh hiện tại đến lá số tử vi
solar-returnLá số sinh nhật hàng năm
lunar-returnLá số hồi quy mặt trăng hàng tháng
progressionsTiến triển thứ cấp
numerologyTính toán và phân tích số học
chineseBáo cáo chiêm tinh học Trung Quốc

Tạo Báo cáo PDF

Tạo báo cáo PDF bằng cách cung cấp dữ liệu sinh và tùy chọn chỉ định một mẫu.

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

Tham số Yêu cầu

Tham sốKiểuBắt buộcMô tả
reportTypestringLoại báo cáo (xem các loại được hỗ trợ ở trên)
templateIdstringKhôngID mẫu cụ thể để sử dụng (sử dụng mặc định nếu không cung cấp)
subjectobjectDữ liệu sinh cho chủ thể chính
partnerobjectKhôngDữ liệu sinh cho đối tác (bắt buộc cho hợp tinh/kết hợp)
transitDateobjectKhôngNgày mục tiêu cho báo cáo quá độ/hồi quy

Đối tượng Subject

TrườngKiểuBắt buộcMô tả
namestringTên của người
birthDateobjectNgày và giờ sinh
birthDate.yearnumberNăm sinh
birthDate.monthnumberTháng sinh (1-12)
birthDate.daynumberNgày sinh (1-31)
birthDate.hournumberGiờ sinh (0-23)
birthDate.minutenumberPhút sinh (0-59)
birthPlaceobjectNơi sinh
birthPlace.namestringTên địa điểm
birthPlace.latitudenumberVĩ độ (-90 đến 90)
birthPlace.longitudenumberKinh độ (-180 đến 180)
birthPlace.timezonestringMã định danh múi giờ IANA

Phản hồi

Endpoint trả về tệp PDF (application/pdf) với báo cáo được tạo.

Ví dụ Báo cáo Hợp tinh

Tạo báo cáo hợp tinh so sánh hai lá số sinh:

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

Ví dụ Báo cáo Hồi quy Mặt Trời

Tạo lá số hồi quy mặt trời cho một năm cụ thể:

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

Quản lý Mẫu

Các mẫu xác định bố cục và nội dung của báo cáo PDF của bạn. Mỗi mẫu được liên kết với một loại báo cáo cụ thể.

Liệt kê Mẫu

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

Trả về cả mẫu dành riêng cho tổ chức và mẫu toàn cục (chia sẻ).

Lấy Mẫu Cụ thể

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

Tạo Mẫu

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

Thuộc tính Mẫu

Thuộc tínhKiểuMô tả
namestringTên mẫu (1-100 ký tự)
descriptionstringMô tả tùy chọn
reportTypestringLoại báo cáo mà mẫu này dành cho
editorConfigobjectCấu hình khối Editor.js
pageSettingsobjectCài đặt bố cục trang
customCssstringKiểu CSS tùy chỉnh
isDefaultbooleanĐặt làm mặc định cho loại báo cáo này
isActivebooleanLiệu mẫu có đang hoạt động

Cài đặt Trang

Cài đặtKiểuMô tả
formatstringKích thước trang: "A4" hoặc "Letter"
orientationstring"portrait" hoặc "landscape"
marginsobjectLề trang tính bằng mm (top, right, bottom, left)
headerobjectCấu hình đầu trang
footerobjectCấu hình chân trang
pageNumbersobjectCài đặt số trang

Cấu hình Đầu trang/Chân trang

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

Cập nhật Mẫu

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

Xóa Mẫu

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

Nhân bản Mẫu

Sao chép một mẫu hiện có (bao gồm cả mẫu toàn cục) vào tổ chức của bạn:

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

Đặt Mẫu Mặc định

Đặt một mẫu làm mặc định cho loại báo cáo của nó:

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

Xem trước Mẫu

Xem trước cách mẫu sẽ hiển thị với dữ liệu mẫu (trả về 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"
  }'

Giải quyết Mẫu

Khi tạo PDF, hệ thống giải quyết mẫu nào sẽ sử dụng theo thứ tự này:

  1. Mẫu cụ thể: Nếu templateId được cung cấp trong yêu cầu
  2. Mặc định của tổ chức: Mẫu mặc định của tổ chức cho loại báo cáo
  3. Mặc định toàn cục: Mẫu mặc định toàn cục (chia sẻ) cho loại báo cáo

Quyền hạn Bắt buộc

EndpointQuyền hạn
Liệt kê/Lấy mẫucontent:read
Tạo PDFcontent:read
Xem trước mẫucontent:read
Tạo mẫucontent:create
Cập nhật mẫucontent:update
Xóa mẫucontent:delete
Nhân bản mẫucontent:create
Đặt mặc địnhcontent:update

Nội dung Báo cáo

Các báo cáo được tạo bao gồm:

  • Thông tin chủ thể: Tên, ngày sinh, giờ và địa điểm
  • Vị trí hành tinh: Tất cả các hành tinh chính với cung, nhà và độ
  • Điểm cung nhà: Tất cả 12 điểm cung nhà với các cung
  • Góc chiếu: Các góc chiếu hành tinh với orb và giải thích
  • Giải thích: Nội dung văn bản từ CMS cho từng vị trí và góc chiếu

Nội dung thực tế phụ thuộc vào cấu hình mẫu và nội dung CMS có sẵn.

AstroAPI Documentation