Skip to main content

Legacy V2 API

The Legacy V2 API exists for compatibility with older POS integrations (the FiscoBridge-era contract). New integrations should use v3. V2 signing reuses the exact same fiscalisation pipeline as v3 — only the request parser and the returned result shape differ.

Endpoints

EndpointPurpose
GET /api/attentionAvailability + readers.
GET /api/statusAvailability + readers.
POST /api/signSign an invoice (V2 request → V2 result).
POST /api/sign/SignInvoiceAlias of /api/sign.

PIN verification uses the same POST /api/v3/pin as v3 — the cached PIN is shared across both APIs.

Key differences from v3

  • Single payment type. The V2 request carries one request-level paymentType (not a payment array). A single payment is synthesised with an amount equal to the sum of item totals.
  • Stringly-typed nested fields. items and options are provided as JSON strings, and item labels is a JSON string such as "[\"A\"]".
  • buyerCostCenterId limit is 15 chars in V2 (50 in v3).
  • unitPrice defaults to 1 if omitted (v3 requires it).
  • Result shape is the abbreviated legacy FiscalizationResultV2 (short field names) rather than the full-named v3 InvoiceResult. The underlying values (verification URL, QR, journal, signature, counters) are the same.

Request fields (V2)

FieldNotes
invoiceTypeNormal / ProForma / Copy / Training / Advance.
transactionTypeSale / Refund.
paymentTypeSingle value: Cash, Card, etc.
itemsJSON string of an array of { gtin, name, quantity, unitPrice, labels, totalAmount }; labels itself is a JSON string like "[\"A\"]".
dateAndTimeOfIssue, cashier, buyerId, buyerCostCenterId, invoiceNumber, referentDocumentNumber, optionsAs v3, with the V2 limits noted above.

Validation

V2 validation returns the same 400 modelState shape as v3; a parse failure (unparseable date, wrong JSON type) is reported as 2805 (field value invalid). You can dry-run a V2 request with POST /api/v3/invoices/v2/validate.

Recommendation

Use V2 only to keep an existing POS working. For new development, target v3 for the typed payment array, the richer result fields, and RequestId idempotency.