Kuponlar
Endpoint
POST /api/v1/coupons/validate
{ "code": "SPRING25" }Endpoint kodu normalize eder (büyük harf, trim) ve ya eşleşen kuponun indirimi ya da yapılandırılmış bir hata (expired, already_used, min_amount_not_met, plan_not_allowed) döner.
Adminlerin verdiği şeyler
Kuponlar Kupon Yönetimi'nden verilir. Alan referansı (kısaltılmış):
typescript
{
code: string, // 2–40 karakter, büyük harf, benzersiz
kind: "percent" | "fixed" | "trial_extension",
value: number,
currency: "TRY" | "USD" | null,
applies_to: ("new" | "renewal" | "upgrade")[], // varsayılan ["new", "upgrade"]
allowed_plans: string[], // boş = hepsi
usage_limit: number, // 0 = sınırsız
single_use_per_user: boolean, // varsayılan true
valid_from: Date | null,
valid_until: Date | null,
is_active: boolean,
}Yığma
Sosyabot bugün kuponları yığmaz — checkout başına bir kod. Ayrı verilen ücretli promosyonlarla birlikte parasal-olmayan ödüller için trial_extension kodları kullan.