CloudHub EV charging API SDK — park info, connector lookup, session start/stop, invoice payments.
npm install cloudhub-evA simple and powerful TypeScript/JavaScript SDK for integrating with
CloudHub EV Central System APIs — charging parks, stations, connectors, sessions, and invoice payments.
> npm package: https://www.npmjs.com/package/cloudhub-ev
> API Host: https://api.cloudhub.mn
> Protocol: REST API (Public)
---
``bash`
npm install cloudhub-evor
yarn add cloudhub-ev
---
`ts
import { CloudEv } from "cloudhub-ev";
const cloud = new CloudEv({
HOST: "https://api.cloudhub.mn",
API_KEY: "YOUR_API_KEY",
MERCHANT_ID: "YOUR_MERCHANT_ID"
});
async function main() {
const parks = await cloud.info.list();
console.log(parks);
}
main();
`
---
The SDK provides 3 main service groups:
| Group | Description |
| ----------- | ------------------------------------ |
| info | Park, station, connector, price info |
| session | Start/stop charging sessions |
| invoice | Confirm invoice payments |
---
`ts`
await cloud.info.list();
---
包含 Park → Stations → Connectors
`ts`
await cloud.info.park("PARK_ID");
---
`ts`
await cloud.info.connectorByQR("110A43120069=1");
---
`ts`
await cloud.info.price({
amount: 0,
kWh: 16.3,
connector_id: "CONNECTOR_ID"
});
---
`ts`
const start = await cloud.session.start("CONNECTOR_ID");
---
`ts`
await cloud.session.info("SESSION_ID");
---
`ts`
await cloud.session.stop("SESSION_ID");
---
`ts`
await cloud.invoice.pay({
session_id: "SESSION_ID",
invoice_id: "INVOICE_ID",
paid_amount: 10000,
tra_id: "TRX-12345678"
});
---
`ts
import { CloudEv } from "cloudhub-ev";
const cloud = new CloudEv({
HOST: "https://api.cloudhub.mn",
API_KEY: "sk_live.xxxxx",
MERCHANT_ID: "xxxxxx"
});
async function run() {
// Park list
console.log(await cloud.info.list());
// Park detail
console.log(await cloud.info.park("29996bca-..."));
// Connector by QR
console.log(await cloud.info.connectorByQR("110A43120069=1"));
// Price calculate
console.log(
await cloud.info.price({
amount: 0,
kWh: 16.3,
connector_id: "8daa0f30-..."
})
);
// Start session
const start = await cloud.session.start("8daa0f30-...");
console.log(start);
// Session info
console.log(await cloud.session.info(start?.data?.session_id));
// Stop session
console.log(await cloud.session.stop(start?.data?.session_id));
// Invoice pay
console.log(
await cloud.invoice.pay({
session_id: "SESSION_ID",
invoice_id: "INV-2025-0001",
paid_amount: 12500,
tra_id: "TRX-12345"
})
);
}
run();
`
---
This package ships with full TypeScript types, including:
- ParkTypeStationT
- ConnectorT
- SessionStatusType
- Invoice responses
-
---
``
src/
├─ index.ts # CloudEv Class
├─ info.ts # Park/Station/Connector APIs
├─ session.ts # Charging session APIs
├─ invoice.ts # Invoice payment API
├─ types.ts # TS types
---
All requests use the same API key:
`http``
x-api-key: YOUR_API_KEY
---
If you need help integrating CloudHub EV APIs:
Email: buyantogtokh.a@cloudhub.mn
Github: https://github.com/togtokh-dev/cloud-ev
---
MIT License (free to use)