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
npm install @qr3/sdk# oderpnpm add @qr3/sdkimport { 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
pip install qr3from 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"])import asynciofrom qr3 import AsyncQR3
async def main(): async with AsyncQR3(api_key="qr3_sk_your_key") as client: 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, }, ) print(passport["data"]["qr"]["svg"])
asyncio.run(main())Go
go get github.com/qr3app/qr3-gopackage 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
npm install -g @qr3/cliqr3 loginqr3 create https://example.com --title "Mein QR" --dynamicqr3 listqr3 stats qr_xxxqr3 batch create ./urls.csvMCP-Server
Die MCP-Doku enthält die aktuelle Tool-Liste und die Agenten-Konfiguration: