article.readyAl termine della scritturaInviato quando un articolo è stato scritto e supera la revisione automatica: il segnale per pubblicarlo.
Sviluppatori
Ricevi una callback HTTP con JSON in chiaro appena un articolo è pronto e ogni volta che cambia stato.
Due eventi, ciascuno attivato in una fase precisa della pipeline delle campagne.
article.readyAl termine della scritturaInviato quando un articolo è stato scritto e supera la revisione automatica: il segnale per pubblicarlo.
article.status_changedAl cambio di statoInviato quando lo stato di un articolo cambia in TrafficWins, ad esempio quando lo pubblichi o lo archivi.
Ogni evento invia questo corpo JSON tramite POST. Entrambi gli eventi hanno la stessa struttura.
{
"event": "article.ready",
"orgId": "org_8c2f1a…",
"timestamp": "2026-06-15T12:34:56.000Z",
"article": {
"id": "art_3b9a7d…",
"campaignId": "cmp_71d4e0…",
"campaign": {
"id": "cmp_71d4e0…",
"name": "Office ergonomics",
"language": "en",
"websiteId": "site_8142…"
},
"contentPlan": {
"id": "plan_f40a…",
"itemId": "item_901c…",
"topicClusterId": "cluster_ba52…",
"topicClusterTitle": "Standing desk buyer fit",
"role": "pillar",
"contentRole": "buyer guide",
"funnelStage": "mofu",
"primaryKeyword": "standing desk",
"plannedForDate": "2026-06-15"
},
"title": "How to Choose a Standing Desk",
"slug": "how-to-choose-a-standing-desk",
"status": "draft",
"description": "A practical buyer's guide to height, stability, and budget.",
"content": "# How to Choose a Standing Desk\n\n## Check the fit first\n\nStart with…",
"tldr": "Choose by fit, stability, and budget.",
"keyTakeaways": ["Check height range", "Check stability"],
"keywords": ["standing desk", "ergonomics"],
"language": "en",
"articleType": "pillar",
"category": "office-ergonomics",
"tags": ["standing desk", "ergonomics"],
"frontmatterDate": "2026-06-15",
"author": "TrafficWins Team",
"wordCount": 1840,
"readingTimeMinutes": 10,
"readingTimeText": "10 min read",
"reviewScore": null,
"reviewVerdict": "PASS",
"qualitySummary": "No hard failures remain.",
"qualityFailedChecks": [],
"heroImageUrl": "https://cdn.trafficwins.com/articles/3b9a/hero.png",
"heroImageAlt": "A height-adjustable standing desk in a bright office",
"images": [
{
"kind": "hero",
"url": "https://cdn.trafficwins.com/articles/3b9a/hero.png",
"alt": "A height-adjustable standing desk in a bright office",
"caption": null,
"contentType": "image/png",
"byteSize": 102400,
"base64": "iVBORw0KGgo…",
"dataUrl": "data:image/png;base64,iVBORw0KGgo…"
}
],
"files": {
"llmTxt": {
"fileName": "how-to-choose-a-standing-desk.llm.txt",
"contentType": "text/plain",
"encoding": "utf-8",
"content": "# How to Choose a Standing Desk\n\nDescription: …"
},
"jsonLd": {
"contentType": "application/ld+json",
"encoding": "utf-8",
"content": "{\"@context\":\"https://schema.org\",\"@graph\":[…]}"
}
},
"createdAt": "2026-06-15T12:00:00.000Z",
"updatedAt": "2026-06-15T12:34:55.000Z"
}
}TrafficWins invia JSON in chiaro via HTTPS con queste intestazioni.
POST /your-endpoint HTTP/1.1
Content-Type: application/json
User-Agent: TrafficWins-Webhooks/1.0Aggiungi l’URL del tuo endpoint in TrafficWins, nelle impostazioni di pubblicazione del sito. Invieremo ogni evento come JSON in chiaro.
Apri TrafficWinsInizia con un solo sito
Avvia un abbonamento, collega un sito e lascia che TrafficWins ricerchi, pianifichi, scriva e revisioni la tua prima campagna — prima gli articoli, poi i social. Nessuna chiave API di IA separata richiesta.
Apri TrafficWinsProva gratuita di 3 giorni · annulli quando vuoi