Hoppa till huvudinnehållet
Battery Compliance
Börja gratis
Meny

Utvecklare

Anslut ditt ERP- eller produktionssystem: skapa och publicera batteripass, läs och uppdatera dem via ett DPP-API som följer EN 18222, och ta emot händelser via webhook. API-åtkomst ingår i alla planer, även Free.

Två API:er

  • API för passhantering

    /openapi.json

    För det företag som äger passen: lista modeller och poster (med markör, med updatedSince för synkronisering), skapa poster, intervall och kopior av modeller, uppdatera postens uppgifter, publicera (en post eller i bakgrunden) och hämta QR-koder. Autentiseras med en API-nyckel.

    Referens: API för passhantering
  • DPP-API (EN 18222)

    /openapi-dpp.json

    Life Cycle- och Fine Granular-API enligt EN 18222: läs pass på din åtkomstnivå, sök pass-ID:n via produkt-ID, registrera händelser (reparation, hälsotillstånd, status) med en OAuth 2.0-åtkomsttoken. Offentliga uppgifter kan läsas utan token.

    Referens: DPP-API (EN 18222)

Läs ett pass

Varje passadress svarar med JSON när du ber om det – ingen nyckel behövs för offentliga uppgifter. Rubrikerna innehåller versionen, dess SHA-256 och Ed25519-signaturen, så att du kan kontrollera det du läser mot våra publika nycklar.

curl -i -H "Accept: application/json" \https://batterycompliance.eu/id/BG123456789/EBIKE-48V/SN0001 HTTP/1.1 200 OKContent-Type: application/json; charset=utf-8X-Passport-Version: 3X-Passport-Access-Level: publicX-Passport-SHA256: bd4c49c7b04ac463…81146b938X-Passport-Signature: Tw0bRkvf+s3IS1MQ…MPZ7Dg==X-Passport-Key-Id: batterycompliance-2026-09-25Link: </schema/battery-passport/2.0.0>; rel="describedby" { "dppHeader": { "dppStatus": { "dppStatusValue": "active" }, … },  "identifiersAndProductData": { "batterySerialNumber": "SN0001", … }, … }
Långa värden är förkortade. Med en åtkomsttoken returnerar samma adress fälten för din åtkomstnivå och X-Passport-Access-Level anger den.

Så fungerar API:erna

Autentisering

API-nycklar skapas av företagets ägare under Company → API keys och visas en gång. Skicka dem som Authorization: Bearer bcp_live_…. Behörigheter: items:read, items:write (läser också), items:publish, qr:read.

OAuth 2.0-klienter (client credentials) skapas av företagets ägare för dess partner, eller av plattformen för myndigheter och godkända tredje parter. Hämta en token med POST /oauth/token (grant_type=client_credentials); den gäller i 15 minuter. Behörigheter: dpp:read, dpp:search, dpp:write.

Gränser och fel

60 förfrågningar per minut och API-nyckel (rubrikerna X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) och 120 per minut och OAuth-klient eller, utan token, per adress. Över gränsen: HTTP 429 med Retry-After.

API:et för passhantering svarar på fel med ett error-objekt med code, message och details; DPP-API:et svarar med statusCode, payload och result med EN 18222:s statuskoder.

Uppdateringar i DPP-API:et accepterar en Idempotency-Key-rubrik: samma nyckel med samma förfrågan inom 24 timmar returnerar det första svaret och skapar ingen andra version.

Offentliga pass

Varje pass har en permanent adress (GS1 Digital Link /01/{GTIN}/21/{serial} eller /id/{operator}/{model}/{serial}). Med Accept: application/json eller ?format=json returneras JSON för den senaste versionen på din åtkomstnivå; ?version=N en given version; /versions listan.

Varje version är signerad: X-Passport-SHA256 innehåller SHA-256 av den kanoniska JSON-formen enligt RFC 8785 för hela versionen, X-Passport-Signature dess Ed25519-signatur över den hexadecimala strängen och X-Passport-Key-Id den nyckel som signerade den. De publika nycklarna och schemat listas under Maskinläsbara beskrivningar.

Webhooks

I stället för att fråga om och om igen lägger du till en slutpunkt under Company → Webhooks. Händelser – passport.published, publish_job.finished, item.lifecycle_recorded, access_request.created, passport.transferred, label_template.issued, dossier.ready, import_batch.assigned, import_batch.confirmed, import_batch.rejected – skickas med POST som JSON med rubrikerna X-Webhook-Id, X-Webhook-Timestamp och X-Webhook-Signature = v1= + hexadecimal HMAC-SHA256 av timestamp.body med din hemlighet. Svara med 2xx inom 10 sekunder; misslyckade leveranser försöks igen i 24 timmar.

Maskinläsbara beskrivningar

Skaffa en API-nyckel

Registrera ditt företag och skapa sedan en nyckel under Company → API keys. Nycklar visas en gång och lagras bara som en hash.