Şablonları listele
Şablon nedir
Şablon, seçtiğiniz bir kod altında saklanan bir belge tasarımıdır. Aynı anda iki hayatı vardır: düzenlemeye devam ettiğiniz taslak ve üretimin kullandığı yayımlanmış sürüm. Kaydetmek yayımlamak değildir; yarım kalan bir değişiklik müşterinize ulaşmaz.
Çalışma alanınızdaki şablonları ve yayınlanmış sürüm numaralarını döner. Üretim çağrısında şablonun kodunu kullanırsınız.
curl https://api.pdfgine.com/api/v1/templates \
-H "X-PDFgine-Key: $PDFGINE_KEY"
[
{
"templateId": "tpl_eca4c9985ad74913902f0469469936a1",
"code": "invoice",
"name": "Kurumsal Fatura",
"version": 5,
"publishedVersion": 1,
"publishedAt": "2026-08-23T08:23:21+00:00"
}
]
Sayfa numarası biçimi
Sayfa numarası öğesinin içeriği bir biçimdir: {{ page }} bulunduğu sayfanın numarasına, {{ pages }} toplam sayfa sayısına dönüşür. “{{ page }} / {{ pages }}” yazarsanız belge “3 / 12” basar — PDF'te sayfa sayaçlarıyla, Word çıktısında PAGE ve NUMPAGES alan kodlarıyla; yani sayfa eklendiğinde ikisi de kendiliğinden güncellenir. İçerikte yer tutucu yoksa metin yok sayılır ve yalnız sayfa numarası basılır.
Bir sürümü kaydetmek
Kayıt, düzenlediğinizi sandığınız sürümü de taşır. Arada başkası kaydettiyse yanıt 409 olur ve güncel sürümü söyler; böylece hiçbir şey sessizce üzerine yazılmaz.
curl -X POST https://api.pdfgine.com/api/v1/templates \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-H "Content-Type: application/json" \
-d '{
"code": "invoice",
"name": "Kurumsal Fatura",
"saveMode": "manual",
"expectedVersion": 5,
"changeReason": "Logo sağ kenar boşluğuna taşındı.",
"definition": {
"page": { "size": "A4", "orientation": "portrait" },
"elements": [
{ "type": "text", "text": "Kurumsal Fatura", "fontSize": 24 }
]
}
}'
HTTP/1.1 409 Conflict
{
"type": "https://pdfgine.dev/problems/template-conflict",
"templateCode": "invoice",
"currentVersion": 6,
"currentDraftRevision": 0
}
expectedVersion isteğe bağlıdır ama önerilir: onsuz son yazan kazanır ve önceki değişiklik iz bırakmadan kaybolur.
Sık takılınan yerler
- 409, körlemesine yeniden denenecek bir hata değildir. currentVersion'ı okuyun, yeni tanımı alın, değişikliğinizi onun üzerine uygulayın ve yeniden kaydedin.
- Kaydetmek yayımlamak değildir. Üretim, siz taslağı yayımlayana kadar son yayımlanmış sürümü kullanmaya devam eder.
- Liste en çok 200 şablon döndürür. Daha fazlası varsa yanıt rel="next" taşıyan bir Link başlığıyla gelir; ilk sayfayı kütüphanenin tamamı saymak yerine onu izleyin.
- Okumak templates:read, kaydetmek templates:write ister. Salt okunur bir anahtar kayıtta 401 değil 403 alır.
- Kod, diğer bütün çağrıların şablonu bulma yoludur. Şablonu yeniden adlandırmak serbesttir; kodunu değiştirmek yeni bir şablon demektir.