Newsletter Campaign Endpoint

v2.8.0 · CRUD · Newsletter Campaigns

Newsletter Campaigns

Manage newsletter campaigns with multi-language support, locked and 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

MethodEndpointScopeDescription
GET/Export/JSON/newslettersnewsletters:readList all campaigns (with filters)
GET/Export/JSON/newsletter/{id}newsletters:readRetrieve a single campaign (all language versions)
POST/Import/JSON/newslettersnewsletters:writeCreate a new campaign (multi-language)
PUT/Import/JSON/newslettersnewsletters:writeUpdate existing campaign
DELETE/Delete/JSON/newsletter/{id}newsletters:deleteDelete campaign (safety checks)

Query filter (Export)

ParametersDescriptionExample
?status=1Filter by status0 = Draft, 1 = Active
?language_id=1Specific language version onlyLanguage ID

Multi-language format

Campaigns use the nested " languages" format, consistent with all other 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

Campaigns with `locked=1 ` cannot be updated or deleted. Response: 409 LOCKED

Sent Check

Campaigns with newsletters_sent entries(newsletters that have already been sent) cannot be deleted. Response: 409 HAS_SENT_ENTRIES


Example: Create a campaign

# POST - New newsletter campaign
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"
        }
      }
    }]
  }'

Manage newsletter campaigns via the xoPort REST API. Multi-language support, locked and sent safety checks, composite primary key. Available since version 2.8.0.