Runbook: preparare un Campaign Draft
Quando usarlo
Usare questo runbook per creare un Campaign Draft provider e caricare separatamente HTML e testo canonici, senza scheduling o delivery.
Prerequisiti
- Issue published, approved e quality-passing;
- identità con
campaign:draft; - target presente nel catalogo server-owned;
- provider mode noto;
- nessun Campaign Draft attivo duplicato;
- autorizzazione esplicita per le operazioni live, se applicabile.
Procedura
- Selezionare l'Issue dalla coda degli Issue pubblicati.
- Leggere history, aggregate, attempt e
availableActions. - Se
prepareè disponibile, scegliere il target e i metadati temporali richiesti. - Confermare che la preparazione non schedula o invia.
- Eseguire
prepareuna volta. - Rileggere aggregate e attempt.
- Se
content_uploadè disponibile, confermare l'upload separato. - Eseguire
content_uploaduna volta. - Rileggere stato ed evidenza sanitizzata.
- Terminare senza usare scheduling, test send o delivery.
Verifiche attese
- attempt distinti per
prepareecontent_upload; - provider mode corretto;
- provider draft presente solo quando autorevole;
- aggregate
content_uploadeddopo l'upload; - target esposto solo come alias e riferimento mascherato;
- nessun scheduling o send.
Condizioni di stop
Fermarsi su Issue non eleggibile, target assente, duplicate active campaign,
azione non proiettata, attempt unknown, provider mode inatteso o evidenza
incompleta.
Rollback o recupero
Non cancellare o riscrivere un attempt terminale. Se il server proietta un retry, creare un nuovo attempt collegato. Su ambiguità usare diagnostica provider.
Evidenza da conservare
- Issue e target sicuro;
- aggregate e attempt;
- provider mode;
- stato terminale e codice sanitizzato;
- parent del retry eventuale;
- conferma che scheduling, delivery e destinatari sono rimasti fuori scope.