Este artículo aún no está disponible en español; se muestra a continuación en inglés.
Is there a sandbox?
Yes, without a separate environment: a test key runs against your real organisation and dry-runs every write — fully validated, nothing stored. A live key can dry-run a single request with
X-DPP-Dry-Run: true.Which plan do I need for the API?
None in particular: API access — keys,
/v1 and webhooks — is included on every plan. What a call may do follows the plan: publishing needs a paid plan, supplier requests need Growth. See pricing.Can I use my own battery identifiers?
Yes, when you are moving from another provider and the codes are already printed: send
uniqueIdentifier with POST /items. Otherwise we mint one (C- + 11 characters) — short enough for the 50-character registry limit, unambiguous on a label.One passport per battery — even for 100,000 cells a day?
Yes; Article 77(1) requires one per physical battery (for the categories in scope).
POST /items/batch creates up to 1,000 per request and POST /passports/publish publishes up to 1,000; at 600 requests a minute that is far beyond any line rate.What happens if a batch fails halfway?
Creating batteries is all-or-nothing: a batch is created in one transaction. Publishing and fleet operations are per row and answer
207 with a reason per failed row. Use an idempotency key so a retry never doubles a batch.Why was my publish refused with 422?
The publish gate: the battery needs a place of manufacture, and its model must be complete for its category.
blockers names each problem; `GET /models/{id}/completeness` lists the missing fields.Can I delete a passport over the API?
No. Passports must stay available for ten years, so the API never deletes — see why there is no DELETE. Record recycling, change status, or delete in the app, where deletions are audited.
How do I keep my systems in sync?
Subscribe to webhooks for immediacy and run an incremental sync with
updated_since as the safety net.Who sees the data I send?
Each data point has an Annex XIII access tier. The public resolver serves only
PUBLIC data; restricted tiers stay on the server. Your own key sees everything of your organisation.Do webhooks arrive in order, exactly once?
Neither is guaranteed: deliveries are at least once and may arrive out of order. Deduplicate on the event
id, and order by created_at where it matters.Can I call the API from a browser or mobile app?
Technically yes —
/v1 allows any origin — but do not: a key is an organisation-wide secret. Call it from a server you control.How do I leave, and what happens to the QR codes?
Download everything with `GET /export/archive`. The identifiers never change; redirecting the printed address to a new provider is arranged between providers, and we accept identifiers issued elsewhere for the same reason.
Is there an SDK?
A TypeScript SDK,
@collecta/dpp-sdk, is coming soon to npm. Meanwhile every endpoint has samples in seven languages, and the OpenAPI document generates clients for many more.Is this legal advice?
No. The docs describe how the software maps the regulation; responsibility for the content of a passport stays with the economic operator.