Postiva'nın Mimarisi: Resmi Instagram ve TikTok API'leriyle Self-Hosted Yayın Masası
Zamanlanmış paylaşım kadar basit bir iş için koltuk başı SaaS fiyatlarından ve üçüncü taraf token'lardan yorulduk. Postiva'yı bu yüzden geliştirdik: medyayı takvime sürükleyen ve platformların resmi API'leri üzerinden otomatik yayınlayan self-hosted bir kokpit. İşte mimari, asla çift paylaşım yapmayan kuyruk tasarımı ve resmi API'lerin izin verdikleri ile vermedikleri.
— YazanHalil Berkay SahinHer sosyal medya planlama SaaS'ı aylık koltuk ücreti, OAuth token'larınızın kendi sunucularında durmasını ve bir upsell yolu istiyor. Kendi birkaç hesabını yöneten bir operatör için bu takas kötü: bir cron job için sonsuza dek ödüyorsunuz ve marka hesaplarınızın anahtarlarını üçüncü tarafa veriyorsunuz. Postiva bizim cevabımız: bir kez, kendi sunucunuza kurduğunuz ve platformların resmi API'leriyle doğrudan konuşan bir yayın masası. Bu yazı nasıl çalıştığının dökümü.
Ürün yüzeyi bilinçli olarak küçük. Medya tepsisi yüklenen fotoğraf ve videoları taslak olarak tutuyor. Birincil arayüz haftalık takvim: bir taslağı Perşembe 18:00'e sürükleyin, zamanlanmış bir işe dönüşsün. Ekip katmanı yok, onay akışı yok, büyüme danışmanı taklidi yapan analitik panosu yok. Tek operatör, kendi hesapları, bir kuyruk. Kapsamı bu kadar sert kesmek, ürünün tamamını çeyrekler değil haftalar içinde göndermeyi mümkün kılan şeydi.
Yayınlama yalnızca resmi kanallardan geçiyor: Meta Graph platformundaki Instagram içerik yayınlama API'si ve TikTok Content Posting API. Tarayıcı kuklası yok, tersine mühendislik yapılmış gizli endpoint yok, session-cookie numarası yok. Resmi API'ler daha kısıtlayıcı (hangi medya formatlarına, en-boy oranlarına ve başlık uzunluklarına izin verildiğini onlar tanımlıyor) ama stabiller, dokümante edilmişler ve hesabınızı bansız bırakıyorlar. Gerçek marka hesaplarına dokunan bir araç için bu takas pazarlık konusu değil.
Sistemin kalbi yayın kuyruğu ve tasarım hedefi tek cümle: bir paylaşım tam olarak bir kez, doğru zamanda çıkmalı ya da sesli şekilde başarısız olmalı. Her zamanlanmış paylaşım idempotency anahtarlı bir işe dönüşüyor. Worker işi üstleniyor, her fazı checkpoint'liyor (medya yükleme, container oluşturma, publish çağrısı, doğrulama) ve platformun döndürdüğü medya ID'sini kaydediyor. Süreç yayının ortasında ölürse, tekrar deneme son checkpoint'ten devam ediyor ve önce platformu kontrol ediyor: paylaşım zaten varsa iş yeniden paylaşmadan tamamlanıyor. Çift paylaşım bir planlayıcının yaşayabileceği en utanç verici hata ve bunu önleyen şey bu checkpoint artı doğrulama döngüsü.
Hız limiti global değil, hesap bazlı. Instagram hesap başına günlük içerik yayınlama çağrılarını sınırlıyor; TikTok'un kendi pencereleri var. Her hesap bir token bucket alıyor ve zamanlayıcı platformun kabul edeceğinden fazlasını kuyruğa almayı reddediyor; çatışmayı gece 3'te sessizce hata vermek yerine takvimde sürükleme anında gösteriyor. Operatörün planlama anında görebildiği hatalar kimseyi uyandırmayan hatalardır.
Token'lar mücevher; bu yüzden operatörün sunucusundan hiç çıkmıyorlar. OAuth token'ları bekleme halinde şifreli, yenileme hata uyarılarıyla otomatik ve uygulama yalnızca operatörün bizzat bağladığı hesapları yönetiyor. Postiva bilinçli olarak multi-tenant bir SaaS değil: paylaşılan token kasası yok, müşteriler arası patlama alanı yok, kimin kimin adına paylaştığına dair kullanım şartları gri bölgesi yok.
Tek AI özelliği yerini hak etti: hesap bazlı sesle başlık taslağı. Her hesabın kısa bir ses profili var (ton, dil, emoji politikası, hashtag politikası) ve asistan, operatörün kendi LLM API anahtarını kullanarak yüklenen medyadan bir başlık taslağı çıkarıyor. Operatör düzenliyor ve onaylıyor; hiçbir metin görülmeden otomatik yayınlanmıyor. Kendi-anahtarını-getir modeli maliyetleri şeffaf tutuyor ve bizi token saymacılığı işinin dışında bırakıyor.
Bu projenin 2026'da yap-ya da-satın-al kararına söylediği şu: bir SaaS kategorisinin çekirdeği bir zamanlayıcı, bir kuyruk ve iki API entegrasyonuysa, self-hosting teknik operatörler için rasyonel bir seçenek haline geldi. Zor kısımlar (idempotent kuyruklar, OAuth yenileme, hız limiti modelleme) iyi anlaşılmış mühendislik. İşiniz böyle bir araç üzerinde dönüyorsa, ona doğrudan sahip olmak bir yıllık koltuk ücretinden ucuz olabilir. Kendi iş akışınız için yapılmış bir tane isterseniz, bizim işimiz tam olarak bu; ürünün tam hikâyesi Postiva sayfasında.
- 01Çekirdek bir zamanlayıcı artı iki API entegrasyonuysa self-hosted, SaaS'ı yener: bir kez ödersiniz, token'lara sahip olursunuz ve koltuk ücreti koşu bandından inersiniz.
- 02Yalnızca resmi platform API'leri. Scraping veya tarayıcı otomasyonundan daha kısıtlayıcı ama stabil, dokümante ve gerçek marka hesapları için güvenli.
- 03Kuyruk ürünün kendisi: idempotency anahtarları, faz bazlı checkpoint'ler ve tekrar-denemeden-önce-doğrula döngüsü bir paylaşımın tam bir kez çıkmasını garanti eden şeyler.
- 04Hız limiti çatışmalarını gece 3'te yayın anında değil, planlama anında takvimde gösterin.
- 05AI başlık yazımı, hesap bazlı ses profilli, kendi-anahtarını-getir modelli bir asistan olarak çalışıyor; insan onayı için taslak, asla görülmeden otomatik yayın yok.
Postiva kaydolabileceğim bir SaaS mi?
Hayır. Postiva tasarım gereği tek operatörlü: özel olarak kurulur ve işletilir, yalnızca operatörünün sahip olduğu hesapları yönetir ve token'ları operatörün kendi sunucusunda şifreli saklar. Kendi hesaplarınız veya ajans iş akışınız için benzer bir yayın masası isterseniz, bu tür operatör araçlarını müşteri projesi olarak geliştiriyoruz.
Otomatik paylaşım Instagram veya TikTok hesabımın banlanma riskini doğurur mu?
Resmi API'lerden geçtiği sürece hayır. Postiva, hesap bazlı hız limitiyle Instagram içerik yayınlama API'si ve TikTok Content Posting API üzerinden paylaşır; zamanlanmış yayın için onaylı yol budur. Hesapları banlatan şey tarayıcı otomasyonu, session-cookie numaraları ve tersine mühendislik yapılmış gizli endpoint'lerdir ve Postiva bunların hiçbirini kullanmaz.
Postiva bir paylaşımın asla iki kez yayınlanmadığını nasıl garanti ediyor?
Her zamanlanmış paylaşım idempotency anahtarlı bir iştir ve yayın worker'ı her fazı checkpoint'ler: medya yükleme, container oluşturma, publish çağrısı, doğrulama. Herhangi bir tekrar denemede worker önce kayıtlı medya ID'siyle platforma paylaşımın zaten var olup olmadığını sorar. Varsa iş yeniden paylaşmadan tamamlanır. Tam-bir-kez yayınlama bir umut değil, kuyruk tasarımı özelliğidir.
AI başlıkları otomatik yazıp yayınlayabiliyor mu?
Taslak çıkarır, asla kendisi göndermez. Asistan, hesabın ses profilini ve operatörün kendi LLM API anahtarını kullanarak yüklenen medyadan bir başlık üretir; operatör takvimde düzenler ve onaylar. Metinle ilgili hiçbir şey bir insan görmeden yayınlanmaz.
Postiva gibi bir araç hangi stack ile yapılıyor?
Desen, iş kuyruklu ve küçük worker'lı bir TypeScript web uygulaması: kokpit arayüzü için Next.js, durum için Postgres, yayın işleri için checkpoint'li kuyruk ve şifreli token saklama. Aynı mimari, zamanlamayla hız limitli üçüncü taraf API'lerle konuşan her operatör aracına uyar; bizden istenen iç araçların büyük bir kısmı tam olarak bu şekildedir.
Bunu projenize uygulayalım.
15 dakikalık ücretsiz görüşme. Satış konuşması değil, teknik değerlendirme.