مشغّل عبور ثانٍ يعمل في كيشيناو — بسعة عبور مختلط تبلغ 20 Gbps. رابط تصاعدي مختلط بسرعة 20 Gbps متاح الآن لماذا مولدوفا

رمز وصول واحد، وكل ما تستطيع لوحة العميل فعله

JSON عبر HTTPS. لا حاجة إلى SDK، ولا حساب مطور منفصل، ولا نقطة نهاية موجودة في اللوحة وغير موجودة هنا.

إنشاء خادم

curl -X POST https://api.vpsoffshore.com/v1/servers \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"plan":"reef","image":"debian-13"}'

يعاد معرف تكوين (build id) فورا. يستجيب الجهاز عبر SSH بعد نحو ستين ثانية، ويوجه العنوان قبل إرسال بيانات الاعتماد.

20 نقطةً

كل شيء، في خمس مجموعات

عنوان URL الأساسي https://api.vpsoffshore.com/v1. الإصدار جزء من المسار؛ يستمر عمل v1 عند وجود v2، ويُعلن عن تاريخ توقفه قبل عام من حدوثه.

الخوادم

GET /servers كل خدمة على الحساب، مع حالتها وخطتها وعناوينها.
POST /servers يُنشأ واحد على الفور، فيُعاد معرّف الإنشاء (build id) مباشرة؛ ويصبح الخادم قابلًا للوصول بعد نحو دقيقة.
GET /servers/{id} خدمة واحدة، شاملة استخدام الموارد الحي خلال الساعة الأخيرة.
PATCH /servers/{id} تغيير الخطة. تغيير الحجم دون إعادة التثبيت حيثما يسمح القرص بذلك.
DELETE /servers/{id} يُحذف. تُحفظ الأقراص لمدة 14 يومًا، ثم تُمحى قبل إعادة تخصيصها.
POST /servers/{id}/actions reboot · shutdown · start · rebuild · rescue · reset-password.

التخزين

GET /servers/{id}/snapshots لقطات لخدمة واحدة، الأحدث أولاً.
POST /servers/{id}/snapshots يمكن أخذ واحدة. رقيقة، لذا فهي سريعة ولا تضاعف استخدام القرص.
POST /snapshots/{id}/restore الاستعادة في المكان ذاته، أو على خدمة مختلفة من الخطة نفسها أو أكبر منها.
DELETE /snapshots/{id} حذف لقطة.

الشبكات

GET /servers/{id}/addresses عناوين موجَّهة إلى خدمة، الإصدارين v4 و v6.
POST /servers/{id}/addresses طلب عنوان إضافي، أو نطاق /29.
PUT /addresses/{ip}/rdns ضبط DNS العكسي. يسري المفعول خلال دقيقة واحدة، لا عند التحديث التالي للمنطقة.
GET /servers/{id}/bandwidth عدادات النقل. معلوماتية فقط — لا حد مسموح به يمكن تجاوزه.

الكتالوج

GET /plans كل خطة مع مواصفاتها وسعرها. المصدر نفسه الذي يبنى منه هذا الموقع.
GET /images الصور المتاحة وملفات ISO، بما فيها ما تم رفعه.
POST /images رفع ملف ISO عبر رابط URL. يبدأ التشغيل مع وحدة تحكّم متصلة.

الفوترة

GET /invoices الفواتير، المسددة وغير المسددة، مع العملة ومعاملة السلسلة.
POST /invoices/{id}/pay إصدار عنوان دفع لإحدى العملات المقبولة البالغ عددها 8.
GET /credits تعويضات SLA المطبَّقة، مع الحادثة التي أدّت إلى كل منها.

كل ما تستطيع لوحة العميل فعله موجود هنا، ولا شيء هنا غائب عن اللوحة. وعند وجود تعارض بينهما فذلك خلل — يمكن إبلاغنا من اللوحة ليُصلَح بدلاً من توثيقه كسلوك مقصود.

كيف يعمل

أربعة قرارات يمكن ملاحظتها خلال ساعة

يُحكم على واجهة API من مساراتها السيئة لا من مساراتها الجيدة. ثلاثة من العناصر الأربعة أدناه تتعلق بما يحدث عند حدوث خطأ.

رمز واحد، يُنشأ من لوحة العميل

يُرسَل بصفته bearer token. يمكن قصر نطاقه على القراءة فقط أو على خدمة واحدة عند الرغبة؛ والرموز مستقلة عن كلمة المرور، وإلغاء أحدها لا يُنهي تسجيل الدخول أبدا.

إدخال JSON وإخراج JSON، دون الحاجة إلى SDK

HTTPS عادي دون أي غلاف مخصص، ودون بديل XML، ودون طقوس توقيع. إن كان curl قادرا على تنفيذه، فذلك يكفي كعميل. توجد مكتبات رسمية بلغات Go وPython وTypeScript، وليس استخدام أي منها إلزاميا.

حدود معدل لا يجري تجاوزها عن طريق الخطأ

600 طلب في الدقيقة لكل رمز، و60 لعمليات الإنشاء. تحمل كل استجابة الميزانية المتبقية في ترويسة، وتجاوزها يُرجع الرمز 429 مع عدد الثواني الواجب انتظارها — دون إسقاط صامت أبدًا.

أخطاء توضّح ما يجب فعله

رمز الحالة 4xx يحمل كودًا قابلاً للقراءة الآلية، وجملة مفهومة للبشر، والحقل المسبِّب للخطأ. تُفضَّل إعادة رسالة خطأ طويلة على رسالة قصيرة تفرض التخمين.

الأمران اللذان يُكتبان مرة واحدة

المصادقة، وشكل الخطأ

يستحق كلاهما القراءة قبل كتابة أول استدعاء لا بعد أول عطل.

المصادقة

curl https://api.vpsoffshore.com/v1/servers \
  -H "Authorization: Bearer $TOKEN"

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

الاطلاع على حدّ المعدّل

X-RateLimit-Remaining: 574
X-RateLimit-Reset: 41

في كل استجابة، لا في التي تفشل فقط. يؤدي تجاوز الحد إلى إرجاع 429 مع عدد الثواني الواجب الانتظار، من دون إسقاط صامت ومن دون اختصار الاستجابة أبدا.

توضّح رسالة الخطأ الحقل المعني

{"error":"plan_unknown",
 "message":"No plan named 'reff'. Did you mean 'reef'?",
 "field":"plan"}

رمز قابل للقراءة الآلية، وجملة مفهومة للبشر، والحقل المعنيّ بالخطأ. الأخطاء المطوّلة أقل تكلفة من الأخطاء المقتضبة التي تستوجب التخمين.

الاستعلام عن حالة البناء

curl https://api.vpsoffshore.com/v1/servers/$ID \
  -H "Authorization: Bearer $TOKEN" | jq .state

تنتقل الحالة من building إلى running. لا يوجد webhook يجب تسجيله قبل إمكان إنشاء أي شيء، والاستطلاع مرة كل ثانية يقع ضمن الحد المسموح.

لا حاجة لتقديم طلب

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

لا حساب مطوّرين، لا موافقة، ولا بيئة تجريبية (sandbox) تتصرف بشكل مختلف عن بيئة الإنتاج.

اللغة

تصفح هذا الموقع باللغة المفضلة

28 لغةً متاحة اليوم. البقية قيد الترجمة.