Skip to main content

Developer API

Netwave Public API v1

Resell Ghana data bundles and social media boosting programmatically. Create a key, fund your wallet, and call the API — everything bills straight from your Netwave wallet at your live dashboard prices.

https://www.netwavesolution.net/api/public/v1

Quick start

  1. 1. Create your key

    Sign in, open Dashboard → API Keys, and generate your key. It is shown once — store it safely.

  2. 2. Fund your wallet

    Top up with Mobile Money. Paid calls debit GHS from your wallet at live prices.

  3. 3. Call the API

    Send your key as a Bearer token or x-api-key header on every request.

Authentication

Send your key with every request
Authorization: Bearer nwv_live_YOUR_KEY
# or
x-api-key: nwv_live_YOUR_KEY

Keys are stored hashed and shown only once. Paid endpoints debit your wallet in GHS; agents automatically receive agent pricing. Rate limit: 60 requests/minute per key (HTTP 429 with retry_after_seconds when exceeded). Insufficient balance returns HTTP 402.

Product docs

How data selling works

  1. Call GET /data/packages to get the live catalog with plan_id, network, size and your price in GHS.
  2. Collect your customer's Ghana phone number (any format — we normalize 024…, +233… and 233… automatically).
  3. Call POST /data/order with plan_id and phone. The wallet is debited only after the provider accepts the order — failed orders never charge you.
  4. Poll GET /data/order/:id for status: pending → processing → completed (or failed/cancelled, which auto-refund).

Data endpoints

MethodPathDescriptionCost
GET/data/packagesList all live data plans with prices. Optional ?network=MTN|TELECEL|AIRTELTIGO|ISHARE filter. Prices reflect your role (agents get agent pricing).Free
GET/data/packages/:idGet a single plan by its plan_id (uuid).Free
POST/data/orderPlace a data order. Body: plan_id (uuid), phone (Ghana number). Wallet debits only after the provider accepts.Plan price
GET/data/order/:idGet the live status of one data order by its order id.Free
GET/data/ordersList your data order history. Optional ?limit=50&offset=0&status=completed.Free
GET/account/balanceYour current wallet balance in GHS plus usage stats.Free
List MTN data packages
curl "https://www.netwavesolution.net/api/public/v1/data/packages?network=MTN" \
  -H "x-api-key: nwv_live_YOUR_KEY"
Place a data order
curl -X POST "https://www.netwavesolution.net/api/public/v1/data/order" \
  -H "x-api-key: nwv_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"plan_id":"<uuid from /data/packages>","phone":"0241234567"}'
Data order success response
{
  "success": true,
  "data": {
    "order_id": "f3a1c2...",
    "plan": "MTN 1GB",
    "phone": "0241234567",
    "status": "pending"
  },
  "charged_ghs": 4.50,
  "balance_after": 95.50
}
Check one data order
curl "https://www.netwavesolution.net/api/public/v1/data/order/<order_id>" \
  -H "x-api-key: nwv_live_YOUR_KEY"
  • Duplicate protection: a phone with an unfinished order is rejected with HTTP 409 until that order completes, fails or is cancelled.
  • Phone numbers are validated as Ghana mobile numbers (MTN, Telecel, AirtelTigo prefixes). Wrong numbers fail with HTTP 422.
  • Agents automatically get agent pricing on /data/packages and /data/order.

Errors & rules

Success shape
{
  "success": true,
  "data": { ... },
  "balance_after": 12.50,
  "charged_ghs": 1.50
}
Error shape
{
  "success": false,
  "error": "Insufficient wallet balance. Top up first."
}
HTTPMeaning
401Missing, invalid or disabled API key. Send it as 'x-api-key' or 'Authorization: Bearer' header.
402Insufficient wallet balance. Top up your Netwave wallet with Mobile Money first.
404Plan, service or order id not found (or belongs to another account).
409The phone number already has an unfinished data order (pending/processing/validating). Wait until it completes, fails or is cancelled.
422Validation error — bad plan_id, phone format, link, or quantity outside min/max.
429Rate limit exceeded (60 requests/minute per key). Response includes retry_after_seconds.
503Platform closed — business-hours mode is active or the admin temporarily closed ordering.
  • Machine-readable docs: GET https://www.netwavesolution.net/api/public/v1/docs or GET https://www.netwavesolution.net/api/public/v1/docs.md.
  • All 15 endpoints are listed above across the two product tabs.