Aller au contenu
AstroWay/api v2.254.12 · fr
tous les systèmes sont opérationnels

Images de cartes SVG

/v1/render/* renvoie une carte sous forme de SVG prêt à l’emploi : roue natale, bi- et tri-roue, composite, cartes védiques (nord, sud, est), grille d’aspects, cosmogramme, phase lunaire, chronologie, biorythmes, bande d’éclipse et carte stellaire. Tu nous envoies les données de naissance, nous calculons la carte et la dessinons. La liste complète des routes et des paramètres se trouve dans le guide de référence de l’API.

Le même code de rendu est publié en tant que package npm @astroway/render : si tu as déjà les données de la carte, la roue peut être dessinée dans le navigateur ou sur ton propre serveur, et elle correspondra à ce que l’API renvoie, octet par octet. L’API renvoie la version du rendu dans l’en-tête X-Render-Version.

Fenêtre de terminal
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.svg

format: "svg" renvoie le fichier lui-même, le json typique enveloppe la chaîne SVG dans une réponse API normale. Thèmes : light, dark, console et css.

Avec theme: "css", chaque couleur du SVG est enregistrée comme une variable CSS avec la couleur du thème clair comme valeur de secours, par exemple var(--aw-ring, #222). Insère le SVG dans le HTML de la page (pas dans une balise <img> : les variables n’y sont pas prises en compte) et définis les variables :

.chart {
--aw-chart-bg: transparent;
--aw-ring: #444;
--aw-fg: currentColor;
--aw-aspect-tense: crimson;
}

Sans aucune variable, la carte ressemble exactement à light. La règle CSS de ta page est plus forte que la variable, donc un élément individuel peut être recoloré avec une classe.

VariableCe qu’elle colore
--aw-chart-bgfond de la carte
--aw-fg, --aw-mutedglyphes et légendes, texte secondaire et graduations
--aw-ringcercles et lignes de la grille
--aw-houses-fillchamp de la carte védique, disque de la carte stellaire, carte d’éclipse
--aw-beneficplanètes du cercle extérieur, lagna dans la carte védique, événements de la chronologie sans couleur propre
--aw-maleficsigne de rétrogradation ℞, bande d’éclipse
--aw-aspect-harmonious, --aw-aspect-tense, --aw-aspect-neutral, --aw-aspect-minor, --aw-aspect-quintilelignes et symboles d’aspects
--aw-moon-shadow, --aw-moon-lightphase lunaire
--aw-cycle-physical, --aw-cycle-emotional, --aw-cycle-intellectualbiorythmes

Dans le thème css, les roues occidentales (wheel-western, bi-wheel, tri-wheel, composite) et la grille d’aspects ont des classes stables. Les noms sont seulement ajoutés, jamais renommés, tu peux donc écrire des styles et des scripts dessus.

  • Roue : aw-bg, aw-ring, aw-sign aw-sign-leo, aw-sign-line, aw-tick, aw-house-cusp, aw-house-number, axes aw-axis aw-asc (aw-dsc, aw-mc, aw-ic), leurs légendes aw-label aw-axis-label, titre aw-title.
  • Planète : groupe <g class="aw-planet aw-planet-sun">, rétrograde a aussi aw-retrograde, planètes du cercle extérieur aw-layer-1. À l’intérieur aw-glyph, aw-retro (signe ℞) et aw-planet-tick.
  • Aspect : ligne aw-aspect aw-aspect-trine, ligne entre deux cartes aussi aw-cross-aspect.
  • Grille d’aspects : aw-grid-header, aw-grid-cell, aw-aspect aw-aspect-square, aw-orb.

Le groupe de la planète a data-planet (sun, north-node, lilith ; sur le cercle extérieur b-sun, sur le troisième c-sun) et data-label avec le nom et la position : Mercury 8°00' Taurus, retrograde. La ligne d’aspect et la cellule de la grille ont data-a et data-b. Voici comment tous les aspects d’une planète sont mis en évidence au survol :

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));
}));

Les roues occidentales acceptent options.labels : tes mots pour les légendes des axes, pour <title> et <desc>, qui sont lus par les lecteurs d’écran, et pour les noms dans data-label. Les clés manquantes restent en anglais ; nous ne traduisons rien nous-mêmes.

"options": {
"theme": "css",
"labels": {
"asc": "Асц", "mc": "МС", "title": "Натальна карта",
"bodies": { "Sun": "Сонце", "Moon": "Місяць" },
"signs": ["Овен","Телець","Близнюки","Рак","Лев","Діва","Терези","Скорпіон","Стрілець","Козеріг","Водолій","Риби"],
"retrograde": "ретроградний"
}
}

bodies a des clés en anglais (Sun, North Node), signs sont exactement douze noms, en commençant par le Bélier, chaque légende jusqu’à 40 caractères.

/v1/render/bi-wheel avec options.crossAspects: true dessine en pointillés les aspects entre la carte intérieure et la carte extérieure, le même ensemble que POST /v1/synastry renvoie comme crossAspects. Une paire où l’un des corps n’est pas dessiné est ignorée. Désactivé par défaut.

Si tu as déjà la carte, parce que tu viens d’appeler POST /v1/chart, envoie ses data dans le champ chart au lieu des données de naissance, et nous ne ferons que la dessiner. C’est ainsi que fonctionnent wheel-western, aspect-grid et bi-wheel (où natal.chart et outer.chart, toutes deux doivent être des cartes prêtes). L’image sera exactement la même, octet par octet, que celle générée à partir des données de naissance.

{ "chart": { "planets": [ ... ], "houses": { "cusps": [ ... ], "ascendant": 7.77, "mc": 277.12 }, "aspects": [ ... ] },
"options": { "theme": "css" } }

Les champs supplémentaires de la réponse n’ont pas besoin d’être supprimés. Ce qui est dessiné est vérifié : de 1 à 30 corps, longitudes de 0 à 360, exactement 12 cuspides. Un corps où il y a à la fois chart et des données de naissance est rejeté avec un 400.

L’appel à /v1/render/* avec des données de naissance coûte 10 crédits, car la carte est calculée. Avec une carte chart prête, les appels à /v1/render/wheel-western, /v1/render/aspect-grid et /v1/render/bi-wheel coûtent 1 crédit. Le thème, les classes et les légendes n’affectent pas le prix.

Utile?
Proposer une modification

Dernière mise à jour :