API operational REST API · v1

Robbo Data GH Developer API

Automate data bundle purchases, check wallet balance, and receive webhook notifications when order status changes. API keys use the rdg_live_ prefix.

Introduction

The Robbo Data GH API is a REST JSON API. All requests are authenticated with an API key tied to your wallet and account pricing.

1

Create an API key from Dashboard → Developer API.

2

Send X-API-Key on every request.

3

Use wallet payment for instant fulfillment, or Paystack for card/MoMo checkout.

4

Configure a webhook URL to receive signed order status updates.

Base URL

https://robbodata.com/api/v1

Format

application/json

Rate limit: fair use · 60 req/min recommended

Authentication

Include your secret API key in the X-API-Key header. Never expose keys in client-side browser code.

Content-Type: application/json
X-API-Key: rdg_live_your_api_key_here

Endpoints

GET

List products

Returns active data bundles, checkers, and other products with pricing.

GET https://robbodata.com/api/v1/products
{
  "success": true,
  "data": [
    {
      "id": 1,
      "type": "DATA",
      "name": "MTN 1GB",
      "network": "MTN",
      "data_amount": "1GB",
      "price": "GH₵4.50",
      "price_pesewas": 450
    }
  ]
}
GET

Wallet balance

Returns your current Robbo wallet balance linked to the API key account.

GET https://robbodata.com/api/v1/balance
POST

Create order

Place a new order. Wallet payment debits your balance immediately. Paystack returns a checkout URL.

POST https://robbodata.com/api/v1/orders
FieldTypeDescription
product_idintegerRequired. Product ID from /products
recipient_phonestringRequired for data. 10-digit Ghana number
payment_methodstringWALLET (default) or PAYSTACK
store_slugstringOptional agent store slug
{
  "product_id": 1,
  "recipient_phone": "0241234567",
  "payment_method": "WALLET"
}
GET

Order status

Poll order delivery status by reference returned from create order.

GET https://robbodata.com/api/v1/orders/{reference}

Webhooks

When an order status updates, we dispatch an HMAC-SHA256 signed POST payload to your callback URL configured on your API key in the dashboard.

Header: X-Webhook-Signature — hex digest of the raw JSON body using your webhook secret (whsec_...).

{
  "event": "order.status_updated",
  "data": {
    "reference": "RDG-20260908-ABC123",
    "status": "COMPLETED",
    "payment_status": "SUCCESS",
    "recipient": "0241234567",
    "amount": "GH₵4.50"
  }
}
// Node.js verification
const crypto = require('crypto');
function verifyWebhook(rawBody, signatureHeader, secret) {
  const hmac = crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
  return crypto.timingSafeEqual(Buffer.from(hmac), Buffer.from(signatureHeader));
}

Code examples

Copy-ready samples for popular languages.

const response = await fetch("https://robbodata.com/api/v1/orders", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-API-Key": process.env.ROBBO_API_KEY,
  },
  body: JSON.stringify({
    product_id: 1,
    recipient_phone: "0241234567",
    payment_method: "WALLET",
  }),
});

const data = await response.json();
if (!data.success) throw new Error(data.error?.message);
console.log(data.data.reference, data.data.status);

Errors

Handle failures consistently in your integration.

HTTPCodeDescription
400BAD_REQUESTInvalid parameters or insufficient wallet balance
401UNAUTHORIZEDMissing or invalid API key
403FORBIDDENAccount suspended
404NOT_FOUNDOrder not found

Ready to integrate?

Create your API key and start building in minutes.