# Zapier

Zap الذي يأخذ التاريخ والوقت والمنطقة وإحداثيات الميلاد من المشغل، يطلب الخريطة من API ويحول الصاعد إلى اسم البرج. الطلب أدناه تم إرساله إلى الإنتاج بنفس الشكل الذي يجمعه الخط؛ الخطوات في Zapier مكتوبة وفقًا لتوثيق Zapier بتاريخ 2026-09-17.

<Aside type="caution" title="يتطلب خطة مدفوعة في Zapier">
API by Zapier، Webhooks by Zapier و Formatter هي تطبيقات متميزة. توثيق Zapier يحدد الثلاثة كغير متاحة في الخطة Free، وخط Lookup Table يتطلب خطة Professional أو أعلى. في الخطة Free استخدم [Make](/integrations/make/) أو [n8n](/integrations/n8n/).
</Aside>

أولاً أنشئ مفتاحًا كما هو موضح في القسم [المفتاح للأتمتة](/integrations/#ключ-для-автоматизації)، مع النطاق `chart`.

## 1. ضع المفتاح في الاتصال

الرؤوس التي تم إدخالها في خطوة Webhooks by Zapier تُحفظ في الخط نفسه، ويمكن للجميع الذين لديهم وصول إلى Zap رؤيتها. API by Zapier يحتفظ بها في الاتصال.

1. في صفحة **Apps** اضغط **+ Add connection** واختر **API by Zapier**.
2. **Authentication type**: Static Headers (API key).
3. **Headers**: `X-Api-Key: ` ثم مفتاحك، في سطر واحد.
4. **Domain filter**: `api.astroway.info`، لمنع توجيه الاتصال إلى أي مكان آخر.

## 2. استدعِ الخريطة

أضف إجراءً، اختر **API by Zapier**، الحدث **API Request** والاتصال.

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

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

- **Body**: JSON أدناه مع حقول المشغل بدلاً من القيم.

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

استبدل كل قيمة بالحقل المناسب من المشغل واترك الاقتباسات حول كل منها، بما في ذلك الأرقام. Zapier يدرج الحقل المطابق كنص عادي ولا يضيف الاقتباسات، بينما API تقبل `"50.45"` كعدد. لا تضف المفتاح في رؤوس الخط: يتم إدخاله عبر الاتصال.

اختبر الخط. الاستجابة الصحيحة تبدأ بـ `"ok": true`، و`data.input.timezoneOffset` في المثال يساوي `4`: الإزاحة التي كان لديها كييف في ذلك اليوم.

## 3. حوّل الصاعد إلى البرج

خطوتان Formatter.

**Formatter، الحدث Numbers، تحويل Spreadsheet-Style Formula.** الصيغة:

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

حيث تم استبدال `ASCENDANT` بـ `data.houses.ascendant` من الخطوة 2. في المثال ينتج `5`.

**Formatter، الحدث Utilities، تحويل Lookup Table.** مفتاح Lookup هو نتيجة الصيغة. الجدول:

| المفتاح | القيمة |
|---|---|
| 0 | الحمل |
| 1 | الثور |
| 2 | الجوزاء |
| 3 | السرطان |
| 4 | الأسد |
| 5 | العذراء |
| 6 | الميزان |
| 7 | العقرب |
| 8 | القوس |
| 9 | الجدي |
| 10 | الدلو |
| 11 | الحوت |

في المثال النتيجة `العذراء`. للحصول على الأسماء العربية، أدخلها في عمود القيمة.

الشمس والقمر يُحسبان بنفس الطريقة. هذان هما السجلان الأول والثاني في `data.planets`، كل منهما له `longitude` الخاص به: على سبيل المثال 54.34 (الثور) و296.39 (الجدي).

## إذا كنت تستخدم Webhooks by Zapier

يعمل، لكن المفتاح موجود في الخط وليس في الاتصال. لاستخراج الخريطة اختر الحدث **Custom Request**: يرسل حقل Data تمامًا كما تم إدخاله، لذا سيظل JSON أعلاه دون تعديل. ضع **Method** `POST`، وفي **Headers** أضف كل من `X-Api-Key` بمفتاحك، و`Content-Type` بالقيمة `application/json`.

## عند فشل الخط

- **`400 INVALID_FIELD` مع `timezone` في `details`**: المنطقة المطابقة فارغة، إما اختصار مثل `EST` أو ليس اسم منطقة.
- **`400` مع `date` أو `time` في `details`**: تنسيق المشغل ليس `YYYY-MM-DD` / `HH:MM:SS`؛ أضف خطوة Formatter للتاريخ قبل الاستدعاء.
- **`403 ENDPOINT_NOT_IN_SCOPE`**: النطاق `chart` غير موجود في مفتاح المجال.
- **`429 KEY_BUDGET_EXHAUSTED`**: المفتاح استهلك ميزانيته؛ قم بزيادة الميزانية من لوحة التحكم.

API لا تقوم بجيوكود. إذا كان المشغل يحتوي فقط على اسم الموقع، يجب أن تأتي الإحداثيات من المشغل نفسه أو من خدمة جيوكود لديك مفتاح لها.
