# Zapier

Um Zap que obtém a data, hora, fuso horário e coordenadas de nascimento de um gatilho, solicita um mapa à API e converte o Ascendente no nome de um signo. O pedido abaixo é enviado para produção exatamente como o passo o constrói; os passos no Zapier são escritos de acordo com a documentação do Zapier a partir de 2026-09-17.

<Aside type="caution" title="É necessário um plano pago do Zapier">
API by Zapier, Webhooks by Zapier e Formatter são aplicações premium. A documentação do Zapier indica que as três não estão disponíveis no plano Free, e o passo Lookup Table requer um plano Professional ou superior. No plano Free, usa [Make](/integrations/make/) ou [n8n](/integrations/n8n/).
</Aside>

Primeiro, cria uma chave, conforme descrito na secção [Chave para automação](/integrations/#chave-para-automação), com o escopo `chart`.

## 1. Coloca a chave na conexão

Os cabeçalhos inseridos no passo Webhooks by Zapier são armazenados no próprio passo e são visíveis para qualquer pessoa com acesso ao Zap. A API by Zapier mantém-nos na conexão.

1. Na página **Apps**, clica em **+ Add connection** e seleciona **API by Zapier**.
2. **Authentication type**: Static Headers (API key).
3. **Headers**: `X-Api-Key: ` e depois a tua chave, numa única linha.
4. **Domain filter**: `api.astroway.info`, para que a conexão não possa ser direcionada para outro lugar.

## 2. Solicita o mapa

Adiciona uma ação, seleciona **API by Zapier**, o evento **API Request** e a conexão.

- **Method**: `POST`.
- **URL**:

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

- **Body**: O JSON abaixo com os campos do gatilho em vez dos valores.

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

Substitui cada valor pelo campo de gatilho correspondente e mantém as aspas à volta de cada um, incluindo os números. O Zapier insere o campo mapeado como texto simples e não adiciona as aspas, mas a API aceita `"50.45"` como um número. Não adiciones a chave nos Headers do passo: ela é fornecida pela conexão.

Testa o passo. A resposta correta começa com `"ok": true`, e `data.input.timezoneOffset` para o exemplo é `4`: o deslocamento que Kiev tinha naquele dia.

## 3. Converte o Ascendente num signo

Dois passos Formatter.

**Formatter, evento Numbers, transformação Spreadsheet-Style Formula.** Fórmula:

```
FLOOR(ASCENDANT / 30)
```

onde `ASCENDANT` é substituído por `data.houses.ascendant` do passo 2. Para o exemplo, o resultado é `5`.

**Formatter, evento Utilities, transformação Lookup Table.** A Lookup Key é o resultado da fórmula. Tabela:

| Key | Value |
|---|---|
| 0 | Aries |
| 1 | Taurus |
| 2 | Gemini |
| 3 | Cancer |
| 4 | Leo |
| 5 | Virgo |
| 6 | Libra |
| 7 | Scorpio |
| 8 | Sagittarius |
| 9 | Capricorn |
| 10 | Aquarius |
| 11 | Pisces |

Para o exemplo, o resultado é `Virgo`. Para obteres os nomes em português, insere-os na coluna Value.

O Sol e a Lua são calculados da mesma forma. São o primeiro e o segundo registo em `data.planets`, cada um com a sua própria `longitude`: por exemplo, 54.34 (Touro) e 296.39 (Capricórnio).

## Se usas Webhooks by Zapier

Funciona, mas a chave está no passo, não na conexão. Para o mapa, seleciona o evento **Custom Request**: ele envia o campo Data exatamente como foi inserido, então o JSON acima será enviado sem alterações. Define o **Method** como `POST`, e em **Headers** adiciona `X-Api-Key` com a tua chave, e `Content-Type` com o valor `application/json`.

## Quando o passo falha

- **`400 INVALID_FIELD` com `timezone` em `details`**: o fuso horário mapeado está vazio, é uma abreviatura como `EST` ou não é um nome de fuso horário.
- **`400` com `date` ou `time` em `details`**: o formato do gatilho não é `YYYY-MM-DD` / `HH:MM:SS`; adiciona um passo Formatter para a data antes da chamada.
- **`403 ENDPOINT_NOT_IN_SCOPE`**: o escopo da chave não inclui `chart`.
- **`429 KEY_BUDGET_EXHAUSTED`**: a chave esgotou o seu orçamento; aumenta-o no dashboard.

A API não geocodifica. Se o gatilho tiver apenas um nome de local, as coordenadas devem vir do próprio gatilho ou de um serviço de geocodificação para o qual tenhas uma chave.
