Developer workflow

Queue ও job-এর জন্য Batch PDF generation API

Queue-safe JSON Render বা Template Render workflow দিয়ে অনেক PDF তৈরি করুন; chunking, retry, idempotency ও storage আপনার system own করে।

প্রাথমিক API Template Render
Endpoint /api/v1/template-render
System job queue / SaaS backend / ERP export service / billing worker
যে কাজটি করতে হবে

Queue বা scheduled job থেকে অনেক PDF render করুন: কাজকে safe request-এ split করুন, প্রতিটি document বা template data item gPdf-এ পাঠান, তারপর returned PDF আপনার নিজের system-এ store বা deliver করুন।

কখন এই API ব্যবহার করবেন

  • Scheduled বা event-driven batch-এ invoice, statement, label বা report generate করতে হবে।
  • Stable template আছে এবং endpoint limit-এর মধ্যে একাধিক data item পাঠাতে পারেন।
  • Browser worker চালানো ছাড়াই queue-friendly rendering দরকার।
  • Deduplication, retry এবং output storage আপনি own করতে পারেন।

এটি কী replace করে না

  • gPdf-কে batch scheduler, queue, storage system বা idempotency ledger বানাতে চান।
  • Published rate-limit header বা server-side idempotency-key contract দরকার।
  • Campaign-এর সব document render করার জন্য এক unbounded request দরকার।

কোন endpoint call করবেন

প্রাথমিক

/api/v1/template-render

Template Render এই workflow-এর default path।

সহায়ক 1

/api/v1/pdf/render

Workflow-তে related API path, template contract অথবা capabilities lookup দরকার হলে ব্যবহার করুন।

নূন্যতম request

POST /api/v1/template-render - দুই invoice data item-সহ ছোট 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 কী করে

  • প্রতিটি JSON Render বা Template Render request-এর PDF rendering।
  • Documented public limit-এর মধ্যে Template Render data array।
  • Queue worker-এর জন্য উপযোগী fast stateless render response।
  • Shared request ID এবং error envelope behavior।

আপনার system-এর দায়িত্ব

  • Queue design, chunking, concurrency, retry, deduplication এবং output storage।
  • Business object selection, template choice এবং delivery workflow।
  • Partial failure-এর পরে backoff policy, alerting এবং recovery।

Production checklist

  1. প্রতিটি request documented item ও payload limit-এর মধ্যে থাকে এমনভাবে work chunk করুন।
  2. প্রতি request-এর জন্য একটি X-Request-Id generate করুন এবং সেটিকে আপনার job ID-এর সাথে map করুন।
  3. শুধু network বা 5xx failure bounded exponential backoff দিয়ে retry করুন।
  4. Payload না বদলে 4xx validation failure retry করবেন না।
  5. আপনার retention policy অনুযায়ী output PDF বা source data store করুন।

দাবির সীমা

  • gPdf render API, queue বা storage layer নয়।
  • Public API আজ rate-limit header বা server-side idempotency key publish করে না।
  • Retry safe করার দায়িত্ব আপনার system-এর।

Batch generation একটি integration pattern

Batch PDF generation আলাদা endpoint নয়। আপনার queue public render API-গুলো যেভাবে ব্যবহার করে, সেটিই এই pattern। Job ছোট, observable এবং retry-safe রাখুন।

Repeated layout-এর জন্য Template Render সাধারণত সবচেয়ে clean contract দেয়। Programmatic document বা custom layout-এর জন্য JSON Render এখনও available।

FAQ

gPdf কি batch job API দেয়?
না, আলাদা batch scheduler expose করা নেই। আপনার নিজের queue বা worker system থেকে JSON Render বা Template Render ব্যবহার করুন।
Template Render কি একাধিক data item নিতে পারে?
হ্যাঁ, public endpoint limit-এর মধ্যে পারে। বড় job request জুড়ে split করুন।
Retry কে own করে?
Retry, backoff, deduplication এবং idempotency আপনার system own করে। Traceability-এর জন্য gPdf request ID echo করে।
এক request-এ কি অনেক ভিন্ন layout render করতে পারি?
Layout বা template ID আলাদা হলে আলাদা request ব্যবহার করুন। প্রতিটি request simple এবং traceable রাখুন।