Loading...

API عمومی

راهنمای API

این endpoint‌ها معادل‌های API جریان‌های Container App و Object Storage در پنل هستند. همه درخواست‌ها در محدوده حساب CDN مجاز اجرا می‌شوند.

بازگشت به راهنمای پلتفرم

Container Apps

GET    /api/accounts/{uuid}/platform/container/apps
POST   /api/accounts/{uuid}/platform/container/apps
PATCH  /api/accounts/{uuid}/platform/container/apps/{app_uuid}
GET    /api/accounts/{uuid}/platform/container/registry-credentials
POST   /api/accounts/{uuid}/platform/container/registry-credentials
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/deploy
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/restart
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/scale
GET    /api/accounts/{uuid}/platform/container/apps/{app_uuid}/status
GET    /api/accounts/{uuid}/platform/container/apps/{app_uuid}/logs
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/imports/database
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/imports/files
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/scheduled-jobs
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/scheduled-jobs/{job_uuid}/run
DELETE /api/accounts/{uuid}/platform/container/apps/{app_uuid}

Object Storage

GET    /api/accounts/{uuid}/platform/container/object-storage/buckets
POST   /api/accounts/{uuid}/platform/container/object-storage/buckets
POST   /api/accounts/{uuid}/platform/container/object-storage/access-keys
POST   /api/accounts/{uuid}/platform/container/object-storage/access-keys/{key_uuid}/rotate
DELETE /api/accounts/{uuid}/platform/container/object-storage/access-keys/{key_uuid}
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/object-storage/bindings

احراز هویت

هر endpoint به یک Bearer token محدودشده به کاربر شما نیاز دارد. سریع‌ترین راه گرفتن آن، cdnctl login است؛ این token برای فراخوانی‌های مستقیم curl/HTTP از اسکریپت‌ها و CI هم کار می‌کند.

# 1) یک‌بار احراز هویت کنید (token را در ~/.cdnctl/config.json ذخیره می‌کند)
cdnctl login --email you@example.com

# 2) هر endpoint را مستقیماً با همان Bearer token فراخوانی کنید
curl -H "Authorization: Bearer $TOKEN" \
  https://cdn.com.tr/api/accounts/{uuid}/platform/container/apps

مثال عملی: خواندن وضعیت یک اپ

پاسخ‌ها JSON هستند. پاسخ‌های غیر 2xx دارای فیلد status و message هستند که توضیح می‌دهد چه اشکالی پیش آمده است.

curl -H "Authorization: Bearer $TOKEN" \
  https://cdn.com.tr/api/accounts/{uuid}/platform/container/apps/{app_uuid}/status

# پاسخ (خلاصه‌شده)
{
  "status": "success",
  "app": { "uuid": "…", "name": "web", "status": "running", "replicas": 1 }
}

خوب است بدانید

  • این‌ها همان endpointهایی هستند که پنل و cdnctl استفاده می‌کنند — هر چیزی که بتوانید کلیک کنید، می‌توانید با اسکریپت هم انجام دهید.
  • هنگام خودکارسازی deployها، به‌جای حلقه‌های polling فشرده از «cdnctl container apps wait --status running» استفاده کنید.
  • عملیات‌ها ناهم‌زمان هستند: فراخوانی‌های تغییردهنده یک operation برمی‌گردانند که می‌توانید آن را از پنل یا از طریق endpoint وضعیت دنبال کنید.