API
كل اللي لوحة التحكم بتعمله، سكريبتاتك تقدر تعمله، بـ token من صفحة الحساب. الـ API بتاعنا JSON على HTTPS؛ والموقع نفسه أول عميل ليه.
المصادقة
ابعت الـ token كـ bearer token. اعمل tokens من الحساب.
curl -H "Authorization: Bearer <token>" \
-H "Accept: application/json" \
https://api.crocoit.com/api/v1/serverstoken القراءة بيعمل GET بس. token الإدارة كمان بيشغّل ويعيد تسطيب ويعمل باك أب ويطلب ويفتح تذاكر، زي اللي بتعمله من لوحة التحكم. إعدادات الحساب (كلمة السر والتحقق بخطوتين والفريق والـ tokens) عمرها ما بتتوصل بـ token.
لو اتضفت على حساب عميل تاني، سمّيه بـ X-Account عشان تتصرف عليه؛ دورك هناك هو اللي بينطبق.
curl -H "Authorization: Bearer <token>" -H "X-Account: 42" https://api.crocoit.com/api/v1/servers
الـ Endpoints
المسارات نسبية للـ base اللي فوق. الردود بتلف السجلات جوه data؛ القوايم تحت /invoices و/tickets بتتقسم صفحات.
| المسار | محتاج | بيعمل إيه |
|---|---|---|
GET /servers | قراءة بس | سيرفراتك بالباقة ونظام التشغيل والعنوان والحالة. |
GET /servers/{id} | قراءة بس | سيرفر واحد بالمعالج والرام ومدة التشغيل لايف. |
POST /servers/{id}/power | قراءة وإدارة | action: start أو shutdown أو reboot أو stop. |
GET /servers/{id}/stats?timeframe=hour|day|week | قراءة بس | سجل الاستهلاك للرسوم. |
POST /servers/{id}/reinstall | قراءة وإدارة | os_template_id وconfirm (الـ hostname) وssh_key_ids اختياري. |
GET /servers/{id}/backups | قراءة بس | الباك أب والـ snapshots بتوع السيرفر. |
POST /servers/{id}/backups | قراءة وإدارة | خد باك أب دلوقتي (إضافة الباك أب). |
POST /servers/{id}/snapshots | قراءة وإدارة | name وdescription اختياري. |
GET /servers/{id}/firewall | قراءة بس | مفتاح الفايروول والقواعد. |
PUT /servers/{id}/firewall | قراءة وإدارة | enabled والقايمة الكاملة للقواعد؛ بتستبدل اللي كان موجود. |
GET /invoices | قراءة بس | فواتيرك، الأحدث الأول. |
GET /invoices/{number}/pdf | قراءة بس | الفاتورة PDF (locale=ar|en). |
POST /orders | قراءة وإدارة | plan وos_template_id وbilling_cycle وhostname وaddons، وcoupon وssh_key_ids اختياري. |
GET /tickets | قراءة بس | تذاكر الدعم بتاعتك. |
POST /tickets | قراءة وإدارة | subject وmessage، وpriority وserver_id اختياري. |
اتفاقيات
- الفلوس رقم صحيح بالوحدة الصغرى (قروش). currency بتقول العملة.
- أخطاء التحقق 422 ومعاها errors لكل حقل؛ 403 معناها دورك أو الـ token مايقدرش؛ 409 معناها السيرفر مش في حالة تسمح.
- ابعت X-Locale: ar أو en عشان الرسايل تيجي باللغة دي.
- الطلبات محدودة لكل token؛ والعمليات الخطيرة أكتر. لو جالك 429 استنى شوية.