Gestione delle campagne di newsletter tramite l'API REST di xoPort. Formato multilingue, controlli di sicurezza "Locked" e "Sent", chiave primaria composita. Disponibile a partire dalla versione 2.8.0.
Punto finale della campagna della newsletter
v2.8.0 · CRUD · Campagne newsletter
Campagne newsletter
Gestione delle campagne newsletter con formato multilingue, controlli di sicurezza "Locked" e "Sent". Chiave primaria composita (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}Endpoint
| Metodo | Endpoint | Ambito | Descrizione |
|---|---|---|---|
| GET | /Export/JSON/newsletters | newsletters:read | Elenca tutte le campagne (con filtri) |
| GET | /Esporta/JSON/newsletter/{id} | newsletters:read | Recupera una singola campagna (tutte le versioni linguistiche) |
| POST | /Import/JSON/newsletters | newsletters:write | Crea una nuova campagna (multilingue) |
| PUT | /Import/JSON/newsletters | newsletters:write | Aggiorna campagna esistente |
| DELETE | /Elimina/JSON/newsletter/{id} | newsletters:delete | Elimina campagna (controlli di sicurezza) |
Filtri di query (Esportazione)
| Parametri | Descrizione | Esempio |
|---|---|---|
?status=1 | Filtra per stato | 0 = Bozza, 1 = Attivo |
?language_id=1 | Solo una determinata versione linguistica | ID lingua |
Formato multilingue
Le campagne utilizzano il formato "languages" annidato, in linea con tutti gli altri endpoint:
{
"newsletters_id": 1,
"languages": {
"de": {
"title": "Sommer-Newsletter 2026",
"content": "Willkommen
...",
"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": "Welcome
..."
}
}
}Controlli di sicurezza
Controllo "locked"
Le campagne con locked=1 non possono essere né aggiornate né eliminate. Risposta: 409 LOCKED
Controllo "Sent"
Le campagne con voci newsletters_sent(newsletter già inviate) non possono essere eliminate. Risposta: 409 HAS_SENT_ENTRIES
Esempio: creazione di una campagna
# POST - Nuova campagna newsletter
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": "Frühlings-Angebote
Entdecken Sie unsere neuen Produkte!
",
"module": "default"
}
}
}]
}'