Для разработчиков

Webhooks

Получайте HTTP callback с открытым JSON, когда статья готова и при каждом изменении статуса.

События

Два события, каждое срабатывает на определённом этапе вашего конвейера кампаний.

article.readyПо завершении написания

Отправляется, когда статья написана и проходит автоматическую проверку — сигнал к публикации.

article.status_changedПри изменении статуса

Отправляется при изменении статуса статьи в TrafficWins, например при публикации или архивировании.

Полезная нагрузка

Каждое событие отправляет это тело JSON методом POST. Оба события имеют одинаковую структуру.

{
  "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 отправляет открытый JSON через HTTPS с этими заголовками.

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

Настройка

Добавьте URL endpoint в TrafficWins в настройках публикации сайта. Мы будем отправлять каждое событие как открытый JSON.

Открыть TrafficWins

Начните с одного сайта

Укажите его на ваш сайт. Прочитайте первые черновики завтра.

Оформите подписку, подключите сайт и позвольте TrafficWins исследовать, спланировать, написать и проверить вашу первую кампанию — сначала статьи, затем соцсети. Отдельные API-ключи ИИ не нужны.

Открыть TrafficWins

3 дня бесплатно · отмена в любой момент