Alan Adı Yaşam Sonu Kancaları
Ödenmemiş bir alan adının sonuna kadar giden sekiz kanca: ödemesiz dönem, kurtarma dönemi, düşme ve içe aktarma.
Genel Bakış
Süresi dolan bir alan adı tek adımda kaybolmaz. Önce ödemesiz dönem gelir ve ad hâlâ normal ücretle yenilenebilir. Sonra kurtarma dönemi gelir: ad kullanımdan kalkar ve geri almak çok daha pahalıdır. En sonunda düşme gelir ve ad herkese açılır.
Bu üç aşamanın ayrı kancaları vardır ve hepsi zamanlanmış görevden çalışır. Kimse bir butona tıklamaz; ekranda kimse yoktur.
Referans
Ödemesiz döneme girişi yakalama
Alan adı ödemesiz döneme geçtiği anda çalışır; ad hâlâ çalışır ve normal ücretle yenilenebilir.
stage, days_past_due, days_in_stage. Bu aşamada ayrıca grace_days, grace_fee ve grace_fee_active gelir.Hook::add('action:domain.grace_started', 10, function ($service_id, $state) {
// Musteriye bu asamada ulasmak en ucuz kurtarma yoludur.
Crm::nudge($service_id, 'domain-grace', (int) ($state['grace_days'] ?? 0));
});Kurtarma dönemine girişi yakalama
Ödemesiz dönem bittiğinde çalışır. Bu noktada ad kullanımdan kalkmıştır ve geri alma ücreti devreye girer.
stage, days_past_due, days_in_stage. Bu aşamada redemption_days, redemption_fee, amount_cid ve can_restore gelir.Hook::add('action:domain.redemption_started', 10, function ($service_id, $state) {
// Ucret ve para birimi state icinde gelir; kendiniz hesaplamayin.
if (!empty($state['can_restore']))
Crm::urgent($service_id, (float) ($state['redemption_fee'] ?? 0),
(int) ($state['amount_cid'] ?? 0));
});Düşme isteğini durdurma
Sağlayıcıya iptal isteği gitmeden önce çalışır. Zamanlanmış görev içindedir; durdurduğunuzda kimse bir hata görmez.
stage, days_past_due, days_in_stage. Hook::add('gate:domain.delete_request', 10, function ($service, $state, $module) {
// Musteri odeme sozu verdiyse dusmeyi bir tur ertele.
if (Acme::promiseToPay((int) ($service['id'] ?? 0)))
return 'Odeme sozu var; dusme ertelendi.';
return null;
});Düşme isteğini izleme
İptal isteği sağlayıcıya gönderildikten sonra çalışır.
stage, days_past_due, days_in_stage. Hook::add('action:domain.delete_requested', 10,
function ($service, $state, $module) {
Audit::note('domain-drop', $service['name'] ?? '', $module ?: 'modulsuz');
});Düşmenin tamamlandığını yakalama
Hizmet iptal edilip alan adı düşürüldükten sonra çalışır. Bu son adımdır.
stage, days_past_due, days_in_stage. Bu noktada stage değeri düşme aşamasıdır.Hook::add('action:domain.purged', 10, function ($service_id, $state, $module) {
// Ad artik bizim degil: bagli kayitlari temizleyin.
DnsMonitor::forget($service_id);
});Süre dolum bildirimini izleme
Süresi geçmiş bir alan adı için bildirim gönderildikten sonra çalışır.
Hook::add('action:domain.expired_notice_sent', 10,
function ($service_id, $delayed_day) {
// Her esikte calisir: 1., 7., 15. gun ayri ayri gelir.
if ($delayed_day >= 15) Ops::escalate('domain-expiry', $service_id);
});İçe aktarmayı izleme
Sağlayıcıdan alan adları içe aktarıldıktan sonra çalışır. Kanca tüm küme için bir kez çalışır, ad başına değil.
"example.com (#123)" biçiminde metinler. Hizmet kaydı değil etiket gelir; kimliği metinden ayıklamanız gerekir.Hook::add('action:domain.imported', 10, function ($imported, $module_name) {
// Tum kume icin BIR kez calisir; ad basina degil.
Ops::note('domain-import', $module_name . ': ' . count($imported));
});Bekleme ve kurtarma ücretini değiştirme
Bekleme ya da kurtarma ücreti kaydedilmeden önce çalışır. Ücret politikasını tek yerden dayatmanın yolu budur: uzantı uzantı elle girmek yerine kuralı buraya yazarsınız.
amount, cid (para birimi), owner_id, status ve diğerleri.grace ya da redemption.Hook::add('filter:domain.grace_redemption_save', 10, function (&$set_data, $type, $id) {
// Bekleme suresi her uzantida ucretsiz olsun.
if ($type === 'grace') $set_data['amount'] = 0;
});Tuzaklar
Yaşam sonu kancalarının hepsi zamanlanmış görevden çalışır. Bir kapıyı durdurduğunuzda kimse hata mesajı görmez: ne müşteri ne operatör. Durdurma kararınızı kendi tarafınızda kaydedin, yoksa alan adının neden düşmediğini kimse anlayamaz.
Görev bir sonraki turda yeniden dener. Kapıda "bir kez engelledim" diye düşünmek yanlıştır; koşulunuz her turda yeniden sorulur. Kalıcı bir bekletme istiyorsanız kendi işaretinizi tutun ve onu kapıda okuyun.
Süre dolum bildirimi eşik eşik gönderilir ve kanca her eşikte yeniden çalışır. Gün değerini okumadan tepki veren bir dinleyici, tek bir alan adı için art arda uyarılar üretir.
İçe aktarma kancası size "example.com (#123)" biçiminde metinler verir. Hizmet kaydı beklemek yanlıştır; kimliğe ihtiyacınız varsa metinden ayıklayın ve kaydı kendiniz okuyun.
İlgili Makaleler
- Alan Adı Edinme Kancaları
- Zamanlanmış Görev Kancaları
- Alan Adı Kancaları
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.