ايه هو الـ API؟ هو باب بيفتحه برنامج عشان برنامج تاني يطلب منه حاجة ويستلم الرد. لو شغلك فيه نقل بيانات من سيستم لسيستم، أو بتفكر تتعلم AI Automation، الـ API أول حاجة لازم تفهمها، لأن كل أداة بتربطها ببعض بتكلّم التانية عن طريق API. المقال ده api شرح بالعربي لحد مش مبرمج، وفي آخره هتبعت أول طلب ليك من n8n لـ API حقيقي ومجاني.
المحتويات
- ايه هو الـ API؟ الجرسون أسهل طريقة تفهمه
- الطلب والرد: ايه اللي بيتبعت وايه اللي بيرجع
- الـ Methods: عايز تعمل ايه بالظبط
- أكواد الحالة: الرد نجح ولا لأ
- JSON: اللغة اللي الرد مكتوب بيها
- الـ API key: كلمة سر بتدفع من جيبك
- أول طلب ليك على n8n
- أسئلة شائعة
ايه هو الـ API؟ الجرسون أسهل طريقة تفهمه
انت قاعد في مطعم. مش هتدخل المطبخ تعمل الأكل بنفسك، ومش محتاج تعرف الطباخ بيعمل ايه جوه. بتبص في المنيو، تقول للجرسون طلبك، والجرسون يدخل المطبخ ويرجعلك بالطبق.
- انت: البرنامج اللي عايز حاجة، زي n8n.
- المطبخ: السيرفر اللي عنده البيانات أو الخدمة، زي Google Sheets أو موقع الطقس أو OpenAI.
- الجرسون: الـ API.
- المنيو: الـ documentation، اللي بيقولك تقدر تطلب ايه وبأي شكل.
لو طلبت حاجة مش في المنيو، الجرسون هيرجعلك يقولك "مش موجود". ولو كلمته بطريقة مش مفهومة، هيقولك "مش فاهم". وده بالظبط اللي بيحصل مع الـ API، وهنشوفه بعينينا تحت.
الطلب والرد: ايه اللي بيتبعت وايه اللي بيرجع
كل مرة بتكلّم API بتبعت request وبيرجعلك response.
الطلب (request) فيه:
- URL: عنوان الجرسون. مثلاً
https://api.open-meteo.com/v1/forecast. - Method: نوع الطلب، هنشرحه بعد شوية.
- Query parameters: تفاصيل صغيرة في آخر الرابط بعد
?، زي المدينة أو التاريخ. - Headers: بيانات عن الطلب نفسه، زي نوع المحتوى والـ API key.
- Body: البيانات اللي بتبعتها لما تكون بتضيف حاجة، زي بيانات عميل جديد.
الرد (response) فيه حاجتين أساسيين: كود حالة بيقولك الطلب نجح ولا لأ، و body فيه البيانات، غالباً بصيغة JSON.
الـ Methods: عايز تعمل ايه بالظبط
الـ method كلمة في أول الطلب بتقول للسيرفر نيتك. أشهر 4:
- GET: هاتلي بيانات. "ايه درجة الحرارة في الرياض دلوقتي؟"
- POST: خد البيانات دي واعمل بيها حاجة جديدة. "سجّل الأوردر ده"، أو "ابعت الرسالة دي على Telegram".
- PATCH أو PUT: عدّل حاجة موجودة. "غيّر حالة الأوردر لتم الشحن".
- DELETE: امسح.
أغلب اللي هتعمله في الأول GET و POST.
أكواد الحالة: الرد نجح ولا لأ
كل رد بيجي برقم من 3 خانات. أول رقم هو المهم:
- 2xx: تمام. أشهرهم 200 (نجح) و 201 (اتعمل حاجة جديدة).
- 4xx: الغلط عندك انت. 400 طلبك ناقص أو مكتوب غلط، 401 مش معروف انت مين (key ناقص أو غلط)، 403 معروف بس مش مسموحلك، 404 العنوان مش موجود، 429 بعت طلبات كتير في وقت قصير.
- 5xx: الغلط عند السيرفر. استنى شوية وجرّب تاني.
القاعدة دي بتوفر وقت كبير. لو شفت 4xx متستناش، راجع الطلب بتاعك. لو 5xx المشكلة مش عندك.
JSON: اللغة اللي الرد مكتوب بيها
JSON طريقة لكتابة البيانات على شكل اسم وقيمة، بحيث البرامج تقراها بسهولة. ده رد حقيقي من Open-Meteo لما سألته عن الطقس في الرياض (مختصر):
{
"timezone": "Asia/Riyadh",
"current_units": {
"temperature_2m": "°C",
"wind_speed_10m": "km/h"
},
"current": {
"time": "2026-09-26T22:45",
"temperature_2m": 34.9,
"wind_speed_10m": 6.4
}
}
حاجات لازم تاخد بالك منها:
- الأقواس
{ }معناها object، يعني مجموعة أسماء وقيمها. "Asia/Riyadh"بين علامتين تنصيص يعني نص.34.9من غير تنصيص يعني رقم. الفرق ده مهم لما تقارن، لأن"180"كنص مش زي180كرقم.- فيه كمان
trueوfalseوnull(مفيش قيمة)، والأقواس المربعة[ ]معناها قائمة. - البيانات ممكن تكون جوه بعض. درجة الحرارة موجودة جوه
current، فمسارهاcurrent.temperature_2m.
الـ API key: كلمة سر بتدفع من جيبك
أغلب الـ APIs مش بتشتغل مع أي حد. السيرفر محتاج يعرف انت مين، ومسموحلك بايه، ومين هيدفع. عشان كده بيدّيك api key، وهو نص طويل بتحطه في الطلب، غالباً في header.
أنا بقول للدارسين: الـ API key كلمة سر بتدفع من جيبك. لو key بتاع OpenAI أو Gemini المدفوع وقع في إيد حد، هيستخدمه والفاتورة هتيجي عليك انت. عشان كده:
- متحطش الـ key في screenshot، ولا في شات، ولا في workflow بتبعته لحد.
- في n8n حطه في Credentials (مثلاً Header Auth: الـ Name هو اسم الـ header والـ Value هو الـ key)، مش مكتوب في node عادية.
- متحطهوش أبداً في كود صفحة ويب بتشتغل في المتصفح.
- لو حسيت إنه اتسرب، الغيه واعمل واحد جديد من صفحة الخدمة فوراً.
أول طلب ليك على n8n
هنستخدم Open-Meteo. ده API طقس مجاني للاستخدام غير التجاري، ومش محتاج تسجيل ولا key، فمناسب جداً كأول تجربة. (لو هتستخدمه في منتج تجاري، راجع صفحة الشروط بتاعته لأنه ليه خطط مدفوعة.)
- افتح workflow جديد في n8n وحط Manual Trigger.
- ضيف HTTP Request node.
- Method: GET.
- URL:
https://api.open-meteo.com/v1/forecast - فعّل Send Query Parameters وضيف 4 parameters:
-latitude=31.2
-longitude=29.92
-current=temperature_2m,wind_speed_10m
-timezone=Africa/Cairo - دوس Execute step.
الإحداثيات دي بتاعة إسكندرية. لو انت في الرياض استخدم 24.71 و 46.68 و Asia/Riyadh. الطلب كله في سطر واحد لو حبيت تجربه في المتصفح:
https://api.open-meteo.com/v1/forecast?latitude=31.2&longitude=29.92¤t=temperature_2m,wind_speed_10m&timezone=Africa/Cairo
هتلاقي الرد في الـ output panel. بدّل العرض لـ JSON، وهتشوف current.temperature_2m قدامك.
دلوقتي اكسره عن قصد. امسح longitude ونفّذ تاني. هيرجعلك 400، ومعاه رسالة من Open-Meteo نصها Parameter 'latitude' and 'longitude' must have the same number of elements، يعني عدد قيم الاتنين لازم يكون واحد. ده الجرسون بيقولك "طلبك ناقص". ولو غيّرت forecast في الرابط لكلمة غلط هيرجعلك 404. التمرين ده بيعلّمك تقرا رسالة الخطأ بدل ما تقفل n8n وتقول "مش شغال".
آخر خطوة: ضيف Edit Fields (Set) node بعد الـ HTTP Request، واسحب temperature_2m من الـ input panel لحقل جديد اسمه temp. كده بقى عندك رقم تقدر تبعته في رسالة، أو تدّيه لـ AI يكتبلك بيه نصيحة الصبح.
ده بالظبط الـ lab بتاع المحاضرة 4 في دبلومة AI Automation العملية: workflow بيجيب بيانات من API حقيقي ويكتبلك رسالة كل صبح. وفي المحاضرة 5 بنكمّل على الـ keys والـ headers والـ POST، وبنكلّم API محتاج key فعلاً.
خطوة الـ API بتاخدك للخطوة اللي بعدها: إن حد تاني هو اللي يكلّمك انت. ودي فكرة الـ Webhook.
أسئلة شائعة
محتاج أعرف برمجة عشان أستخدم API؟
لأ. في n8n الـ HTTP Request node بتتظبط من الواجهة. محتاج بس تفهم الطلب والرد وتقرا الـ documentation، وده بيجي بالتمرين. وفي الـ node زرار Import cURL: بتنسخ المثال من الـ docs وتلزقه، والـ node تتملى لوحدها.
ايه الفرق بين API و Webhook؟
في الـ API انت اللي بتسأل وقت ما تحب. في الـ Webhook البرنامج التاني هو اللي بيبعتلك أول ما حاجة تحصل.
الـ api key ده بفلوس؟
الـ key نفسه غالباً مجاني، لكن الاستخدام ممكن يكون بفلوس، زي موديلات AI اللي بتحاسب بعدد الـ tokens. عشان كده الـ key لازم يتحفظ زي كلمة سر حسابك في البنك.
لو الأداة مش ليها node جاهزة في n8n؟
طالما عندها API، الـ HTTP Request node تقدر تكلّمها. دي من أهم المهارات اللي بتفرق بين حد بيستخدم n8n وحد بيبني بيه، واتكلمت عنها في roadmap الـ AI Automation.
ليه الطلب بيرجع 401؟
الـ key ناقص أو غلط أو في المكان الغلط (مثلاً في query والـ API مستنيه في header). ارجع للـ docs وشوف اسم الـ header المطلوب بالظبط.
لو عايز تفهم الـ API ده بيتحط فين في الصورة الكبيرة، اقرا يعني ايه AI Automation، ولو عايز تشوفه بيتبني لايف تعالى الورشة المجانية.