Şablonlar
Şablonlar, sık kullandığınız içerik yapılarını kaydetmenizi sağlar. Tanımladığınız şablonları yeni gönderi oluştururken temel alabilirsiniz.
Şablon Oluştur
POST/v1/templates
Yeni bir gönderi şablonu oluşturur.
İstek Gövdesi
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name | string | Evet | Şablon adı (maks. 255 karakter) |
content | string | Evet | Şablon içeriği / metin |
platforms | string[] | Hayır | Hedef platform önerileri |
tags | string[] | Hayır | Şablon etiketleri |
Kod Örnekleri
Node.js
sablon-olustur.js
const response = await fetch('https://api.sosyalkopru.com/v1/templates', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Ürün Lansmanı Şablonu',
content: 'Heyecan verici bir haberimiz var! 🎉 {ÜRÜN_ADI} artık satışta. {AÇIKLAMA} #yeniürün #sosyalkopru',
platforms: ['instagram', 'facebook', 'linkedin'],
tags: ['lansman', 'urun'],
}),
})
const { data } = await response.json()
console.log('Şablon oluşturuldu:', data.id)Başarılı Yanıt (201 Created)
{
"success": true,
"data": {
"id": "tpl_01HZGK9P3QABC",
"name": "Ürün Lansmanı Şablonu",
"content": "Heyecan verici bir haberimiz var! 🎉 {ÜRÜN_ADI} artık satışta.",
"platforms": ["instagram", "facebook", "linkedin"],
"tags": ["lansman", "urun"],
"usageCount": 0,
"createdAt": "2025-06-10T12:00:00.000Z",
"updatedAt": "2025-06-10T12:00:00.000Z"
},
"meta": { "requestId": "req_01XYZ", "timestamp": "...", "version": "1" }
}Şablonları Listele
GET/v1/templates
Workspace’e ait şablonları listeler.
Query Parametreleri
| Parametre | Tip | Varsayılan | Açıklama |
|---|---|---|---|
page | integer | 1 | Sayfa numarası |
perPage | integer | 20 | Sayfa başına kayıt (maks: 100) |
search | string | — | İsim veya içerik araması |
tag | string | — | Etiket filtresi |
Kod Örnekleri
Node.js
sablon-listele.js
const response = await fetch(
'https://api.sosyalkopru.com/v1/templates?search=lansman',
{ headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}` } }
)
const { data } = await response.json()
data.forEach(t => console.log(`${t.id} ${t.name} (${t.usageCount}x kullanıldı)`))Şablon Detayı
GET/v1/templates/{id}
Node.js
sablon-detay.js
const response = await fetch(
`https://api.sosyalkopru.com/v1/templates/${templateId}`,
{ headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}` } }
)
const { data } = await response.json()
console.log(data.name, '\n', data.content)Şablon Güncelle
PATCH/v1/templates/{id}
İstek Gövdesi
| Alan | Tip | Açıklama |
|---|---|---|
name | string | Yeni şablon adı |
content | string | Yeni şablon içeriği |
platforms | string[] | Yeni platform listesi |
tags | string[] | Yeni etiket listesi |
Node.js
sablon-guncelle.js
const response = await fetch(
`https://api.sosyalkopru.com/v1/templates/${templateId}`,
{
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Ürün Lansmanı Şablonu v2',
tags: ['lansman', 'urun', 'guncellendi'],
}),
}
)
const { data } = await response.json()
console.log('Güncellendi:', data.updatedAt)Şablon Sil
DELETE/v1/templates/{id}
Node.js
sablon-sil.js
await fetch(`https://api.sosyalkopru.com/v1/templates/${templateId}`, {
method: 'DELETE',
headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}` },
})Şablondan Gönderi Oluşturma
Şablon içeriğini temel alarak gönderi oluştururken içeriği özelleştirebilirsiniz:
// 1. Şablonu al
const tplResponse = await fetch(
`https://api.sosyalkopru.com/v1/templates/${templateId}`,
{ headers: { 'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}` } }
)
const { data: sablon } = await tplResponse.json()
// 2. Şablon içeriğini özelleştir
const icerik = sablon.content
.replace('{ÜRÜN_ADI}', 'Yeni Özellik X')
.replace('{AÇIKLAMA}', 'Artık daha hızlı ve güvenli.')
// 3. Gönderi oluştur
await fetch('https://api.sosyalkopru.com/v1/posts', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SOSYALKOPRU_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
platforms: sablon.platforms,
content: { text: icerik },
accountIds: ['acc_01HZGK9P3QXYZ'],
scheduling: { publishAt: '2025-06-20T10:00:00Z' },
}),
})Şablonlar yalnızca içerik önerileridir — gönderiler her zaman POST /posts ile ayrıca oluşturulur. Şablon ile gönderi arasında otomatik bağlantı kurulmaz.
Last updated on