Ana içeriğe geç

Sipariş Yaşam Döngüsü

Bir VPS siparişi oluşturmaktan servisin aktif hale gelmesine kadar geçen akış asenkrondur: sipariş anında oluşur, gerçek VPS kurulumu arka planda tamamlanır.

1. Sipariş Oluşturma — POST /orders

Idempotency-Key zorunludur (çift sipariş koruması).

curl -X POST https://api.rabisu.com/api/v1/orders \
-u "rsk_live_xxx:rsks_yyy" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 9f1c2d3e-4b5a-6c7d-8e9f-0a1b2c3d4e5f" \
-d '{
"product_id": 101,
"period": "monthly",
"config_options": { "12": 3, "15": 1 },
"extra": { "domain": "vps01.musteri.com" }
}'

Yanıt (202 Accepted) bir provizyon kaydı döner. id alanı bayi tarafındaki korelasyon anahtarınızdır (yerel kaydınızda saklayın):

{
"success": true,
"data": {
"id": 5001,
"status": "pending_provision",
"order_id": 88123,
"service_id": null,
"payment_applied": true
},
"meta": { "trace_id": "...", "timestamp": "..." }
}

2. Kredi Uygulama (auto_apply_credit)

Sipariş oluşturulunca fatura kesilir. auto_apply_credit bayrağınıza göre:

  • Açık (varsayılan): Fatura otomatik olarak bayi kredinizden ödenir. Yeterli kredi varsa provizyon kuyruğa girer (pending_provision).
  • Kapalı: Kredi uygulanmaz, sipariş pending_payment kalır. Ödemeyi sonra manuel olarak yaparsınız (bkz. adım 4). Bu, kurulum öncesi inceleme penceresi sağlar (fraud/hostname kontrolü vb.).

Kredi yetersizse insufficient_credit bilgisi döner ve sipariş pending_payment durumunda bekler.

3. Provizyon Durumu — GET /orders/{id}

VPS kurulumu tamamlanınca service_id atanır ve durum active olur. Durumu sorgulayın:

curl -u "rsk_live_xxx:rsks_yyy" \
https://api.rabisu.com/api/v1/orders/5001

Provizyon durumları:

DurumAnlamı
pending_paymentÖdeme bekleniyor (kredi uygulanmadı)
pending_provisionÖdeme tamam, VPS kurulumu kuyrukta
activeVPS kuruldu, service_id atandı
failedProvizyon başarısız

İpucu: Sürekli polling yerine Webhooks kullanın — service.created olayı VPS hazır olduğunda anında bildirilir.

4. Bekleyen Ödemeyi Tahsil Etme — POST /orders/{id}/settle

Sipariş pending_payment durumundaysa (kredi yetersizdi veya auto-apply kapalıydı), bakiye yükledikten sonra ödemeyi tetikleyin:

curl -X POST https://api.rabisu.com/api/v1/orders/5001/settle \
-u "rsk_live_xxx:rsks_yyy"

Bu uç nokta doğal olarak idempotenttir: zaten ödenmiş bir sipariş already_applied ile no-op döner. Başarılı tahsil sonrası provizyon kuyruğa girer.

5. Servisi Yönetme

Servis active olduktan sonra servis uç noktalarını kullanabilirsiniz:

  • GET /services/{id} — özet (IP, hostname, durum)
  • GET /services/{id}/status — anlık CPU/RAM/disk
  • POST /services/{id}/power/{action} — start/stop/restart/poweroff
  • POST /services/{id}/rebuild — işletim sistemi yeniden kurulumu
  • POST /services/{id}/upgrade — kaynak yükseltme (prorata fark faturası)
  • POST /services/{id}/suspend · /unsuspend — askıya al / kaldır
  • DELETE /services/{id} — iptal (disk silinir, Idempotency-Key zorunlu)

Tüm alan detayları için OpenAPI referansına bakın.