Giriş
Ürünler
ZPL GörüntüleyiciBarkod OluşturucuGörsel → ZPLZPL hile sayfasıEtiket TasarımcısıŞablon Galerisi
Geliştiriciler
API Hızlı BaşlangıçAPI ReferansıMCP SunucusuToplu ÜretimWebhook'larSDK'lar ve ÖrneklerLimitlerDirectPrint agent YeniGitHub ActionVS Code eklentisiOn-Premise
Çözümler
Lojistik ve KargoE-TicaretERP & WMSÜretimPerakendeSağlık ve LaboratuvarTüm çözümler
Araçlar
ZPL Teşhis MerkeziZPL Hata AyıklayıcıBoyut ve DPI AnaliziDPI DönüştürücüBarkod sığdırma hesaplayıcısıSevkiyat Etiketi AnaliziFont DenetimiYön DenetimiKalibrasyon AsistanıYazıcı Uyumluluk KontrolüBarkod Okunabilirlik KontrolüYazıcı Dili TespitiTermal Yazıcı Test PaketiZPL AraçlarıEPL AraçlarıTSPL AraçlarıCPCL AraçlarıYazıcı Dili DönüştürücüTüm AraçlarRehberFiyatlandırma
Dil
EnglishTürkçeDeutsch
Ana Sayfa›Geliştiriciler›Kod Örnekleri

Kod Örnekleri

Labelixa API'sini cURL, Python, C#, Java, Node.js ve PHP ile kullanma örnekleri: ZPL render ve barkod üretimi.

Resmi Python SDK'sı

Ham HTTP yerine ince resmi istemci: kota hataları ayrı sınıf (QuotaExceeded, retry_after taşır), hata mesajları sunucudan aynen gelir.

pip install labelixa
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 -> EPL2

Resmi Node.js SDK'sı

Aynı yüzeyin Node karşılığı — sıfır bağımlılık (Node 18+ yerleşik fetch), TypeScript tipleri pakette.

npm install labelixa
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");

Resmi Go SDK'sı

Aynı yüzeyin Go karşılığı — yalnız standart kütüphane, context ile iptal; kota hatası labelixa.AsQuotaError ile ayrılır ve RetryAfter taşır.

go get github.com/Labelixa/labelixa-sdk/go
import labelixa "github.com/Labelixa/labelixa-sdk/go"

c := labelixa.New(labelixa.Options{}) // anonim; Options{APIKey: "lbx_..."} kendi kotanız
ctx := context.Background()
png, err := c.RenderPNG(ctx, "^XA^CF0,60^FO50,50^FDMerhaba^FS^XZ",
	labelixa.RenderOptions{WidthIn: 4, HeightIn: 6})
if err != nil {
	log.Fatal(err)
}
os.WriteFile("etiket.png", png, 0o644)

report, err := c.Validate(ctx, "^XA^QQ^FDx^XZ", labelixa.ValidateOptions{})
epl, err := c.ToEPL(ctx, "^XA^CF0,60^FO50,50^FDMerhaba^FS^XZ", labelixa.RenderOptions{}) // ZPL -> EPL2

Resmî MCP sunucusu (AI asistanları)

Claude Desktop, Claude Code ve MCP konuşan diğer asistanlar Labelixa'yı doğrudan araç olarak kullanabilir: ZPL, EPL, TSPL ve CPCL etiketlerini render eder, doğrular, ayıklar, dönüştürür ve barkod üretir. Uzak sunucuya bağlanın: https://api.labelixa.com/mcp (kurulum gerekmez; resmî MCP Registry'de com.labelixa/zpl adıyla ve Smithery'de listeli) ya da yerel çalıştırın:

npm install -g labelixa-mcp
{
  "mcpServers": {
    "labelixa": {
      "command": "npx",
      "args": ["-y", "labelixa-mcp"],
      "env": {"LABELIXA_API_KEY": "lbx_..."}
    }
  }
}

Resmî VS Code eklentisi

İmlecin üzerindeki ^XA…^XZ bloğunu editörde render eder; siz yazarken dosyayı lint edip bulguları gerçek satır/sütunla Problems paneline yazar, API'nin zaten düzeltmesini bildiği bulgular için hızlı düzeltme sunar ve ZPL komutları için referans sayfalarıyla aynı sözlükten hover yardımı gösterir. Lint kota tüketmez; önizleme tüketir ve bu yüzden yalnız komutla çalışır. API anahtarı editörün gizli deposunda tutulur (komut: Labelixa: Set the API key), ayar dosyasına yazılmaz; güvenilmeyen çalışma alanından hiçbir şey gönderilmez.

VS Code Marketplace
code --install-extension labelixa.labelixa-zpl

Aynı eklenti Open VSX kayıt defterinde de yayındadır: Cursor, VSCodium, Gitpod ve Theia gibi Open VSX kullanan editörlerde eklenti görünümünde Labelixa ZPL aratın.

JetBrains IDE eklentisi

JetBrains Marketplace'teki Labelixa ZPL eklentisi IntelliJ IDEA, PyCharm, WebStorm, Rider, GoLand ve diğer JetBrains IDE'lerinde (platform 2024.1 ve sonrası) imlecin üzerindeki ^XA…^XZ bloğunu Labelixa Preview penceresinde render eder ve Labelixa: Validate ZPL ile dosyayı doğrulayıp bulguları gerçek satır/sütunla editörde işaretler. Kurulum: Settings → Plugins → Marketplace'te Labelixa ZPL aratın. API anahtarı isteğe bağlıdır ve IDE'nin parola kasasında tutulur.

ZPL etiketini PNG'e render etme

Python (requests)
import 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"))
Node.js (fetch)
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 (cURL)
<?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));
C# (HttpClient)
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) : "");
Java (java.net.http)
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(""));

Barkod üretme

cURL
curl "https://api.labelixa.com/v1/barcodes?type=ean13&data=869012345678" > urun.png
Python (requests)
import requests
r = requests.get("https://api.labelixa.com/v1/barcodes",
                 params={"type": "ean13", "data": "869012345678"})
open("urun.png", "wb").write(r.content)
C# (HttpClient)
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));
Java (java.net.http)
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());

PDF ve çoklu etiket

cURL — A4 üzerinde 2x3 ızgara
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
PHP (cURL) — her etiket bir sayfa
<?php
$ch = curl_init("https://api.labelixa.com/v1/printers/8dpmm/labels/4x6/");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, file_get_contents("etiketler.zpl"));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Accept: application/pdf"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$pdf = curl_exec($ch);
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) !== 200) {
    throw new RuntimeException("Labelixa: " . $pdf);
}
file_put_contents("etiketler.pdf", $pdf); // one page per label