Développeurs

Webhooks

Recevez un rappel HTTP JSON clair dès qu’un article est prêt, et chaque fois que son statut change.

Événements

Deux événements, chacun déclenché à une étape précise de votre pipeline de campagnes.

article.readyÀ la fin de la rédaction

Envoyé une fois qu'un article est rédigé et passe la revue automatique — votre signal pour le publier.

article.status_changedAu changement de statut

Envoyé lorsque le statut d'un article change dans TrafficWins, par exemple lors de sa publication ou de son archivage.

Charge utile

Chaque événement envoie ce corps JSON en POST. Les deux événements partagent la même structure.

{
  "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"
  }
}

En-têtes de requête

TrafficWins envoie du JSON clair via HTTPS avec ces en-têtes.

POST /your-endpoint  HTTP/1.1
Content-Type: application/json
User-Agent: TrafficWins-Webhooks/1.0

Configurer

Ajoutez l’URL de votre endpoint dans TrafficWins, dans les réglages de publication de votre site. Nous publierons chaque événement en JSON clair.

Ouvrir TrafficWins

Commencez avec un seul site

Pointez-le vers votre site. Lisez les premiers brouillons demain.

Démarrez un abonnement, connectez un site et laissez TrafficWins rechercher, planifier, rédiger et réviser votre première campagne — les articles d'abord, le social ensuite. Aucune clé d'API d'IA distincte requise.

Ouvrir TrafficWins

Essai gratuit de 3 jours · annulable à tout moment