Labelixa API'sini cURL, Python, C#, Java, Node.js ve PHP ile kullanma örnekleri: ZPL render ve barkod üretimi.
Ham HTTP yerine ince resmi istemci: kota hataları ayrı sınıf (QuotaExceeded, retry_after taşır), hata mesajları sunucudan aynen gelir.
from labelixa import Client
c = Client() # anonim; Client(api_key="lbx_...") kendi kotanız
png = c.render_png("^XA^CF0,60^FO50,50^FDMerhaba^FS^XZ", width_in=4, height_in=6)
open("etiket.png", "wb").write(png)
rapor = c.validate("^XA^QQ^FDx^XZ") # yapısal lint raporu
epl = c.to_epl("^XA^CF0,60^FO50,50^FDMerhaba^FS^XZ") # ZPL -> EPL2Aynı yüzeyin Node karşılığı — sıfır bağımlılık (Node 18+ yerleşik fetch), TypeScript tipleri pakette.
import { Client } from "labelixa";
const c = new Client(); // anonim; new Client({ apiKey: "lbx_..." })
const png = await c.renderPng("^XA^CF0,60^FO50,50^FDMerhaba^FS^XZ", { widthIn: 4, heightIn: 6 });
await writeFile("etiket.png", png);
const rapor = await c.validate("^XA^QQ^FDx^XZ");
const epl = await c.toEpl("^XA^CF0,60^FO50,50^FDMerhaba^FS^XZ");Claude Desktop, Claude Code ve MCP konuşan diğer asistanlar Labelixa'yı doğrudan araç olarak kullanabilir: ZPL önizleme, doğrulama ve barkod üretimi. Kurulumsuz uzak sunucu için Smithery kaydımızı kullanın ya da yerel çalıştırın:
{
"mcpServers": {
"labelixa": {
"command": "npx",
"args": ["-y", "labelixa-mcp"],
"env": {"LABELIXA_API_KEY": "lbx_..."}
}
}
}İmlecin üzerindeki ^XA…^XZ bloğunu editörde render eder; kayıtta dosyayı lint edip bulguları gerçek satır/sütunla Problems paneline yazar. Lint kota tüketmez; önizleme tüketir ve bu yüzden yalnız komutla çalışır.
code --install-extension labelixa.labelixa-zplimport requests
r = requests.post("https://api.labelixa.com/v1/printers/8dpmm/labels/4x6/0",
data="^XA^CF0,60^FO50,50^FDMerhaba^FS^XZ")
open("etiket.png", "wb").write(r.content)
print(r.headers.get("X-Warnings"))const res = await fetch("https://api.labelixa.com/v1/printers/8dpmm/labels/4x6/0", {
method: "POST", body: "^XA^CF0,60^FO50,50^FDMerhaba^FS^XZ"
});
const buf = Buffer.from(await res.arrayBuffer());
require("fs").writeFileSync("etiket.png", buf);<?php
$ch = curl_init("https://api.labelixa.com/v1/printers/8dpmm/labels/4x6/0");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "^XA^CF0,60^FO50,50^FDMerhaba^FS^XZ");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
file_put_contents("etiket.png", curl_exec($ch));using var http = new HttpClient();
var zpl = new StringContent("^XA^CF0,60^FO50,50^FDMerhaba^FS^XZ");
var res = await http.PostAsync(
"https://api.labelixa.com/v1/printers/8dpmm/labels/4x6/0", zpl);
res.EnsureSuccessStatusCode();
File.WriteAllBytes("etiket.png", await res.Content.ReadAsByteArrayAsync());
Console.WriteLine(res.Headers.TryGetValues("X-Warnings", out var w)
? string.Join(", ", w) : "");HttpClient http = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://api.labelixa.com/v1/printers/8dpmm/labels/4x6/0"))
.POST(HttpRequest.BodyPublishers.ofString("^XA^CF0,60^FO50,50^FDMerhaba^FS^XZ"))
.build();
HttpResponse<byte[]> res = http.send(req,
HttpResponse.BodyHandlers.ofByteArray());
Files.write(Path.of("etiket.png"), res.body());
System.out.println(res.headers().firstValue("X-Warnings").orElse(""));curl "https://api.labelixa.com/v1/barcodes?type=ean13&data=869012345678" > urun.pngimport requests
r = requests.get("https://api.labelixa.com/v1/barcodes",
params={"type": "ean13", "data": "869012345678"})
open("urun.png", "wb").write(r.content)using var http = new HttpClient();
var url = "https://api.labelixa.com/v1/barcodes?type=ean13&data=869012345678";
File.WriteAllBytes("urun.png", await http.GetByteArrayAsync(url));HttpClient http = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create(
"https://api.labelixa.com/v1/barcodes?type=ean13&data=869012345678"))
.build();
HttpResponse<byte[]> res = http.send(req,
HttpResponse.BodyHandlers.ofByteArray());
Files.write(Path.of("urun.png"), res.body());curl -X POST "https://api.labelixa.com/v1/printers/8dpmm/labels/4x2/" \
--data-binary @etiketler.zpl -H "Accept: application/pdf" \
-H "X-Page-Size: A4" -H "X-Page-Layout: 2x3" > etiketler.pdf