Zum Inhalt springen

SDKs & CLI

SDKs & CLI

qr3.app liefert offizielle SDKs für TypeScript, Python und Go. Der DPP-Contract ist in allen drei Clients über die Ressource dpp verfügbar.

TypeScript / JavaScript

Terminal-Fenster
npm install @qr3/sdk
# oder
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,
});
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.data.valid);
const stats = await client.scans.stats(code.id);

Python

Terminal-Fenster
pip install qr3
from qr3 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-Fenster
go get github.com/qr3app/qr3-go
package main
import (
"context"
"fmt"
qr3 "github.com/qr3app/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-Fenster
npm install -g @qr3/cli
Terminal-Fenster
qr3 login
qr3 create https://example.com --title "Mein QR" --dynamic
qr3 list
qr3 stats qr_xxx
qr3 batch create ./urls.csv

MCP-Server

Die MCP-Doku enthält die aktuelle Tool-Liste und die Agenten-Konfiguration:

Vollständige MCP-Dokumentation