Bỏ qua nội dung

tài liệu API

Một điểm cuối kết xuất ZPL sang PNG hoặc PDF. Nó tương thích với API v1 của Labelary: cùng đường dẫn, tiêu đề và lỗi.

Kết xuất một nhãn

GET  https://api.openzpl.com/v1/printers/{dpmm}/labels/{width}x{height}/{index}/{zpl}
POST https://api.openzpl.com/v1/printers/{dpmm}/labels/{width}x{height}/{index}
POST https://api.openzpl.com/v1/printers/{dpmm}/labels/{width}x{height}/
dpmmĐộ phân giải in: 6dpmm, 8dpmm, 12dpmm, 24dpmm.
width, heightKích thước nhãn tính bằng inch, ví dụ 4x6 hoặc 2.25x1.25. Tối đa 15 inch mỗi cái.
indexNhãn nào sẽ được kết xuất, bắt đầu từ 0. Để trống với đầu ra PDF để lấy mọi nhãn, mỗi nhãn một trang.
zplĐối với GET, ZPL được mã hóa URL. Mã hóa # thành %23. Sử dụng POST cho bất cứ điều gì dài.

Với POST, gửi ZPL như là nội dung yêu cầu thô, hoặc như một trường biểu mẫu đa phần có tên file.

Chìa khóa API

Nếu không có khóa, bạn sẽ nhận được giới hạn miễn phí cho mỗi địa chỉ IP. Với một khóa từ bảng điều khiển của bạn, gửi nó trong tiêu đề X-API-Key và giới hạn của kế hoạch không gian làm việc của bạn sẽ được áp dụng.

curl https://api.openzpl.com/v1/printers/8dpmm/labels/4x6/0/ \
  -H "X-API-Key: oz_live_…" --data-binary @label.zpl > label.png

Ví dụ

# PNG from a short ZPL string
curl --get https://api.openzpl.com/v1/printers/8dpmm/labels/4x6/0/ \
  --data-urlencode "^xa^cfa,50^fo100,100^fdHello World^fs^xz" > label.png

# PDF with every label in a file
curl https://api.openzpl.com/v1/printers/8dpmm/labels/4x6/ \
  -H "Accept: application/pdf" --form file=@labels.zpl > labels.pdf
import requests

zpl = "^xa^cfa,50^fo100,100^fdHello World^fs^xz"
res = requests.post("https://api.openzpl.com/v1/printers/8dpmm/labels/4x6/0/", data=zpl)
res.raise_for_status()
open("label.png", "wb").write(res.content)
const zpl = "^xa^cfa,50^fo100,100^fdHello World^fs^xz";
const res = await fetch("https://api.openzpl.com/v1/printers/8dpmm/labels/4x6/0/", {
  method: "POST",
  headers: { Accept: "application/pdf" },
  body: zpl,
});
await require("fs/promises").writeFile("label.pdf", Buffer.from(await res.arrayBuffer()));
$zpl = "^xa^cfa,50^fo100,100^fdHello World^fs^xz";
$ch = curl_init("https://api.openzpl.com/v1/printers/8dpmm/labels/4x6/0/");
curl_setopt_array($ch, [CURLOPT_POST => true, CURLOPT_POSTFIELDS => $zpl, CURLOPT_RETURNTRANSFER => true]);
file_put_contents("label.png", curl_exec($ch));

Tiêu đề yêu cầu

Tiêu đềGiá trịMặc định
Acceptimage/png, application/pdfPNG
X-QualityGrayscale (8-bit, cạnh mịn) hoặc Bitonal (1-bit, tệp nhỏ hơn)Grayscale
X-Rotation0, 90, 180, 270, theo chiều kim đồng hồ0
X-API-KeyKhóa không gian làm việc của bạn, tùy chọn—

Giới hạn

  • Free, no sign-up and no key: 3 requests per second and 5,000 labels per UTC day, per IP address.
  • Labels, not requests, count against the daily allowance: every label rendered, ^PQ copies and PDF pages included. A 10-label PDF is 1 request and 10 labels.
  • Every request: up to 50 labels, a 1 MB body, 15 inches per side, and 10 seconds of render time.
  • Paid plans (Starter $9/month: 10 requests/s and 25,000 labels/day, Pro $29/month: 10 requests/s and 100,000 labels/day, Business $99/month: 20 requests/s and 500,000 labels/day) are announced but billing isn't live yet. API keys work today; a workspace stays on the Free plan until billing opens.
  • Over a limit the API answers 429 with Retry-After (seconds) and a body that names the limit, e.g. ERROR: Daily limit reached: 5000 labels per UTC day on this plan (^PQ copies and PDF pages count).

Phản hồi và lỗi

Các phản hồi thành công mang X-Total-Count, số lượng nhãn mà ZPL sản xuất, bao gồm ^PQ bản sao. Lỗi là văn bản đơn giản bắt đầu bằng ERROR:.

Trạng tháiÝ nghĩa
400Một tham số không hợp lệ, nhãn quá lớn, hoặc chỉ số nằm ngoài phạm vi.
401Khóa API không rõ hoặc đã bị thu hồi.
406Tiêu đề Accept yêu cầu một định dạng đầu ra chưa có sẵn.
413Nội dung vượt quá 1 MB, hoặc ZPL tạo ra nhiều hơn 50 nhãn.
429Quá nhiều yêu cầu hoặc nhãn cho kế hoạch của bạn. Đợi số giây trong Retry-After.
503Nhãn mất hơn 10 giây để tạo, hoặc dịch vụ đã quá tải. Thử lại, hoặc giảm độ phân giải hoặc kích thước.

Những gì động cơ vẽ, bỏ qua hoặc chưa được hỗ trợ nằm trên the compatibility page; tốc độ nó kết xuất, đo trên máy chủ sản xuất, trên the benchmarks page.

OpenAPI và Markdown

Hợp đồng giống nhau được công bố dưới dạng OpenAPI 3.1 và Markdown, dành cho các trình tạo mã và trợ lý lập trình.

Hướng dẫn từng bước: Python, Node.js, PHP, C#. Chuyển từ Labelary: migration guide.

Phản hồi