eMSP Integration Guide

How e-Mobility Service Providers integrate with ChargeIndia Hub.

This guide covers what eMSPs must call on Hub and implement as receivers on their platform.

Your responsibilities

As an eMSP, you offer drivers access to charging networks. The Hub routes your authorization and commands to CPOs, and delivers session/CDR updates asynchronously.

Call Hub (authenticated)

ModuleMethodsPurpose
TokensPUT .../authorizeRealtime authorization before charging
CommandsPOST .../commands/{command}Start, stop, reserve, cancel
LocationsGETDiscover charge points (routing-filtered)
TariffsGETRetrieve pricing (routing-filtered)

Token authorization

Before a driver starts charging, authorize their token:

PUT /ocpi/2.2.1/tokens/{country_code}/{party_id}/{token_uid}/authorize

The Hub forwards this to the owning CPO in realtime. Rate limit: 100 requests/minute per party.

Remote start

Send a start command with response_url for async results:

POST /ocpi/2.2.1/commands/START_SESSION
Content-Type: application/json

{
  "response_url": "https://your-platform.com/ocpi/callbacks/commands",
  "token": { "uid": "...", "type": "RFID", "contract_id": "..." },
  "location_id": "LOC001",
  "evse_uid": "EVSE001",
  "connector_id": "1"
}

For STOP_SESSION, include session_id instead of location fields.

Pull locations and tariffs

GET /ocpi/2.2.1/locations?offset=0&limit=50
GET /ocpi/2.2.1/tariffs?offset=0&limit=50

Results are filtered by routing rules. See Pagination.

Locations and tariffs are pull-only on the Hub. The Hub does not push location or tariff updates to eMSPs — poll periodically or on demand.

Receive from Hub (on your platform)

You must implement these receiver endpoints:

ModuleMethodPurpose
SessionsPUT .../sessions/{cc}/{pid}/{id}Async session updates from Hub
CDRsPOST /ocpi/2.2.1/cdrsAsync CDR delivery from Hub

The Hub does not expose GET endpoints for eMSPs to pull sessions or CDRs. You must implement receivers — the Hub worker pushes data asynchronously.

Provide your session and CDR receiver URLs to your account team during onboarding.

Command async results

Command results arrive at your response_url (forwarded by Hub from CPO callback). Handle ACCEPTED, REJECTED, TIMEOUT, and session-related result types per OCPI 2.2.1.

Integration checklist

  • [ ] Credentials exchange complete
  • [ ] Routing rules enabled for target CPOs
  • [ ] Token authorization flow tested
  • [ ] START_SESSION / STOP_SESSION tested end-to-end
  • [ ] Session receiver endpoint live
  • [ ] CDR receiver endpoint live
  • [ ] Location/tariff pull integrated
  • [ ] GET /ocpi/versions reachable for health checks

Related docs