Żviluppaturi
Żewġ API
API tal-ġestjoni tal-passaporti
/openapi.jsonGħall-kumpanija li għandha l-passaporti: elenka mudelli u oġġetti (b’cursor, b’updatedSince għas-sinkronizzazzjoni), oħloq oġġetti, firxiet u kopji ta’ mudelli, aġġorna d-data tal-oġġetti, ippubblika (oġġett wieħed jew fl-isfond) u ikseb kodiċijiet QR. Awtentikata b’ċavetta API.
Referenza: API tal-ġestjoni tal-passaportiAPI DPP (EN 18222)
/openapi-dpp.jsonAPI Life Cycle u Fine Granular li ssegwi l-EN 18222: aqra passaporti fil-livell ta’ aċċess tiegħek, fittex ID tal-passaporti skont l-ID tal-prodott, irreġistra avvenimenti (tiswija, stat tas-saħħa, stat) b’token ta’ aċċess OAuth 2.0. Id-data pubblika tista’ tinqara mingħajr token.
Referenza: API DPP (EN 18222)
Aqra passaport
Kull indirizz ta’ passaport iwieġeb b’JSON meta titlobha – ma tinħtieġ l-ebda ċavetta għad-data pubblika. Il-headers iġorru l-verżjoni, l-SHA-256 tagħha u l-firma Ed25519, biex tkun tista’ tiċċekkja dak li qrajt maċ-ċwievet pubbliċi tagħna.
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", … }, … }Kif jaħdmu l-API
Awtentikazzjoni
Iċ-ċwievet API jinħolqu mis-sid tal-kumpanija f’Company → API keys u jidhru darba biss. Ibgħathom bħala Authorization: Bearer bcp_live_…. Skopijiet: items:read, items:write (jaqra wkoll), items:publish, qr:read.
Il-clients OAuth 2.0 (client credentials) jinħolqu mis-sid tal-kumpanija għas-sħab tiegħu, jew mill-pjattaforma għall-awtoritajiet u partijiet terzi approvati. Ikseb token b’POST /oauth/token (grant_type=client_credentials); huwa validu għal 15-il minuta. Skopijiet: dpp:read, dpp:search, dpp:write.
Limiti u żbalji
60 talba fil-minuta għal kull ċavetta API (headers X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) u 120 fil-minuta għal kull client OAuth jew, mingħajr token, għal kull indirizz. Meta jinqabeż il-limitu: HTTP 429 b’Retry-After.
L-API tal-ġestjoni tal-passaporti twieġeb l-iżbalji b’oġġett error ta’ code, message u details; l-API DPP twieġeb statusCode, payload u result bil-kodiċijiet tal-istat tal-EN 18222.
L-aġġornamenti tal-API DPP jaċċettaw header Idempotency-Key: l-istess ċavetta bl-istess talba fi żmien 24 siegħa tirritorna l-ewwel tweġiba u ma toħloq l-ebda verżjoni oħra.
Passaporti pubbliċi
Kull passaport għandu indirizz permanenti (GS1 Digital Link /01/{GTIN}/21/{serial} jew /id/{operator}/{model}/{serial}). Bi Accept: application/json jew ?format=json jirritorna l-JSON tal-aħħar verżjoni għal-livell ta’ aċċess tiegħek; ?version=N verżjoni partikolari; /versions il-lista.
Kull verżjoni hija ffirmata: X-Passport-SHA256 iġorr l-SHA-256 tal-JSON kanoniku RFC 8785 tal-verżjoni sħiħa, X-Passport-Signature il-firma Ed25519 tiegħu fuq dik il-kordi esadeċimali u X-Passport-Key-Id iċ-ċavetta li ffirmatu. Iċ-ċwievet pubbliċi u l-iskema huma elenkati taħt Deskrizzjonijiet li jinqraw mill-magni.
Webhooks
Minflok tistaqsi l-API kontinwament, żid endpoint f’Company → Webhooks. L-avvenimenti – 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 – jintbagħtu b’POST bħala JSON bil-headers X-Webhook-Id, X-Webhook-Timestamp u X-Webhook-Signature = v1= + HMAC-SHA256 esadeċimali ta’ timestamp.body bis-sigriet tiegħek. Wieġeb 2xx fi żmien 10 sekondi; il-kunsinni li jfallu jerġgħu jiġu pprovati għal 24 siegħa.
Deskrizzjonijiet li jinqraw mill-magni
- Ċwievet pubbliċi tal-firma (JWKS)/.well-known/batterycompliance-signing-key.json
- Skema JSON tal-passaport/schema/battery-passport/2.0.0
- OpenAPI 3.1 – API tal-ġestjoni tal-passaporti/openapi.json
- OpenAPI 3.1 – API DPP/openapi-dpp.json
Ikseb ċavetta API
Irreġistra l-kumpanija tiegħek, imbagħad oħloq ċavetta f’Company → API keys. Iċ-ċwievet jidhru darba biss u jinħażnu biss bħala hash.