Skip to Content
Welcome to Zendera Knowledge Hub

Labels API

v1

Render transport labels for order products, whole orders, and containers as ready-to-print PDFs.

These endpoints render ready-to-print PDF labels so goods entering the Zendera network from your warehouse carry scannable transport labels.

Where this fits in your operation

  • Print at pack time: after picking, your WMS fetches the order’s labels and sends them straight to the warehouse printer — one call per order, or per colli if you label as you pack.
  • Reprint a damaged label for one specific colli using its order product number, without reprinting the whole order.
  • Container labels for terminal flows: print the label for a container by its ID.

Interactive API Explorer

Loading API Documentation...

Authentication

Authorization: apikey YOUR_API_KEY_HERE

Base URLs

  • Production: https://app.zenderatms.com/api/
  • Staging: https://staging.zenderatms.com/api/

Endpoints

All three return the PDF bytes directly (Content-Type: application/pdf) — there is no JSON wrapper. Pipe the body to a file or printer.

Label for one order product (colli)

GET /v1/labels?order_product_id=501 GET /v1/labels?internal_order_product_number=PROD_A_001

Provide exactly one of the two parameters — the call is rejected with 400 when neither is given. internal_order_product_number is the number your system set on import.

Labels for a whole order

GET /v1/labels/order?order_id=12345 GET /v1/labels/order?internal_order_number=ERP-001

Same one-of-two pattern: order_id (Zendera ID) or internal_order_number (your order number from import). 404 when the order doesn’t exist.

Label for a container

GET /v1/labels/container?container_id=88

container_id is required and must be a positive integer.

Example: save a label to a file

curl -H "Authorization: apikey YOUR_API_KEY" \ "https://app.zenderatms.com/api/v1/labels/order?internal_order_number=ERP-001" \ -o ERP-001-labels.pdf

Common gotchas

  • The response is a PDF, not JSON. Don’t run it through your JSON client — stream the bytes.
  • Identify by your own numbers. internal_order_number / internal_order_product_number are the IDs your system used on import, so you don’t need to store Zendera’s IDs to print labels.
  • One identifier per call. Each endpoint takes its identifiers as alternatives, and at least one is required.
  • Orders Import — where internal_order_number and product numbers are set
  • Atoms API — how colli/products are structured on an order
Last updated on