Gå til indhold

SDK'er & CLI

SDK’er & CLI

qr3.app leverer nu et officielt SDK til TypeScript / JavaScript og en CLI. SDK’er til Python, Go og PHP kommer snart. DPP-kontrakten er tilgængelig i alle klienter via ressourcen dpp.

TypeScript / JavaScript

Terminal window
npm install @qr3/sdk
# or
pnpm add @qr3/sdk
import { QR3 } from "@qr3/sdk";
const client = new QR3({ apiKey: process.env.QR3_API_KEY! });
const code = await client.codes.create({
type: "url",
url: "https://example.com",
is_dynamic: true,
});
// @qr3/sdk >= 1.2.0
const colored = await client.codes.update(code.id, {
appearance: { foreground_color: "#1F4E79" },
});
console.log(colored.title, colored.appearance, colored.issues ?? []);
const svgUrl = client.codes.imageUrl(code.short_code, { format: "svg", ecc: "Q" });
const passport = await client.dpp.create({
gtin: "04012345678901",
product_name: "EcoMax Battery 5000",
manufacturer: "GreenPower GmbH",
origin_country: "DE",
battery_data: {
capacity_kwh: 5.2,
carbon_footprint_kg: 42.5,
recycled_content_pct: 35,
recyclability_pct: 95,
manufacturer_warranty_years: 8,
},
});
const validation = await client.dpp.validate({
gtin: "04012345678901",
product_name: "EcoMax Battery 5000",
manufacturer: "GreenPower GmbH",
origin_country: "DE",
battery_data: {
capacity_kwh: 5.2,
carbon_footprint_kg: 42.5,
recycled_content_pct: 35,
recyclability_pct: 95,
manufacturer_warranty_years: 8,
},
});
console.log(passport.qr.svg);
console.log(validation.valid);
const stats = await client.scans.stats(code.id);

Python

Terminal window
pip install qr3app
from qr3app import QR3
client = QR3(api_key="qr3_sk_your_key")
code = client.codes.create(type="url", url="https://example.com", is_dynamic=True)
passport = client.dpp.create(
gtin="04012345678901",
product_name="EcoMax Battery 5000",
manufacturer="GreenPower GmbH",
origin_country="DE",
battery_data={
"capacity_kwh": 5.2,
"carbon_footprint_kg": 42.5,
"recycled_content_pct": 35,
"recyclability_pct": 95,
"manufacturer_warranty_years": 8,
},
)
validation = client.dpp.validate(
gtin="04012345678901",
product_name="EcoMax Battery 5000",
manufacturer="GreenPower GmbH",
origin_country="DE",
battery_data={
"capacity_kwh": 5.2,
"carbon_footprint_kg": 42.5,
"recycled_content_pct": 35,
"recyclability_pct": 95,
"manufacturer_warranty_years": 8,
},
)
print(passport["data"]["qr"]["svg"])
print(validation["data"]["valid"])

Go

Terminal window
go get github.com/ostheimer/qr3-go
package main
import (
"context"
"fmt"
qr3 "github.com/ostheimer/qr3-go/qr3"
)
func main() {
client := qr3.New(
"qr3_sk_your_key",
qr3.WithWorkspaceID("ws_your_workspace_id"),
)
passport, err := client.Dpp.Create(context.Background(), &qr3.CreateDppRequest{
GTIN: "04012345678901",
ProductName: "EcoMax Battery 5000",
Manufacturer: "GreenPower GmbH",
OriginCountry: "DE",
BatteryData: qr3.BatteryDppData{
CapacityKWh: 5.2,
CarbonFootprintKg: 42.5,
RecycledContentPct: 35,
RecyclabilityPct: 95,
ManufacturerWarrantyYr: 8,
},
})
if err != nil {
panic(err)
}
fmt.Println(passport.Data.QR.SVG)
}

CLI

Terminal window
npm install -g @qr3/cli
Terminal window
qr3 login
qr3 create https://example.com --title "Mein QR"
qr3 list
qr3 stats qr_xxx
qr3 bulk create --csv urls.csv

MCP-server

MCP-dokumentationen indeholder den aktuelle liste over værktøjer samt agentkonfigurationen:

→ Komplet MCP-dokumentation