كيفية استضافة خادم وهمي سحابي قابل للمشاركة باستخدام Apidog

حوّل محاكاة محلية إلى رابط URL عام للمحاكاة السحابية باستخدام Apidog، ليتمكن مطورو الواجهة الأمامية وضمان الجودة (QA) والشركاء من استهداف نقاط نهاية واقعية ومراعية للموقع الجغرافي قبل وجود الواجهة الخلفية.

Ashley Innocent

Ashley Innocent

15 يوليو 2026

كيفية استضافة خادم وهمي سحابي قابل للمشاركة باستخدام Apidog

Apidog للمؤسسات

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

SSO و RBAC

متوافق مع SOC 2

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

فريق الواجهة الأمامية لديك عالق. تم اعتماد التصميم، والشاشات مبنية جزئيًا، والشيء الوحيد الذي يعيق العمل هو واجهة برمجة تطبيقات (API) غير موجودة بعد. لا يزال العمل على الواجهة الخلفية (backend) يحتاج إلى سباق واحد، لذا لا يوجد شيء حقيقي تتصل به الواجهة الأمامية (UI). الحل المؤقت المعتاد هو المحاكاة المحلية (local mock)، وهو يعمل بشكل جيد حتى لحظة إغلاق جهاز الكمبيوتر المحمول الخاص بك. ثم تتعطل نقطة النهاية التي كان يستخدمها زميلك في منطقة زمنية أخرى.

هذه هي الفجوة التي يسدها Apidog باستخدام Cloud Mock. بدلاً من المحاكاة التي تعيش وتموت على جهاز واحد، تحصل على عنوان URL عام مستضاف على mock.apidog.com يظل متاحًا على مدار الساعة. يمكن لمطوري الواجهة الأمامية، وضمان الجودة (QA)، والشركاء الوصول إلى نقاط نهاية واقعية قبل شحن سطر واحد من كود الواجهة الخلفية. إذا كنت ترغب في الحصول على صورة أوسع لما توفره المحاكاة للفريق أولاً، فإن دليلنا حول ما هي المحاكاة البرمجية (API mock) ومتى تستخدمها يمهد الطريق. أما بالنسبة لآليات كيفية ملاءمة عنوان URL للمحاكاة العامة في معالجة الطلبات، فإن مرجع MDN حول نموذج طلب/استجابة HTTP هو مراجعة مفيدة.

زر

ما هو Cloud Mock ولماذا تفشل المحاكاة المحلية

ينشئ Apidog نقطة نهاية محاكاة لكل واجهة برمجة تطبيقات (API) تقوم بتصميمها. بشكل افتراضي، تكون هذه المحاكاة محاكاة محلية: تعمل من مثيل Apidog الخاص بك وتستجيب بينما يكون جهازك قيد التشغيل. في اللحظة التي تغلق فيها الجهاز، تتوقف نقطة النهاية عن الاستجابة. هذا جيد للتصحيح الفردي. ولكنه ينهار فورًا عندما يعتمد شخص آخر على عنوان URL.

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

المكافأة العملية هي التسليم النظيف. تقوم بتصميم العقد، وتشغيل Cloud Mock، ومشاركة عنوان URL واحد. يقوم الواجهة الأمامية بالبناء بناءً على بيانات واقعية، وتكتب ضمان الجودة (QA) حالات اختبار ضد أشكال الاستجابة الحقيقية، ويمكن للشريك الذي يتكامل معك البدء في ربط عميله على الفور. لا أحد ينتظر الواجهة الخلفية، ولا أحد ينتظرك لإبقاء العملية قيد التشغيل. إذا كنت تنسق هذا عبر مناطق مختلفة، فإن الأنماط في مشاركة خوادم المحاكاة والبيئات مع الفرق العالمية تتعمق في سير العمل.

تفعيل Cloud Mock والحصول على عنوان URL العام الخاص بك

دعنا ننتقل إلى الأمر باستخدام واجهة برمجة تطبيقات واقعية. لنفترض أنك تقوم بإنشاء خدمة users بنقطة نهاية GET /users التي تُرجع قائمة بسجلات العملاء. إليك كيفية تحويل ذلك إلى نقطة نهاية سحابية قابلة للمشاركة.

الخطوة 1: تشغيل Cloud Mock

افتح مشروعك وانتقل إلى Project Settings > Feature Settings > Mock Settings (إعدادات المشروع > إعدادات الميزات > إعدادات المحاكاة). قم بتبديل زر Cloud Mock (المحاكاة السحابية) إلى وضع التشغيل. هذا هو المفتاح الذي يخبر Apidog باستضافة المحاكيات الخاصة بك على خدمته المتاحة دائمًا بدلاً من خدمتها محليًا فقط.

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

الخطوة 2: نسخ عنوان URL للمحاكاة السحابية

افتح نقطة النهاية التي تريد مشاركتها، GET /users في هذه الحالة. انتقل إلى علامة التبويب Mock (محاكاة) وانسخ عنوان URL للمحاكاة السحابية. ستحصل على شيء بهذا الشكل:

https://mock.apidog.com/m1/2689726-0-default/users?apidogToken=GdfNrEm6lxM9nDGGIMCWC1OPSiZ6hGOi

يتبع هيكل المسار نمطًا: mock.apidog.com/m1/<projectId>-<num>-<env>/<path>. يقوم Apidog ببنائه لك، لذا لا تحتاج إلى تجميعه يدويًا. لاحظ أن الوثائق تعرض هذا كمثال بدلاً من نشر قالب ثابت، لذا تعامل مع عنوان URL المنسوخ كمصدر للحقيقة بدلاً من محاولة إنشاء واحد بنفسك.

الخطوة 3: اختبار المحاكاة فوراً داخل Apidog

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

قد تعود محاكاة GET /users بهذا الشكل:

[
  {
    "id": 1,
    "name": "Amelia Turner",
    "email": "amelia.turner@example.com",
    "city": "Portland"
  },
  {
    "id": 2,
    "name": "Marcus Bell",
    "email": "marcus.bell@example.com",
    "city": "Austin"
  }
]

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

الخطوة 4: افتح عنوان URL في متصفح

لطلبات GET، يعمل عنوان URL للمحاكاة السحابية مباشرة في متصفح الويب. الصقه في شريط العناوين وسترى استجابة JSON. هذا هو أسرع فحص بسيط يمكنك تقديمه لأي شخص غير تقني: لا يوجد عميل، لا يوجد curl، فقط رابط يُرجع البيانات.

لأي شيء يتجاوز النظرة السريعة، تستدعيه واجهتك الأمامية تمامًا مثل أي نقطة نهاية أخرى:

curl "https://mock.apidog.com/m1/2689726-0-default/users?apidogToken=GdfNrEm6lxM9nDGGIMCWC1OPSiZ6hGOi"

هذه هي الدورة الكاملة. صمم نقطة النهاية، قم بتمكين Cloud Mock، انسخ عنوان URL، وفريقك لم يعد عالقًا.

تأمين المحاكاة باستخدام مصادقة الرمز المميز

عنوان URL العام مريح، وأحيانًا يكون مريحًا جدًا. إذا كانت محاكاةك تعكس ميزة لم يتم إصدارها أو تكامل شريك لا تفضل كشفه، فيمكنك تقييد الوصول إليه.

انتقل إلى Project Settings > Feature Settings > Mock Settings (إعدادات المشروع > إعدادات الميزات > إعدادات المحاكاة) واضبط إذن الوصول على Token Authentication (مصادقة الرمز المميز). بمجرد تفعيله، يجب أن يحمل كل طلب apidogToken صالحًا، وسيتم رفض الطلبات التي لا تحتوي عليه. يمكنك توفير الرمز المميز بثلاث طرق:

كمعامل سلسلة استعلام (query-string) في عنوان URL، وهو ما يستخدمه عنوان URL المنسوخ بالفعل:

curl "https://mock.apidog.com/m1/2689726-0-default/users?apidogToken=GdfNrEm6lxM9nDGGIMCWC1OPSiZ6hGOi"

كرأس طلب (request header)، مما يحافظ على الرمز المميز بعيدًا عن عنوان URL وعن سجلات الخادم:

curl "https://mock.apidog.com/m1/2689726-0-default/users" \
  -H "apidogToken: GdfNrEm6lxM9nDGGIMCWC1OPSiZ6hGOi"

أو كمعامل نصي (body parameter) باسم apidogToken في طلب form-data أو x-www-form-urlencoded، وهو ما يناسب العملاء الذين ينشرون نصوص النماذج.

بالنسبة لكود الواجهة الأمامية، عادة ما يكون أسلوب الرأس هو الأنظف. فهو يحافظ على الرمز المميز خارج أي شيء يسجل عناوين URL كاملة، ويفصل بيانات الاعتماد عن مسار المورد:

const res = await fetch(
  "https://mock.apidog.com/m1/2689726-0-default/users",
  { headers: { apidogToken: "GdfNrEm6lxM9nDGGIMCWC1OPSiZ6hGOi" } }
);
const users = await res.json();

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

توليد بيانات واقعية ومراعية للمنطقة باستخدام اللغات المحلية

محاكاة تُرجع `"name": "string"` لكل سجل لا تُعلِّم واجهة المستخدم الخاصة بك شيئًا. أما المحاكاة التي تُرجع أسماء وعناوين وأرقام هواتف واقعية، فتسمح للواجهة الأمامية باكتشاف أخطاء التخطيط، وتجاوز النص، ومشكلات التنسيق قبل وصول البيانات الحقيقية. يتعامل Apidog مع هذا باستخدام Faker.js في الخلفية، وتتحكم أدوات التحكم في اللغة المحلية في مدى فائدتها حقًا للمنتجات الدولية.

كيف تعمل اللغة المحلية الافتراضية

بشكل افتراضي، يتبع Faker إعداد اللغة الخاص بمشروعك. يتم تكوين ذلك في Project Settings > Basic Settings (إعدادات المشروع > الإعدادات الأساسية)، وأي لغة تختارها هناك تصبح اللغة المحلية الافتراضية لجميع قيم المحاكاة التي تم إنشاؤها. اضبط المشروع على الفرنسية وستعود أسماء وعناوين المحاكاة الخاصة بك بنكهة فرنسية دون أي عمل لكل حقل.

تجاوز اللغة المحلية للمشروع بأكمله

إذا كنت تريد بيانات وهمية بلغة محلية محددة تختلف عن لغة المشروع، يمكنك تجاوزها. انتقل إلى Project Settings > Feature Settings > Mock Settings (إعدادات المشروع > إعدادات الميزات > إعدادات المحاكاة) واختر لغة Faker من القائمة المنسدلة. هذا التجاوز يتفوق على اللغة الافتراضية في الإعدادات الأساسية لكل حقل في المشروع.

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

تجاوز اللغة المحلية حقلًا بحقل

في بعض الأحيان، تحتاج إلى حقل واحد بلغة محلية مختلفة عن البقية، مثل قائمة عملاء تختلط فيها المناطق. يمكنك تعيين اللغة المحلية مباشرة في تعبير المحاكاة باستخدام locale parameter:

{{$person.fullName(locale='ja')}}

يُخرج هذا أسماء يابانية مثل 田中 太郎 لهذا الحقل فقط، بينما يتبع باقي الاستجابة اللغة المحلية للمشروع. تعمل الأسبقية على ثلاث مستويات: اللغة المحلية على مستوى الحقل تتجاوز اللغة المحلية على مستوى المشروع، والتي تتجاوز اللغة الافتراضية في الإعدادات الأساسية. لذلك، تقوم بتعيين إعداد افتراضي معقول للمشروع ولا تصل إلى التجاوزات على مستوى الحقل إلا عندما تحتاج حقًا إلى الاستثناء.

ملاحظة صريحة سريعة حول النطاق: تعرض الوثائق ja كمثال عملي ولا تنشر قائمة كاملة باللغات المحلية المدعومة، لذا تأكد من الرمز الدقيق للمنطقة المستهدفة في وثائق Apidog mock قبل الاعتماد عليه. يتم توثيق اتفاقيات Faker الخاصة في مرجع Faker.js locale.

مطابقة المنطقة الزمنية أيضًا

توجد أداة تحكم موازية للوقت. يوجد الإعداد الافتراضي على مستوى المشروع في Project Settings > Feature Settings > Mock Settings، ويمكنك تجاوز كل حقل باستخدام timeZone parameter داخل تعبير المحاكاة. إذا كانت واجهة المستخدم الخاصة بك تعرض الطوابع الزمنية، فإن هذا يحافظ على قيم createdAt التي تم إنشاؤها متسقة مع المنطقة التي تحاكيها بدلاً من الافتراض إلى مكان تواجد الخادم الخاص بك.

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

Cloud Mock مقابل المحاكاة المستضافة ذاتيًا

Cloud Mock هو خيار Apidog المستضاف، ويغطي معظم الفرق. إذا كانت مؤسستك لديها قواعد لتوطين البيانات أو سياسة تمنع توجيه حركة المرور الاختبارية عبر سحابة بائع، فإن Apidog يدعم أيضًا تشغيل خدمة المحاكاة على البنية التحتية الخاصة بك. المقايضة واضحة: الخيار السحابي لا يتطلب إعدادًا وهو دائمًا متاح، بينما تمنحك الاستضافة الذاتية التحكم على حساب تشغيل الخدمة بنفسك. إذا كان هذا هو وضعك، فإن دليل استضافة خادم Apidog mock ذاتيًا يشرح الأمر. للفرق التي تقارن خيارات الاستضافة جنبًا إلى جنب، فإن مقارنة أدوات محاكاة API عبر الإنترنت توضح المشهد.

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

أتمتة سير العمل باستخدام واجهة سطر الأوامر (CLI) من Apidog

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

يمكن لواجهة سطر الأوامر (CLI) ووكلاء ترميز الذكاء الاصطناعي مثل Cursor أو Claude Code إنشاء وتحديث نقاط النهاية والمخططات في مشروعك. نظرًا لأن المحاكاة السحابية تقرأ هذه المخططات لتوليد البيانات، فإن الحفاظ على التحديد الحالي يحافظ على مخرجات المحاكاة صادقة مع تطور واجهة برمجة التطبيقات (API). عندما تستخدم أداة عاملة لإضافة حقل، تعكس المحاكاة ذلك دون تعديل يدوي.

بعد ذلك، بمجرد أن تكون المحاكاة قد أزالت العوائق عن عمل الواجهة الأمامية وظهرت الواجهة الخلفية الحقيقية، يتم تشغيل سيناريوهات اختبار المشروع نفسه دون واجهة رسومية مقابلها. يتحقق أمر تنفيذ CLI من الواجهة الخلفية الحية مقابل نفس العقد الذي وصفته المحاكاة:

apidog run -t <scenario_id> -e <env_id> -r cli

يقوم هذا الأمر الفردي بتشغيل سيناريو اختبار محفوظ مقابل بيئة ما والإبلاغ عن النتائج، بحيث تعود المحاكاة التي فتحت الطريق لواجهة المستخدم والاختبارات التي تتحقق من الواجهة الخلفية إلى مصدر واحد للحقيقة. افتح السيناريو الخاص بك في Apidog وانسخ الأمر الذي تم إنشاؤه مع تعبئة معرف السيناريو -t ومعرف البيئة -e بالفعل، بدلاً من تجميع العلامات يدويًا. يغطي دليل تشغيل Apidog في خط أنابيب CI/CD كيفية ربط ذلك بخط أنابيب.

الأسئلة الشائعة

هل يستمر عنوان URL للمحاكاة السحابية في العمل عند إغلاق Apidog؟

نعم، هذا هو الغرض الكامل من Cloud Mock. على عكس المحاكاة المحلية التي تتوقف عن الاستجابة عند إيقاف تشغيل الجهاز المضيف، يتم تقديم المحاكاة السحابية من بنية Apidog التحتية وتظل متاحة 24/7. يمكن لزملائك الوصول إليها بغض النظر عما إذا كان جهاز الكمبيوتر الخاص بك قيد التشغيل.

هل يمكنني استخدام عنوان URL للمحاكاة السحابية مباشرة في المتصفح؟

بالنسبة لطلبات GET، نعم. الصق عنوان URL الكامل، بما في ذلك معامل الاستعلام apidogToken، في شريط العنوان وسترى استجابة JSON. بالنسبة للطرق الأخرى أو للحفاظ على الرمز المميز خارج سجل URL الخاص بك، استدعه بأداة مثل curl أو عميل الواجهة الأمامية الخاص بك ومرر الرمز المميز كرأس بدلاً من ذلك.

ماذا يحدث للطلبات التي لا تتضمن الرمز المميز؟

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

كيف أحصل على بيانات محاكاة تتطابق مع بلد معين؟

قم بتعيين لغة مشروعك المحلية في الإعدادات الأساسية (Basic Settings)، أو قم بتجاوزها للمشروع بأكمله ضمن إعدادات الميزات > إعدادات المحاكاة (Feature Settings > Mock Settings)، أو قم بتجاوز حقل واحد باستخدام معامل locale في تعبير المحاكاة، مثل {{$person.fullName(locale='ja')}}. يتفوق المستوى الحقل على المستوى المشروع، والذي يتفوق على الإعداد الافتراضي في الإعدادات الأساسية. يوضح الدليل الشامل للمحاكاة الذكية كيف يرتبط التوليد المدرك للمخطط بذلك.

هل يجب علي استخدام Cloud Mock أو أداة محاكاة بدون واجهة رسومية (headless mock tool)؟

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

الخلاصة

المحاكاة التي تعيش على جهاز الكمبيوتر المحمول الخاص بك فقط ترفع الحظر عن شخص واحد بالضبط. يحول Cloud Mock ذلك إلى عنوان URL عام mock.apidog.com يمكن لفريقك بأكمله البناء عليه، مع مصادقة الرمز المميز عندما تحتاج إلى تقييده، وعناصر تحكم اللغة المحلية عندما تحتاج بياناتك لتبدو حقيقية لمنطقة معينة. صمم نقطة النهاية، اقلب المفتاح، شارك الرابط، وسيتوقف الواجهة الأمامية عن انتظار الواجهة الخلفية. قم بتنزيل Apidog لإعداد أول محاكاة سحابية قابلة للمشاركة، مجانًا وبدون الحاجة إلى بطاقة ائتمان.

زر

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

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