Imagens SVG de Cartas
/v1/render/* devolve o mapa como SVG pronto: roda natal, bi‑ e tri‑roda, composto, mapas védicos (norte, sul, leste), grelha de aspetos, cosmograma, fase da Lua, linha do tempo, biorritmos, faixa de eclipse e mapa estelar. Tu envias os dados de nascimento, nós calculamos o mapa e desenhá‑lo. Lista completa de rotas e parâmetros está no guia da API.
O mesmo código de renderização está publicado como pacote npm @astroway/render: se já tens os dados do mapa, a roda pode ser desenhada no browser ou no teu servidor, e será idêntica ao que a API devolve, byte a byte. A versão da renderização é devolvida no cabeçalho X-Render-Version.
curl -X POST https://api.astroway.info/v1/render/wheel-western \ -H "X-Api-Key: $ASTROWAY_KEY" -H "Content-Type: application/json" \ -d '{"date":"1990-05-15","time":"14:30:00","timezoneOffset":3,"latitude":50.45,"longitude":30.52, "options":{"theme":"css","format":"svg"}}' > wheel.svgformat: "svg" devolve o próprio ficheiro, o padrão json encapsula a string SVG numa resposta API normal. Temas: light, dark, console e css.
Tema css: cores do teu site
Seção intitulada “Tema css: cores do teu site”Com theme: "css" cada cor no SVG é escrita como uma variável CSS com a cor do tema claro como reserva, por exemplo var(--aw-ring, #222). Insere o SVG nas páginas HTML (não em <img>: as variáveis não são passadas para lá) e define as variáveis:
.chart { --aw-chart-bg: transparent; --aw-ring: #444; --aw-fg: currentColor; --aw-aspect-tense: crimson;}Sem qualquer variável o mapa aparece exatamente como light. A regra CSS da tua página tem prioridade sobre a variável, por isso um elemento isolado pode ser recolorido com uma classe.
| Variável | O que colore |
|---|---|
--aw-chart-bg | fundo do mapa |
--aw-fg, --aw-muted | glifos e legendas, texto secundário e marcadores |
--aw-ring | círculos e linhas da grelha |
--aw-houses-fill | campo do mapa védico, disco do mapa estelar, mapa de eclipse |
--aw-benefic | planetas do círculo externo, lagna no mapa védico, eventos da linha do tempo sem cor própria |
--aw-malefic | símbolo de retrogradação ℞, faixa de eclipse |
--aw-aspect-harmonious, --aw-aspect-tense, --aw-aspect-neutral, --aw-aspect-minor, --aw-aspect-quintile | linhas e símbolos dos aspetos |
--aw-moon-shadow, --aw-moon-light | fase da Lua |
--aw-cycle-physical, --aw-cycle-emotional, --aw-cycle-intellectual | biorritmos |
Classes e data‑atributos
Seção intitulada “Classes e data‑atributos”No tema css as rodas ocidentais (wheel-western, bi-wheel, tri-wheel, composite) e a grelha de aspetos têm classes fixas. Os nomes são apenas adicionados, nunca renomeados, por isso podes aplicar estilos e scripts a eles.
- Roda:
aw-bg,aw-ring,aw-sign aw-sign-leo,aw-sign-line,aw-tick,aw-house-cusp,aw-house-number, eixosaw-axis aw-asc(aw-dsc,aw-mc,aw-ic), os seus rótulosaw-label aw-axis-label, títuloaw-title. - Planeta: grupo
<g class="aw-planet aw-planet-sun">, retrograda tem tambémaw-retrograde, planetas do círculo externoaw-layer-1. Dentroaw-glyph,aw-retro(símbolo ℞) eaw-planet-tick. - Aspeto: linha
aw-aspect aw-aspect-trine, linha entre dois mapas tambémaw-cross-aspect. - Grelha de aspetos:
aw-grid-header,aw-grid-cell,aw-aspect aw-aspect-square,aw-orb.
O grupo de planeta tem data-planet (sun, north-node, lilith; no círculo externo b-sun, no terceiro c-sun) e data-label com o nome e a posição: Mercury 8°00' Taurus, retrograde. A linha de aspeto e a célula da grelha têm data-a e data-b. Assim são realçados todos os aspetos do planeta ao passar o rato:
svg.querySelectorAll('.aw-planet').forEach((g) => g.addEventListener('mouseenter', () => { const id = g.dataset.planet; svg.querySelectorAll('.aw-aspect').forEach((line) => line.classList.toggle('is-on', line.dataset.a === id || line.dataset.b === id));}));Os teus rótulos: labels
Seção intitulada “Os teus rótulos: labels”As rodas ocidentais aceitam options.labels: as tuas palavras para os rótulos dos eixos, para <title> e <desc> que os leitores de ecrã leem, e para os nomes em data-label. As chaves que não existirem permanecem em inglês; nós próprios não traduzimos nada.
"options": { "theme": "css", "labels": { "asc": "Асц", "mc": "МС", "title": "Натальна карта", "bodies": { "Sun": "Сонце", "Moon": "Місяць" }, "signs": ["Овен","Телець","Близнюки","Рак","Лев","Діва","Терези","Скорпіон","Стрілець","Козеріг","Водолій","Риби"], "retrograde": "ретроградний" }}bodies tem chaves em inglês (Sun, North Node), signs são exatamente doze nomes, começando por Áries, cada rótulo até 40 caracteres.
Aspetos entre dois mapas
Seção intitulada “Aspetos entre dois mapas”/v1/render/bi-wheel com options.crossAspects: true desenha em tracejado os aspetos entre o mapa interno e o externo, o mesmo conjunto que POST /v1/synastry devolve como crossAspects. O par onde um dos corpos não está desenhado é ignorado. Por padrão está desativado.
Mapa pronto em vez dos dados de nascimento
Seção intitulada “Mapa pronto em vez dos dados de nascimento”Se já tens o mapa, porque acabaste de chamar POST /v1/chart, envia os seus data no campo chart em vez dos dados de nascimento, e nós apenas o desenharemos. É assim que funcionam wheel-western, aspect-grid e bi-wheel (lá natal.chart e outer.chart, ambos devem ser mapas prontos). A imagem será byte a byte igual à gerada a partir dos dados de nascimento.
{ "chart": { "planets": [ ... ], "houses": { "cusps": [ ... ], "ascendant": 7.77, "mc": 277.12 }, "aspects": [ ... ] }, "options": { "theme": "css" } }Os campos extras da resposta podem ser deixados. Verifica‑se o que é desenhado: de 1 a 30 corpos, longitudes de 0 a 360, exatamente 12 cúspides. Um corpo que tem tanto chart como dados de nascimento gera um erro 400.
Chamar /v1/render/* com dados de nascimento custa 10 créditos, pois o mapa é calculado. Com um mapa pronto chart as chamadas /v1/render/wheel-western, /v1/render/aspect-grid e /v1/render/bi-wheel custam 1 crédito. Tema, classes e rótulos não afetam o preço.