API batch PDF generation untuk queue dan job
Generate banyak PDF melalui workflow JSON Render atau Template Render yang aman untuk queue, sementara sistem Anda mengelola chunking, retry, idempotensi, dan storage.
/api/v1/template-render Merender banyak PDF dari queue atau scheduled job dengan memecah pekerjaan menjadi request yang aman, mengirim setiap dokumen atau item data template ke gPdf, lalu menyimpan atau mengirim PDF yang dikembalikan di sistem Anda sendiri.
Kapan memakai API ini
- Anda perlu membuat invoice, statement, label, atau laporan dalam batch terjadwal atau event-driven.
- Anda memiliki template stabil dan dapat mengirim beberapa item data dalam batas endpoint.
- Anda membutuhkan render yang ramah queue tanpa menjalankan browser worker.
- Anda dapat mengelola deduplikasi, retry, dan storage output.
Apa yang tidak digantikan
- Anda membutuhkan gPdf sebagai batch scheduler, queue, storage system, atau ledger idempotensi.
- Anda membutuhkan rate-limit headers yang dipublikasikan atau kontrak server-side idempotency-key.
- Anda membutuhkan satu request tanpa batas untuk merender semua dokumen dalam campaign.
Endpoint yang dipanggil
/api/v1/template-render
Template Render adalah jalur default untuk workflow ini.
/api/v1/pdf/render
Gunakan saat workflow butuh jalur API terkait, kontrak template, atau capability lookup.
Request minimal
POST /api/v1/template-render - batch kecil dengan dua item data invoice.
{
"template_id": "invoice",
"data": [
{
"invoice_number": "INV-2026-101",
"date_of_issue": "2026-05-29",
"bill_to_name": "Buyer A",
"subtotal": "$50.00",
"total": "$50.00",
"amount_due": "$50.00",
"items": []
},
{
"invoice_number": "INV-2026-102",
"date_of_issue": "2026-05-29",
"bill_to_name": "Buyer B",
"subtotal": "$75.00",
"total": "$75.00",
"amount_due": "$75.00",
"items": []
}
]
}
Yang ditangani gPdf
- Render PDF untuk setiap request JSON Render atau Template Render.
- Array data Template Render dalam batas publik yang terdokumentasi.
- Respons render stateless yang cepat dan cocok untuk queue worker.
- Perilaku request ID dan error envelope yang sama.
Yang dikelola sistem Anda
- Desain queue, chunking, concurrency, retry, deduplikasi, dan storage output.
- Pemilihan objek bisnis, pilihan template, dan workflow delivery.
- Kebijakan backoff, alerting, dan recovery setelah kegagalan parsial.
Checklist produksi
- Pecah pekerjaan agar setiap request tetap berada dalam batas item dan payload yang terdokumentasi.
- Generate satu X-Request-Id per request dan petakan ke job ID Anda.
- Retry hanya kegagalan jaringan atau 5xx dengan bounded exponential backoff.
- Jangan retry kegagalan validasi 4xx tanpa mengubah payload.
- Simpan output PDF atau source data sesuai kebijakan retensi Anda.
Batas klaim
- gPdf adalah render API, bukan lapisan queue atau storage.
- API publik saat ini tidak memublikasikan rate-limit headers atau server-side idempotency keys.
- Sistem Anda harus membuat retry aman.
Batch generation adalah pola integrasi
Batch PDF generation bukan endpoint terpisah. Ini adalah cara queue Anda memakai render API publik. Jaga job tetap kecil, observable, dan aman untuk retry.
Untuk layout berulang, Template Render biasanya memberi kontrak paling bersih. Untuk dokumen programatik dengan layout kustom, JSON Render tetap tersedia.
FAQ
- Apakah gPdf menyediakan API batch job?
- Tidak ada batch scheduler terpisah yang diekspos. Gunakan JSON Render atau Template Render dari queue atau sistem worker Anda sendiri.
- Bisakah Template Render menerima beberapa item data?
- Ya, dalam batas endpoint publik. Pecah job yang lebih besar ke beberapa request.
- Siapa yang mengelola retry?
- Sistem Anda mengelola retry, backoff, deduplikasi, dan idempotensi. gPdf menggemakan request ID untuk traceability.
- Bisakah saya merender banyak layout berbeda dalam satu request?
- Gunakan request terpisah ketika layout atau template ID berbeda. Jaga setiap request tetap sederhana dan mudah dilacak.