Geliştiriciyi etkileyen değişiklikler (yeni uçlar, hook'lar, scope'lar, yetenekler). Yalnızca canlıya alınmış/doğrulanmış özellikler listelenir; planlananlar 'Yakında' altında.
POST /plugin-api/packets/create — paket/sipariş oluştur (orders:write canlı). Fiyat sunucuda hesaplanır; idempotencyKey ile retry-güvenli.packet.status.update (statü geçişi öncesi — sahiplik damgalı) ve packet.close (hesap kapanışı öncesi — tenant-genel). Scope'lar: hooks:packet.status, hooks:packet.close.resolve/close + önerilen Desen B (iframe → kendi backend'in, session token ile).decision:"pending" + async resolve: packet.status.update gate'inde senkron pencereye (≤10 sn) sığmayan kararlar için geçişi askıya al → gate-resolve ucuyla sonra allow/deny ver.packets/create.callbackUrl: sahiplik damgası (packet.status.update gate'ini açar) + ileride statü bildirimi hedefi.id'sini tenant'ın gerçek yöntemlerine karşı doğrular (unknown_payment_method); önce payment-methods/list. İndirim satırları muaf.app.installed, subscription.activated/past_due/canceled, app.uninstalled — abone olmadan her bağlı kuruluma gelir.payment-methods/list, ingredients/list, categories/get.version string "1", entegrasyon string kanal kodu.skipped), 72sa sonra kalıcı durur; hacim cap'i aşımında dropped. Sinyaller: delivery.degraded/restored/disabled/throttled lifecycle webhook'ları (canlı).customer.redact (GDPR/KVKK): tenant müşteri silince zorunlu PII-silme webhook'u (PII scope'lu kurulumlara; critical, breaker/cap muaf).subscription.canceled.reason="plugin_now_free" (ücretsize geçişte erişim ücretsiz sürer — deprovision etme); grandfather (mevcut aboneler eski fiyatta/ücretsiz kalır).tables/update-orders + tables/update-payments — packets karşılığı (full-replace); kuver otomatik, timer ürün desteklenmez. (sandbox'a deploy bekliyor)packet.status_changed event'i: statü değişince sahip eklentiye async (imzalı) webhook bildirim — packets/create'teki callbackUrl'e (yoksa webhookUrl'e) düşecek. Şu an callbackUrl yalnız saklanır.