DEV Community

Gurrom Software
Gurrom Software

Posted on

How to Send SMS in South Africa Using a Simple REST API (C# Example)

How to Send SMS in South Africa Using a Simple REST API (C# Example)

Sending SMS from your application shouldn’t be complicated.

If you’ve worked with global providers before, you’ve probably run into:

  • Complex onboarding flows
  • Confusing pricing models
  • Over-engineered APIs for simple use cases

Sometimes, you just want to send a message and move on.

In this guide, I’ll show you how to send an SMS in under 60 seconds using a simple REST API built specifically for South Africa.


⚡ What You’ll Build

By the end of this article, you’ll be able to:

  • Send an SMS via API
  • Integrate messaging into a C# application
  • Understand the request and response flow

🚀 The API

We’ll be using the Gurrom Flow SMS API — a lightweight messaging API designed for transactional use cases.

👉 GitHub Repo: https://github.com/gurrom/gurrom-flow-api

👉 Get API Access: https://flow.gurrom.co.za/get-access


📤 API Endpoint

POST https://api.flow.gurrom.co.za/api/messageapi/sendmessage
Enter fullscreen mode Exit fullscreen mode

🔐 Authentication

All requests require an API key: Authorization: Bearer YOUR_API_KEY

📦 Request Body

Here’s a minimal request:

{
  "AccountID": "YOUR_ACCOUNT_ID",
  "To": "2782870XXXX",
  "MessageText": "Hello from Gurrom Flow"
}
Enter fullscreen mode Exit fullscreen mode

📥 Example Response

{
  "isSuccess": true,
  "messageStatus": "SUCCESS",
  "messageTrackingNumber": "3727691",
  "creditsAvailable": 76825
}
Enter fullscreen mode Exit fullscreen mode

💻 C# Example

Here’s a simple .NET example using HttpClient:

using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

var client = new HttpClient();

client.DefaultRequestHeaders.Authorization =
    new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "YOUR_API_KEY");

var json = @"{
  ""AccountID"": ""YOUR_ACCOUNT_ID"",
  ""To"": ""2782870XXXX"",
  ""MessageText"": ""Hello from Gurrom Flow""
}";

var content = new StringContent(json, Encoding.UTF8, "application/json");

var response = await client.PostAsync(
    "https://api.flow.gurrom.co.za/api/messageapi/sendmessage",
    content
);

var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);

Enter fullscreen mode Exit fullscreen mode

🧪 Testing Without Code (Postman)

If you want to test quickly without writing code, you can use Postman.

👉 Open the collection: https://www.postman.com/universal-eclipse-579716/gurrom-flow-api/overview

Then:

  1. Set your apiKey
  2. Set your accountId
  3. Click Send

🇿🇦 Why Use a Local SMS API?

If you’re building for South Africa, using a local provider has real advantages:

  • Better delivery reliability
  • Lower latency
  • Simpler pricing
  • Faster support

Global platforms are powerful, but often overkill for straightforward transactional messaging.


🚀 Common Use Cases

You can use this API for:

  • OTP / verification messages
  • Payment confirmations
  • Delivery notifications
  • System alerts
  • Customer communication

⚡ Send Your First SMS

You can get started in minutes with free SMS credits:

👉 https://flow.gurrom.co.za/get-access

No credit card required.


🔥 Final Thoughts

For most applications, you don’t need a complex messaging platform.

You just need:

  • A simple API
  • Reliable delivery
  • Fast integration

That’s exactly what Gurrom Flow is designed for.


📌 Resources


If you’re building anything that needs messaging, this should get you up and running in minutes.

Top comments (0)