Loyetta

Değiştir

Bir aboneliği farklı bir ürüne geçirin (ör. plan yükseltme/düşürme). Bir changed olayı kaydeder. Durum değiştirilmeden bırakılır.

POST/v1/superuser/subscriptions/change

İstek Gövdesi

AlanTürZorunluNotlar
external_idstringEvetMevcut bir aboneliği referans almalı
product_idstring (ULID)KoşulluYeni ürün, Loyetta ULID ile. sku gönderilmedikçe zorunludur. Mevcut olmalı
skustringKoşulluYeni ürün, kendi ürün kodunuzla. product_id yerine kullanın
periodstringHayırİsteğe bağlı olarak faturalandırma periyodunu da değiştirin

Yeni ürünü ya product_id (Loyetta ULID) ya da sku (kendi ürün kodunuz) ile tanımlayın. Hangisi elinizde varsa onu gönderin — ikisine birden ihtiyacınız yok. İkisini birden gönderirseniz product_id öncelikli olur ve sku yok sayılır.

Örnek İstek

bash
curl -X POST "https://marka.prod.loyetta.com/api/v1/superuser/subscriptions/change" \
  -H "Authorization: Bearer loy_sk_live_xxxx" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "external_id": "sub_12345",
    "sku": "PLAN-PLATINUM",
    "period": "yearly"
  }'

Yanıt (200 OK)

json
{
  "success": true,
  "data": {
    "id": "01JQ...",
    "external_id": "sub_12345",
    "product_id": "01JQ...NEW",
    "user_id": "01JQ...",
    "status": "active",
    "period": "yearly",
    "started_at": "2026-03-26T00:00:00.000000Z",
    "ended_at": null,
    "due_at": "2026-04-26T00:00:00.000000Z"
  }
}

Hata Yanıtları

403 — Yasak (token super_user yetkisine sahip değil)

json
{
  "message": "Operation not allowed."
}

422 — Doğrulama Hatası

json
{
  "message": "The given data was invalid.",
  "errors": {
    "product_id": ["The selected product id is invalid."]
  }
}