SMS Pazarlama için Brevo API'leri Nasıl Kullanılır?

Ashley Innocent

Ashley Innocent

24 March 2026

SMS Pazarlama için Brevo API'leri Nasıl Kullanılır?

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

Kısaca

Brevo API'leri, pazarlama e-postalarını, işlemsel e-postaları ve SMS mesajlarını programlı olarak göndermenizi sağlar. Bir API anahtarıyla kimlik doğrulaması yapar, api.brevo.com adresine istek gönderir ve teslimat ile etkileşimi izlemek için web kancalarını kullanırsınız. Test için Apidog'u kullanarak yükleri doğrulayın, web kancası işleyicilerini test edin ve entegrasyonunuzun geri dönenleri ve abonelikten çıkmaları doğru şekilde ele aldığından emin olun.

Giriş

Brevo (eski adıyla Sendinblue), 500.000'den fazla işletme için günlük milyonlarca e-posta işler. Pazarlama kampanyaları, işlemsel e-postalar, SMS pazarlaması ve otomasyon iş akışlarını yönetir.

E-posta API'leri basit görünür - bir mesaj gönder, bitti. Ancak üretim e-posta sistemleri, geri dönenleri, spam şikayetlerini, abonelikten çıkmaları ve teslimat zamanlamasını yönetmelidir. Brevo bu karmaşıklığı sizin için yönetir.

API üç ana kullanım senaryosunu kapsar:

💡
Uygulamanıza e-postayı entegre ediyorsanız, Apidog şablonları test etmenize, web kancası yüklerini doğrulamanıza ve entegrasyonunuzun e-posta istemcileri arasında çalıştığından emin olmanıza yardımcı olur. Geliştirme sırasında Brevo'nun yanıtlarını taklit edebilir ve gerçek e-postalar göndermeden hata işlemeyi test edebilirsiniz.
button
button

Kimlik Doğrulama ve Kurulum

Bir API anahtarı edinin

  1. Brevo'ya giriş yapın
  2. SMTP & API → API Anahtarları'na gidin
  3. Uygun izinlere sahip yeni bir anahtar oluşturun
  4. Güvenli bir şekilde saklayın

API anahtarı api-key başlığına eklenir:

curl -X GET "https://api.brevo.com/v3/account" \
  -H "accept: application/json" \
  -H "api-key: your-api-key-here"

API taban URL'si

Tüm istekler şuraya gider:

https://api.brevo.com/v3/

Oran Sınırları

Brevo, isteklere plana göre sınırlar getirir:

Kullanımı izlemek için X-RateLimit-Remaining başlığını kontrol edin.

İşlemsel E-postalar Gönderme

İşlemsel e-postalar, kullanıcı eylemleri tarafından tetiklenen bireysel mesajlardır. Şifre sıfırlamaları, sipariş onayları, hoş geldiniz e-postaları gibi düşünebilirsiniz.

Basit bir e-posta gönderin

curl -X POST "https://api.brevo.com/v3/smtp/email" \
  -H "accept: application/json" \
  -H "api-key: your-api-key" \
  -H "content-type: application/json" \
  -d '{
    "sender": {
      "name": "Uygulamanız",
      "email": "noreply@yourapp.com"
    },
    "to": [
      {
        "email": "user@example.com",
        "name": "John Doe"
      }
    ],
    "subject": "Platformumuza Hoş Geldiniz",
    "htmlContent": "<html><body><h1>Hoş Geldiniz!</h1><p>Kaydolduğunuz için teşekkür ederiz.</p></body></html>",
    "textContent": "Hoş Geldiniz! Kaydolduğunuz için teşekkür ederiz."
  }'

Yanıt:

{
  "messageId": "<20260324123456.123456@relay.brevo.com>"
}

Şablonları Kullanma

Brevo'nun görsel düzenleyicisinde şablonlar oluşturun, ardından ID ile gönderin:

curl -X POST "https://api.brevo.com/v3/smtp/email" \
  -H "api-key: your-api-key" \
  -H "content-type: application/json" \
  -d '{
    "templateId": 15,
    "to": [
      {
        "email": "user@example.com",
        "name": "John Doe"
      }
    ],
    "params": {
      "name": "John",
      "order_number": "ORD-12345",
      "tracking_url": "https://tracking.example.com/ORD-12345"
    }
  }'

Şablon değişkenleri çift parantez kullanır:

<p>Merhaba {{params.name}},</p>
<p>Siparişiniz {{params.order_number}} kargoya verildi.</p>
<p><a href="{{params.tracking_url}}">Paketinizi takip edin</a></p>

Eklerle gönderin

const response = await fetch('https://api.brevo.com/v3/smtp/email', {
  method: 'POST',
  headers: {
    'api-key': process.env.BREVO_API_KEY,
    'content-type': 'application/json'
  },
  body: JSON.stringify({
    sender: { name: 'Uygulamanız', email: 'noreply@yourapp.com' },
    to: [{ email: 'user@example.com' }],
    subject: 'Faturanız',
    htmlContent: '<p>Lütfen faturanızı ekte bulabilirsiniz.</p>',
    attachment: [
      {
        name: 'invoice.pdf',
        content: base64EncodedPdfContent
      }
    ]
  })
})

Pazarlama Kampanyaları

Pazarlama e-postaları, kişi listelerine gönderilir. Brevo, abonelikten çıkma bağlantılarını, zamanlamayı ve analitikleri yönetir.

Bir kampanya oluşturun

curl -X POST "https://api.brevo.com/v3/emailCampaigns" \
  -H "api-key: your-api-key" \
  -H "content-type: application/json" \
  -d '{
    "name": "Mart Bülteni",
    "subject": "Mart'ta Yenilikler",
    "sender": {
      "name": "Markanız",
      "email": "newsletter@yourbrand.com"
    },
    "type": "classic",
    "htmlContent": "<html><body>Bülten içeriği buraya...</body></html>",
    "recipients": {
      "listIds": [12, 15]
    },
    "scheduledAt": "2026-03-25T09:00:00+00:00"
  }'

Hemen gönderin

curl -X POST "https://api.brevo.com/v3/emailCampaigns/{campaignId}/sendNow" \
  -H "api-key: your-api-key"

Kampanya istatistiklerini alın

curl -X GET "https://api.brevo.com/v3/emailCampaigns/{campaignId}" \
  -H "api-key: your-api-key"

Yanıt şunları içerir:

{
  "statistics": {
    "delivered": 4850,
    "opened": 1455,
    "clicked": 291,
    "unsubscribed": 12,
    "bounces": 150
  }
}

Kişi Yönetimi

Kişiler, e-posta gönderdiğiniz kişilerdir. Onları listelere ayırın ve özel nitelikler ekleyin.

Bir kişi oluşturun

curl -X POST "https://api.brevo.com/v3/contacts" \
  -H "api-key: your-api-key" \
  -H "content-type: application/json" \
  -d '{
    "email": "new.user@example.com",
    "attributes": {
      "FIRSTNAME": "Jane",
      "LASTNAME": "Smith",
      "PLAN": "premium"
    },
    "listIds": [12, 15],
    "updateEnabled": true
  }'

updateEnabled: true bayrağı, var olan kişileri başarısız olmak yerine günceller.

Kişi ayrıntılarını alın

curl -X GET "https://api.brevo.com/v3/contacts/user@example.com" \
  -H "api-key: your-api-key"

Listeye ekle

curl -X POST "https://api.brevo.com/v3/contacts/lists/12/contacts/add" \
  -H "api-key: your-api-key" \
  -H "content-type: application/json" \
  -d '{
    "emails": ["user1@example.com", "user2@example.com"]
  }'

Listeden çıkar

curl -X DELETE "https://api.brevo.com/v3/contacts/lists/12/contacts/remove" \
  -H "api-key: your-api-key" \
  -H "content-type: application/json" \
  -d '{
    "emails": ["user@example.com"]
  }'

Bir kişinin aboneliğini iptal edin

curl -X PUT "https://api.brevo.com/v3/contacts/user@example.com" \
  -H "api-key: your-api-key" \
  -H "content-type: application/json" \
  -d '{
    "emailBlacklisted": true
  }'

SMS Pazarlaması

Brevo, SMS API'si aracılığıyla küresel olarak SMS mesajları gönderir.

Bir SMS gönderin

curl -X POST "https://api.brevo.com/v3/transactionalSMS/sms" \
  -H "api-key: your-api-key" \
  -H "content-type: application/json" \
  -d '{
    "sender": "Uygulamanız",
    "recipient": "+15551234567",
    "content": "Doğrulama kodunuz: 123456",
    "type": "transactional"
  }'

Pazarlama SMS'i gönderin

curl -X POST "https://api.brevo.com/v3/transactionalSMS/sms" \
  -H "api-key: your-api-key" \
  -H "content-type: application/json" \
  -d '{
    "sender": "Markanız",
    "recipient": "+15551234567",
    "content": "Flaş indirim! Sadece bugün %50 indirim. Abonelikten çıkmak için DUR yazın.",
    "type": "marketing"
  }'

SMS istatistiklerini alın

curl -X GET "https://api.brevo.com/v3/transactionalSMS/statistics?startDate=2026-03-01&endDate=2026-03-31" \
  -H "api-key: your-api-key"

İzleme için Web Kancaları

Web kancaları, uygulamanıza e-posta olayları hakkında bildirim gönderir: teslim edildi, açıldı, tıklandı, geri döndü, abonelikten çıktı.

Web kancalarını yapılandırın

Brevo panosunda: Ayarlar → Web Kancaları → Web kancası ekle

İzlenecek olaylar:

Web kancası yükünü işleyin

app.post('/webhooks/brevo', (req, res) => {
  const event = req.body
  
  switch (event.event) {
    case 'delivered':
      console.log(`Email ${event.messageId} ${event.email} adresine teslim edildi.`)
      break
    case 'opened':
      console.log(`E-posta ${event.email} tarafından ${event.date} tarihinde açıldı.`)
      break
    case 'bounced':
      console.log(`Geri Dönüş: ${event.email} - ${event.reason}`)
      // Kişiyi geçersiz olarak işaretle
      markContactBounced(event.email)
      break
    case 'spam':
      console.log(`${event.email} adresinden spam şikayeti.`)
      // Tüm listelerden kaldır
      removeFromAllLists(event.email)
      break
    case 'unsubscribed':
      console.log(`Abonelikten çıktı: ${event.email}`)
      break
  }
  
  res.status(200).send('OK')
})

Apidog ile Test Etme

E-posta API'lerinin karmaşık hata modları vardır. Şablonları, geri dönenleri ve web kancalarını test etmeniz gerekir. Apidog size yardımcı olur.

1. E-posta göndermeyi taklit edin

Geliştirme sırasında gerçek e-posta göndermeyin. Yanıtı taklit edin:

pm.test('E-posta API'si geçerli yükü kabul eder', () => {
  const response = pm.response.json()
  pm.expect(response).to.have.property('messageId')
  pm.expect(response.messageId).to.match(/<.*@relay\.brevo\.com>/)
})

2. Web kancası işlemeyi test edin

Apidog'da sahte web kancası yükleri oluşturun:

{
  "event": "bounced",
  "email": "invalid@example.com",
  "messageId": "<12345@relay.brevo.com>",
  "reason": "hard_bounce",
  "date": "2026-03-24T12:00:00Z",
  "subject": "Platformumuza Hoş Geldiniz"
}

Web kancası uç noktanıza gönderin ve kodunuzun bunu işlediğini doğrulayın.

3. Şablonları doğrulayın

Şablon yüklerini saklayın ve değişkenlerin doğru şekilde değiştirildiğini test edin:

pm.test('Şablon değişkenleri geçerlidir', () => {
  const payload = pm.request.body.toJSON()
  pm.expect(payload.params).to.have.property('name')
  pm.expect(payload.params).to.have.property('order_number')
})

4. Ortam ayrımı

# Geliştirme
BREVO_API_KEY: xkeysib-dev-xxx
BREVO_SENDER: dev@yourapp.com

# Üretim
BREVO_API_KEY: xkeysib-prod-xxx
BREVO_SENDER: noreply@yourapp.com

Brevo e-posta API'lerini Apidog ile test edin - ücretsiz

Yaygın Hatalar ve Düzeltmeleri

400 Bad Request - Gerekli alan eksik

Neden: Yükte gerekli alanlar eksik.

Düzeltme: Belirginlikler için hata mesajını kontrol edin:

{
  "code": "invalid_parameter",
  "message": "sender.email gereklidir"
}

401 Yetkilendirilmemiş

Neden: Geçersiz veya eksik API anahtarı.

Düzeltme: api-key başlığının doğru ayarlandığını doğrulayın. Anahtarın iptal edilip edilmediğini kontrol edin.

402 Ödeme Gerekli

Neden: Hesap limitleri aştı veya kredi eksik.

Düzeltme:

429 Çok Fazla İstek

Neden: Oran sınırı aşıldı.

Düzeltme: Üstel geri çekilme uygulayın:

async function sendWithRetry(email, retries = 3) {
  for (let i = 0; i < retries; i++) {
    const response = await sendEmail(email)
    if (response.status === 429) {
      await sleep(Math.pow(2, i) * 1000)
    } else {
      return response
    }
  }
  throw new Error('Oran sınırı aşıldı')
}

404 Kişi bulunamadı

Neden: Var olmayan bir kişiyi güncellemeye çalışılıyor.

Düzeltme: Kişi oluştururken updateEnabled: true kullanın:

{
  "email": "new@example.com",
  "updateEnabled": true
}

Bu, kişiyi oluşturur veya günceller.

Alternatifler ve Karşılaştırmalar

Özellik Brevo SendGrid Mailchimp Postmark
Fiyatlandırma Günde 300 e-posta ücretsiz Günde 100 e-posta ücretsiz Ayda 500 e-posta ücretsiz Ayda 100 e-posta ücretsiz
Pazarlama e-postaları Evet Evet Evet Hayır
İşlemsel e-postalar Evet Evet Sınırlı Evet (uzmanlaşmış)
SMS Evet Hayır Hayır Hayır
Otomasyon Evet Evet Evet Sınırlı
Şablon düzenleyici Görsel + kod Kod Görsel Kod

Brevo, rekabetçi fiyatlarla birleşik e-posta ve SMS desteğiyle öne çıkıyor.

Gerçek Dünya Kullanım Senaryoları

E-ticaret sipariş akışı. Bir online mağaza Brevo'yu şunlar için kullanır: sipariş onayı (işlemsel), kargo bildirimi (işlemsel), terk edilmiş sepet kurtarma (pazarlama otomasyonu) ve haftalık promosyonlar (pazarlama kampanyaları). Hepsi tek bir entegrasyondan.

SaaS katılımı. Bir proje yönetimi aracı, işlemsel API aracılığıyla hoş geldiniz e-postaları, şifre sıfırlamaları ve ekip davetiyeleri gönderir. Pazarlama e-postaları, izin veren kullanıcılara yeni özellikleri duyurur.

SMS doğrulaması. Bir finans teknolojisi uygulaması, iki faktörlü kimlik doğrulama kodları için Brevo'nun SMS API'sini kullanır. İşlemsel SMS uç noktası kodları saniyeler içinde teslim eder ve web kancaları, yeniden deneme mantığı için teslimat hatalarını izler.

Sonuç

İşte öğrendikleriniz:

Sonraki adımlarınız:

  1. Bir Brevo hesabı oluşturun ve bir API anahtarı edinin
  2. İlk işlemsel e-postanızı gönderin
  3. Görsel düzenleyicide bir şablon oluşturun
  4. Geri dönenler ve abonelikten çıkanlar için web kancası işleyicilerini kurun
  5. Geliştirmede Apidog ile test edin

Brevo e-posta API'lerini Apidog ile test edin - ücretsiz

button

Sıkça Sorulan Sorular

Brevo ile Sendinblue arasındaki fark nedir?Aynı ürün, yeni isim. Sendinblue 2023'te Brevo olarak yeniden markalandı. API'ler hala api.brevo.com kullanıyor ancak eski belgelerde Sendinblue referanslarını göreceksiniz.

Ücretsiz kaç e-posta gönderebilirim?Ücretsiz planda günde 300 e-posta. Bu, ayda 9.000 e-posta demektir. Daha fazlası için, 20.000 e-posta için aylık 25 dolardan başlayan ücretli bir plana yükseltin.

Brevo'yu soğuk e-postalar için kullanabilir miyim?Teknik olarak evet, ancak riskli. Soğuk e-postaların geri dönüş ve spam oranları yüksektir. Brevo, gönderen itibarını izler. Yüksek şikayet oranları hesapların askıya alınmasına neden olur. Önce alan adınızı ısıtın ve e-posta en iyi uygulamalarını takip edin.

E-posta geri dönenlerini nasıl hallederim?bounced web kancalarını dinleyin. Kalıcı geri dönenler (geçersiz e-posta) kişileri kalıcı olarak kaldırmalıdır. Geçici geri dönenler (posta kutusu dolu, geçici sorunlar) yeniden denenebilir. Geri dönüş oranını takip edin - %5'i aşarsa, gönderen itibarınız düşer.

Pazarlama ve işlemsel e-postalar arasındaki fark nedir?İşlemsel e-postalar kullanıcı eylemleri (satın alımlar, kayıtlar) tarafından tetiklenir ve tek bir alıcıya gider. Pazarlama e-postaları, aynı anda birçok alıcıya gönderilen kampanyalardır. Brevo, teslim edilebilirlik ve uyumluluk nedenleriyle bunları ayırır.

Abonelikten çıkma bağlantısı nasıl eklenir?Brevo, pazarlama e-postalarına otomatik olarak abonelikten çıkma bağlantıları ekler. İşlemsel e-postalar için kendi bağlantınızı ekleyin:

<a href="{{ unsubscribe_url }}">Abonelikten çık</a>

Kendi alan adımdan e-posta gönderebilir miyim?Evet. SPF, DKIM ve DMARC kayıtlarını kurun. Brevo değerleri Ayarlar → Gönderen ve IP bölümünde sağlar. Uygun kimlik doğrulama olmadan, e-postalar spam kutusuna düşebilir.

E-postaları belirli bir saat diliminde nasıl zamanlarım?scheduledAt parametresini ISO 8601 zaman damgası ile kullanın:

{
  "scheduledAt": "2026-03-25T09:00:00-05:00"
}

Oran sınırına ulaşırsam ne olur?429 hatası alırsınız. Yanıt, sıfırlamaya kadar geçen saniye cinsinden X-RateLimit-Reset başlığını içerir. Üstel geri çekilme uygulayın veya e-postaları daha sonrası için sıraya koyun.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin