الحصول على مفتاح API الخاص بك
تتيح لك واجهة برمجة تطبيقات GPUnex إدارة نسخ GPU والتحقق من الأرصدة وأتمتة سير العمل دون استخدام لوحة التحكم. قبل إجراء أي طلبات API، تحتاج إلى إنشاء مفتاح API.
-
سجّل الدخول إلى حساب GPUnex الخاص بك وانتقل إلى صفحة الملف الشخصي أو لوحة إعدادات لوحة التحكم.
-
افتح قسم مفاتيح API. ابحث عن تبويب أو بطاقة مفاتيح API ضمن إعدادات حسابك.
-
انقر على “إنشاء مفتاح API جديد”. سيُطلب منك إعطاء المفتاح اسماً وصفياً. اختر شيئاً ذا معنى يحدد الغرض من المفتاح — على سبيل المثال، “خادم الإنتاج” أو “خط أنابيب CI/CD” أو “التطوير المحلي”. هذا يسهّل إدارة مفاتيح متعددة لاحقاً.
-
انسخ مفتاح API فوراً. بمجرد إنشاء المفتاح، سيتم عرضه مرة واحدة بالضبط. انسخه واحفظه في مكان آمن مثل مدير كلمات المرور أو خزنة أسرار مشفرة. لن تتمكن من عرض المفتاح الكامل مرة أخرى بعد هذه الخطوة.
-
فهم نطاق المفتاح والإلغاء. كل مفتاح API محدد النطاق بحسابك ويرث صلاحيات حسابك. يمكنك إنشاء مفاتيح متعددة لتطبيقات أو بيئات مختلفة. إذا تم اختراق مفتاح أو لم تعد بحاجة إليه، يمكنك إلغاؤه في أي وقت من قسم مفاتيح API. إلغاء المفتاح فوري ودائم — سيتم رفض جميع الطلبات التي تستخدم ذلك المفتاح.
المصادقة
يجب أن تتضمن جميع الطلبات إلى واجهة برمجة تطبيقات GPUnex ترويسة Authorization مع مفتاح API الخاص بك باستخدام مخطط Bearer token.
تنسيق الترويسة:
Authorization: Bearer YOUR_API_KEY
إذا كان مفتاح API مفقوداً أو غير صالح أو ملغى، ستعيد واجهة API استجابة 401 Unauthorized:
{
"error": "unauthorized",
"message": "Invalid or missing API key. Please check your Authorization header."
}
تأكد من تضمين مفتاحك في كل طلب. لا تدعم واجهة API المصادقة القائمة على الجلسات أو المصادقة القائمة على ملفات تعريف الارتباط.
نقاط النهاية الأساسية
واجهة برمجة تطبيقات GPUnex منظمة حول موارد RESTful. تستخدم جميع نقاط النهاية عنوان URL الأساسي https://api.gpunex.com/v1. فيما يلي ملخص لنقاط النهاية الأساسية المتاحة.
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
| GET | /v1/instances | سرد جميع النسخ النشطة والحديثة. يُرجع مصفوفة من كائنات النسخ مع حالتها الحالية ونموذج GPU وتفاصيل التكوين. |
| POST | /v1/instances | إنشاء نسخة GPU جديدة. يتطلب نص JSON يحدد نموذج GPU وإطار العمل والمنطقة. يتم خصم الرسوم من رصيد USDC الخاص بك. |
| GET | /v1/instances/:id | الحصول على معلومات مفصلة حول نسخة محددة بمعرّفها الفريد. يتضمن تفاصيل اتصال SSH ومقاييس وقت التشغيل ومعلومات الفوترة. |
| DELETE | /v1/instances/:id | إنهاء نسخة قيد التشغيل. سيتم إيقاف النسخة ولن يتم تحصيل رسوم عليها بعد ذلك. سيتم فقدان أي بيانات غير محفوظة على النسخة. |
| GET | /v1/gpu-models | سرد جميع نماذج GPU المتاحة حالياً في السوق. يتضمن التسعير وVRAM والتوفر حسب المنطقة وأطر العمل المدعومة. |
| GET | /v1/balance | التحقق من رصيد محفظة USDC الحالي وملخص المعاملات الأخيرة. |
يتم إرجاع جميع الاستجابات بتنسيق JSON. تُرجع الطلبات الناجحة رمز حالة 200 OK لطلبات GET ورمز حالة 201 Created لطلبات POST التي تنشئ موارد.
مثال: إنشاء نسخة
لإنشاء نسخة GPU جديدة، أرسل طلب POST إلى /v1/instances مع نص JSON يحدد التكوين المطلوب.
الطلب:
معاملات نص الطلب:
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
gpu_model | string | نعم | معرّف نموذج GPU. استخدم /v1/gpu-models لرؤية الخيارات المتاحة (مثل H100_80GB، A100_80GB، L40S_48GB، L4_24GB). |
framework | string | نعم | إطار العمل والإصدار المثبت مسبقاً (مثل pytorch-2.3، tensorflow-2.16، jax-0.4). |
region | string | نعم | منطقة مركز البيانات للنسخة (مثل us-east-1، eu-west-1، ap-southeast-1). |
مثال على الاستجابة (201 Created):
{
"id": "inst_7f3a9b2c4d1e",
"status": "provisioning",
"gpu_model": "A100_80GB",
"framework": "pytorch-2.3",
"region": "us-east-1",
"ssh_command": null,
"hourly_rate": "1.89",
"currency": "USDC",
"created_at": "2026-02-15T14:32:07Z"
}
ستكون حالة النسخة في البداية provisioning. بمجرد تخصيص GPU وجاهزية البيئة، ستتغير الحالة إلى running وسيتم ملء حقل ssh_command بسلسلة الاتصال الخاصة بك. يستغرق التجهيز عادةً بين 30 ثانية ودقيقتين حسب التوفر.
مثال: التحقق من حالة النسخة
بمجرد إنشاء نسخة، يمكنك التحقق من حالتها الحالية في أي وقت عن طريق الاستعلام عن نقطة نهاية النسخة بمعرّفها.
الطلب:
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.gpunex.com/v1/instances/inst_7f3a9b2c4d1e
مثال على الاستجابة (200 OK):
{
"id": "inst_7f3a9b2c4d1e",
"status": "running",
"gpu_model": "A100_80GB",
"framework": "pytorch-2.3",
"region": "us-east-1",
"ssh_command": "ssh [email protected] -p 2222",
"ip_address": "203.0.113.42",
"hourly_rate": "1.89",
"currency": "USDC",
"uptime_seconds": 3847,
"total_cost": "2.02",
"created_at": "2026-02-15T14:32:07Z",
"started_at": "2026-02-15T14:33:15Z"
}
قيم الحالة:
| الحالة | المعنى |
|---|---|
provisioning | يتم إعداد النسخة. يتم تخصيص موارد GPU وتجهيز بيئة إطار العمل. |
running | النسخة نشطة وجاهزة للاستخدام. الوصول عبر SSH متاح. |
stopping | النسخة في طور الإيقاف. |
terminated | تم إيقاف النسخة ولم تعد تتحمل أي رسوم. |
error | حدث خطأ أثناء التجهيز أو وقت التشغيل. تواصل مع الدعم إذا استمر ذلك. |
حدود المعدل وأفضل الممارسات
حدود المعدل
تفرض واجهة برمجة تطبيقات GPUnex حدود معدل لضمان الاستخدام العادل واستقرار المنصة. الحدود الحالية هي:
- نقاط النهاية العامة: 120 طلباً في الدقيقة لكل مفتاح API.
- إنشاء النسخ: 10 طلبات في الدقيقة لكل مفتاح API.
- نقاط نهاية الرصيد والقراءة فقط: 300 طلب في الدقيقة لكل مفتاح API.
إذا تجاوزت حد المعدل، ستعيد واجهة API استجابة 429 Too Many Requests مع ترويسة Retry-After تشير إلى عدد الثواني التي يجب الانتظار قبل إعادة المحاولة.
{
"error": "rate_limit_exceeded",
"message": "Too many requests. Please retry after 12 seconds.",
"retry_after": 12
}
أفضل الممارسات
اتبع هذه الإرشادات للحفاظ على أمان واستقرار تكاملك.
- لا تكشف مفاتيح API أبداً في الكود من جانب العميل. لا تضمّن مفتاح API في JavaScript الذي يعمل في المتصفح أو في كود المصدر لتطبيقات الهاتف المحمول أو أي مستودع متاح للعامة. يجب استخدام مفاتيح API فقط في التطبيقات من جانب الخادم حيث لا يمكن للمستخدمين النهائيين فحصها.
مهم
لا تكشف مفتاح API أبداً في الكود من جانب العميل أو JavaScript المتصفح أو المستودعات العامة. يجب استخدام مفاتيح API فقط في التطبيقات من جانب الخادم.
-
استخدم متغيرات البيئة. خزّن مفتاح API في متغير بيئة بدلاً من تضمينه مباشرة في ملفات المصدر. على سبيل المثال:
export GPUNEX_API_KEY="your_api_key_here"ثم أشر إليه في الكود الخاص بك:
curl -H "Authorization: Bearer $GPUNEX_API_KEY" https://api.gpunex.com/v1/instances -
قم بتدوير المفاتيح بشكل دوري. كأفضل ممارسة أمنية، أنشئ مفتاح API جديداً كل 90 يوماً وألغِ القديم. هذا يحد من التأثير في حالة تسريب المفتاح عن غير قصد.
-
استخدم مفاتيح منفصلة لبيئات منفصلة. أنشئ مفاتيح API مميزة للتطوير والاختبار والإنتاج. بهذه الطريقة، لا يؤثر إلغاء مفتاح واحد على البيئات الأخرى.
نصيحة
استخدم مفاتيح API منفصلة للتطوير والاختبار والإنتاج. بهذه الطريقة، لا يؤثر إلغاء مفتاح واحد على البيئات الأخرى.
-
تعامل مع الأخطاء بأناقة. تحقق دائماً من رموز حالة HTTP في تطبيقك. نفّذ منطق إعادة المحاولة مع تراجع أسي للاستجابات
429و5xx. لا تعد محاولة أخطاء4xxبخلاف429— فهذه تشير إلى مشكلة في الطلب نفسه. -
راقب استخدامك. تابع حجم مكالمات API وإنفاق النسخ. استخدم نقطة النهاية
/v1/balanceلمراقبة رصيد USDC برمجياً وإعداد تنبيهات إذا انخفض عن حد معين.