CPO Certification

UAT sign-off checklist for CPO integration before production go-live.

Use this checklist after completing Onboarding and the CPO Integration Guide. It confirms end-to-end readiness for production traffic.

Coordinate UAT sessions against Sandbox (https://sandbox-hub.chargeindia.com) with your ChargeIndia account team. See Coordinated testing and Environments in Getting Started.

Shared verification

  • [ ] Credentials exchange complete (POST + PUT /ocpi/2.2.1/credentials)
  • [ ] Hub token stored securely; Authentication implemented on all outbound calls
  • [ ] GET /ocpi/versions and GET /ocpi/2.2.1 succeed with Hub token
  • [ ] Party appears as CONNECTED in GET /ocpi/2.2.1/hubclientinfo
  • [ ] Receiver URLs registered with account team
  • [ ] Routing rules enabled for target partner networks
  • [ ] Logging captures X-Request-ID and X-Correlation-ID for support

Catalog and pricing

  • [ ] PUT tariffs for your charge points before or with locations (INR; Hub Tariff Quality scored)
  • [ ] PUT locations to Hub with your CPO country_code / party_id
  • [ ] Location quality shows no high missing_tariff_ref (connector tariff_ids exist in Hub) — Hub may GET missing tariff ids from your SENDER; unresolved refs block routing enable
  • [ ] PATCH EVSE status updates propagate to routed eMSPs (async)
  • [ ] Tariff Quality has no high issues (currency, elements, price components)

Realtime receivers

  • [ ] Token authorize to Hub (POST …/authorize + OCPI-To) responds within agreed SLA
  • [ ] Command receiver handles START_SESSION, STOP_SESSION, and related commands
  • [ ] After immediate ACCEPTED, always POST a final CommandResult to Hub callback (including start/stop hardware failure)
  • [ ] Command callbacks accepted by Hub rewrite path

Session and billing data

  • [ ] PUT session updates include valid cdr_token (eMSP identity)
  • [ ] Session state progresses: ACTIVE → COMPLETED
  • [ ] POST CDR after session completion
  • [ ] On charger or CSMS reconnect, open local transactions are finalized and OCPI COMPLETED + CDR are pushed (including abort / power-loss / zero-energy)
  • [ ] EVSE status does not remain CHARGING when the local charging transaction is dead
  • [ ] Abort / power-loss sessions still produce a CDR (partial meter or ₹0) within agreed SLA after reconnect

End-to-end session (with account team)

  • [ ] CPO authorizes token via Hub → eMSP returns ALLOWED
  • [ ] eMSP starts session via Hub → CPO accepts command
  • [ ] CPO pushes active session → eMSP receives async update
  • [ ] eMSP stops session → CPO completes session
  • [ ] CPO posts CDR → eMSP receives async CDR

See Session Lifecycle for the full flow.

Sign-off

When all items pass, request production cutover from your account team. Keep this checklist updated for regression testing after platform changes.