للمطوّرين

استضافة يمكنك إدارتها من الشيفرة البرمجية

منصة Zinn Digital® هي منصة قائمة على واجهة برمجة التطبيقات أولاً (API-first). نفس واجهة برمجة التطبيقات التي تشغل لوحة التحكم الخاصة بنا هي التي تحصل عليها — بإصدارات محددة، وموثقة بنسبة 100% وقت الإنشاء، مع حزم تطوير برمجيات (SDKs) مولدة، واجهة سطر أوامر (CLI)، مزود Terraform، خطافات ويب موقعة (signed webhooks)، وخادم MCP في الأعلى. بغض النظر عن الأداة التي تستخدمها للعمل — طرفية (terminal)، خط أنابيب (pipeline)، ملف حالة (state file)، أو وكيل ذكاء اصطناعي (AI agent) — فإن المنصة تستجيب لها.

  • +٦٥٠,٠٠٠مواقع مُستضافَة حول العالم
  • 1مواصفات OpenAPI التي يتم إنشاء كل أداة منها
  • ٤مجموعات تطوير البرمجيات للعملاء (Client SDKs) — TypeScript, Python, PHP, Go
  • OAuth 2.1صلاحيات وكيل الذكاء الاصطناعي المحدودة والقابلة للإلغاء

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

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

حسب المواصفات أولاً، وليست موثقة لاحقاً

مواصفات OpenAPI هي المصدر الوحيد للحقوق، ولا يتم إطلاق أي نقطة نهاية (endpoint) ما لم تكن متضمنة فيها. هذه القاعدة البسيطة هي ما يجعل واجهة برمجة التطبيقات العامة موثقة بالكامل وقت الإنشاء بدلاً من توثيقها لاحقاً؛ فلا توجد زاوية غير موثقة، لعدم إمكانية وجود نقطة نهاية غير موثقة.

تم إنشاؤها تلقائياً، وليس يدوياً

تتم دمج مستندات المرجع التفاعلية، وحزم تطوير البرمجيات الأربعة للعملاء، والعديد من واجهة سطر الأوامر (CLI)، وهياكل موفر Terraform من ذلك المواصف القياسي الواحد. مصدر واحد، والعديد من الأصول، ومتزامنة دائماً — فلن تعاني أبداً من ملاحقة مستند أصبح غير متطابق مع التنفيذ.

مُصْدَر بِموجب سياسة إيقاف الدعم

تقع نقاط النهاية (Endpoints) تحت المجلد /v1 مع سياسة إيقاف تشغيل معلنة وسجل التغييرات. يتم إبلاغك كتابياً قبل تغيير أي شيء، بدلاً من اكتشاف ذلك من فشل عملية البناء.

اختُبر تعاقديًا في CI

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

المصادقة، وتحديد النطاق، والمشكلات الخفية التي تظهر عند التوسع

طريقتان للدخول، ومبدأ موحد وراءهما. أياً كانت الطريقة التي تستخدمها، تُطْبَق نفس فحص الأمان ونفس العزل على مستوى قاعدة البيانات.

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

تبدو المفاتيح بالتنسيق zdk_<mode>_<prefix>_<secret>. يتم تخزين تجزئة SHA-256 للسر فقط — لا يمكننا إظهار المفتاح لك مرة أخرى بعد اصداره، ولا يمكن لأي شخص يمتلك حق الوصول إلى قاعدة بياناتنا فعل ذلك أيضاً. تحمل المفاتيح نطاقات، ويمكن إبطالها، ويتم إصدارها لكل مؤسسة بدلاً من كل شخص.

وضعا التجربة والبث المباشر، منفصلان تماماً

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

معرفات OIDC للأفراد

تتم مصادقة جلسات المستخدمين باستخدام رموز JWT الصادرة عن Keycloak، والتي يتم التحقق منها مقابل المفتاح العام للنطاق (realm)، وتتحول إلى نفس كائن Principal الذي يفعله مفتاح واجهة برمجة التطبيقات (API key). تعتمد نقاط النهاية (Endpoints) على مفاتيح أذونات تفصيلية مثل sites.create أو apikeys.manage، والتي يتم التحقق منها لكل مؤسسة على حدة — حيث لا يمنح الإذن في مؤسسة ما أي صلاحية وصول في مؤسسة أخرى مستقلة وغير ذات صلة, على الرغم من انطباقه على المؤسسات المتداخلة تحتها.

الأمان على مستوى الصفوف في الأسفل

يتم تنفيذ كل طلب مستأجر في معاملة يتم فيها تعيين نطاق مؤسسة Postgres من الكيان الأساسي، لذا يتم فرض العزل بواسطة قاعدة البيانات وليس بواسطة تصفية ORM قد ينساها شخص ما. تظل تصفية مجموعة الاستعلامات موجودة كخط دفاع إضافي.

مصمم للآلات، وليس فقط للعروض التوضيحية

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

تستحق إحدى التفاصيل الذكر، نظراً لتأثيرها على طريقة عمل المهام المجمعة: إن استجابة 409 عند تكرار النطاق تجيب على السؤال "هل اسم المضيف هذا مستضاف هنا؟" لأي مستأجر، وهو ما يمثل مصدر إزعاج للتعداد وخطر حقيقي لكشف الهوية ضد Footprint-Free. كان تقييد إنشاء المواقع حلاً كسولاً ولكنه كان سيؤدي إلى تعطيل منتج التوفير بالجملة تماماً. وبدلاً من ذلك، يتم احتساب محاولات النطاقات المكررة المرفوضة فقط لكل صاحب صلاحية. ولا تُحسَب العمليات الناجحة أبداً ضده، لذا يمكنك التوفير بالجملة طوال اليوم، ويتوقف الفحص تماماً تقريباً.

  • هيكل أخطاء ثابت عند كل فشل: رمز، رسالة بشرية، تفاصيل اختيارية على مستوى الحقل، و request_id يمكنك ذكره للدعم. تُرجع أخطاء التحقق الرمز 422 مع ذكر الحقول المخالفة بالاسم.
  • مفاتيح التماثل في طلبات POST، مع كتابة سجل إعادة التشغيل عند الالتزام بدلاً من تنفيذه ضمنياً — بحيث لا يمكن لإعادة المحاولة أبداً تشغيل رمز 201 مخزن مؤقتاً يشير إلى صف لم يتم الالتزام به مطلقاً. الطلب الفاشل يحرر قفله الجاري فوراً، لذا فإن رمز 422 لا يحجب إعادة المحاولة المُصححة.
  • الت ترقيم المؤشر كمجموعة مفاتيح فوق UUIDv7 — مستقرار تحت عمليات الكتابة المتزامنة، بدون انحراف للصفحات عند إدراج الصفوف أثناء الفحص.
  • RateLimit-Remaining في الاستجابات، حتى يتسنى للعميل المُنشَأ تهدئة الطلبات بذكاء بدلاً من التخمين.
  • ترجع الموارد خارج النطاق الرمز 404 بدلاً من 403 — فالحالة 403 تؤكد وجود المورد. تؤدي التصفية حسب مؤسسة خارج نطاقك إلى إرجاع صفحة فارغة لنفس السبب.
  • إن إنشاء الموقع هو عملية تسجيل وليس توفير موارد: الطلب POST /v1/sites يُرجع 201 بالحالة pending ولا يتوقف أبداً انتظاراً لعملية البناء. يتم كتابة الحدث في صندوق الصادر للمعاملات (transactional outbox) ضمن نفس المعاملة التي تخص الصف، لذا فإن أي موقع موجود إذا وفقط إذا تم ضمان طلب توفير موارده.

حزم تطوير البرمجيات (SDKs)، واجهة سطر الأوامر (CLI)، ومزود Terraform

ثلاثة مستهلكين بنفس المواصفات، بثلاث طرق عمل مختلفة.

حزم تطوير العملاء

تم إنشاؤها خصيصاً لـ TypeScript، Python، PHP و Go، مع تتبع المواصفات لكي يصل أي نقطة نهاية جديدة إلى لغتك دون انتظار مغلّف مكتوب يدوياً.

Zinnector®، واجهة سطر الأوامر CLI

أنشئ موقع WordPress هيكليًا، وشغله محليًا دون تثبيت أي شيء سوى Node، وانشره. تتحقق أداة Zinnector® مسبقًا من مشروعك مقارنة بالموقع المستهدف الذي توشك على النشر فيه — إصدار PHP، والقرص، وعدد الملفات — وتحذرك قبل الإرسال بدلاً من بعده. كما تقوم بتسجيل الدخول، وعرض قائمة المواقع، والنشر، وإدارة النطاقات ونظام أسماء النطاقات (DNS)، وقراءة خدمات البريد، وإجراء النسخ الاحتياطي، وتشغيل أوامر WP-CLI المسموح بها، ومتابعة السجلات (tails logs)، وتنفيذ العمليات الجماعية. مجانية، ومرخصة بموجب ترخيص MIT، ومبنية على واجهة البرمجة التطبيقية (API) العامة نفسها.

مزود Terraform

إدارة المواقع، والنطاقاس، وسجلات نظام أسماء الدومينات (DNS)، وصناديق البريد، والخطط كبنية تحتية كرموز برمجية. يقوم أمر terraform apply بتوفير الاستضافة، وتصبح بيئاتك قابلة للاستنسار والمراجعة بدلاً من سلسلة من النقرات التي لم يُدوّنها أحد.

مرجع تفاعلي

مستندات مُوَلَّدة يمكنك قراءتها واستدعاؤها من المتصفح، وتصف بدقة نقاط النهاية التي يطبقها الخادم - لأن كليْهما مستمد من المواصفات ذاتها.

ويب هوكس تستمر حتى لو كان نقطة النهاية الخاصة بك متوقفة عن العمل

تكمن خلف المنصة بنية أساسية متينة للأحداث: يكتب كل تغيير في الحالة حدثاً إلى صندوق صادر معاملاتي في Postgres، بالتزامن مع تغيير قاعدة البيانات، وينشره مُرحّل إلى NATS JetStream. الأحداث مصنفة ومؤرخة بإصدارات — site.deployed و order.paid و invoice.overdue و backup.completed و abuse.flagged و trial.ending والبقية.

اشترك في ما تهتم به

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

موقع بـ HMAC

يتم توقيع كل عملية تسليم باستخدام HMAC لكي تتمكن من التحقق من صلتها بنا قبل اتخاذ أي إجراء بناءً عليها.

أُعيدت المحاولة مع تأخير تدريجي، وتم التسجيل في السجل

يتم إعادة محاولة عمليات التسليم الفاشلة بنظام التراجع التدريجي، ويتم تسجيل كل محاولة كـ WebhookDelivery. يمكنك فحص عمليات التسليم وإعادة تشغيلها من لوحة التحكم بدلاً من مراسلة الدعم عبر البريد الإلكتروني للسؤال عما أرسلناه.

على الأقل مرة واحدة، لذا قم بإزالة التكرار بناءً على المعرف id

خط أنابيب البيانات مصمم عن قصد ليعمل بنمط التسليم مرة واحدة على الأقل بدلاً من التظاهر بأنه يعمل بنمط التسليم مرة واحدة بالضبط. إن أي مُمرر تنقطع عمليَّته في منتصف النشر تنتهي صلاحية عقد استئظاره وتتم إعادة نشر أحداثه. قم بإزالة التكرار بناءً على معرّف الغلاف وسيكون المستهلك الخاص بك صحيحاً بطبيعته.

إدراج الكود في الموقع

واجهة برمجة التطبيقات (API) هي نصف قصة المطور فقط. النصف الآخر هو النشر.

  • اربط GitHub أو GitLab أو Bitbucket عبر OAuth، مع الاحتفاظ بمفاتيح نشر في مخزن بيانات الاعتماد - وليس في ملف إعدادات.
  • يؤدي الدفع (Push) إلى تشغيل خط إنتاج البناء والنشر، مع ربط الفرع بالبيئة (main بالإنتاج، وstaging بـ staging) وخطوات بناء خاصة بكل حزمة لـ composer وnpm.
  • الرجوع إلى إصدار سابق عند فشل عملية النشر.
  • نسخ تجريبي ودفع مباشر، بحيث يتم اختبار التغيير في بيئة حقيقية قبل وصوله إلى الزوار.
  • إصدارات سجن SSH وSFTP وFTP لكل موقع تحت عزل CageFS، بحيث لا يرى كل مستأجر سوى ملفاته الخاصة فقط.
  • إدارة wp-cli من محطة التحكم وفي لوحة التحكم وعبر SSH.
  • VS Code في المتصفح عبر code-server — محرر متكامل مع الإضافات، طرفية مدمجة، وgit، ويتيح تعديل ملفات الموقع مباشرة.
  • إصدار PHP خاص بكل موقع، وإعدادات PHP قابلة للتعديل، وامتدادات خاصة بكل موقع، ومتغيرات البيئة، ومهام cron حقيقية إلى جانب WP-cron.

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

نطرح المنصة كخادم MCP مُستضاف: محول بروتوكول خفيف يعمل عبر واجهة برمجة تطبيقات المحرك، ويُعيد استخدام نفس كتالوج الإجراءات، والتحكم في الوصول القائم على الأدوار (RBAC)، وسجل التدقيق. قم بتوصيل Claude Code أو Cursor أو ChatGPT أو Claude Desktop أو أي عميل يدعم بروتوكول MCP لمرة واحدة، وكل ميزة نضيفها إلى واجهة برمجة التطبيقات تصبح متاحة له تلقائياً.

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

الأمان هو نفس قصة المصادقة: بروتوكول OAuth 2.1، رموز مميزة مرتبطة بمؤسستك وصلاحيات التحكم في الوصول القائم على الأدوار (RBAC) مع تطبيق الأمان على مستوى الصفوف، ومحددة النطاق وقابلة للإلغاء لكل أداة، وبيئة تجريبية مفصولة عن الإنتاج. الإجراءات المدمرة - الحذف، التعليق، الفوترة، الإنفاق الكبير - تتطلب تأكيداً صريحاً أو سياسة موافقة بشرية. تُقيد حدود معدل الاستخدام وسقف الإنفاق الإجراءات المدفوعة التي يتم تشغيلها بواسطة الذكاء الاصطناعي، ويتم تسجيل تدقيق لكل استدعاء لبروتوكول السياق النموذجي (MCP) يتضمن الهوية، والأداة، والوسيطات، والنتيجة.

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

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

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

نعم — إنها نفس واجهة برمجة تطبيقات المحرك، تم نشرها وتقويتها. تُعد لوحة التحكم، ووحدة تحكم المسؤول، وواجهة سطر الأوامر (CLI)، ومزود Terraform، وخادم MCP، وتنبيهات الويب (webhooks) كلها مستهلكين لواجهة واحدة، ولهذا السبب لا تتأخر واجهة برمجة التطبيقات عن اللوحة.

هل يمكنني تجربة تكامل دون إنفاق أموال أو بناء خوادم حقيقية؟

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

كيف أوقف محاولة إعادة الإحاولة من إنشاء عنصرين مكررين؟

أرسل مفتاح عدم التكرار Idempotency-Key مع طلب POST الخاص بك. يُكتب سجل إعادة التشغيل عند الاعتماد (commit) بدلاً من التنفيذ المباشر، لذا لا يمكن لإعادة المحاولة أبداً إعادة تشغيل نجاح مخزن مؤقتاً لصف لم يتم اعتماده فعلياً، كما أن الطلب الذي يفشل يحرر قفله فوراً حتى لا يتم تعطيل إعادة المحولة المُصححة الخاصة بك. إن تسليم الويب هو على الأقل مرة واحدة بحسب التصميم — قم بإلغاء التكرار بناءً على معرف الظرف (envelope id) من جهتك.

هل يمكنني منح مفتاح واجهة برمجة تطبيقات واحد إمكانية الوصول إلى جميع مؤسسات عملائي؟

ليس اليوم. يتم إصدار مفاتيح واجهة برمجة التطبيقات (API) لكل مؤسسة على حدة، لذا فإن أي تكامل يمتد عبر عدة مؤسسات عميلة يحمل مفتاحاً لكل منها. كما يتم التحقق من الصلاحيات لكل مؤسسة بالنسبة لكيانات المستخدمين الرئيسية: إذ إن امتلاك صلاحية sites.create في مؤسسة واحدة لا يمنح أي وصول في مؤسسة أخرى مستقلة وغير ذات صلة، رغم أن هذا ينطبق على المؤسسات المتفرعة تحت تلك المؤسسة. وهذا مقصود تماماً، فهو يحصر نطاق المفتاح المخترق في مؤسسته الخاصة والمؤسسات الفرعية التابعة لها، وليس في المنصة بأكملها.

ما الذي تسمح به حقاً دور المطور المدمج؟

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

ماذا يحدث لعمليات الـ webhook الخاصة بي إذا تعطلت نقطة النهاية (endpoint) الخاصة بي لمدة ساعة؟

يتم إعادة محاولة عمليات التسليم مع تطبيق آلية التراجع المتدرج، ويتم تسجيل كل محاولة في WebhookDelivery يمكنك فحصها. في الجهة الأصلية، تتم كتابة الأحداث في جدول صادر تعاملي (transactional outbox) ضمن نفس معاملة قاعدة البيانات الخاصة بالتغيير نفسه، لذلك لا يتم فقدان أي شيء أثناء توفر المستهلك — حيث يتأخر المستهلك المتوقف دون أن يتسبب ذلك في تعطل المنتج، ويمكنك إعادة تشغيل عمليات التسليم من لوحة التحكم بمجرد عودتك للعمل.

ما تكلفة بدء البناء عليها؟

ابدأ تجربة مجانية لمدة 14 يوماً بدون بطاقة ائتمان مع استضافة Footprint-Free - لا توجد تفاصيل دفع، وتدعم حتى 5 مواقع. تبدأ باقات Footprint-Free المدفوعة من 6 دولارات شهرياً لباقة PBN 5. تتضمن كل خطة ضمان استرداد الأموال لمدة 30 يوماً، وعمليات نقل مجانية، وخلوها من قيود الاحتكار.

اقرأ المواصفات، ثم ابدأ بالبناء وفقاً لها

واجهة برمجة تطبيقات مصممة حسب المواصفات أولاً، وحزم تطوير برمجيات منشأة، واجهة سطر أوامر (CLI)، ومزود Terraform، ونقاط webhooks موقعة، وخادم MCP — على الاستضافة التي بنيناها لأكثر من 650,000 موقع حول العالم. ابدأ تجربة مجانية لمدة 14 يوماً بدون بطاقة ائتمان، ودون الحاجة لتفاصيل الدفع.

ابدأ مجاناً