Webhook'lar
Yeni taslak hazır olduğunda bildirim alın — ardından tam yazıyı API ile çekin.
Entegrasyonlar'da webhook URL ve gizli anahtar yapılandırın. Taslak hazır olduğunda slug ve getirme ipuçlarıyla article.ready POST ederiz. Backend HMAC doğrular, ardından contentHtml için GET /posts/{slug} çağırır.
Olaylar
article.ready— Kalite kontrolünden geçmiş taslak hazır — slug ile API'den tam HTML çekinwebhook.test— POST /api/v1/webhooks/test çağrıldığında gönderilir
İmza doğrulama
X-GrowthDaily-Timestamp (Unix saniye) ve X-GrowthDaily-Signature göndeririz (webhook gizli anahtarınızla `{timestamp}.{rawBody}` için hex HMAC-SHA256).
import { createHmac, timingSafeEqual } from "crypto";
function verify(secret, rawBody, timestamp, signatureHex) {
const expected = createHmac("sha256", secret)
.update(`${timestamp}.${rawBody}`)
.digest("hex");
const a = Buffer.from(expected, "utf8");
const b = Buffer.from(signatureHex, "utf8");
if (a.length !== b.length) return false;
return timingSafeEqual(a, b);
}{
"event": "article.ready",
"siteId": "uuid",
"postId": "uuid",
"slug": "my-post",
"title": "My post",
"trustScore": 94,
"qualityBand": "premium",
"assuranceLabel": "High confidence",
"language": "en",
"sourcePostId": null,
"status": "draft",
"at": "2026-07-21T12:00:00.000Z",
"fetch": {
"path": "/api/v1/sites/{siteId}/posts/{slug}",
"hint": "GET with Bearer token to import contentHtml"
}
}article.ready sonrası
Payload'daki slug'ı (veya fetch.path) kullanarak GET /api/v1/sites/{siteId}/posts/{slug} çağırın. contentHtml, seo ve faqJsonLd'yi CMS'inize aktarın — kendi takviminizde yayınlayın.
Teslimat garantileri
Her olay tek bir HTTP POST ile ve 8 saniyelik zaman aşımıyla gönderilir. Başarısız teslimatlar otomatik yeniden denenmez. Başarısız webhook yeni taslakları engellemez. Tüm denemeler Entegrasyonlar → Son teslimatlar altında kayıtlıdır.
Tekrarlanabilir (idempotent) işleyiciler
Hızlıca HTTP 2xx döndürün. postId (veya siteId + slug) ile çift kayıt oluşmasını önleyin. Bir olayı kaçırırsanız GET /posts ve updatedAfter ile yakalayın — API referansına bakın.
Teslimat günlüğü
Başarı ve hata satırları entegrasyon panelinde HTTP durumu ve zaman damgasıyla görünür.