n8n ve jekcms Yayın API'siyle İçerik Otomasyonu

jekcms yayın API'si n8n'e yalnızca birkaç iş akışı düğümüyle bağlanıyor; medya yüklemelerini yönetiyor, kategorileri ayarlıyor ve yayın takviminize uyuyor. Bu makale düğüm yapılandırmasını olduğu gibi paylaşıyor: istek formatı, kimlik doğrulama, hata yönetimi ve anında/zamanlanmış/taslak yayın arasındaki tercih dengesi.

n8n ve jekcms Yayın API'siyle İçerik Otomasyonu

jekcms yayın API'si n8n'e yalnızca birkaç iş akışı düğümüyle bağlanıyor; medya yüklemelerini yönetiyor, kategorileri ayarlıyor ve yayın takviminize uyuyor. Bu makale düğüm yapılandırmasını olduğu gibi paylaşıyor: istek formatı, kimlik doğrulama, hata yönetimi ve anında/zamanlanmış/taslak yayın arasındaki tercih dengesi.

Yayınlama ucu POST /api/v1/webhook/publish'tir (diğer iki yayın modu için kardeşleri webhook/draft ve webhook/schedule ile birlikte). title, content, author_id, category, featured_image (bir URL) ve schedule varyantı için isteğe bağlı ISO 8601 scheduled_at zaman damgası içeren JSON kabul eder. API anahtarı, api_tokens tablosuna karşı kontrol edilen X-API-Key başlığına girer. Başarılı oluşturma, yeni postun ID'sini ve genel URL'sini döndürür.

Minimal n8n İş Akışı Yapısı

n8n'de, minimal çalışan iş akışının dört düğümü vardır: kaynak içeriği getirmek için bir HTTP Request (OpenAI, bir RSS beslemesi veya kendi kaynağınızdan), yükü biçimlendirmek için bir Code düğümü, jekcms webhook ucunu çağırmak için bir HTTP Request ve hataları bir Slack bildirimine veya yeniden deneme kuyruğuna yönlendirmek için bir IF düğümü.

Ölçekte Medya Yönetimi

Medya yönetimi dikkatli bir inceleme hak ediyor. Bir featured_image URL'si geçirdiğinizde, jekcms API isteği sırasında onu eşzamanlı olarak getirir, AVIF'e dönüştürür ve yerel olarak saklar. Kaynak URL yanıt vermekte yavaşsa, tüm API isteğiniz bloke olur. Yüksek hacimli hatlar için, her yayınlama çağrısının harici bir görsel getirme işlemini beklemesi yerine, medyayı önceden yüklemek için özel webhook/media (URL-tabanlı) veya webhook/media-base64 (satır içi kodlanmış) uçlarını kullanın ve elde edilen medya referansını yayınlama çağrınızda geçirin.

Neler Yanlış Gidebilir

Otomatikleştirilmiş bir yayınlama hattındaki en yaygın hata modu, jekcms API'sinin kendisinden gelen bir hata değil, kaynak içerik getirmedeki bir ağ zaman aşımıdır. İş akışınızı, kaynak getirmelerinin ara sıra zaman aşımına uğrayacağını varsayarak tasarlayın: bu hataları her hatayı ölümcül saymak yerine bir yeniden deneme kuyruğuna veya Slack uyarısına yönlendirin. force_duplicate: false varsayılanı (aşağıya bakın), yeniden denenen bir isteğin aynı postun ikinci bir kopyasını oluşturamayacağı anlamına gelir; bu yüzden n8n'in yeniden deneme mekanizmasının bakıcısız çalışmasına izin vermek güvenlidir.

Tam n8n Düğüm Yapılandırması

İşte yayınlama çağrısı için HTTP Request düğümü yapılandırması. Content-Type başlığı application/json olmalı ve API anahtarı — sunucu erişim loglarında sonu gelecek bir sorgu parametresi olarak değil — her zaman X-API-Key başlığına girmeli.

// n8n HTTP Request Dugum Ayarlari
Method: POST
URL: https://siteniz.com/api/v1/webhook/publish
Authentication: None (baslik ile yonetilir)
Headers:
  X-API-Key: {{ $credentials.jekcmsApiKey }}
  Content-Type: application/json
Body (JSON):
{
  "title": "{{ $json.title }}",
  "content": "{{ $json.content }}",
  "author_id": 2,
  "category": "{{ $json.category }}",
  "featured_image": "{{ $json.image_url }}",
  "image_alt_text": "{{ $json.image_alt }}"
}

IF Düğümü ile Hata Yönetimi

API çağrısından sonraki IF düğümü {{ $json.success }}'u kontrol eder. Başarısızlıkta, hata dalı post başlığını ve hata mesajını içeren bir Slack mesajı gönderir. Özellikle 409 yinelenen hataları için, yinelenmeyi loglayan ama uyarmayan ayrı bir dala yönlendiriyoruz — bir içerik partisini yeniden işlerken yinelenenler beklenir.

Zamanlama ve Yayınlama Sıklığı

jekcms, webhook API üzerinden üç yayınlama modunu destekler:

  • Taslak modu (daha güvenli varsayılan): webhook/draft ucunu kullanın — post kaydedilir ama biri onu yönetim panelinden gözden geçirip yayınlayana kadar görünmez kalır. Bu, hiçbir insan önce bakmadan hiçbir şeyin canlıya çıkmaması için, herhangi bir yeni iş akışı veya kanıtlanmamış bir içerik kaynağı için doğru başlangıç noktasıdır.
  • Zamanlanmış yayın: ISO 8601 scheduled_at zaman damgasıyla (örn. 2026-03-01T09:00:00+03:00) webhook/schedule kullanın — jekcms o zamanda yayınlar. Kaynak içeriğe güvendiğinizde ve her postu tek tek gözden geçirmeden öngörülebilir zamanlama istediğinizde makuldür.
  • Anında yayın: doğrudan webhook/publish kullanın ve post, API çağrısı başarılı olduğu anda canlıya çıkar — gözden geçirme adımı yoktur. Kaynak içerik yanlış, markaya uygun değil veya düşük kaliteliyse, kimse görmeden canlıya çıkar. Bu modu, bir iş akışı taslak veya zamanlanmış yayınla kendini kanıtladıktan sonra geçilen bir şey olarak ele alın, başlangıç varsayılanı olarak değil.

Hangi modu seçerseniz seçin, karar size aittir: jekcms bir gözden geçirme kuyruğu zorunlu kılmaz, ama birini atlamanın riskini de gizlemez. Çoğu ekip için, her şeyi taslak veya zamanlanmış yayın üzerinden yönlendirmek — ve canlıya çıkmadan önce gözden geçirmek — bir hat kararlı hale geldikten sonra bile daha güvenli, uzun vadeli bir alışkanlıktır.

SEO amacıyla, her şeyi bir anda yayınlamak yerine zamanlanmış yayınları dağıtıyoruz — örneğin, Code düğümünü kullanarak ardışık zaman damgaları atayarak postları gün boyunca sabit aralıklarla yayıyoruz.

Kategori ve Etiket Otomasyonu

API, kategori adlarını string olarak kabul eder. Bir kategori mevcut değilse, jekcms onu üretilen bir slug ile otomatik olarak oluşturur. Etiketler de aynı şekilde çalışır — tags alanına bir string dizisi geçirin. Bu, n8n iş akışınızın sitenin mevcut kategori ID'lerini bilmesine gerek olmadığı anlamına gelir; sadece kaynak içerikten kategori adını geçirebilir ve arama veya oluşturmayı jekcms'e bırakabilirsiniz.

Webhook İmzalama

jekcms'in webhook uçlarını n8n'in kendisi olmayan, başka bir yerden olayları aktaran bir otomasyondan çağırıyorsanız, jekcms gelen bir X-Webhook-Signature başlığını doğrulayabilir — paylaşılan bir sırra karşı hesaplanan bir HMAC-SHA256 imzası. Bu tam bir imzalama/doğrulama çerçevesi değil, tek bir doğrulama katmanıdır; yükün paylaşılan sırrı bilen biri tarafından gönderildiğini ve iletim sırasında değiştirilmediğini teyit eder.

  • Yalnızca metin içeren bir post genellikle bir saniyenin çok altında yayınlanır.
  • Bir featured_image URL'si geçirmek, jekcms'in dosyayı getirmesi, AVIF'e dönüştürmesi ve saklaması için zaman ekler — bunun birkaç saniye sürmesini bekleyin, yavaş kaynak sunucularda veya büyük görsellerde daha fazla.
  • Hız sınırı: varsayılan olarak API anahtarı başına dakikada 100 istek (yapılandırılabilir), aşıldığında 429 durum kodu.

Yeniden Deneme Stratejisi ve Idempotency

Ağ hataları herhangi bir otomatikleştirilmiş hatta kaçınılmazdır, bu yüzden bir yeniden deneme stratejisini bilinçli olarak kurmaya değer.

force_duplicate: false varsayılanı geçerliyken jekcms webhook API'si idempotent'tir: n8n başarısız bir isteği yeniden denerse ve post ilk denemede aslında oluşturulmuşsa, API ikinci bir kopya oluşturmak yerine bir 409 yinelenen yanıtı döndürür. Bu, n8n'in yerleşik yeniden deneme mekanizmasını (Settings > Retry on Fail) az sayıda deneme ve denemeler arasında bir gecikmeyle, yinelenen içerik riski olmadan güvenle etkinleştirebileceğiniz anlamına gelir.

Yavaş bir kaynak sunucunun yanıt sürelerini on saniyeye veya daha fazlasına itebileceği görsel-ağırlıklı iş akışları için, HTTP Request düğümünün zaman aşımını buna göre artırın ve birkaç yeniden denemeye izin verin.

API seviyesinde yinelenen önleme ile iş akışı seviyesinde otomatik yeniden denemelerin birleşimi, içerik hattınızın elle müdahale olmadan geçici hatalardan kurtulabileceği anlamına gelir. Yeniden denemelerin düzeltemeyeceği tek hata modu, kalıcı olarak erişilemeyen bir kaynak URL'dir — bunları sonsuza kadar yeniden denemek yerine manuel gözden geçirmeye yönlendirin.

Hemen Sipariş Verin

Tek seferlik ödeme, ömür boyu erişim. Kurulum 30 dakika.

Fiyatlara Bak
  • 30 dakikada kurulum ve yayın
  • 14+ profesyonel tema
  • n8n otomasyon entegrasyonu
  • Otomatik SEO — Sitemap, Schema.org
  • iyzico ödeme entegrasyonu

Yeniliklerden ilk sen haberdar ol

Yeni özellikler, sürüm notları ve CMS rehberleri — ayda birkaç e-posta, spam yok.