E-posta Kayıtları
Mail.Land üzerinden gönderilen her e-posta için ayrıntılı teslimat kayıtlarını arayın, filtreleyin ve inceleyin
Bu sayfa yalnızca işlemsel mesajları listeler: kampanya ve otomasyon e-postaları (sys_* sistem mesajları dahil) hariç tutulur. Pazarlama/otomasyon gönderim geçmişi için kampanya alıcıları uç noktasını kullanın (bkz. Kampanyalar).
E-postaları Listele
GET https://api.mail.land/v1/transactional/logscurl "https://api.mail.land/v1/transactional/logs?limit=20" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."Sorgu Parametreleri
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
cursor | string | - | Önceki sayfanın nextCursor değerinden alınan opak imleç. İlk sayfa için belirtmeyin. Hatalı biçimlendirilmiş veya değiştirilmiş bir imleç 400 INVALID_CURSOR döndürür. |
limit | int | 20 | Sayfa başına öğe sayısı |
status | string | - | Duruma göre filtrele (aşağıya bakın) |
search | string | - | Alıcı, konu veya mesaj kimliğine göre ara |
from | datetime | 30 gün önce | Başlangıç tarihi |
to | datetime | Şimdi | Bitiş tarihi |
refresh | bool | false | Eski bir sayfadan kaçının: artık atlanacak bir sayım önbelleği yok |
Durum Filtreleri
| Değer | Eşleşme |
|---|---|
queued | Kuyrukta bekliyor |
sent | MTA tarafından kabul edildi |
deferred veya retrying | Geçici olarak gecikti |
delivered | Başarıyla teslim edildi |
bounced | Kalıcı geri dönme |
failed | Sistem hatası veya yönetici geri dönmesi |
opened | Alıcı e-postayı açtı |
clicked | Alıcı bir bağlantıya tıkladı |
complained | Alıcı spam şikayeti iletti |
{
"items": [
{
"messageId": "t_a1b2c3d4e5f6",
"recipient": "[email protected]",
"subject": "Your order has shipped",
"status": "delivered",
"sentAt": "2026-02-17T12:34:56Z",
"deliveredAt": "2026-02-17T12:34:58Z",
"openedAt": "2026-02-17T13:15:00Z",
"clickedAt": null,
"bounceReason": null,
"openCount": 2,
"clickCount": 0
},
{
"messageId": "t_d4e5f6a1b2c3",
"recipient": "[email protected]",
"subject": "Invoice #1234",
"status": "bounced",
"sentAt": "2026-02-17T12:30:00Z",
"deliveredAt": null,
"openedAt": null,
"clickedAt": null,
"bounceReason": "550 5.1.1 Mailbox not found",
"openCount": 0,
"clickCount": 0
}
],
"nextCursor": "eyJ2IjoxLCJzIjoiY3JlYXRlZGF0OmRlc2MiLCJrIjoi...",
"hasMore": true
}Durum Önceliği
status alanı, her e-posta için en yüksek öncelikli olayı yansıtır:
complained(en yüksek)clickedopened- Teslimat durumu:
queued→sent→deferred→delivered→bounced→failed
Örneğin, bir e-posta teslim edilmiş ve ardından açılmışsa durum opened olarak görünür.
Performans için varsayılan olarak 30 günlük tarih aralığı uygulanır. Arama parametresi alıcı e-posta adresine, konu satırına veya mesaj kimliğine göre filtreler (büyük/küçük harf duyarsız).
Kayıt İstatistikleri
E-posta kayıtlarınız için toplu istatistikler alın:
GET https://api.mail.land/v1/transactional/logs/statscurl "https://api.mail.land/v1/transactional/logs/stats" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
from | datetime | 7 gün önce | Başlangıç tarihi |
to | datetime | Şimdi | Bitiş tarihi |
emailType | int | - | 0 = İşlemsel, 1 = Pazarlama. Belirtmemek tüm e-posta türlerini kapsar: yalnızca işlemsel olanları kapsayan yukarıdaki "E-postaları Listele"nin aksine. |
refresh | bool | false | Önbelleği atla |
{
"total": 4750,
"accepted": 4750,
"sent": 4700,
"delivered": 4680,
"opened": 1498,
"clicked": 195,
"bounced": 38,
"complained": 1,
"failed": 12,
"queued": 20,
"deliveryRate": 99.57,
"openRate": 32.01,
"clickRate": 13.02,
"bounceRate": 0.81,
"complaintRate": 0.021,
"source": "clickhouse",
"queryTimeMs": 32
}Oran hesaplamaları:
| Oran | Formül |
|---|---|
deliveryRate | delivered / sent * 100 |
openRate | opened / delivered * 100 |
clickRate | clicked / delivered * 100 |
bounceRate | bounced / sent * 100 |
complaintRate | complained / sent * 100 (3 ondalık basamak) |
Yanıt başlıkları önbellek durumunu gösterir:
| Başlık | Değerler |
|---|---|
X-Cache | HIT, MISS veya FRESH |
X-Stats-Source | cache veya clickhouse |
Cache-Control | Her zaman no-store, no-cache, must-revalidate |
E-posta Ayrıntısı
Olay zaman çizelgesi dahil belirli bir e-postanın tam ayrıntılarını alın:
GET https://api.mail.land/v1/transactional/logs/{messageId}curl https://api.mail.land/v1/transactional/logs/t_a1b2c3d4e5f6 \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."{
"messageId": "t_a1b2c3d4e5f6",
"recipient": "[email protected]",
"fromEmail": "[email protected]",
"subject": "Your order has shipped",
"status": "opened",
"sentAt": "2026-02-17T12:34:56Z",
"deliveredAt": "2026-02-17T12:34:58Z",
"openedAt": "2026-02-17T13:15:00Z",
"clickedAt": null,
"createdAt": "2026-02-17T12:34:55Z",
"bounceReason": null,
"bounceCategory": null,
"ipAddress": null,
"retryCount": 0,
"smtpResponse": "250 2.0.0 OK",
"openCount": 2,
"clickCount": 0,
"htmlContent": "<html>...</html>",
"textContent": "Your order has shipped...",
"events": [
{
"eventType": "delivered",
"timestamp": "2026-02-17T12:34:58Z",
"ipAddress": null,
"userAgent": null,
"linkUrl": null,
"bounceType": null,
"bounceReason": null,
"smtpResponse": "250 2.0.0 OK",
"deviceType": null,
"browser": null,
"country": null,
"city": null
},
{
"eventType": "opened",
"timestamp": "2026-02-17T13:15:00Z",
"ipAddress": "203.0.113.45",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",
"linkUrl": null,
"bounceType": null,
"bounceReason": null,
"smtpResponse": null,
"deviceType": "desktop",
"browser": "Chrome",
"country": "US",
"city": "San Francisco"
},
{
"eventType": "opened",
"timestamp": "2026-02-17T14:30:00Z",
"ipAddress": "203.0.113.45",
"userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0)",
"linkUrl": null,
"bounceType": null,
"bounceReason": null,
"smtpResponse": null,
"deviceType": "mobile",
"browser": "Safari",
"country": "US",
"city": "San Francisco"
}
]
}events dizisi ClickHouse'dan alınır ve zaman damgasına göre sıralanır. ClickHouse geçici olarak kullanılamıyorsa, e-posta ayrıntısı yine de PostgreSQL'den döndürülür ancak events boş bir dizi olur.
Olay Alanları
| Alan | Açıklama |
|---|---|
eventType | delivered, opened, clicked, bounced, complained, ayrıca accepted, sent, deferred, admin_bounce, oob_bounce, expired |
timestamp | Olayın gerçekleştiği zaman (UTC) |
ipAddress | İstemci IP'si (açılmalar/tıklamalar için) |
userAgent | İstemci kullanıcı aracısı dizisi |
linkUrl | Tıklanan URL (yalnızca clicked olayları için) |
bounceType | hard, soft veya unknown (yalnızca bounced olayları için) |
bounceReason | SMTP yanıtı (yalnızca bounced olayları için) |
smtpResponse | Uzak sunucu yanıtı (yalnızca delivered olayları için) |
deviceType | desktop, mobile veya tablet |
browser | Tarayıcı adı (Chrome, Safari, Firefox, vb.) |
country | ISO ülke kodu |
city | Şehir adı |
Başarısız E-postayı Yeniden Dene
Geri dönen veya başarısız olan bir e-postanın teslimatını yeniden deneyin:
POST https://api.mail.land/v1/transactional/logs/{messageId}/retrycurl -X POST https://api.mail.land/v1/transactional/logs/t_a1b2c3d4e5f6/retry \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."Mesaj Bounced veya Failed durumunda olmalı ve alıcı baskılanmış olmamalıdır.
| Durum | Kod | Açıklama |
|---|---|---|
200 | - | Yeniden deneme kabul edildi |
400 | INVALID_REQUEST | E-posta geri dönmüş veya başarısız değil |
400 | RECIPIENT_SUPPRESSED | Alıcı baskı listesinde |
404 | RESOURCE_NOT_FOUND | Mesaj bulunamadı: EMAIL_NOT_FOUND değil |
422 | DOMAIN_NOT_VERIFIED | Gönderen alan adı artık doğrulanmamış |
429 | MARKETING_PAUSED | Bu çalışma alanı için pazarlama gönderimi şu anda duraklatılmış |
422 | RETRY_ATTACHMENTS_UNAVAILABLE | Mesajın artık kurtarılamayan ekleri vardı; bunun yerine ekleriyle yeniden gönderin |
422 | RETRY_ATTACHMENTS_UNKNOWN | Mesaj, ekler kaydedilmeden önce gönderildi; bu yüzden yeniden deneme eklerini garanti edemez; bunun yerine yeniden gönderin |
429 | PLATFORM_CAPACITY_PROTECTION | Platform kapasitesini korumak için yeni gönderim kısa süreliğine duraklatıldı; hiçbir şey değişmedi, kısa süre sonra yeniden deneyin |
503 | RETRY_ATTACHMENT_STORAGE_UNAVAILABLE | Ekler şu anda okunamadı; hiçbir şey değişmedi, kısa süre sonra yeniden deneyin |
Yeniden deneme, orijinal içerikle yeni bir e-posta işi oluşturur ve teslim için kuyruğa alır. Yeniden denenen kopyalar açılma/tıklama izlemesi olmadan gönderilir.
Sonraki Adımlar
- Analitiğe Genel Bakış: toplu olay özetleri ve oranlar
- Gelişmiş Analitik: coğrafi, cihaz ve günün saatine göre dökümler
- Geri Dönmeler: geri dönme işleme ve yeniden denemeleri anlama