XPlanner

Docs

Posts and Scheduling

A platform-specific post lifecycle with draft, scheduled, and publish_now modes.


Gönderiler

Gönderi modları

POST /posts endpointinde mode alanı kaydın nasıl işleneceğini belirler.

draft

Panelde düzenlenebilir taslak olarak kalır.

scheduled

scheduledAt ile planlı yayın kuyruğuna girer.

publish_now

Sadece posts:publish scope'u varsa anında yayınlanır.

Planlama zamanı

scheduledAt ISO 8601 formatında UTC zaman damgası bekler. Geçmiş tarih 422 validation_error döner.

Gönderi planla

curl -X POST https://api.xplanner.co/v1/posts \  -H "Authorization: Bearer $XPLANNER_API_KEY" \  -H "Content-Type: application/json" \  -H "Idempotency-Key: post-scheduled-001" \  -d '{    "workspaceId": "wrk_123",    "socialSetId": "set_123",    "mode": "scheduled",    "scheduledAt": "2026-08-20T09:00:00.000Z",    "text": "Haftalık ürün güncellemesi hazır.",    "publishTargets": [      { "socialAccountId": "social_x_123", "platform": "x" },      { "socialAccountId": "social_threads_123", "platform": "threads" }    ]  }'

Medya kuralları

Medya geçerliliği yayın hedefi başına hesaplanır. Ortak içerik kullanan senkron hedefler de kendi platform sınırlarını korur.

Alt text maksimum 1000 karakterdir.

X en fazla 4 görsel veya tek GIF kabul eder.

LinkedIn görsel/GIF carousel veya tek video kurallarını uygular.

Threads görsel ve video carousel destekler; GIF kabul etmez.

Hedefe özel mediaRefs, ortak gönderi medya havuzunun alt kümesi olmalıdır.

Detay, güncelleme ve riskli aksiyonlar

Yeni detay endpointleriyle mevcut gönderiyi okuyabilir, PATCH ile güncelleyebilir, cancel ile planını iptal edebilir veya publish ile yayın kuyruğuna alabilirsin.

GET /posts/{id} posts:read ile tekil gönderi döndürür.

PATCH /posts/{id} posts:update ile çalışır.

POST /posts/{id}/cancel posts:schedule ile çalışır.

POST /posts/{id}/publish yalnızca posts:publish kabul eder.