Gérer les campagnes de newsletter via l'API REST xoPort. Format multilingue, contrôles de sécurité « Locked » et « Sent », clé primaire composite. Disponible depuis la version 2.8.0.
Point final de la campagne de newsletter
Campagnes de newsletter
Gérer les campagnes de newsletter avec un format multilingue, des contrôles de sécurité « Locked » et « Sent ». Clé primaire composite (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}Points de terminaison
| Méthode | Point de terminaison | Portée | Description |
|---|---|---|---|
| GET | /Export/JSON/newsletters | newsletters:read | Lister toutes les campagnes (avec filtres) |
| GET | /Export/JSON/newsletter/{id} | newsletters:read | Récupérer une campagne spécifique (toutes les versions linguistiques) |
| POST | /Import/JSON/newsletters | newsletters:write | Créer une nouvelle campagne (multilingue) |
| PUT | /Import/JSON/newsletters | newsletters:write | Mettre à jour une campagne existante |
| DELETE | /Supprimer/JSON/newsletter/{id} | newsletters:delete | Supprimer une campagne (contrôles de sécurité) |
Filtres de requête (exportation)
| Paramètres | Description | Exemple |
|---|---|---|
?status=1 | Filtrer par statut | 0 = Brouillon, 1 = Actif |
?language_id=1 | Version linguistique spécifique uniquement | ID de langue |
Format multilingue
Les campagnes utilisent le format « languages » imbriqué, conformément à tous les autres points de terminaison :
{
"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
..."
}
}
}Contrôles de sécurité
Contrôle « locked »
Les campagnes avec locked=1 ne peuvent être ni mises à jour ni supprimées. Réponse : 409 LOCKED
Vérification « Sent »
Les campagnes comportant des entrées « newsletters_sent »(newsletters déjà envoyées) ne peuvent pas être supprimées. Réponse : 409 HAS_SENT_ENTRIES
Exemple : créer une campagne
# POST - Nouvelle campagne de 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"
}
}
}]
}'