Brevo APIs für SMS Marketing nutzen

Ashley Innocent

Ashley Innocent

24 March 2026

Brevo APIs für SMS Marketing nutzen

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

TL;DR

Mit den Brevo APIs können Sie Marketing-E-Mails, Transaktions-E-Mails und SMS-Nachrichten programmgesteuert versenden. Sie authentifizieren sich mit einem API-Schlüssel, senden Anfragen an api.brevo.com und verwenden Webhooks, um Zustellung und Engagement zu verfolgen. Verwenden Sie für Tests Apidog, um Payloads zu validieren, Webhook-Handler zu testen und sicherzustellen, dass Ihre Integration Bounces und Abmeldungen korrekt verarbeitet.

Einleitung

Brevo (ehemals Sendinblue) verarbeitet täglich Millionen von E-Mails für über 500.000 Unternehmen. Es verwaltet Marketingkampagnen, Transaktions-E-Mails, SMS-Marketing und Automatisierungs-Workflows.

E-Mail-APIs scheinen einfach zu sein – eine Nachricht senden, fertig. Produktions-E-Mail-Systeme müssen jedoch Bounces, Spam-Beschwerden, Abmeldungen und Zustellzeiten handhaben. Brevo verwaltet diese Komplexität, damit Sie es nicht tun müssen.

Die API deckt drei Hauptanwendungsfälle ab:

💡
Wenn Sie E-Mail in Ihre App integrieren, hilft Apidog Ihnen, Vorlagen zu testen, Webhook-Payloads zu validieren und sicherzustellen, dass Ihre Integration über alle E-Mail-Clients hinweg funktioniert. Sie können die Antworten von Brevo während der Entwicklung simulieren und die Fehlerbehandlung testen, ohne echte E-Mails zu versenden.
Schaltfläche
Schaltfläche

Authentifizierung und Einrichtung

API-Schlüssel abrufen

  1. Melden Sie sich bei Brevo an
  2. Gehen Sie zu SMTP & API → API-Schlüssel
  3. Erstellen Sie einen neuen Schlüssel mit entsprechenden Berechtigungen
  4. Speichern Sie ihn sicher

Der API-Schlüssel wird im api-key Header übergeben:

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

API-Basis-URL

Alle Anfragen gehen an:

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

Ratenbegrenzungen

Brevo begrenzt Anfragen je nach Plan:

Überprüfen Sie den X-RateLimit-Remaining Header, um die Nutzung zu verfolgen.

Transaktions-E-Mails senden

Transaktions-E-Mails sind individuelle Nachrichten, die durch Benutzeraktionen ausgelöst werden. Denken Sie an Passwortzurücksetzungen, Bestellbestätigungen, Willkommens-E-Mails.

Eine einfache E-Mail senden

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": "Your App",
      "email": "noreply@yourapp.com"
    },
    "to": [
      {
        "email": "user@example.com",
        "name": "John Doe"
      }
    ],
    "subject": "Welcome to Our Platform",
    "htmlContent": "<html><body><h1>Welcome!</h1><p>Thanks for signing up.</p></body></html>",
    "textContent": "Welcome! Thanks for signing up."
  }'

Antwort:

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

Vorlagen verwenden

Erstellen Sie Vorlagen im visuellen Editor von Brevo und senden Sie sie dann per ID:

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"
    }
  }'

Vorlagenvariablen verwenden doppelte geschweifte Klammern:

<p>Hallo {{params.name}},</p>
<p>Ihre Bestellung {{params.order_number}} wurde versandt.</p>
<p><a href="{{params.tracking_url}}">Verfolgen Sie Ihr Paket</a></p>

Mit Anhängen senden

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: 'Your App', email: 'noreply@yourapp.com' },
    to: [{ email: 'user@example.com' }],
    subject: 'Your Invoice',
    htmlContent: '<p>Bitte finden Sie Ihre Rechnung im Anhang.</p>',
    attachment: [
      {
        name: 'invoice.pdf',
        content: base64EncodedPdfContent
      }
    ]
  })
})

Marketingkampagnen

Marketing-E-Mails gehen an Kontaktlisten. Brevo verwaltet Abmeldelinks, Planung und Analysen.

Eine Kampagne erstellen

curl -X POST "https://api.brevo.com/v3/emailCampaigns" \
  -H "api-key: your-api-key" \
  -H "content-type: application/json" \
  -d '{
    "name": "March Newsletter",
    "subject": "What'\''s New in March",
    "sender": {
      "name": "Your Brand",
      "email": "newsletter@yourbrand.com"
    },
    "type": "classic",
    "htmlContent": "<html><body>Newsletter content here...</body></html>",
    "recipients": {
      "listIds": [12, 15]
    },
    "scheduledAt": "2026-03-25T09:00:00+00:00"
  }'

Sofort senden

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

Kampagnenstatistiken abrufen

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

Die Antwort enthält:

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

Kontaktverwaltung

Kontakte sind die Personen, denen Sie E-Mails senden. Organisieren Sie sie in Listen und fügen Sie benutzerdefinierte Attribute hinzu.

Einen Kontakt erstellen

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
  }'

Das Flag updateEnabled: true aktualisiert bestehende Kontakte anstatt fehlzuschlagen.

Kontaktdetails abrufen

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

Zu Liste hinzufügen

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"]
  }'

Aus Liste entfernen

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"]
  }'

Einen Kontakt abmelden

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-Marketing

Brevo versendet SMS-Nachrichten weltweit über seine SMS-API.

Eine SMS senden

curl -X POST "https://api.brevo.com/v3/transactionalSMS/sms" \
  -H "api-key: your-api-key" \
  -H "content-type: application/json" \
  -d '{
    "sender": "YourApp",
    "recipient": "+15551234567",
    "content": "Your verification code is: 123456",
    "type": "transactional"
  }'

Marketing-SMS senden

curl -X POST "https://api.brevo.com/v3/transactionalSMS/sms" \
  -H "api-key: your-api-key" \
  -H "content-type: application/json" \
  -d '{
    "sender": "YourBrand",
    "recipient": "+15551234567",
    "content": "Flash sale! 50% off today only. Reply STOP to unsubscribe.",
    "type": "marketing"
  }'

SMS-Statistiken abrufen

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

Webhooks zur Nachverfolgung

Webhooks benachrichtigen Ihre App über E-Mail-Ereignisse: zugestellt, geöffnet, geklickt, gebounced, abgemeldet.

Webhooks konfigurieren

Im Brevo-Dashboard: Einstellungen → Webhooks → Webhook hinzufügen

Zu verfolgende Ereignisse:

Webhook-Payload verarbeiten

app.post('/webhooks/brevo', (req, res) => {
  const event = req.body
  
  switch (event.event) {
    case 'delivered':
      console.log(`E-Mail ${event.messageId} zugestellt an ${event.email}`)
      break
    case 'opened':
      console.log(`E-Mail geöffnet von ${event.email} am ${event.date}`)
      break
    case 'bounced':
      console.log(`Bounce: ${event.email} - ${event.reason}`)
      // Kontakt als ungültig markieren
      markContactBounced(event.email)
      break
    case 'spam':
      console.log(`Spam-Beschwerde von ${event.email}`)
      // Aus allen Listen entfernen
      removeFromAllLists(event.email)
      break
    case 'unsubscribed':
      console.log(`Abgemeldet: ${event.email}`)
      break
  }
  
  res.status(200).send('OK')
})

Testen mit Apidog

E-Mail-APIs weisen komplexe Fehlermodi auf. Sie müssen Vorlagen, Bounces und Webhooks testen. Apidog hilft dabei.

1. E-Mail-Versand simulieren

Senden Sie während der Entwicklung keine echten E-Mails. Simulieren Sie die Antwort:

pm.test('E-Mail-API akzeptiert gültige Payload', () => {
  const response = pm.response.json()
  pm.expect(response).to.have.property('messageId')
  pm.expect(response.messageId).to.match(/<.*@relay\.brevo\.com>/)
})

2. Webhook-Verarbeitung testen

Erstellen Sie simulierte Webhook-Payloads in Apidog:

{
  "event": "bounced",
  "email": "invalid@example.com",
  "messageId": "<12345@relay.brevo.com>",
  "reason": "hard_bounce",
  "date": "2026-03-24T12:00:00Z",
  "subject": "Welcome to Our Platform"
}

Senden Sie es an Ihren Webhook-Endpunkt und überprüfen Sie, ob Ihr Code es verarbeitet.

3. Vorlagen validieren

Speichern Sie Vorlagen-Payloads und testen Sie, ob Variablen korrekt ersetzt werden:

pm.test('Vorlagenvariablen sind gültig', () => {
  const payload = pm.request.body.toJSON()
  pm.expect(payload.params).to.have.property('name')
  pm.expect(payload.params).to.have.property('order_number')
})

4. Umgebungstrennung

# Entwicklung
BREVO_API_KEY: xkeysib-dev-xxx
BREVO_SENDER: dev@yourapp.com

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

Testen Sie Brevo E-Mail APIs mit Apidog – kostenlos

Häufige Fehler und Behebungen

400 Bad Request – Erforderliches Feld fehlt

Ursache: Payload fehlen erforderliche Felder.

Behebung: Überprüfen Sie die Fehlermeldung auf Details:

{
  "code": "invalid_parameter",
  "message": "sender.email is required"
}

401 Unauthorized

Ursache: Ungültiger oder fehlender API-Schlüssel.

Behebung: Überprüfen Sie, ob der api-key Header korrekt gesetzt ist. Überprüfen Sie, ob der Schlüssel nicht widerrufen wurde.

402 Payment Required

Ursache: Konto hat Limits überschritten oder es fehlen Guthaben.

Behebung:

429 Too Many Requests

Ursache: Ratenbegrenzung überschritten.

Behebung: Implementieren Sie exponentielles Backoff:

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('Rate limit exceeded')
}

404 Contact not found

Ursache: Versuch, einen nicht existierenden Kontakt zu aktualisieren.

Behebung: Verwenden Sie updateEnabled: true beim Erstellen von Kontakten:

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

Dies erstellt oder aktualisiert den Kontakt.

Alternativen und Vergleiche

Funktion Brevo SendGrid Mailchimp Postmark
Preise 300 E-Mails/Tag kostenlos 100 E-Mails/Tag kostenlos 500 E-Mails/Monat kostenlos 100 E-Mails/Monat kostenlos
Marketing-E-Mails Ja Ja Ja Nein
Transaktions-E-Mails Ja Ja Eingeschränkt Ja (spezialisiert)
SMS Ja Nein Nein Nein
Automatisierung Ja Ja Ja Eingeschränkt
Vorlagen-Editor Visuell + Code Code Visuell Code

Brevo zeichnet sich durch kombinierten E-Mail- und SMS-Support zu wettbewerbsfähigen Preisen aus.

Praktische Anwendungsfälle

E-Commerce-Bestellablauf. Ein Online-Shop verwendet Brevo für: Bestellbestätigung (transaktional), Versandbenachrichtigung (transaktional), Wiederherstellung abgebrochener Warenkörbe (Marketing-Automatisierung) und wöchentliche Werbeaktionen (Marketingkampagnen). Alles aus einer Integration.

SaaS-Onboarding. Ein Projektmanagement-Tool sendet Willkommens-E-Mails, Passwortzurücksetzungen und Teameinladungen über die Transaktions-API. Marketing-E-Mails informieren angemeldete Benutzer über neue Funktionen.

SMS-Verifizierung. Eine Fintech-App verwendet die SMS-API von Brevo für Zwei-Faktor-Authentifizierungscodes. Der transaktionale SMS-Endpunkt liefert Codes innerhalb von Sekunden, und Webhooks verfolgen Zustellfehler für die Wiederholungslogik.

Fazit

Hier ist, was Sie gelernt haben:

Ihre nächsten Schritte:

  1. Erstellen Sie ein Brevo-Konto und erhalten Sie einen API-Schlüssel
  2. Senden Sie Ihre erste Transaktions-E-Mail
  3. Erstellen Sie eine Vorlage im visuellen Editor
  4. Richten Sie Webhook-Handler für Bounces und Abmeldungen ein
  5. Testen Sie mit Apidog in der Entwicklung

Testen Sie Brevo E-Mail APIs mit Apidog – kostenlos

Schaltfläche

FAQ

Was ist der Unterschied zwischen Brevo und Sendinblue?Gleiches Produkt, neuer Name. Sendinblue wurde 2023 in Brevo umbenannt. APIs verwenden immer noch api.brevo.com, aber Sie werden in älteren Dokumentationen Verweise auf Sendinblue finden.

Wie viele E-Mails kann ich kostenlos versenden?300 E-Mails pro Tag im kostenlosen Plan. Das sind 9.000 E-Mails pro Monat. Für mehr E-Mails können Sie auf einen kostenpflichtigen Plan upgraden, der ab 25 $/Monat für 20.000 E-Mails erhältlich ist.

Kann ich Brevo für Cold Emails verwenden?Technisch ja, aber es ist riskant. Cold Emails haben hohe Bounce- und Spam-Raten. Brevo überwacht die Absenderreputation. Hohe Beschwerderaten führen zur Sperrung von Konten. Wärmen Sie Ihre Domain zuerst auf und befolgen Sie die Best Practices für E-Mails.

Wie gehe ich mit E-Mail-Bounces um?Hören Sie auf bounced Webhooks. Hard Bounces (ungültige E-Mail) sollten Kontakte dauerhaft entfernen. Soft Bounces (Postfach voll, temporäre Probleme) können erneut versucht werden. Verfolgen Sie die Bounce-Rate – wenn sie 5 % übersteigt, sinkt Ihre Absenderreputation.

Was ist der Unterschied zwischen Marketing- und Transaktions-E-Mails?Transaktions-E-Mails werden durch Benutzeraktionen (Käufe, Anmeldungen) ausgelöst und gehen an einen Empfänger. Marketing-E-Mails sind Kampagnen, die gleichzeitig an viele Empfänger gesendet werden. Brevo trennt sie aus Gründen der Zustellbarkeit und Compliance.

Wie füge ich einen Abmeldelink hinzu?Brevo fügt Marketing-E-Mails automatisch Abmeldelinks hinzu. Für Transaktions-E-Mails fügen Sie Ihren eigenen Link hinzu:

<a href="{{ unsubscribe_url }}">Abmelden</a>

Kann ich E-Mails von meiner eigenen Domain versenden?Ja. Richten Sie SPF-, DKIM- und DMARC-Einträge ein. Brevo stellt die Werte unter Einstellungen → Absender & IP bereit. Ohne ordnungsgemäße Authentifizierung können E-Mails im Spam landen.

Wie plane ich E-Mails in einer bestimmten Zeitzone?Verwenden Sie den Parameter scheduledAt mit einem ISO 8601 Zeitstempel:

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

Was passiert, wenn ich das Ratenlimit erreiche?Sie erhalten einen 429-Fehler. Die Antwort enthält den X-RateLimit-Reset Header mit den Sekunden bis zum Zurücksetzen. Implementieren Sie exponentielles Backoff oder stellen Sie E-Mails für später in die Warteschlange.

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen