AirtimeWallet API
Reseller API Docs

Sell AirtimeWallet services from your own website or app.

Use the same wallet-backed API endpoints that power the dashboard. Every successful API order writes to the normal transaction history, receipt flow, and inventory screens.

Auth
Subscriber API key
Send `Authorization: Token YOUR_API_KEY` or `Token: Token YOUR_API_KEY`.
Billing
Wallet-first
API calls use the reseller wallet balance and the same duplicate checks as the dashboard.
Receipts
Standardized
Each successful API purchase writes a normal transaction reference for receipts, printing, and support review.
Quick Start
Base URL
https://airtimewallet.com.ng.datamaxi.com.ng/api

1. Create a normal subscriber/reseller account and fund the wallet.

2. Use the account API key in the `Authorization` or `Token` header.

3. Generate your own unique `ref` for every purchase request.

4. Call validation endpoints before cable or electricity purchase.

5. Save the returned `ref` on your own side so you can match AirtimeWallet receipts and support logs.

Authentication
Supported header formats
JSON responses only
Authorization: Token YOUR_API_KEY
Token: Token YOUR_API_KEY

If the token is missing or invalid, the API returns an unauthorized error and no wallet debit occurs.

Access

Get Account Details / Balance

Returns the subscriber profile tied to the API key, including the current wallet balance.

GET /api/user/
Required Fields
  • Header: Authorization: Token {API_KEY}
Aliases & Notes
  • Header alias: Token: Token YOUR_API_KEY
curl -X GET 'https://airtimewallet.com.ng.datamaxi.com.ng/api/user/' \
  -H 'Authorization: Token YOUR_API_KEY'

// Response:
{
  "status": "success",
  "sFname": "John",
  "sLname": "Doe",
  "sEmail": "john@example.com",
  "sPhone": "08012345678",
  "sWallet": "5000.00",
  "balance": "5000.00",
  "wallet_balance": "5000.00"
}
Airtime

Buy Airtime

Buys VTU or Share And Sell airtime and writes a normal receipt.

POST /api/airtime/
Required Fields
  • network
  • amount
  • phone
  • ref
  • airtime_type
  • ported_number (optional)
Aliases & Notes
  • `mobile_number` also maps to `phone`
  • `Ported_number` also maps to `ported_number`
{
  "network": 1,
  "amount": 200,
  "phone": "08011112222",
  "ref": "AIR-10001",
  "airtime_type": "VTU"
}
Data

Buy Data

Buys a live data plan with the same wallet, validation, and duplicate checks as the dashboard.

POST /api/data/
Required Fields
  • network
  • phone
  • data_plan
  • ref
  • ported_number (optional)
Aliases & Notes
  • `mobile_number` also maps to `phone`
  • `plan` also maps to `data_plan`
{
  "network": 1,
  "phone": "08011112222",
  "data_plan": 12,
  "ref": "DAT-10001"
}
Cable TV

Verify Smart Card

Checks IUC or smart-card details before subscription.

POST/GET /api/cabletv/verify/
Required Fields
  • provider
  • iucnumber
Aliases & Notes
  • GET aliases: `cablename`, `smart_card_number`
{
  "provider": 1,
  "iucnumber": "1234567890"
}
Cable TV

Buy Cable Subscription

Vends the selected cable plan and records the receipt.

POST /api/cabletv/
Required Fields
  • provider
  • plan
  • iucnumber
  • ref
  • phone (optional)
  • subtype (optional)
Aliases & Notes
  • `cablename` maps to `provider`
  • `cableplan` or `cable_plan` maps to `plan`
  • Run `/api/cabletv/verify/` first and persist the returned name
{
  "provider": 1,
  "plan": 3,
  "iucnumber": "1234567890",
  "ref": "CAB-10001"
}
Electricity

Verify Meter

Validates the meter and returns the customer name.

POST/GET /api/electricity/verify/
Required Fields
  • provider
  • meternumber
  • metertype
Aliases & Notes
  • GET aliases: `disco`, `disconame`, `mtype`
{
  "provider": 2,
  "meternumber": "12345678901",
  "metertype": "prepaid"
}
Electricity

Buy Electricity Token

Purchases electricity units and stores the token inside the receipt description.

POST /api/electricity/
Required Fields
  • provider
  • meternumber
  • metertype
  • amount
  • ref
  • phone (optional)
Aliases & Notes
  • `disco_name` maps to `provider`
  • `meter_number` maps to `meternumber`
  • `MeterType` maps to `metertype`
  • Amount below 1000 is rejected
{
  "provider": 2,
  "meternumber": "12345678901",
  "metertype": "prepaid",
  "amount": 1000,
  "ref": "ELE-10001"
}
Voucher

Buy Exam Pins

Purchases WAEC/NECO/NABTEB vouchers and unlocks inventory + print views.

POST /api/exam/
Required Fields
  • provider
  • quantity
  • ref
Aliases & Notes
  • `exam_name` also maps to `provider`
{
  "provider": 1,
  "quantity": 2,
  "ref": "EXM-10001"
}
Voucher

Buy Data Pins

Creates printable data-pin batches with serials and tokens.

POST /api/datapin/
Required Fields
  • network
  • data_plan
  • quantity
  • businessname
  • ref
Aliases & Notes
  • `card_name` also maps to `businessname`
{
  "network": 1,
  "data_plan": 5,
  "quantity": 10,
  "businessname": "My VTU Shop",
  "ref": "DPN-10001"
}
Voucher

Buy Recharge Pins

Creates airtime voucher sheets. In this build, direct generation is available in local/test mode.

POST /api/rechargepin/
Required Fields
  • network
  • amount
  • quantity
  • businessname
  • ref
Aliases & Notes
  • Live vending depends on configured provider access; local/test generation is available in this build
{
  "network": 1,
  "amount": 100,
  "quantity": 20,
  "businessname": "My VTU Shop",
  "ref": "RCP-10001"
}
Messaging

Send Bulk SMS

Sends campaign SMS using sender ID, recipients, and message body. Billing is per segment.

POST /api/alphatopup/
Required Fields
  • sender_id
  • recipients
  • message
  • ref
Aliases & Notes
  • Recipients are comma-separated Nigerian mobile numbers
  • Billing depends on message segments and recipient count
{
  "sender_id": "AirtimeWallet",
  "recipients": "08011112222,08033334444",
  "message": "Your VTU order has been processed.",
  "ref": "SMS-10001"
}
Response Pattern
Typical success body
{
  "status": "success",
  "Status": "successful",
  "msg": "Processed successfully"
}
Implementation Notes
What to keep in mind
  • Use unique `ref` values. Duplicate refs are rejected.
  • Validation endpoints should run before cable or electricity purchase.
  • Bulk SMS billing depends on recipient count and message segments.
  • Recharge pin direct vending in this build is available for local/test flow, not as a guaranteed live provider path.
  • Successful API orders appear in the normal AirtimeWallet transaction history and receipt pages.
Telegram Support Chat on Telegram