ECG & meters
Look up Electricity Company of Ghana meters, then create prepaid or postpaid utility purchases. Responses use KNOS field names — never upstream vendor identifiers.
How to use
POST /meters/lookup(scopemeters:lookup) with meter + phone → copymeterId,meterNumber, andcategory.POST /transactionswith scopestransactions:createandecg:purchase, plusproductIdfrom the catalog (e.g.ecg-ecg).- For prepaid tokens and callbacks, see ECG webhooks.
Meter lookup
Scope: meters:lookup
POST
https://confident-elephant-309.convex.site/v1/meters/lookupRequest
curl -sS https://confident-elephant-309.convex.site/v1/meters/lookup \ -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -d '{ "meterNumber": "0503123456", "phoneNumber": "0241234567" }'200 OK (sandbox)
{ "phoneNumber": "0240000000", "notice": "Sandbox meter lookup", "meters": [ { "meterId": "sbx-meter-1", "meterNumber": "0503123456", "meterName": "Sandbox Meter", "meterAddress": "Sandbox Address", "accountNumber": "0503123456", "category": "PREPAID", "balance": null } ]}Create ECG purchase
Scopes: transactions:create, ecg:purchase
| Field | Required | Notes |
|---|---|---|
product | Yes | ecg | ecg_prepaid | ecg_postpaid |
productId | Yes | Partner code (e.g. ecg-ecg) or legacy id |
amount | Yes | GHS |
meterNumber | Yes | From lookup |
meterId | Recommended | From lookup |
category | Yes | PREPAID | POSTPAID |
phoneNumber | Recommended | Customer phone |
POST
https://confident-elephant-309.convex.site/v1/transactionsRequest
curl -sS https://confident-elephant-309.convex.site/v1/transactions \ -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -d '{ "idempotencyKey": "ecg-order-001", "product": "ecg", "productId": "ecg-ecg", "amount": 50, "meterNumber": "0503123456", "meterId": "sbx-meter-1", "category": "PREPAID", "phoneNumber": "0241234567" }'201 Created
{ "transaction": { "id": "511260", "reference": "511260", "status": "pending", "kind": "purchase", "environment": "sandbox" }}