Zeccer
AI agentPartner API

Partner API

Integrate your service with Zeccer printing

Print Links (GET)

GET /api/orders/new

Create print links that redirect users directly to the print page. Perfect for email links, buttons on your website, or any place where you need a simple URL.

Parameters

NameTypeRequiredDescription
documentUrlsstringYesURL to download file from (repeat parameter for multiple files)
format"a4" | "a3" | "photo"NoPrint format: "a4" for documents, "a3" for large format (delivery only), "photo" for photos. If omitted, the user selects on the print page.
fulfillment.method"express" | "delivery"NoPre-selects the production method. Omit to let the user choose.
fulfillment.printerIdstringNoSelf-service printer code; binds the order to that printer. Express only.
partnerIdstringNoYour partner identifier for analytics
redirectbooleanNoSet to "true" to redirect directly to print page

Fulfillment method

Optional. Pre-selects how the order is produced. Omit to let the user choose on the print page.

expressSelf-service printer
methodstring= "express"required
printerIdstringoptional

Binds the order to a specific self-service printer. Omit to let the user pick.

Formats: a4 · photo
deliveryCourier delivery
methodstring= "delivery"required
Formats: a4 · a3 · photo

URL query / multipart form keys

fulfillment.method     = express | delivery
fulfillment.printerId  = <printer-code>   # express only

Example with one file

https://start.zeccer.pl/api/orders/new?documentUrls=https://example.com/doc.pdf&format=a4&partnerId=your-partner-id&redirect=true

Example with flow pre-selection

https://start.zeccer.pl/api/orders/new?documentUrls=https://example.com/doc.pdf&format=a4&fulfillment.method=express&fulfillment.printerId=ABCD&partnerId=your-partner-id&redirect=true

Example with multiple files

https://start.zeccer.pl/api/orders/new?documentUrls=https://example.com/doc1.pdf&documentUrls=https://example.com/doc2.pdf&format=a4&redirect=true

Add redirect=true to automatically redirect to the print page. Without it, you'll get a JSON response with the redirect URL. Repeat the documentUrls parameter to include multiple files.

Backend Integration (POST)

POST /api/orders

For server-side integrations where you need to upload files directly or process multiple documents programmatically.

Parameters

NameTypeRequiredDescription
documentUrlsstring[]*Array of URLs to download files from
filesFile[]*Files to upload (multipart/form-data)
format"a4" | "a3" | "photo"NoPrint format: "a4" for documents, "a3" for large format (delivery only), "photo" for photos. If omitted, the user selects on the print page.
fulfillmentobjectNoProduction method (express / delivery). See Fulfillment method below.
partnerIdstringNoYour partner identifier for analytics
redirectbooleanNoIf true, returns HTTP 302 redirect instead of JSON

* Either documentUrls or files must be provided

Fulfillment method

Optional. Pre-selects how the order is produced. Omit to let the user choose on the print page.

expressSelf-service printer
methodstring= "express"required
printerIdstringoptional

Binds the order to a specific self-service printer. Omit to let the user pick.

Formats: a4 · photo
deliveryCourier delivery
methodstring= "delivery"required
Formats: a4 · a3 · photo

JSON body

"fulfillment": { "method": "express", "printerId": "ABCD" }
"fulfillment": { "method": "delivery" }

Multipart uploads use the flat keys shown above (fulfillment.method, fulfillment.printerId).

Example with URLs (JSON)

curl -X POST https://start.zeccer.pl/api/orders \
  -H "Content-Type: application/json" \
  -d '{
    "documentUrls": [
      "https://example.com/doc1.pdf",
      "https://example.com/doc2.pdf"
    ],
    "partnerId": "your-partner-id",
    "format": "a4",
    "fulfillment": { "method": "express", "printerId": "ABCD" }
  }'

Example with file upload

curl -X POST https://start.zeccer.pl/api/orders \
  -F "files=@document1.pdf" \
  -F "files=@document2.pdf" \
  -F "partnerId=your-partner-id" \
  -F "format=a4" \
  -F "fulfillment.method=delivery"

Success Response (201)

{
  "sessionId": "abc123xyz",
  "redirectUrl": "https://start.zeccer.pl/abc123xyz"
}

Error Response (4xx / 5xx)

All error responses use a consistent format with a machine-readable code and human-readable message.

{
  "error": {
    "code": "NO_FILES_PROVIDED",
    "message": "No files provided"
  }
}

Error Codes

CodeDescription
INVALID_CONTENT_TYPERequest Content-Type is not multipart/form-data or application/json
NO_FILES_PROVIDEDNo files or documentUrls were provided
TOO_MANY_FILESNumber of files exceeds the per-request limit
FILE_TYPE_NOT_ALLOWEDFile extension is not in the allowed list
FILE_TOO_LARGEFile exceeds the per-file size limit
FILE_DOWNLOAD_FAILEDA documentUrl could not be fetched
INVALID_URLA documentUrl is not a valid URL
INVALID_FORMATThe format parameter is not one of the accepted values
INVALID_FLOWThe flow parameter is not one of the accepted values
FLOW_FORMAT_INCOMPATIBLEThe chosen flow does not support the chosen format
INTERNAL_ERRORUnexpected server-side failure

Limits

  • Maximum 10 files per request
  • Maximum 50MB per file
  • Supported: PDF, DOC, DOCX, ODT, XLS, XLSX, PPT, PPTX, TXT, RTF, PNG, JPG, WEBP

Questions about integration? wsparcie@zeccer.pl

Zeccer — print documents & photos online · Poland, Germany, Czechia