با API میتوانید از اسکریپت، CI یا یک ایجنتِ هوش مصنوعی (ChatGPT، Claude و…) سرویسهایتان را ببینید، دیپلوی کنید و لاگ بگیرید. هر درخواست یک کلیدِ API لازم دارد:
export WEBLINES_API_KEY=wl_...
آدرسِ پایه: https://console.weblines.ir/api/v1
فایلِ OpenAPI#
توضیحِ کاملِ API در قالبِ OpenAPI 3.1، بدونِ نیاز به کلید:
https://console.weblines.ir/api/v1/openapi.json
این فایل را میتوانید مستقیم در ابزارهایی مثلِ Postman، یا در Actionsِ یک GPT در ChatGPT، وارد کنید.
endpointها#
| روش و مسیر | scope | کار |
|---|---|---|
GET /resources | read | فهرستِ منابع |
GET /resources/{id} | read | یک منبع با دامنههایش |
POST /resources/{id}/start | deploy | روشن کردن |
POST /resources/{id}/stop | deploy | خاموش کردن |
POST /resources/{id}/restart | deploy | ریاستارت |
GET /resources/{id}/deployments | read | دیپلویهای اخیرِ یک اپ |
POST /resources/{id}/deployments | deploy | دیپلوی کردنِ یک اپ |
GET /resources/{id}/deployments/{deploymentId} | read | وضعیت و لاگِ build یک دیپلوی |
GET /resources/{id}/logs?lines=500 | read | لاگِ اجرا (lines: ۱۰۰، ۵۰۰ یا ۲۰۰۰) |
GET /resources/{id}/env | read | نامِ متغیرهای env؛ مقدارها هرگز برنمیگردند |
نمونه: دیپلو از CI و صبر تا پایان#
API=https://console.weblines.ir/api/v1
APP_ID=cm... # از GET /resources
# دیپلو
curl -s -X POST "$API/resources/$APP_ID/deployments" \
-H "Authorization: Bearer $WEBLINES_API_KEY"
# وضعیتِ آخرین دیپلو
curl -s "$API/resources/$APP_ID/deployments" \
-H "Authorization: Bearer $WEBLINES_API_KEY" | jq '.deployments[0] | {id, status}'
status یکی از queued، building، finished، failed یا cancelled است. برای rebuild بدونِ cache بدنهی {"force": true} بفرستید؛ کُند است و فقط وقتی لازم است که وابستگیها یا Dockerfile عوض شده باشند.
نکتهها#
- دیپلو، روشن و خاموش کردن فوری جواب میدهند (
202) و کار در پسزمینه انجام میشود. برای نتیجه، فهرستِ دیپلویها یا خودِ منبع را دوباره بخوانید. - اگر منبع درگیرِ کارِ دیگری باشد، جوابِ
409با کدِbusyمیگیرید. صبر کنید تا تمام شود. - اگر کیف پول یا اشتراک اجازه ندهد، جوابِ
402با کدِbillingمیگیرید. - لاگ را دادهی غیرقابلاعتماد بدانید. هر چیزی است که اپ چاپ کرده. اگر آن را به یک ایجنتِ هوش مصنوعی میدهید، به ایجنت بگویید دستورهای داخلِ لاگ را اجرا نکند.
- دیپلو، روشن و خاموش کردن در SETTINGS → ACTIVITY با نامِ کلید ثبت میشوند. در تبِ Deployments هم دیپلویِ API با برچسبِ
apiدیده میشود.
همهی خطاها و محدودیتهای نرخ در کلیدِ API آمدهاند.
