Skip to Content

Kuyruk

Yayın kuyruğu, belirli günler ve saatler için önceden tanımlanmış zaman slotlarına gönderileri otomatik olarak atar. “Her Salı 10:00 ve Perşembe 14:00’te yayınla” gibi tekrar eden programlar oluşturabilirsiniz.


Kuyruk Oluştur

POST/v1/queue

Yeni bir yayın kuyruğu tanımı oluşturur.

İstek Gövdesi

AlanTipZorunluVarsayılanAçıklama
namestringEvetKuyruk adı (maks. 100 karakter)
descriptionstringHayırKuyruk açıklaması
modestringHayırsyncsync (tüm platformlara aynı anda) veya per_platform
timezonestringHayırEurope/IstanbulZaman dilimi
workspaceIdstringHayırHedef workspace (belirtilmezse ilk aktif workspace)
slotsobject[]HayırZaman slotları
slots[].dayOfWeekintegerEvetHaftanın günü (0=Pazar, 1=Pazartesi, …, 6=Cumartesi)
slots[].localTimestringEvetYayın saati — HH:MM formatı
slots[].socialAccountIdstringHayırBelirli bir hesaba pin etmek için

Kod Örnekleri

kuyruk-olustur.js
const response = await fetch('https://api.sosyalkopru.com/v1/queue', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ name: 'Haftalık Instagram Programı', description: 'Salı ve Perşembe sabah postları', timezone: 'Europe/Istanbul', slots: [ { dayOfWeek: 2, localTime: '10:00' }, // Salı 10:00 { dayOfWeek: 2, localTime: '18:00' }, // Salı 18:00 { dayOfWeek: 4, localTime: '10:00' }, // Perşembe 10:00 { dayOfWeek: 4, localTime: '16:00' }, // Perşembe 16:00 ], }), }) const { data } = await response.json() console.log('Kuyruk oluşturuldu:', data.id) console.log(`${data.slots.length} slot tanımlandı`)

Başarılı Yanıt (201 Created)

{ "success": true, "data": { "id": "q_01HZGK9P3QABC", "workspaceId": "ws_01HZGK9P3QABC", "name": "Haftalık Instagram Programı", "description": "Salı ve Perşembe sabah postları", "mode": "sync", "timezone": "Europe/Istanbul", "isActive": true, "isPaused": false, "slots": [ { "id": "slot_01XYZ", "dayOfWeek": 2, "localTime": "10:00", "socialAccountId": null }, { "id": "slot_02XYZ", "dayOfWeek": 2, "localTime": "18:00", "socialAccountId": null }, { "id": "slot_03XYZ", "dayOfWeek": 4, "localTime": "10:00", "socialAccountId": null }, { "id": "slot_04XYZ", "dayOfWeek": 4, "localTime": "16:00", "socialAccountId": null } ], "createdAt": "2025-06-10T12:00:00.000Z" }, "meta": { "requestId": "req_01XYZ", "timestamp": "...", "version": "1" } }

Kuyrukları Listele

GET/v1/queue

Query Parametreleri

ParametreTipVarsayılanAçıklama
pageinteger1Sayfa numarası
perPageinteger20Sayfa başına kayıt (maks: 50)
workspaceIdstringWorkspace filtresi
activebooleantrue / false
kuyruk-listele.js
const response = await fetch('https://api.sosyalkopru.com/v1/queue?active=true', { headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}` }, }) const { data } = await response.json() data.forEach(q => { const pausedStr = q.isPaused ? ' [DURAKLADI]' : '' console.log(`${q.name}${pausedStr} — ${q.slotCount} slot, ${q.pendingEntries} bekleyen`) })

Kuyruk Detayı

GET/v1/queue/{id}
kuyruk-detay.js
const response = await fetch( `https://api.sosyalkopru.com/v1/queue/${queueId}`, { headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}` } } ) const { data } = await response.json() console.log(`${data.name} — ${data.isPaused ? 'DURAKLADI' : 'AKTİF'}`)

Kuyruk Güncelle / Duraklat

PATCH/v1/queue/{id}

Kuyruk adını, slotlarını güncelleyin veya kuyruğu duraklatın/devam ettirin.

İstek Gövdesi

AlanTipAçıklama
namestringYeni kuyruk adı
descriptionstringYeni açıklama
isPausedbooleantrue ile duraklat, false ile devam et
pausedReasonstringDuraklatma nedeni (opsiyonel)
slotsobject[]Slotları tamamen yeniler (mevcut slotlar silinir)
kuyruk-guncelle.js
// Kuyruğu duraklat const pauseResponse = await fetch( `https://api.sosyalkopru.com/v1/queue/${queueId}`, { method: 'PATCH', headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ isPaused: true, pausedReason: 'Bayram tatili nedeniyle geçici durduruldu', }), } ) // Kuyruğu devam ettir const resumeResponse = await fetch( `https://api.sosyalkopru.com/v1/queue/${queueId}`, { method: 'PATCH', headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ isPaused: false }), } )

Kuyruk Sil

DELETE/v1/queue/{id}
await fetch(`https://api.sosyalkopru.com/v1/queue/${queueId}`, { method: 'DELETE', headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}` }, })

Kuyruk Girdilerini Listele

GET/v1/queue/{id}/entries

Kuyruktaki gönderileri sıralı olarak döner.

Query Parametreleri

ParametreTipAçıklama
statusstringpending scheduled locked published failed paused cancelled
kuyruk-girdiler.js
const response = await fetch( `https://api.sosyalkopru.com/v1/queue/${queueId}/entries?status=pending`, { headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}` } } ) const { data } = await response.json() data.forEach((e, i) => { console.log(`${i + 1}. ${e.post.title ?? e.post.id} [${e.status}]`) if (e.assignedPublishAt) { console.log(` Yayın: ${new Date(e.assignedPublishAt).toLocaleString('tr-TR')}`) } })

Başarılı Yanıt

{ "success": true, "data": [ { "id": "entry_01HZGK9P3QABC", "queueId": "q_01HZGK9P3QABC", "postId": "post_01HZGK9P3QABC", "post": { "id": "post_01HZGK9P3QABC", "title": "Ürün Lansmanı", "content": "Heyecan verici bir haberimiz var...", "status": "draft" }, "orderIndex": 1, "status": "pending", "assignedPublishAt": "2025-06-17T07:00:00.000Z", "lockedAt": null, "createdAt": "2025-06-10T12:00:00.000Z" } ], "meta": { "requestId": "req_01XYZ", "timestamp": "...", "version": "1" }, "pagination": { "page": 1, "perPage": 20, "total": 8, "totalPages": 1 } }

Kuyruğa Gönderi Ekle

POST/v1/queue/{id}/entries

Mevcut bir gönderiyi kuyruğa ekler.

İstek Gövdesi

AlanTipZorunluAçıklama
postIdstringEvetKuyruğa eklenecek gönderi ID’si
orderIndexintegerHayırSıra indeksi (belirtilmezse sona eklenir)
kuyrug-girdi-ekle.js
const response = await fetch( `https://api.sosyalkopru.com/v1/queue/${queueId}/entries`, { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ postId: 'post_01HZGK9P3QABC' }), } ) const { data } = await response.json() console.log('Eklendi:', data.id, '— Sıra:', data.orderIndex)

Duraklatılmış (isPaused: true) bir kuyruğa gönderi eklenemez — 409 Conflict hatası döner.


Kuyruk Girdisi Sil

DELETE/v1/queue/{id}/entries/{entryId}
await fetch( `https://api.sosyalkopru.com/v1/queue/${queueId}/entries/${entryId}`, { method: 'DELETE', headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}` }, } )

Girdi Statüleri

StatüAçıklama
pendingBir sonraki uygun slota atanmayı bekliyor
scheduledBelirli bir slota atandı, yayın zamanı belli
lockedYayın yaklaşıyor, değişiklik kilitlendi
publishedBaşarıyla yayınlandı
failedYayın başarısız oldu
pausedKuyruk duraklatıldığı için beklemeye alındı
cancelledİptal edildi

Haftanın Günleri

DeğerGün
0Pazar
1Pazartesi
2Salı
3Çarşamba
4Perşembe
5Cuma
6Cumartesi
Last updated on