Creare e inviare campagna
Flusso test → schedule → send con POST /campaigns.
Questa guida copre il ciclo completo: dalla bozza all'invio effettivo, inclusi test e programmazione.
Scope richiesti: campaigns:read e campaigns:write.
Crea la campagna in DRAFT
POST /campaignscontemplateVersionIdeaudienceFilter. La campagna parte in statoDRAFT.Invia un test (opzionale)
POST /campaigns/:id/testa 1–5 indirizzi di prova. La campagna resta inDRAFT.Programma o invia subito
POST /campaigns/:id/scheduleper data futura, oppurePOST /campaigns/:id/sendper invio immediato.Monitora le statistiche
GET /campaigns/:idperstatsin tempo reale durante il fan-out.
1. Creare la campagna
curl -X POST "https://api.mailingcore.com/campaigns" \
-H "Authorization: Bearer mc_live_xxxx" \
-H "X-Tenant-Id: clxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "Newsletter giugno",
"templateVersionId": "clxversion...",
"timezone": "Europe/Rome",
"audienceFilter": { "locale": "it", "optIn": true }
}'
2. Invio di prova
POST /campaigns/:id/test
{
"emails": ["[email protected]", "[email protected]"]
}
- Da 1 a 5 indirizzi validi (duplicati ignorati, case-insensitive).
- Non cambia lo stato della campagna (
DRAFTrestaDRAFT). - Non avvia il fan-out; conta comunque nella quota mensile.
- Risposta:
{ campaignId, sent, rejected, results: [{ email, status, id }] }.
3. Programmare l'invio
POST /campaigns/:id/schedule
{
"scheduledAt": "2026-07-01T09:00:00.000Z",
"timezone": "Europe/Rome"
}
La campagna passa da DRAFT a SCHEDULED. All'ora indicata parte il fan-out asincrono.
4. Invio immediato
POST /campaigns/:id/send
Disponibile da DRAFT o SCHEDULED. La campagna entra in SENDING e poi SENT al completamento.
5. Annullare
POST /campaigns/:id/cancel
Annulla prima o durante l'invio. Lo stato diventa CANCELLED.
Modifiche in bozza
PATCH /campaigns/:id funziona solo in DRAFT. Puoi cambiare nome, template, filtro audience o subject.