Treceți la conținutul principal
Battery Compliance
Începeți gratuit
Meniu

Dezvoltatori

Conectați sistemele dvs. ERP sau de producție: creați și publicați pașapoarte pentru baterii, citiți-le și actualizați-le printr-un API DPP conform EN 18222 și primiți evenimente prin webhook. Accesul la API este inclus în fiecare plan, inclusiv Free.

Două API-uri

  • API de gestionare a pașapoartelor

    /openapi.json

    Pentru societatea care deține pașapoartele: listați modele și exemplare (după cursor, cu updatedSince pentru sincronizare), creați exemplare, intervale și copii ale modelelor, actualizați datele exemplarelor, publicați (un exemplar sau în fundal) și obțineți coduri QR. Autentificare cu o cheie API.

    Referință: API de gestionare a pașapoartelor
  • API DPP (EN 18222)

    /openapi-dpp.json

    API Life Cycle și Fine Granular conform EN 18222: citiți pașapoarte la nivelul dvs. de acces, căutați ID-uri de pașapoarte după ID-ul produsului, înregistrați evenimente (reparație, stare de sănătate, stare) cu un token de acces OAuth 2.0. Datele publice pot fi citite fără token.

    Referință: API DPP (EN 18222)

Citiți un pașaport

Fiecare adresă de pașaport răspunde cu JSON atunci când îl solicitați – fără cheie pentru datele publice. Antetele conțin versiunea, SHA-256 al ei și semnătura Ed25519, astfel încât puteți verifica ce ați citit în raport cu cheile noastre publice.

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", … }, … }
Valorile lungi sunt prescurtate. Cu un token de acces, aceeași adresă returnează câmpurile nivelului dvs. de acces, iar X-Passport-Access-Level îl numește.

Cum funcționează API-urile

Autentificare

Cheile API sunt create de proprietarul societății în Company → API keys și sunt afișate o singură dată. Trimiteți-le ca Authorization: Bearer bcp_live_…. Domenii (scopes): items:read, items:write (include și citirea), items:publish, qr:read.

Clienții OAuth 2.0 (client credentials) sunt creați de proprietarul societății pentru partenerii săi sau de platformă pentru autorități și terți aprobați. Obțineți un token cu POST /oauth/token (grant_type=client_credentials); este valabil 15 minute. Domenii (scopes): dpp:read, dpp:search, dpp:write.

Limite și erori

60 de cereri pe minut pentru fiecare cheie API (antete X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) și 120 pe minut pentru fiecare client OAuth sau, fără token, pentru fiecare adresă. La depășirea limitei: HTTP 429 cu Retry-After.

API-ul de gestionare a pașapoartelor răspunde la erori cu un obiect error format din code, message și details; API-ul DPP răspunde cu statusCode, payload și result, cu codurile de stare din EN 18222.

Actualizările API DPP acceptă un antet Idempotency-Key: aceeași cheie cu aceeași cerere în 24 de ore returnează primul răspuns și nu creează o a doua versiune.

Pașapoarte publice

Fiecare pașaport are o adresă permanentă (GS1 Digital Link /01/{GTIN}/21/{serial} sau /id/{operator}/{model}/{serial}). Cu Accept: application/json sau ?format=json returnează JSON-ul ultimei versiuni pentru nivelul dvs. de acces; ?version=N o versiune dată; /versions lista.

Fiecare versiune este semnată: X-Passport-SHA256 conține SHA-256 al JSON-ului canonic RFC 8785 al versiunii complete, X-Passport-Signature semnătura sa Ed25519 asupra acelui șir hexazecimal, iar X-Passport-Key-Id cheia care a semnat-o. Cheile publice și schema sunt listate la Descrieri care pot fi citite automat.

Webhook-uri

În loc să interogați periodic, adăugați un punct final în Company → Webhooks. Evenimentele – 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 – sunt trimise prin POST ca JSON, cu antetele X-Webhook-Id, X-Webhook-Timestamp și X-Webhook-Signature = v1= + HMAC-SHA256 hexazecimal al timestamp.body cu secretul dvs. Răspundeți cu 2xx în 10 secunde; livrările eșuate sunt reîncercate timp de 24 de ore.

Descrieri care pot fi citite automat

Obțineți o cheie API

Înregistrați-vă societatea, apoi creați o cheie în Company → API keys. Cheile sunt afișate o singură dată și stocate doar sub formă de hash.