# Make

Le scénario qui envoie à l'API la date, l'heure, le fuseau et les coordonnées de naissance et récupère dans la réponse les signes du Soleil, de la Lune et de l'Ascendant. La requête ci‑dessous a été envoyée en production exactement dans la forme que le module génère ; les étapes dans Make sont écrites selon la documentation de Make pour la version 4 de l'application HTTP au 2026‑09‑17. L'application HTTP est disponible dans le forfait gratuit de Make.

Commence par créer une clé, comme décrit dans la section [Clé pour l'automatisation](/integrations/#ключ-для-автоматизації), avec le scope `chart`.

## 1. Ajoute le module HTTP avec le keychain

Ajoute l'application **HTTP**, le module **Make a request**. Make recommande de transmettre les identifiants via un champ séparé, et non via les en‑têtes, et le keychain garde la clé hors du scénario.

1. **Authentication type** : API key.
2. **Credentials** : crée un keychain. Donne‑lui un nom, colle la clé dans **Key**, emplacement **In the header**, nom du paramètre `X-Api-Key`.

## 2. Compose la requête

- **URL**:

  ```
  https://api.astroway.info/v1/chart
  ```

- **Method**: `POST`.
- **Body content type**: `application/json`.
- **Body input method**: JSON string.
- **Body content**: JSON ci‑dessous avec les valeurs de ton déclencheur.
- **Parse response**: Yes.

```json
{
  "date": "1990-05-15",
  "time": "14:30:00",
  "timezone": "Europe/Kyiv",
  "latitude": "50.45",
  "longitude": "30.52"
}
```

Laisse les guillemets autour de chaque valeur mappée, les nombres aussi : la valeur est insérée dans la chaîne JSON comme du texte brut, et l'API accepte `"50.45"` comme nombre. C’est le **Parse response** avec la valeur Yes qui rend `data` disponible pour le mappage dans le module suivant.

Exécute le module une fois. Dans le paquet de sortie, `data.input.timezoneOffset` vaut `4` à titre d’exemple : le décalage que Kyiv avait ce jour‑là.

## 3. Mappe les signes

Dans n’importe quel module suivant, le champ avec la formule suivante donne le signe de l'Ascendant :

```
get(split("Овен,Телець,Близнюки,Рак,Лев,Діва,Терези,Скорпіон,Стрілець,Козеріг,Водолій,Риби"; ","); floor(ASCENDANT / 30) + 1)
```

où au lieu de `ASCENDANT` on insère `data.houses.ascendant`. `+ 1` est nécessaire, car `get()` compte à partir de 1, alors que le numéro du signe commence à 0. Par exemple `floor(159.26 / 30) + 1` vaut `6`, et le sixième nom est `Vierge`.

Pour le Soleil et la Lune, prends la `longitude` du premier et du deuxième élément de `data.planets`, que Make mappe comme `data.planets[1].longitude` et `data.planets[2].longitude`. À titre d’exemple, c’est le Taureau et le Capricorne.

## Quand le module échoue

- **`400 INVALID_FIELD` avec `timezone` dans `details`** : le fuseau mappé est vide, c’est une abréviation du type `EST` ou pas un nom de zone.
- **`400` avec `date` ou `time` dans `details`** : le format du déclencheur n’est pas `YYYY-MM-DD` / `HH:MM:SS` ; avant l’appel, formate‑le avec `formatDate()`.
- **`403 ENDPOINT_NOT_IN_SCOPE`** : le scope de la clé ne comprend pas `chart`.
- **`429 KEY_BUDGET_EXHAUSTED`** : la clé a épuisé son budget ; augmente‑le dans le tableau de bord.

<Aside type="note">
API ne géocode pas. L'application Google Maps dans Make peut convertir le nom d'un lieu en coordonnées, mais nécessite une clé Google Cloud API avec la facturation activée.
</Aside>
