# API da carta natal

O mapa natal é a base de qualquer aplicação astrológica (Co-Star, Sanctuary, The Pattern, Chani — todas dependem dela). A API AstroWay oferece um conjunto completo de endpoints para construir e analisar mapas num único pedido: desde as posições básicas dos planetas no mesmo Swiss Ephemeris usado no Solar Fire e Astrodienst, até técnicas raras que os concorrentes não têm — parte dos mais de 700 endpoints da plataforma toda.

## O que é calculado

Uma mapa natal completo inclui a **astrology trinity** — três "faces" da personalidade que os utilizadores voltam a estudar repetidamente (impulsionando a retenção):

- **Posições dos planetas** — Sol (identidade/destino), Lua (núcleo emocional/necessidades), Mercúrio, Vénus, Marte, Júpiter, Saturno, Úrano, Neptuno, Plutão + Nodo Norte, Quíron. Longitude, latitude, velocidade, signo, casa, retrógrado.
- **Cúspides das casas** — 15 sistemas à escolha (Placidus, Koch, Whole Sign, Equal e outros). ASC (como os outros te veem), MC (carreira/imagem pública), Vértice.
- **Aspetos** — conjunção, oposição, trígono, quadratura, sextil, quincôncio. Órbita, aplicativo/separativo.
- **Secto do mapa** — diurno/noturno (para astrologia helenística clássica no estilo de Chris Brennan / Demetra George).

## Endpoints

| Endpoint | Créditos | O que devolve |
|---|---|---|
| `/v1/chart` | 20 | Mapa natal completo (planetas + casas + aspetos) |
| `/v1/planets` | 10 | Apenas posições dos planetas (sem casas e aspetos) |
| `/v1/essential-dignities` | 20 | Tabela de dignidades essenciais (domicílio, exaltação, triplicidade, termo, face) |
| `/v1/almuten` | 20 | Almuten figuris — técnica medieval |
| `/v1/arabic-parts` | 20 | Partes árabes/lotes (Fortuna, Espírito e outros) |
| `/v1/fixed-stars` | 20 | Conjunções dos planetas com estrelas fixas |
| `/v1/midpoints` | 20 | Pontos médios planetários |
| `/v1/disposition-chains` | 20 | Cadeias de disposição (grafos de controlo) |
| `/v1/firdaria` | 20 | Períodos de Firdaria |
| `/v1/profections` | 20 | Profecções anuais |
| `/v1/planetary-phases` | 20 | Fases orientais/ocidentais |
| `/v1/receptions` | 20 | Receções mútuas |

## Exemplo

<Tabs>
  <TabItem label="cURL">
    ```bash frame="terminal"
    curl -X POST https://api.astroway.info/v1/chart \
      -H "X-Api-Key: aw_live_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{
        "date": "1990-07-14",
        "time": "14:30:00",
        "timezoneOffset": 3,
        "latitude": 50.4501,
        "longitude": 30.5234,
        "houseSystem": "P"
      }'
    ```
  </TabItem>
  <TabItem label="Node.js">
    ```ts
    const r = await fetch('https://api.astroway.info/v1/chart', {
      method: 'POST',
      headers: {
        'X-Api-Key': process.env.ASTROWAY_API_KEY!,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        date: '1990-07-14',
        time: '14:30:00',
        timezoneOffset: 3,
        latitude: 50.4501,
        longitude: 30.5234,
        houseSystem: 'P',
      }),
    });
    const { data: chart } = await r.json();
    console.log(`ASC: ${chart.angles.asc.sign} ${chart.angles.asc.degree.toFixed(2)}°`);
    ```
  </TabItem>
  <TabItem label="Python">
    ```python

    r = requests.post(
        'https://api.astroway.info/v1/chart',
        headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'},
        json={
            'date': '1990-07-14',
            'time': '14:30:00',
            'timezoneOffset': 3,
            'latitude': 50.4501,
            'longitude': 30.5234,
            'houseSystem': 'P',
        },
    )
    chart = r.json()['data']
    print(f"ASC: {chart['angles']['asc']['sign']} {chart['angles']['asc']['degree']:.2f}°")
    ```
  </TabItem>
  <TabItem label="PHP">
    ```php
    <?php
    use GuzzleHttp\Client;

    $aw = new Client(['base_uri' => 'https://api.astroway.info/v1/']);
    $r = $aw->post('chart', [
        'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')],
        'json' => [
            'date' => '1990-07-14',
            'time' => '14:30:00',
            'timezoneOffset' => 3,
            'latitude' => 50.4501,
            'longitude' => 30.5234,
            'houseSystem' => 'P',
        ],
    ]);
    $chart = json_decode($r->getBody(), true)['data'];
    printf("ASC: %s %.2f°\n", $chart['angles']['asc']['sign'], $chart['angles']['asc']['degree']);
    ```
  </TabItem>
</Tabs>

## Quem usa

- **Aplicações astrológicas** — apps web e mobile com construção de mapas
- **Agentes de IA** — através do servidor MCP ou `/interpret/natal` para interpretações por IA
- **Investigadores** — cálculos em massa para estudos estatísticos
- **Plataformas de conteúdo** — mapas natals como funcionalidade adicional sobre produtos existentes

## Custo

O mapa natal (`/v1/chart`) custa **20 créditos**. No plano Free (10 000 créditos/mês), tens 500 mapas por mês grátis.

<CardGrid>
  <LinkCard title="Começar rápido →" href="/getting-started/" description="Primeiro pedido em 5 minutos" />
  <LinkCard title="Exemplo detalhado" href="/examples/natal/" description="Parâmetros, resposta, sistemas de casas" />
  <LinkCard title="Preços" href="/pricing/" description="Do plano gratuito ao Enterprise" />
</CardGrid>
