Bulk SMS API

Bulk SMS API for
South African applications.

Build notifications, alerts and supported messaging workflows into the systems your business already uses. Start with the current API reference and published SDKs.

Send an SMS with the HTTPS API

Authenticate on your backend with the account Client ID and Client Secret to obtain a login token. Use that token in the bearer header for sending and balance requests. Keep secrets out of browser/mobile client code, public repositories and support screenshots.

POST https://portal.smsflow.co.za/api/integration/BulkMessages
Authorization: Bearer YOUR_LOGIN_TOKEN
Content-Type: application/json

{
  "SendOptions": {
    "startDeliveryUtc": null,
    "campaignName": "Website synthetic example",
    "checkOptOuts": true
  },
  "messages": [
    {
      "content": "Your demo appointment is confirmed for 10:00.",
      "destination": "27000000000"
    }
  ]
}

The destination is deliberately synthetic. Replace it only with a recipient authorised for a controlled test. Running a real send consumes credits. This website example does not execute a request.

Start with the first SMS quickstart, then check authentication, sending and balance. For the raw requests and Postman collection, use the published HTTP examples.

Choose an integration and handle failures deliberately

Integration routes for different operating needs
RouteBest starting pointWhat you operate
HTTPS APIA backend application making explicit requestsCredentials, request validation and your business workflow
.NET, Node.js or PythonA supported language libraryYour backend and application-level failure handling
SQL Server workerAn existing SQL queue/workflowThe supported installer, worker, queue and monitoring

.NET / C# quickstart · Node.js quickstart · Python quickstart. SQL worker overview.

Validate destinations and content before sending. Check balance and record the response/reference without logging secrets or customer message bodies. An accepted API request is not proof of handset delivery. Public SDK coverage is authentication, sending and balance; confirm other needs with SMSFlow.

A timeout can leave the send outcome uncertain. Do not blindly replay a batch: it may create duplicate messages and charges. Use the current error and retry reference, distinguish authentication/validation failures from transient faults, and investigate uncertain outcomes before resending.

Build around the message lifecycle.

Send from your system

Trigger an SMS from an application workflow, such as a booking confirmation, service update or approved campaign. Keep business rules and recipient selection in your application.

Authenticate, send and check balance

The current public HTTPS reference covers authentication, sending and balance. Delivery-status and reply handling depend on the supported integration route; confirm the workflow you need in the current reference or with our team.

Choose a published SDK

Use .NET, Node.js or Python tooling where it fits your stack. Java and C# guides remain available; the live API documentation is the authority for current request and response formats.

Watch · Developer resources

See how the API fits.

Start with the reference, choose a library and plan the full messaging workflow.

Read the video transcript

A booking is confirmed. An order changes status. Your application already knows what happened. Connect that business event to a useful SMS with the SMSFlow HTTPS API.

Start with the current documentation. Authenticate, send SMS and check your balance. Keep business rules in your application, with credentials protected on your backend.

Choose a published SDK for .NET, Node.js, or Python. Prefer direct HTTP or Postman? Follow the supported examples and confirm the current request format.

Test with a controlled recipient. Handle validation, failures and retries carefully. Confirm the supported delivery-status and reply workflow for your chosen route, and plan how your team monitors it.

Find your quickstart, official packages and examples. Explore developer resources at SMSFlow online.

SMSFlow · Message. Delivered.

Make the next connection clear.

Use the published API resources to connect messaging to your application workflow.

SMSFlow Message. Delivered.
South African developers reviewing an application integration together.Built to connect.

A considered route into production.

01

Review the reference

Understand authentication, available operations, message types and segmentation before writing an integration.

02

Test the full workflow

Use a controlled recipient and test success, invalid requests, delivery status and failure handling. Do not use a customer list for initial checks.

03

Plan operations

Protect credentials, manage retries carefully, monitor failures and agree expected volumes and support requirements.

The reference stays close.

Open the API documentation, SDKs and supported examples from one place.

Developer resourcesAPI quickstart
Integration overview
Business event
    → authenticated API request
    → message status
    → your application workflow
Illustrative flow, not an executable request.

API questions, answered.

What does a message cost?
Standard SMS is 16c excluding VAT, or 18.4c including VAT per segment. Longer messages and Unicode can use additional segments. Review actual credit requirements in the portal.
Is there a shared SMS and WhatsApp API account?
SMS and hosted WhatsApp have separate application journeys. Start with the relevant product documentation rather than assuming one account, endpoint or billing model covers both.
Can we discuss high-volume requirements?
Yes. Explain your expected traffic, message purpose, integration and operational needs to the SMSFlow team. Confirm the suitable route and service scope before rollout.

Choose the way you work.

Use the browser, connect your application or work from your SQL environment.

HTTPS API

Connect supported messaging operations to your application.

Explore the API

Build your next messaging workflow.

Choose your sending route, check the costs or discuss your requirements.

Talk to sales