SMS

Send transactional and notification SMS messages to any Ghanaian mobile number through a single authenticated API call. Messages are sent using the SMS sender configured on your Korba Xchange account.

POST https://testxchange.korba365.com/api/v1.0/send_sms/

Overview

The SMS endpoint delivers an arbitrary text message to a recipient's phone. It is designed for transactional use cases — OTP delivery, payment receipts, account alerts — where a timely, reliable message is critical.

Request Body

All MANDATORY parameters must be present. The endpoint uses your account's configured SMS sender; the request body does not accept a per-message sender override.

Parameter Type Required Description
client_id string Mandatory Your unique client identifier from the dashboard under API/Website Creds.
phone_number string Mandatory Recipient's phone number in international format — e.g. +233241234567. Must start with country code.
sms_message string Mandatory The SMS body text to deliver. Standard 160-character limit per SMS segment; longer messages are concatenated automatically.

Request Example

import hmac, hashlib, requests

secret_key = "YOUR_SECRET_KEY"
client_key = "YOUR_CLIENT_KEY"

payload = {
    "client_id":    "YOUR_CLIENT_ID",
    "phone_number": "+233241234567",
    "sms_message":      "Your payment of GHS 50.00 was successful. Ref: X4569.",
}

message = "&".join(f"{k}={v}" for k, v in sorted(payload.items()))
signature = hmac.new(secret_key.encode(), message.encode(), hashlib.sha256).hexdigest()

response = requests.post(
    "https://testxchange.korba365.com/api/v1.0/send_sms/",
    json=payload,
    headers={"Authorization": f"HMAC {client_key}:{signature}"},
)
print(response.json())

Response

A successful delivery request returns HTTP 200. Note that this confirms the message has been accepted for delivery — network-level delivery receipts are not currently surfaced in the response. For error codes see the Errors & Status Codes reference.

200 OK Success
{
  "message":       "Code Created",
  "response_code": "00"
}