Skip to main content

Generate Invoice API Reference

Overview​

JAX-RS resource GenerateInvoiceAPI (@Path("generateinvoice")). All operations are POST and accept a raw JSON string body (clients typically send Content-Type: application/json). Declared Produces is text/plain, but successful entities are JSON strings (parse as JSON).

ConcernDetail
Base path/rest/generateinvoice
Full URL prefix/rest/generateinvoice/{subpath}
Sourcetransportsupplyproject/src/in/greenorange/api/invoice/GenerateInvoiceAPI.java
TenantTmsUtil.getTenantIdFromServlet(request)
AuthAlmost all methods call TmsUtil.checkIfAuthKeyIsValid(userName, authKey, tenantId) → 401 with Access-Control-Allow-Origin: * when invalid.

Common JSON fields​

Many requests include userName, authKey, and branch (branch is often unused after parse but required by the API contract).

CORS and save queue​

  • Generate / view / update / print-JSON success responses usually include Access-Control-Allow-Origin: *.
  • saveSingleInvoice, saveBlankInvoice, saveSummaryInvoice return 200 with {"data":true|false} and do not add CORS on success (only 401 sets CORS in those methods).
  • Save methods call Thread.sleep(200) before SaveInvoiceQueue.saveInvoice (PodQueueObjectHelper).

Detailed documentation (per endpoint)​

#EndpointGuide
1POST generateSingleInvoicegenerate-single-invoice-api.md
2POST generateBlankInvoicegenerate-blank-invoice-api.md
3POST generateSummaryInvoicegenerate-summary-invoice-api.md
4POST saveSingleInvoicesave-single-invoice-api.md
5POST saveBlankInvoicesave-blank-invoice-api.md
6POST saveSummaryInvoicesave-summary-invoice-api.md
7POST viewSingleInvoiceview-single-invoice-api.md
8POST viewSummaryInvoiceview-summary-invoice-api.md
9POST updateInvoiceupdate-invoice-api.md
10POST updateSummaryInvoiceupdate-summary-invoice-api.md
11POST updateDraftToSummaryInvoiceupdate-draft-to-summary-invoice-api.md
12POST addBookingsToDraftadd-bookings-to-draft-api.md
13POST getSummaryInvoiceAsGroupget-summary-invoice-as-group-api.md
14POST getSummaryInvoiceAsJsonget-summary-invoice-as-json-api.md
15POST getSingleInvoiceAsJsonget-single-invoice-as-json-api.md
16POST getBlankInvoiceAsJsonget-blank-invoice-as-json-api.md

Quick reference​

SubpathJava methodAuth
generateSingleInvoicegenerateSingleInvoiceYes
generateBlankInvoicegenerateBlankInvoiceYes
generateSummaryInvoicegenerateSummaryInvoiceYes
saveSingleInvoicesaveSingleInvoiceYes
saveBlankInvoicesaveBlankInvoiceYes
saveSummaryInvoicesaveSummaryInvoiceYes
viewSingleInvoiceviewSingleInvoiceYes
viewSummaryInvoiceviewSummaryInvoiceYes
updateInvoiceupdateInvoiceYes
updateSummaryInvoiceupdateSummaryInvoiceYes
updateDraftToSummaryInvoiceupdateDraftToSummaryInvoiceYes
addBookingsToDraftaddBookingsToDraftYes
getSummaryInvoiceAsGroupgetSummaryInvoiceDataAsGroupYes
getSummaryInvoiceAsJsongetSummaryInvoiceJSONYes
getSingleInvoiceAsJsongetSingleInvoiceJSONYes
getBlankInvoiceAsJsongetBlankInvoiceJSONYes

Implementation note​

GenerateInvoiceAPI includes large private helpers (e.g. addCommonItems, renderTemplate) that are not exposed as REST; only the 16 methods above are HTTP endpoints.