Transaktionale API

Veröffentlichte transaktionale Vorlagen an einen Empfänger senden.

Veröffentlichte transaktionale Vorlagen an einen Empfänger senden.

Endpunkt

MethodePfad
POST/api/v1/transactional

Authentifizierung

Erfordert einen API-Key im Authorization-Header mit dem Scope transactional:send. Anfragen ohne gültigen Key mit diesem Scope werden mit 401/403 abgelehnt.

Request-Body

Geben Sie entweder transactionalId oder slug an.

{
  "slug": "order-confirmation",
  "email": "john@example.com",
  "dataVariables": {
    "firstName": "John",
    "orderNumber": "ORD-12345"
  },
  "language": "en",
  "attachments": [
    {
      "filename": "invoice.pdf",
      "url": "https://example.com/invoices/12345.pdf",
      "contentType": "application/pdf"
    }
  ]
}

Felder:

  • transactionalId oder slug (erforderlich, eines von beiden)
  • email (erforderlich)
  • dataVariables (optionales Objekt)
  • language (optionaler Sprachcode, z. B. en, de, en-US)
  • attachments (optionales Array) — Dateianhänge, die der E-Mail beigefügt werden

Anhänge

Jedes Anhang-Objekt hat die folgenden Felder:

FeldTypErforderlichBeschreibung
filenamestringJaDer Dateiname, der dem Empfänger angezeigt wird
contentstringEntweder content oder urlBase64-kodierter Dateiinhalt
urlstringEntweder content oder urlURL, von der die Datei abgerufen wird
contentTypestringNeinMIME-Typ (z. B. application/pdf, image/png)

Limits:

  • Maximal 10 Anhänge pro E-Mail
  • Maximal 10 MB Gesamtgröße der Anhänge

Antwort

Angenommene Sendungen liefern den Status „queued“ zurück:

{
  "data": {
    "status": "queued",
    "email": "john@example.com",
    "transactionalEmailId": "j57...",
    "slug": "order-confirmation",
    "contactId": "j58...",
    "contactCreated": true,
    "language": "en"
  }
}

transactionalEmailId ist die ID des Sendedatensatzes, der für diese Anfrage angelegt wurde (eine Zeile in transactionalSends), nicht die ID der Vorlage. Verwenden Sie sie, um die Anfrage mit Zustellungs-Webhooks zu korrelieren.

Reihenfolge der Sprachauflösung

  1. Explizites language in der Anfrage
  2. Bevorzugte Sprache des Kontakts (sofern der Empfänger existiert)
  3. Standardsprache der Vorlage
  4. Fallback-Standard

Validierungs- und Zustellprüfungen

  • Die Vorlage muss existieren und den Status published haben
  • Die Vorlage muss gerenderten HTML-Inhalt besitzen
  • Die Versanddomain muss verifiziert sein
  • dataVariables werden, sofern vorhanden, gegen das Schema der Vorlage validiert