Services

Mail – Template anlegen

Lege ein Mail‑Template an, optional mit Markenzuordnung und SMTP‑Default.

Route

  • Methode: POST
  • URL: /api/mail/create-template
  • Auth: x-api-key (Header)

Request

  • name: string
  • subject: string
  • html: string
  • variables: object|string (optional)
  • brandId: string (optional)
  • smtpAccountId: string (optional)

/api/mail/create-template (POST)

{
  "name": "Welcome",
  "subject": "Hallo {{name}}",
  "html": "<h1>Willkommen {{name}}</h1>",
  "variables": {
    "name": "Du"
  },
  "brandId": "BRAND_ID",
  "smtpAccountId": "SMTP_ID"
}
curl -X POST "https://dev.nuvisphere.de/api/mail/create-template" \
  -H "Content-Type: application/json" \
  -H "x-api-key: API_KEY"
  -d '{
  "name": "Welcome",
  "subject": "Hallo {{name}}",
  "html": "<h1>Willkommen {{name}}</h1>",
  "variables": {
    "name": "Du"
  },
  "brandId": "BRAND_ID",
  "smtpAccountId": "SMTP_ID"
}'
// server-side (Node/Next.js)
const res = await fetch("https://dev.nuvisphere.de/api/mail/create-template", {
  method: "POST",
  headers: {
    "content-type": "application/json",
    "x-api-key": process.env.MAILER_API_KEY!,

  },
  body: JSON.stringify({
  "name": "Welcome",
  "subject": "Hallo {{name}}",
  "html": "<h1>Willkommen {{name}}</h1>",
  "variables": {
    "name": "Du"
  },
  "brandId": "BRAND_ID",
  "smtpAccountId": "SMTP_ID"
}),
});
if (!res.ok) throw new Error(`Request failed ${res.status}`);
const json = await res.json();
  • API Key niemals im Browser verwenden – nur serverseitig (z. B. process.env.MAILER_API_KEY).
  • Lässt du optionale Felder weg, nutzt die API ggf. Template-/Defaultwerte.

Response

{
  "ok": true,
  "id": "TEMPLATE_ID"
}