# Teslimat Kayıtları (https://yapl.app/tr/docs/user-guides/webhooks/delivery-logs)

# Teslimat Kayıtları

Her webhook teslimatı kaydedilir, böylece neyin gönderildiğini, başarıyla teslim edilip edilmediğini izleyebilir ve sorunları giderebilirsiniz.

## Teslimat Kayıtlarını Görüntüleme

1. **Ayarlar > Webhook'lar** sayfasına gidin
2. İncelemek istediğiniz uç noktadaki menü simgesine tıklayın
3. **Teslimatlar** seçin
4. Teslimat geçmişine göz atın (sayfa başına 10 kayıt)

## Teslimat Durumu

Her teslimatın dört durumdan biri vardır:

| Durum | Anlamı |
|-------|--------|
| **Başarılı** | Başarıyla teslim edildi — uç noktanız 2xx yanıt döndürdü |
| **Başarısız** | Tüm yeniden deneme girişimleri tükendi — teslimat başarılı olmadı |
| **Yeniden Deneniyor** | İlk girişim başarısız oldu — YAPL otomatik olarak yeniden deniyor |
| **Beklemede** | Teslimat için sıraya alındı — henüz gönderilmedi |

## Kayıt Detayları

Her teslimat kayıt girdisi şunları gösterir:

| Alan | Açıklama |
|------|----------|
| Olay türü | Teslimatı tetikleyen olay (örn. `project.created.v1`) |
| Durum | Mevcut teslimat durumu |
| Yanıt durumu | Uç noktanızın döndürdüğü HTTP durum kodu |
| Yanıt süresi | Uç noktanızın yanıt vermesinin ne kadar sürdüğü (milisaniye) |
| Deneme numarası | Bu hangi teslimat denemesi (1 = ilk deneme, toplam 6'ya kadar) |
| Zaman damgası | Teslimat denemesinin ne zaman yapıldığı |
| Hata mesajı | Neyin yanlış gittiği hakkında detaylar (başarısız teslimatlar için) |

## Yeniden Deneme Programı

Bir teslimat başarısız olduğunda, YAPL artan gecikmelerle yeniden dener:

| Deneme | Başarısızlıktan sonra gecikme |
|--------|-------------------------------|
| 1. deneme | Anında |
| 1. yeniden deneme | 30 saniye |
| 2. yeniden deneme | 2 dakika |
| 3. yeniden deneme | 10 dakika |
| 4. yeniden deneme | 1 saat |
| 5. yeniden deneme | 6 saat |

Bir teslimat aşağıdaki durumlarda başarısız sayılır:
- Uç noktanız 2xx olmayan bir HTTP durum kodu döndürürse (örn. 400, 500)
- Uç noktanız 10 saniye içinde yanıt vermezse
- Bir ağ hatası isteğin uç noktanıza ulaşmasını engellerse

5 yeniden denemeden (toplam 6 deneme) sonra teslimat kalıcı olarak **Başarısız** olarak işaretlenir.

## Başarısız Teslimatları Sorun Giderme

### Zaman aşımı hataları

Uç noktanız **10 saniye** içinde yanıt vermelidir. İşleme daha uzun sürüyorsa:
- Hemen bir 200 yanıtı döndürün
- Webhook verilerini arka planda asenkron olarak işleyin

### 4xx hataları (400, 401, 403, 404)

- **400 Kötü İstek** — Uç noktanız yükü ayrıştıramadı. JSON kabul ettiğinden emin olun.
- **401/403 Yetkisiz** — Uç noktanız kimlik doğrulama gerektiriyorsa, webhook'un özel başlık yapılandırmasına uygun başlığı ekleyin.
- **404 Bulunamadı** — URL yanlış olabilir. Webhook'u düzenleyin ve URL'yi doğrulayın.

### 5xx hataları (500, 502, 503)

- **500 Dahili Sunucu Hatası** — Uç noktanız bir hatayla karşılaştı. Sunucu kayıtlarınızı kontrol edin.
- **502/503 Servis Kullanılamaz** — Sunucunuz kapalı veya aşırı yüklü olabilir. YAPL otomatik olarak yeniden deneyecektir.

### Ağ hataları

- Uç noktanızın herkese açık erişimli olduğuna emin olun
- Güvenlik duvarınızın gelen HTTPS isteklerine izin verdiğini kontrol edin
- Uç noktanızın alan adı için DNS çözümlemesini doğrulayın

## En İyi Uygulamalar

### Düzenli izleme

Sorunları büyümeden önce yakalamak için teslimat kayıtlarını periyodik olarak kontrol edin. Yeniden deneme kalıpları uç noktanızın yük altında zorlandığı anlamına gelebilir.

### Hızlı yanıt verin

Mümkün olan en kısa sürede 200 durum kodu döndürün. Yanıt vermeden önce ağır işleme yapmayın — webhook'u kabul edin, 200 ile yanıt verin, sonra verileri asenkron olarak işleyin.

### Tekrarları yönetin

Nadir durumlarda (ağ sorunları, yeniden denemeler), aynı olayı birden fazla alabilirsiniz. Tekrarları tespit edip yok saymak için olay `id` alanını kullanın.

### Değişikliklerden sonra kontrol edin

Bir webhook URL'sini veya uç noktanızın kodunu düzenledikten sonra, her şeyin hâlâ çalıştığını doğrulamak için **Test** özelliğini kullanın.

## İlgili Konular

- [Webhook Oluşturma](/docs/user-guides/webhooks/creating-webhooks) — Uç noktaları oluşturun ve yapılandırın
- [Olay Türleri](/docs/user-guides/webhooks/event-types) — Teslimatları tetikleyen olaylar
- [İmza Doğrulama](/docs/user-guides/webhooks/verifying-signatures) — Teslimat doğruluğunu doğrulayın