كيفية اختبار واجهة برمجة تطبيقات وهمية (Dummy API) وإنشاء API مزيف خاص بك عند الحاجة

اختبر أفضل خيارات واجهات برمجة التطبيقات الوهمية المجانية مثل JSONPlaceholder، ثم أنشئ واجهة برمجة تطبيقات وهمية خاصة بك ببيانات وهمية مستندة إلى مخطط في Apidog.

INEZA Felin-Michel

INEZA Felin-Michel

24 يونيو 2026

كيفية اختبار واجهة برمجة تطبيقات وهمية (Dummy API) وإنشاء API مزيف خاص بك عند الحاجة

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

عندما تقوم بإنشاء واجهة أمامية، أو تصحيح أخطاء عميل، أو تعلم مكتبة HTTP جديدة، غالبًا ما تحتاج إلى نقطة نهاية (endpoint) تُرجع JSON ذو مظهر حقيقي دون الحاجة إلى إعداد خادم خلفي. توفر لك واجهة برمجة تطبيقات وهمية (Dummy API) ذلك بالضبط: خدمة عامة، مجانية، تعمل دائمًا يمكنك استدعاؤها الآن. يسرد هذا الدليل أفضل واجهات برمجة التطبيقات الوهمية العامة، ويوضح لك كيفية استدعائها، ويشرح متى تتوقف عن استعارة بيانات الآخرين وبناء واجهة برمجة تطبيقات REST وهمية خاصة بك بدلاً من ذلك. إذا كنت ترغب في الحصول على مقدمة أعمق حول مشهد واجهات برمجة التطبيقات العامة، فإن دليل MDN لاستخدام Fetch API يتناسب تمامًا مع كل ما يلي.

زر

ما هي واجهة برمجة التطبيقات الوهمية في الواقع

واجهة برمجة التطبيقات الوهمية هي خدمة مستضافة تُرجع JSON جاهزًا وواقعيًا لأنواع الموارد الشائعة: المستخدمين، المنشورات، المنتجات، عربات التسوق، المهام. لا تحتاج إلى التسجيل، ولا تستضيف أي شيء، ولا تقلق بشأن إتلاف بيانات الإنتاج. يقبل معظمها عمليات GET و POST و PUT و PATCH و DELETE، لكن عمليات الكتابة غالبًا ما تكون وهمية. يقوم الخادم بإرجاع حمولتك (payload) مع معرّف (ID) ويتظاهر بأنه تم الحفظ، بينما لا يتم الاحتفاظ بأي شيء فعليًا.

هذه هي السمة الرئيسية التي يجب فهمها قبل الاعتماد على واحدة. واجهة برمجة التطبيقات الوهمية مثالية للنماذج الأولية التي تعتمد على القراءة بشكل كبير ولإثبات أن رمز الطلب الخاص بك يعمل. إنها غير مناسبة بمجرد أن تحتاج إلى سلوك يعتمد على الحالة (stateful behavior)، أو أشكال بيانات خاصة بك، أو حالات خطأ مخصصة.

أفضل واجهات برمجة التطبيقات الوهمية والمزيفة المجانية للاختبار

إليك واجهات برمجة التطبيقات العامة التي تستحق المعرفة. كلها مجانية ولا تحتاج إلى أي إعداد للواجهة الخلفية من جانبك.

JSONPlaceholder

JSONPlaceholder هو الكلاسيكي. يوفر ستة موارد ذات صلة: 100 منشور، 500 تعليق، 100 ألبوم، 5,000 صورة، 200 مهمة (todos)، و 10 مستخدمين. العلاقات حقيقية، لذا فإن المنشور يحتوي على تعليقات والألبوم يحتوي على صور، مما يجعله جيدًا لاختبار جلب البيانات المتداخلة (nested fetches).

curl https://jsonplaceholder.typicode.com/posts/1

تتلقى كائن منشور واحد. يتم قبول طلبات الكتابة ولكن لا يتم حفظها، لذا فإن POST /posts تُرجع معرّفًا وهميًا id: 101 في كل مرة.

DummyJSON

DummyJSON يتوسع أكثر. يوفر منتجات، عربات تسوق، مستخدمين، منشورات، تعليقات، اقتباسات، مهام (todos)، ووصفات، بالإضافة إلى تدفق مصادقة يمنحك رمزًا (token). إذا كنت تختبر واجهة مستخدم لعربة تسوق أو شاشة تسجيل دخول، فهذا هو الخيار الأمثل.

curl https://dummyjson.com/products/1

تتيح لك نقطة نهاية المصادقة (auth endpoint) إرسال اسم مستخدم وكلمة مرور (POST) وتلقي JWT، وهو أمر مفيد للتدرب على تخزين الرمز والطلبات المصادق عليها دون الحاجة إلى توصيل موفر هوية حقيقي.

reqres.in

يركز reqres.in على دورة حياة الطلب والاستجابة: قائمة المستخدمين، مستخدم فردي، تسجيل، تسجيل دخول، استجابات متأخرة. إنه مصمم لعرض ترقيم الصفحات وتدفقات المصادقة. شيء واحد يجب معرفته: تتوقع الطبقة المجانية الآن رأس (header) مفتاح API. أرسل x-api-key: reqres-free-v1 مع طلباتك، وإلا ستحصل على خطأ 401.

curl https://reqres.in/api/users/2 -H "x-api-key: reqres-free-v1"

أين يتناسب كل منها

واجهة برمجة تطبيقات وهمية الأفضل لـ تدفق المصادقة استمرارية الكتابة
JSONPlaceholder القراءات المتداخلة، بيانات على غرار المدونات لا مزيفة، غير محفوظة
DummyJSON التجارة الإلكترونية، عربات التسوق، تسجيل الدخول نعم (رمز) مزيفة، غير محفوظة
reqres.in تقسيم الصفحات، عروض التسجيل/تسجيل الدخول رأس مفتاح API مزيفة، غير محفوظة

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

كيفية استدعاء واجهة برمجة تطبيقات وهمية في التعليمات البرمجية الخاصة بك

استدعاء واحدة هو نفس استدعاء أي نقطة نهاية HTTP. إليك مثال بسيط باستخدام fetch في JavaScript يقرأ مستخدمًا ثم ينشر مستخدمًا جديدًا.

// قراءة
const res = await fetch('https://dummyjson.com/users/1');
const user = await res.json();
console.log(user.firstName);

// كتابة (تم إرجاعها، لم يتم حفظها)
const created = await fetch('https://dummyjson.com/users/add', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ firstName: 'Ada', lastName: 'Lovelace' }),
});
console.log(await created.json()); // تُرجع كائنًا بمعرّف وهمي

في بايثون باستخدام requests، الشكل قصير بنفس القدر.

import requests

r = requests.get("https://jsonplaceholder.typicode.com/todos/1")
print(r.json())

ضع أيًا من هذه الأمثلة في ملف اختبار وسيكون لديك تكامل عملي للتأكد منه. إذا كنت بحاجة إلى قيم قابلة للتصديق لتلك التأكيدات، يوضح الدليل الخاص بـ إنشاء بيانات اختبار API واقعية كيفية إنشاء أسماء وعناوين بريد إلكتروني وطوابع زمنية تبدو وكأنها حركة مرور إنتاجية بدلاً من test123.

متى لا تكون واجهة برمجة تطبيقات وهمية عامة كافية

واجهات برمجة التطبيقات الوهمية العامة رائعة حتى تصبح احتياجاتك محددة. ستصل إلى طريق مسدود في بعض الحالات الشائعة:

في هذه المرحلة، لا تحتاج إلى واجهة برمجة تطبيقات مستعارة. أنت بحاجة إلى واجهة برمجة تطبيقات وهمية خاصة بك تُرجع أشكالك، عند الطلب، مع استجابات تتحكم فيها. هذه هي واجهة برمجة تطبيقات وهمية (Mock API) مبنية للاختبار، وهنا يأتي دور Apidog.

كيفية بناء واجهة برمجة تطبيقات وهمية خاصة بك باستخدام Apidog

Apidog هي منصة API تجمع بين التصميم والاختبار وتصحيح الأخطاء والمحاكاة في مكان واحد. تعتمد محاكاتها على المخطط (schema-driven)، لذا فهي تقرأ بنية نقطة النهاية الخاصة بك وتولد بيانات وهمية واقعية تلقائيًا باستخدام قواعد Faker المدمجة. تقوم بتعريف الشكل مرة واحدة، وكل طلب يعيد قيمًا جديدة ومعقولة.

إليك النسخة المختصرة من سير العمل.

  1. إنشاء أو استيراد نقطة نهاية. حدد واجهة برمجة تطبيقات جديدة في Apidog، أو استورد ملف OpenAPI أو Swagger موجودًا. يقرأ Apidog المخطط مباشرة.
  2. دع المحاكاة الذكية تملأ البيانات. لحقل باسم email، يعيد Apidog بريدًا إلكترونيًا. لحقل createdAt، يعيد طابعًا زمنيًا. لحقل price، رقمًا. يمكنك ضبط هذه القواعد لكل حقل، لذا فإن حقل country يُرجع أسماء دول حقيقية بدلاً من سلاسل عشوائية.
  3. استدعِ عنوان URL المحاكاة المحلي. يقوم Apidog بتشغيل خادم محاكاة ويمنحك عنوان URL لكل نقطة نهاية. استدعه من واجهتك الأمامية، أو اختباراتك، أو curl، تمامًا مثل واجهة برمجة تطبيقات وهمية عامة، باستثناء أن الاستجابات تتطابق مع عقدك.
  4. إضافة استجابات شرطية وخطأ. قم بتكوين محاكاة لإرجاع 500، أو 404، أو استجابة متأخرة بناءً على الطلب. الآن يمكنك اختبار المسارات غير السعيدة التي لا تسمح لك الخدمات العامة أبدًا بإعادة إنتاجها.

نظرًا لأن المحاكاة يتم إنشاؤها من مواصفاتك، فإنها تظل متزامنة مع تطور تصميمك. قم بتغيير حقل، وستعكسه المحاكاة. إذا كنت تريد نظرة أوسع حول إنشاء المحاكاة مباشرة من المواصفات، فإن الدليل التفصيلي حول إنشاء بيانات وهمية من مخططات OpenAPI يتعمق أكثر في جانب Faker من الأمور.

واجهة برمجة تطبيقات وهمية عامة مقابل محاكاة Apidog الخاصة بك

الحاجة واجهة برمجة تطبيقات وهمية عامة محاكاة Apidog
بيانات سريعة للقراءة فقط ممتاز ممتاز
أشكال بياناتك الدقيقة لا نعم
استجابات خطأ وتأخير مخصصة لا نعم
تتطابق مع عقد OpenAPI الخاص بك لا نعم
وقت الإعداد صفر دقائق

لا يوجد أحدهما أفضل بشكل مطلق. تتفوق واجهة برمجة التطبيقات الوهمية العامة عندما تحتاج فقط إلى أي JSON في خمس ثوانٍ. تتفوق محاكاة Apidog الخاصة بك في اللحظة التي تهم فيها الدقة مقابل عقدك الحقيقي. تستخدم معظم الفرق كليهما: العامة للتجارب التي لا تُعنى بالاستمرارية، ومحاكاة مشروع لكل ما يتم شحنه.

الأسئلة المتكررة

هل واجهة برمجة التطبيقات الوهمية هي نفسها واجهة برمجة التطبيقات المحاكية (Mock API)؟

تتداخلان ولكنهما ليستا متطابقتين. تعني واجهة برمجة التطبيقات الوهمية عادةً خدمة عامة مشتركة ببيانات نموذجية ثابتة، مثل JSONPlaceholder. واجهة برمجة التطبيقات المحاكية (Mock API) هي واحدة تحددها وتتحكم فيها، وتُرجع أشكالك وسلوكياتك الخاصة. واجهة برمجة التطبيقات الوهمية هي نوع واحد من المحاكاة يستضيفها شخص آخر بالفعل. إذا كنت تريد شرحًا مفصلاً للفروق، فانظر الشرح حول ما هي واجهة برمجة التطبيقات المحاكية.

هل واجهات برمجة التطبيقات المزيفة المجانية آمنة للاستخدام مع البيانات الحقيقية؟

لا. لا ترسل أبدًا بيانات مستخدم حقيقية، أو أسرارًا، أو رموزًا إلى واجهة برمجة تطبيقات وهمية عامة. تعامل مع كل ما ترسله (POST) على أنه مسجل ومرئي. استخدمها فقط مع قيم اختبار يمكن التخلص منها. عندما تحتاج إلى خصوصية أو استمرارية، استضف محاكاة خاصة بك بدلاً من ذلك.

هل تحفظ واجهات برمجة التطبيقات الوهمية البيانات التي أرسلها؟

تقريبًا لا أبدًا. تقبل JSONPlaceholder و DummyJSON و reqres.in جميعها طلبات الكتابة وتُرجع نتيجة مع معرّف تم إنشاؤه، ولكن لا يتم الاحتفاظ بأي شيء. قم بالتحديث وسيختفي سجلك "الذي تم إنشاؤه". إذا كنت بحاجة إلى حالة دائمة، فأنت بحاجة إلى محاكاة تعتمد على الحالة أو واجهة خلفية حقيقية.

هل يمكنني بناء واجهة برمجة تطبيقات وهمية دون كتابة أي تعليمات برمجية؟

نعم. باستخدام Apidog، يمكنك تحديد شكل نقطة النهاية والسماح للمحاكاة الذكية بإنشاء البيانات، دون الحاجة إلى رمز خادم. يمكنك أيضًا استيراد ملف OpenAPI والحصول على نقاط نهاية محاكاة عاملة في دقائق.

خلاصة

تُعد واجهات برمجة التطبيقات الوهمية العامة مثل JSONPlaceholder و DummyJSON و reqres.in أسرع طريقة للحصول على JSON واقعي للنماذج الأولية والتعلم. إنها لا تكلف شيئًا ولا تحتاج إلى إعداد. في اللحظة التي تحتاج فيها إلى أشكال بيانات خاصة بك، أو حالة حقيقية، أو استجابات أخطاء متحكم فيها، قم ببناء واجهة برمجة تطبيقات وهمية تمتلكها بالفعل.

يتيح لك Apidog فعل ذلك بالضبط: استيراد مواصفاتك، والحصول على بيانات وهمية تعتمد على المخطط، واستدعاء نقاط النهاية الخاصة بك في دقائق. حمّل Apidog وحوّل عقد API التالي الخاص بك إلى محاكاة عاملة قبل وجود سطر واحد من التعليمات البرمجية للواجهة الخلفية. اكتشف كيف يتناسب مع سير عمل الاختبار الخاص بك في Apidog.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات