Arcora

Backend options

To list your chargers on Arcora you run your own backend. Here's what it needs, and the open-source projects you can build it on.

What you need

  1. 1An OCPP serverYour chargers connect to it over WebSocket. It starts and stops sessions, tracks status and stores meter readings. Also called a CSMS (charging station management system).
  2. 2The Arcora operator APIEleven HTTPS endpoints on top of your OCPP server, covering chargers, sessions and receipts. This is all the app ever calls.
  3. 3A public HTTPS addressWhere Arcora reaches your backend, such as api.yournetwork.com. You enter it in your operator dashboard.

Open-source OCPP servers

Any of these can be your OCPP server. Add the Arcora operator API beside it, usually a small service reading the same database.
ProjectLanguageOCPPLicenseNotes
CitrineOSTypeScript1.6, 2.0.1Apache 2.0A full CSMS with REST APIs, Postgres and an operator UI. An LF Energy project.
SteVeJava1.2 to 1.6GPL-3.0A long-running OCPP server with a web admin. A good fit for 1.6 hardware.
mobilityhouse/ocppPython1.6, 2.0.1MITA library rather than a server: you write the server around it.

Check each repository's current status before you commit to one. GPL-3.0 has conditions if you distribute modified versions.

Three ways to get there

Build it yourself. Start from one of the servers above and add the Arcora API. The developer docs list every endpoint and how OCPP values map onto it.

Work with a partner. Backends that already speak the Arcora API will be listed here as they join.

Already on a commercial platform? If it has an API for chargers and sessions, a small adapter can expose it as the Arcora API.

Standards and tools

  • OCPP specificationsThe protocol documents for each version, from the Open Charge Alliance.
  • OCPP test toolTest your server or charger against the specification.
  • OCPP certificationOfficial certification for hardware and software, often required by public funding programs.
  • EVerestOpen-source software for the charger itself (OCPP 1.6 to 2.1, ISO 15118). For hardware builders, not a backend.