Newsletter-Kampagnen über die xoPort REST API verwalten. Multi-Language-Format, Locked- und Sent-Safety-Checks, Composite Primary Key. Verfügbar seit Version 2.8.0.
Newsletter-Kampagnen-Endpunkt
v2.8.0 · CRUD · Newsletter-Kampagnen
Newsletter Campaigns
Newsletter-Kampagnen verwalten mit Multi-Language-Format, Locked- und Sent-Safety-Checks. Composite Primary Key (newsletters_id + language_id).
GET /Export/JSON/newsletters
GET /Export/JSON/newsletter/{id}
POST /Import/JSON/newsletters
PUT /Import/JSON/newsletters
DELETE /Delete/JSON/newsletter/{id}Endpoints
| Methode | Endpoint | Scope | Beschreibung |
|---|---|---|---|
| GET | /Export/JSON/newsletters | newsletters:read | Alle Kampagnen auflisten (mit Filtern) |
| GET | /Export/JSON/newsletter/{id} | newsletters:read | Einzelne Kampagne abrufen (alle Sprachversionen) |
| POST | /Import/JSON/newsletters | newsletters:write | Neue Kampagne anlegen (Multi-Language) |
| PUT | /Import/JSON/newsletters | newsletters:write | Bestehende Kampagne aktualisieren |
| DELETE | /Delete/JSON/newsletter/{id} | newsletters:delete | Kampagne löschen (Safety-Checks) |
Query-Filter (Export)
| Parameter | Beschreibung | Beispiel |
|---|---|---|
?status=1 | Nach Status filtern | 0 = Entwurf, 1 = Aktiv |
?language_id=1 | Nur bestimmte Sprachversion | Language-ID |
Multi-Language-Format
Kampagnen verwenden das verschachtelte languages-Format, konsistent mit allen anderen Endpoints:
{
"newsletters_id": 1,
"languages": {
"de": {
"title": "Sommer-Newsletter 2026",
"content": "<h1>Willkommen</h1>...",
"module": "default",
"status": 1,
"locked": 0,
"date_added": "2026-03-06 12:00:00",
"date_sent": "0000-00-00 00:00:00"
},
"en": {
"title": "Summer Newsletter 2026",
"content": "<h1>Welcome</h1>..."
}
}
}Safety-Checks
Locked-Check
Kampagnen mit locked=1 können weder aktualisiert noch gelöscht werden. Response: 409 LOCKED
Sent-Check
Kampagnen mit newsletters_sent-Einträgen (bereits versendete Newsletter) können nicht gelöscht werden. Response: 409 HAS_SENT_ENTRIES
Beispiel: Kampagne anlegen
# POST - Neue Newsletter-Kampagne
curl -X POST "https://shop.de/xpanel/xoport/Import/JSON/newsletters" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "newsletters",
"data": [{
"languages": {
"de": {
"title": "Frühlings-Newsletter 2026",
"content": "<h1>Frühlings-Angebote</h1><p>Entdecken Sie unsere neuen Produkte!</p>",
"module": "default"
}
}
}]
}'