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