E-posta API'si, uygulamanızın e-postayı SMTP oturumu açmadan, bir HTTPS isteğiyle göndermesini sağlar. İstek JSON gövdesinde alıcıyı, konuyu ve içeriği taşır; yanıtta bir ileti kimliği döner. Bu kimlikle iletinin durumunu sorgular, teslim ve geri dönme olaylarını webhook ile eşleştirirsiniz.
SMTP mi, API mi?
| SMTP relay | REST API | |
|---|---|---|
| Kurulum | Sunucu, port, kullanıcı adı ve şifre; kod değişmez | HTTP isteği; kod yazılır |
| En uygun | Hazır yazılımlar (WordPress, ERP, CRM, e-ticaret altyapıları) | Yeni geliştirilen uygulamalar, mikroservisler |
| İleti kimliği | Oturum yanıtında sınırlı | Her istekte döner |
| Toplu gönderim | İleti başına oturum komutu | Tek istekte çok ileti |
| Hata ayıklama | SMTP yanıt kodları | JSON hata gövdesi ve HTTP durum kodu |
İkisi rakip değildir; aynı hesapta ikisini birden kullanmak yaygındır: web sitesi SMTP'den, uygulama API'den gönderir.
Temel istek
SenderTR'de tekli gönderim şöyledir:
curl -X POST https://api.sendertr.com/v1/send \
-H "X-Api-Key: $SENDERTR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_email": "bildirim@firmaniz.com",
"from_name": "Firmanız",
"to": "musteri@ornek.com",
"subject": "Siparişiniz alındı",
"html": "<p>Sipariş no: 1001</p>",
"tags": ["siparis"],
"metadata": {"order_id": "1001"}
}'
Başarılı istek 202 Accepted ve {"success": true, "message_id": "...", "status": "queued"} döner. from_email doğrulanmış alan adınızdan olmalıdır. tags ve metadata, olaylar webhook ile döndüğünde iletiyi kendi kaydınızla (ör. sipariş) eşleştirmenizi sağlar.
Toplu gönderim ve değişkenler
Aynı şablonu çok alıcıya kişiselleştirerek göndermek için tek istekte 500 iletiye kadar gönderim yapılabilir:
POST https://api.sendertr.com/v1/send/batch
{
"defaults": {"from_email": "bildirim@firmaniz.com", "subject": "Merhaba {{ad}}", "html": "<p>Sipariş {{no}} kargoda.</p>"},
"messages": [
{"to": "a@ornek.com", "variables": {"ad": "Ayşe", "no": "1001"}},
{"to": "b@ornek.com", "variables": {"ad": "Ali", "no": "1002"}}
]
}
Her ileti bağımsız değerlendirilir; biri reddedilirse diğerleri gider. Değişken değerleri HTML'e kaçışlanarak yerleştirilir.
Durum ve olaylar
- Durum sorgusu:
GET /v1/messages/{message_id}tek iletinin,GET /v1/messagesgönderim geçmişinin durumunu verir. - Webhook:
delivered,bounced,complained,opened,clickedolayları, gövdenin HMAC-SHA256 imzasını taşıyanX-Webhook-Signaturebaşlığıyla gelir. İmzayı ham gövde üzerinden, sabit zamanlı karşılaştırmayla doğrulayın.
Hata yönetimi
- 401: API anahtarı yok veya geçersiz.
- 402: Kredi yetersiz.
- 422: Girdi hatalı ya da gönderen alan adı doğrulanmamış.
- 429: Hız sınırı (tekli gönderimde dakikada 300 istek); bir süre bekleyip yeniden deneyin.
Tam başvuru kaynağı: docs.sendertr.com.
Güvenlik önerileri
- API anahtarını istemci tarafı koda (tarayıcı, mobil uygulama) koymayın; yalnızca sunucuda tutun.
- Anahtara yalnızca gereken yetkiyi verin (ör. yalnızca gönderim) ve gerekirse IP kısıtlaması tanımlayın.
- Anahtar sızdığında panelden hemen iptal edip yenisini oluşturun.
Ayrıntı ve fiyat: İşlemsel E-posta · REST API kurulum rehberi.