M Messaging.ng

Developer API

Use your `X-Public-Key` and bearer secret key to authenticate with Messaging.ng. These credentials are for customers consuming Messaging.ng messaging services from their own applications.

Base URL: https://messaging.ng/api/v1
Channels: SMS, USSD, VAS, WhatsApp, Voice
Environments: test, live
Authentication: X-Public-Key + Bearer Secret Key

Messaging.ng Customer Endpoints

GET /account

Returns your workspace profile, account readiness, and wallet balance.

Use cases: show wallet balance inside your app, confirm account readiness before sending, and sync active workspace details into an internal dashboard.

POST /messages/send

{
  "recipients": ["2348012345678", "2348098765432"],
  "body": "Hello from Messaging.ng",
  "sender_id": "MyBrand",
  "channel": "sms",
  "route": "transactional",
  "scheduled_for": "2026-03-28T09:30:00+01:00"
}

Use this endpoint to submit outbound traffic through Messaging.ng. The response returns accepted messages, failures, references and wallet impact, while non-approved sender IDs are rejected.

Available Routes

`transactional`

Use for OTPs, one-time alerts, account activity notices, payment updates, delivery notifications, and customer service communications.

`promotional`

Use for marketing campaigns, product announcements, seasonal offers, engagement pushes, and audience reactivation traffic.

Typical Use Cases

  • Submit one-off alerts or campaign sends from your own application.
  • Schedule messages for a future date and time.
  • Send to one or many recipients in a single request.
  • Validate sender ID approval before traffic is accepted.

GET /messages

Returns the latest message log for the current workspace credential.

Use cases: build delivery dashboards, reconcile message submissions, retrieve message references, and inspect scheduling or status history.

GET /sender-ids

Returns sender ID applications, approvals and pending reviews for the active workspace.

Use cases: verify which sender IDs are approved before sending, show approval state inside an internal admin panel, and monitor pending applications from your own system.

Integration Scope

These docs are for Messaging.ng customers integrating Messaging.ng services. Your application works directly with Messaging.ng endpoints, credentials, sender ID approvals, and reporting flows.

USSD Callback Integration

Messaging.ng forwards live USSD requests to the callback URL you save in your approved USSD service request. The request shape follows the same field naming used by Africa’s Talking-style USSD integrations, so most existing USSD callback handlers can be moved here without code changes.

Callback Request

POST your configured callback URL

sessionId=ATUid_12345
serviceCode=*347*307*12#
phoneNumber=+2348012345678
text=1*2*3

Expected Response

CON Welcome to your service
1. Balance
2. Transfer

OR

END Thank you for using our service

USSD Events and Routing

Events URL

If you save an events URL with your USSD request, Messaging.ng forwards end-of-session and related event payloads to that endpoint as they are received.

Subcode Assignment

Messaging.ng routes each incoming USSD request to the workspace that owns the assigned subcode. If your assigned subcode is 0, Messaging.ng treats that service as the primary code and forwards the callback to your platform with the primary code value.

Customer Setup Flow

  • Request USSD service from the customer dashboard.
  • Save your callback URL and optional events URL.
  • Wait for admin approval and subcode assignment.
  • Go live immediately once Messaging.ng marks the request approved.