Notify API

Reseller API Documentation

Powering Ghana's automated data delivery infrastructure.

Scale Your Business Today

CREATE AN ACCOUNT

Your API Key is available immediately after login.

One Account, Dual Power: If you already have an account, there is no need to create a separate reseller account. Simply switch to Reseller Mode in your dashboard below to generate your API keys.

Everything You Can Do as a Reseller

API Key Management

Generate your own API key to process orders, integrate into your website, or automate your sales system.

Developer Sandbox

Use your test API key to simulate successful orders and payments without using real wallet funds or MoMo.

Instant Wallet Loading

Load your wallet directly on the platform using Paystack to ensure you never run out of credit.

Pay & Order (No Wallet Needed)

Allow your customers to pay directly on your platform. Once payment is successful, data is delivered instantly without manually funding your wallet.

Manual & Bulk Orders

Buy data directly from your account. Support for individual manual orders or massive bulk data orders.

Real-time Webhooks

Receive instant POST notifications to your server whenever the status of your data order changes.

Authentication & Environments

Your environment is automatically determined by your API key prefix.

Environment API Key Prefix Outcome
Sandbox nd_test_xxxxxx Simulation mode. No wallet charges. No real data sent, but records are inserted into the database for testing.
Live nd_live_xxxxxx Real Mode. Charges wallet. Sends actual data to phone.
Pay & Order nd_live_xxxxxx Zero Wallet Balance: No wallet funding needed. We handle the payment via Paystack, and your profit is automatically sent to you.
Click here for Pay & Order details

Required Headers for all requests:

Data Plans & Three-Tier Pricing

GET https://onlinesmsnotifygh.com/api/reseller/plans

Quick URL Examples:

Filter by Network: .../plans?network=mtn
Get Raw Text (Bot Mode): .../plans?network=at&show=text
Single Package ID: .../plans?packageId=18
Available Query Parameters
Parameter Type Description
network String Filter by mtn, telecel, or at.
packageId Integer Returns data for one specific package ID.
show String Use text to get a clean, numbered list for WhatsApp.
Pricing Logic
JSON Response
For web and app integrations
Default
Text Response
For WhatsApp & SMS bots
?show=text
JSON Output Structure
{
  "status": "success",
  "mode": "live",
  "data": {
    "package_id": 18,
    "network": "MTN",
    "gig_size": "10GB",
    "price": "12.00"
  }
}
Developer Notes
01
Auto-Pricing

The system automatically calculates the price based on your assigned Reseller Tier.

02
Single Fetch

Use packageId for instant price checks without loading the entire list.

Pro-Tip: Use the text mode to display prices directly to your customers on WhatsApp without any coding.

Wallet Balance

Check your current GHS balance. (Sandbox keys return a static value of 99,999.00).

GET https://onlinesmsnotifygh.com/api/reseller/wallet

Place Data Order

Use this endpoint to trigger a data purchase.

Sandbox Mode: If using a test key, the order status will be placed immediately, but no data will be delivered to the number (customer).
POST https://onlinesmsnotifygh.com/api/reseller/order
{
  "package_id": 16,
  "phone_number": "0240000000",
  "network": "MTN"
}

Example Sandbox Response:

{
  "status": "success",
  "reference": "TEST_API_1775642298260",
  "mode": "sandbox"
}

Data Order Status

Retrieve order details using the reference number.

POST https://onlinesmsnotifygh.com/api/reseller/order/status/{reference}
{
  "status": "success",
  "data": {
      "reference": "REF65249619998",
      "phone_number": "0545506....",
      "network": "MTN",
      "order_status": "delivered",
      "mode": "live",
      "created_at": "2025-10-08 09:38:42"
  }
}

Order Status Definitions

pendingWaiting. Retries automatically if provider is down.
placedOrder received and being processed by the provider.
deliveredSuccess! Data bundle delivered to the customer.
failedFailed. Package usually out of stock.
cancelledOrder voided by an administrator.

🔥 Pay & Order (No Wallet Needed)

Integrate directly into your customer checkout. Sandbox Mode available using test keys.

POST https://onlinesmsnotifygh.com/api/reseller/initialize-payment
{
  "email": "customer@email.com",
  "package_id": 16,
  "phone_number": "0240000000",
  "network": "MTN",
  "client_price": 12,
  "user_id": 5
}

Example Sandbox Response:

{
  "status": true,
  "type": "redirect",
  "authorization_url": "https://onlinesmsnotifygh.com/sandbox/success/TEST_2w2v2uqb4x",
  "reference": "TEST_2w2v2uqb4x",
  "mode": "sandbox"
}
Sandbox Mode: If initialized with a test key, the authorization_url will redirect to a simulated success page instead of Paystack checkout.

Transaction Status from Paystack

POST https://onlinesmsnotifygh.com/api/reseller/payment-status/{reference}
{
  "status": "success",
  "payment": {
      "reference": "TEST_yk70g13....",
      "amount": "5.10",
      "gateway": "paystack",
      "status": "success",
      "mode": "sandbox"
  },
  "order": {
      "id": 147,
      "phone_number": "0248000000",
      "network": "MTN",
      "status": "delivered"
  }
}

Webhooks (Real-time Notifications)

Instead of polling the status endpoint, configure a Webhook URL in your dashboard to receive instant POST updates.

Requirements: Your server must respond with a 200 OK status. We will retry up to 3 times if your server is unreachable.
Testing with Webhook.site
  1. Go to Webhook.site and copy your unique URL.
  2. Paste it into your Dashboard > Developer Access webhook settings.
  3. Use the API Tester below to place a Sandbox order.
  4. Watch the POST request arrive instantly on Webhook.site!
Event Payload (JSON)
{

  "reference": "TEST1775880958226",
  "order_id": 15071,
  "status": "placed",
  "phone_number": "0248189335",
  "network": "MTN",
  "signature": "bb09c8606002af8fd1719a18a4dceb9f232e0ea36aeb927ade5e0fc47acd1d41"
  
}
Retry Policy
  • Attempt 1: Immediate on status change.
  • Attempt 2: 5 minutes after first failure.
  • Attempt 3: 15 minutes after second failure.

WhatsApp Bot Automation (via BroadcastBuddy)

Integrate your business directly with the BroadcastBuddy API to deploy custom WhatsApp bots. This allows you to automate data order processing, handle real-time price inquiries, and manage customer interactions without manual intervention.

1. Check Session Status

Verify if your WhatsApp bot instance is currently online and connected to the BroadcastBuddy engine.

GET https://broadcastbuddy.app/api/v1/session/status/{sessionId}

2. Sync Profile & Subscription

Retrieve active subscription plans (Pro/Free), license expiration dates, and account metadata.

GET https://broadcastbuddy.app/api/profile?sessionId={sessionId}

3. Deploy Custom Bot Flows

Instantly clone a pre-configured data-vending flow from a master session to an agent's session using the Flow API.

POST https://broadcastbuddy.app/api/bot-flows/copy
Required JSON Body:
{
  "flowId": 3,
  "sourceSessionId": "YOUR_MASTER_ID",
  "targetSessionId": "AGENT_SESSION_ID"
}
Implementation Tip: Always use the sessionId stored in your local database to authenticate requests. Ensure your Paystack callback updates the local subscription_status to 'active' before triggering the session start command.

API Live Tester

{}