Ontwikkelaars
Twee API’s
API voor paspoortbeheer
/openapi.jsonVoor het bedrijf dat de paspoorten bezit: modellen en exemplaren weergeven (met cursor, met updatedSince voor synchronisatie), exemplaren, reeksen en kopieën van modellen aanmaken, exemplaargegevens bijwerken, publiceren (één exemplaar of op de achtergrond) en QR-codes ophalen. Geauthenticeerd met een API-sleutel.
Referentie: API voor paspoortbeheerDPP-API (EN 18222)
/openapi-dpp.jsonLife Cycle- en Fine Granular-API volgens EN 18222: paspoorten lezen op uw toegangsniveau, paspoort-ID’s zoeken op product-ID, gebeurtenissen (reparatie, gezondheidstoestand, status) vastleggen met een OAuth 2.0-toegangstoken. Openbare gegevens kunnen zonder token worden gelezen.
Referentie: DPP-API (EN 18222)
Een paspoort lezen
Elk paspoortadres antwoordt met JSON wanneer u erom vraagt – voor openbare gegevens is geen sleutel nodig. De headers bevatten de versie, de SHA-256 en de Ed25519-handtekening ervan, zodat u kunt controleren wat u las aan de hand van onze openbare sleutels.
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", … }, … }Hoe de API’s werken
Authenticatie
API-sleutels worden door de eigenaar van het bedrijf aangemaakt in Bedrijf → API-sleutels en één keer getoond. Stuur ze als Authorization: Bearer bcp_live_…. Scopes: items:read, items:write (leest ook), items:publish, qr:read.
OAuth 2.0-clients (client credentials) worden door de eigenaar van het bedrijf aangemaakt voor zijn partners, of door het platform voor autoriteiten en goedgekeurde derden. Haal een token op met POST /oauth/token (grant_type=client_credentials); het is 15 minuten geldig. Scopes: dpp:read, dpp:search, dpp:write.
Limieten en fouten
60 verzoeken per minuut per API-sleutel (headers X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) en 120 per minuut per OAuth-client of, zonder token, per adres. Boven de limiet: HTTP 429 met Retry-After.
De API voor paspoortbeheer beantwoordt fouten met een error-object met code, message en details; de DPP-API antwoordt met statusCode, payload en result met de statuscodes van EN 18222.
Updates van de DPP-API accepteren een Idempotency-Key-header: dezelfde sleutel met hetzelfde verzoek binnen 24 uur geeft het eerste antwoord terug en maakt geen tweede versie aan.
Openbare paspoorten
Elk paspoort heeft een permanent adres (GS1 Digital Link /01/{GTIN}/21/{serial} of /id/{operator}/{model}/{serial}). Met Accept: application/json of ?format=json geeft het de JSON van de nieuwste versie voor uw toegangsniveau; ?version=N een bepaalde versie; /versions de lijst.
Elke versie is ondertekend: X-Passport-SHA256 bevat de SHA-256 van de canonieke JSON volgens RFC 8785 van de volledige versie, X-Passport-Signature de Ed25519-handtekening over die hexadecimale reeks en X-Passport-Key-Id de sleutel waarmee is ondertekend. De openbare sleutels en het schema staan onder Machineleesbare beschrijvingen.
Webhooks
Voeg in plaats van te bevragen een eindpunt toe in Bedrijf → Webhooks. Gebeurtenissen – 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 – worden als JSON gePOST met de headers X-Webhook-Id, X-Webhook-Timestamp en X-Webhook-Signature = v1= + hexadecimale HMAC-SHA256 van timestamp.body met uw geheim. Antwoord met 2xx binnen 10 seconden; mislukte leveringen worden 24 uur lang opnieuw geprobeerd.
Machineleesbare beschrijvingen
- Openbare ondertekeningssleutels (JWKS)/.well-known/batterycompliance-signing-key.json
- JSON-schema van het paspoort/schema/battery-passport/2.0.0
- OpenAPI 3.1 – API voor paspoortbeheer/openapi.json
- OpenAPI 3.1 – DPP-API/openapi-dpp.json
Een API-sleutel aanvragen
Registreer uw bedrijf en maak dan een sleutel aan in Bedrijf → API-sleutels. Sleutels worden één keer getoond en alleen als hash opgeslagen.