Servisi WHMCS modul hook'u ile suspend et
POST/services/:id/suspend
WhmcsApiClient::moduleSuspend cagirilir. WHMCS kendi virtualizor
modulunu tetikler, queue cron Virtualizor suspendvs job'una
cevirir. Bizim DB'de mod_reseller_provisions.status='suspended'
notice='Suspended via API: <reason>'set edilir.
Idempotency-Key: OPSIYONEL (header gelirse middleware uygula). Suspend zaten idempotent (zaten suspended ise WHMCS no-op).
Rate limit: Default bucket (60 rpm) — lifecycle high-frequency degil.
vps_id null: 422 service_not_provisioned (provision olmayan
servis suspend edilmez).
Body: {"reason": "..."} opsiyonel (1-255 char). Default:
"Suspended via Reseller API". Bayinin WHMCS'inde gosterilen
reason ile senkron olabilsin.
Side effect: mod_reseller_webhooks_queue tablosuna
service.suspended event'i (status='skipped') yazilir. Faz 2
MVP'de gonderim YOK; v2 worker bu event'leri reseller webhook
URL'lerine push eder.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
- 502
Servis suspend edildi
Response Headers
Bu key icin tanimli dakika basi limit
Mevcut window'da kalan istek sayisi
Sonraki window basinin Unix epoch'u (UTC saniye)
Kimlik dogrulama basarisiz — eksik header, hatali credential, IP whitelist disi veya revoke edilmis key. Detay sizdirilmaz; tum durumlar tek mesaj.
Response Headers
RFC 7617 Basic Auth challenge
Yetki yetersiz — bayi baska bir bayinin service_id'sine erismeye calisti veya admin scope gerektiren endpoint icin yetersiz scope. Mesaj generic tutulur (ServiceOwnershipMiddleware sizinti onler).
Servis bulunamadi
VPS henuz provisionlanmamis
Dakika basina limit asildi
Response Headers
429 sonrasi tekrar denemeden once beklenmesi gereken saniye (RFC 7231 §7.1.3)
Bu key icin tanimli dakika basi limit
Sonraki window basinin Unix epoch'u (UTC saniye)
WHMCS API upstream hatasi (whmcs_upstream_error)