Developer workflows

Queues और jobs के लिए Batch PDF generation API

Queue-safe JSON Render या Template Render workflows से कई PDFs generate करें, जबकि chunking, retries, idempotency और storage आपका system own करे.

PRIMARY API Template Render
ENDPOINT /api/v1/template-render
SYSTEMS job queue / SaaS backend / ERP export service / billing worker
काम जो पूरा करना है

Queue या scheduled job से कई PDFs render करें: काम को safe requests में split करें, हर document या template data item gPdf को भेजें, और returned PDF को अपने system में store या deliver करें.

यह API कब इस्तेमाल करें

  • आपको scheduled या event-driven batch में invoices, statements, labels या reports generate करने हैं.
  • आपके पास stable template है और endpoint limits के अंदर multiple data items भेज सकते हैं.
  • Browser workers चलाए बिना queue-friendly rendering चाहिए.
  • आप deduplication, retries और output storage own कर सकते हैं.

यह क्या replace नहीं करता

  • आप gPdf को अपना batch scheduler, queue, storage system या idempotency ledger बनाना चाहते हैं.
  • आपको published rate-limit headers या server-side idempotency-key contract चाहिए.
  • आप एक unbounded request में पूरे campaign के हर document को render करना चाहते हैं.

कौन सा endpoint call करें

PRIMARY

/api/v1/template-render

Template Render इस workflow का default path है।

SECONDARY 1

/api/v1/pdf/render

जब workflow को related API path, template contract या capabilities lookup चाहिए, तब इसका उपयोग करें।

Minimal request

POST /api/v1/template-render - दो invoice data items वाला छोटा batch.

{
  "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": []
    }
  ]
}

gPdf क्या handle करता है

  • हर JSON Render या Template Render request के लिए PDF rendering.
  • Documented public limits के अंदर Template Render data arrays.
  • Queue workers के लिए fast stateless render responses.
  • Shared request ID और error envelope behavior.

आपका system क्या संभालता है

  • Queue design, chunking, concurrency, retries, deduplication और output storage.
  • Business object selection, template choice और delivery workflow.
  • Partial failure के बाद backoff policy, alerting और recovery.

Production checklist

  1. Work को ऐसे chunk करें कि हर request documented item और payload limits के अंदर रहे.
  2. हर request के लिए एक X-Request-Id generate करें और उसे अपने job ID से map करें.
  3. सिर्फ network या 5xx failures को bounded exponential backoff के साथ retry करें.
  4. Payload बदले बिना 4xx validation failures retry न करें.
  5. Output PDFs या source data को अपनी retention policy के हिसाब से store करें.

Claim boundaries

  • gPdf render API है, queue या storage layer नहीं.
  • Public API आज rate-limit headers या server-side idempotency keys publish नहीं करती.
  • Retries को safe बनाना आपके system की जिम्मेदारी है.

Batch generation एक integration pattern है

Batch PDF generation अलग endpoint नहीं है. यह वह तरीका है जिससे आपकी queue public render APIs use करती है. Jobs को छोटा, observable और retry-safe रखें.

Repeated layouts के लिए Template Render अक्सर सबसे clean contract देता है. Custom layouts वाले programmatic documents के लिए JSON Render उपलब्ध रहता है.

FAQ

क्या gPdf अलग batch job API देता है?
अलग batch scheduler expose नहीं है. अपने queue या worker system से JSON Render या Template Render call करें.
क्या Template Render multiple data items स्वीकार करता है?
हाँ, public endpoint limits के अंदर. बड़े jobs को multiple requests में split करें.
Retries कौन own करता है?
Retries, backoff, deduplication और idempotency आपका system own करता है. gPdf traceability के लिए request IDs echo करता है.
क्या एक request में कई अलग layouts render कर सकता हूँ?
जब layouts या template IDs अलग हों, तो separate requests use करें. हर request simple और traceable रखें.