Send SMS with the SDK
Follow these steps to install the SDK, authenticate, and send SMS messages.
1. Install the SDK
<dependency>
<groupId>com.pahappa.systems</groupId>
<artifactId>comms-sdk</artifactId>
<version>1.0.0</version>
</dependency>
pnpm install comms-sdk
# or: npm install comms-sdk
# or: yarn add comms-sdk
cargo add comms_sdk
implementation 'com.pahappa.systems:comms-sdk:1.0.0'
go get github.com/pahappa-ltd/[email protected]
pip install comms_sdk
dart pub add comms_sdk
flutter pub add comms_sdk
composer require pahappa-limited/comms-sdk:1.0.0
gem install comms_sdk -v 1.0.0
dotnet add package Comms.Sdk --version 1.0.0
2. Authenticate
Main.java
import com.pahappa.systems.commssdk.v1.CommsSDK;
// CommsSDK.useSandbox(); // Use this if you are using sandbox credentials.
String apiUsername = "api_username";
String apiKey = "api_key";
CommsSDK sdk = CommsSDK.authenticate(apiUsername, apiKey);
main.js
const { CommsSDK } = require('comms-sdk');
const apiUsername = "api_username";
const apiKey = "api_key";
// CommsSDK.useSandbox();
const sdk = CommsSDK.authenticate(apiUsername, apiKey);
main.rs
use comms_sdk::CommsSDK;
let api_username = "api_username";
let api_key = "api_key";
// CommsSDK::use_sandbox();
let sdk = CommsSDK::authenticate(api_username, api_key);
Main.kt
import com.pahappa.systems.commssdk.v1.CommsSDK
val apiUsername = "api_username"
val apiKey = "api_key"
// CommsSDK.useSandbox()
val sdk = CommsSDK.authenticate(apiUsername, apiKey)
main.go
import v1 "github.com/Pahappa-LTD/comms-go-sdk/v1"
apiUsername := "api_username"
apiKey := "api_key"
// v1.CommsSDK.UseSandbox()
sdk := v1.CommsSDK.Authenticate(apiUsername, apiKey)
main.py
from comms_sdk import CommsSDK
api_username = "api_username"
api_key = "api_key"
# CommsSDK.use_sandbox()
sdk = CommsSDK.authenticate(api_username, api_key)
main.dart
import 'package:commssdk/commssdk.dart';
const apiUsername = "api_username";
const apiKey = "api_key";
// CommsSDK.useSandbox();
final sdk = await CommsSDK.authenticate(apiUsername, apiKey);
main.php
use PahappaLimited\CommsSDK\v1\CommsSDK;
$apiUsername = "api_username";
$apiKey = "api_key";
// CommsSDK::useSandbox();
$sdk = CommsSDK::authenticate($apiUsername, $apiKey);
main.rb
require 'comms_sdk'
api_username = "api_username"
api_key = "api_key"
# CommsSDK.use_sandbox
sdk = CommsSDK.authenticate(api_username, api_key)
Program.cs
using Comms;
string apiUsername = "api_username";
string apiKey = "api_key";
// CommsSDK.UseSandbox();
var sdk = CommsSDK.Authenticate(apiUsername, apiKey);
3. Send SMS
Main.java
/* sdk.sendSMS() returns true or false to indicate status of the message. */
// one number
boolean success = sdk.sendSMS("0712345678", "Message to send");
// list of numbers
List<String> numbers = List.of("0712345678", "0777345678");
sdk.sendSMS(numbers, "Message to multiple numbers");
// custom sender ID
sdk.sendSMS("0712345678", "Message to send", "SenderID");
// custom message priority
sdk.sendSMS("0712345678", "Message to send", MessagePriority.Lowest);
// all the above
sdk.sendSMS(numbers, "Message to send", "SenderID", MessagePriority.Lowest);
/* sdk.querySendSMS() returns an ApiResponse object with more fields.
* It takes all the same parameters as the sdk.sendSMS() functions. */
ApiResponse smsResponse = sdk.querySendSMS(numbers, "Query send sms message");
System.out.println(smsResponse.status);
main.js
const { MessagePriority } = require('comms-sdk');
const numbers = ["256789123456", "+256789123457", "256789123458"];
await sdk.sendSMS(numbers, "Sample SMS Message", "CustomSenderID", MessagePriority.HIGHEST);
const smsResponse = await sdk.querySendSMS(numbers, "Query send sms message");
console.log(smsResponse.status);
main.rs
use comms_sdk::MessagePriority;
let numbers = vec![
"256789123456".to_string(),
"+256789123457".to_string(),
"256789123458".to_string(),
];
sdk.send_sms_with_options(&numbers, "Sample SMS Message", Some("CustomSenderID"), Some(MessagePriority::Highest)).unwrap();
let sms_response = sdk.query_send_sms(&numbers, "Query send sms message").unwrap();
println!("{}", sms_response.status);
Main.kt
import com.pahappa.systems.commssdk.v1.models.MessagePriority
val numbers = listOf("256789123456", "+256789123457", "256789123458")
sdk.sendSMS(numbers, "Sample SMS Message", "CustomSenderID", MessagePriority.HIGHEST)
val smsResponse = sdk.querySendSMS(numbers, "Query send sms message")
println(smsResponse.status)
main.go
import "github.com/Pahappa-LTD/comms-go-sdk/v1/models"
numbers := []string{"256789123456", "+256789123457", "256789123458"}
sdk.SendSMSWithOptions(numbers, "Sample SMS Message", "CustomSenderID", models.MessagePriority.Highest)
smsResponse, _ := sdk.QuerySendSMS(numbers, "Query send sms message")
fmt.Println(smsResponse.Status)
main.py
from comms_sdk import MessagePriority
numbers = ["256789123456", "+256789123457", "256789123458"]
sdk.send_sms(numbers, "Sample SMS Message", sender_id="CustomSenderID", priority=MessagePriority.HIGHEST)
sms_response = sdk.query_send_sms(numbers, "Query send sms message")
print(sms_response.status)
main.dart
final numbers = ["256789123456", "+256789123457", "256789123458"];
await sdk.sendSMS(numbers, "Sample SMS Message", senderID: "CustomSenderID", priority: MessagePriority.Highest);
final smsResponse = await sdk.querySendSMS(numbers, "Query send sms message");
print(smsResponse.status);
main.php
use PahappaLimited\CommsSDK\v1\models\MessagePriority;
$numbers = ["256789123456", "+256789123457", "256789123458"];
$sdk->sendSMS($numbers, "Sample SMS Message", "CustomSenderID", MessagePriority::HIGHEST);
$smsResponse = $sdk->querySendSMS($numbers, "Query send sms message");
echo $smsResponse->status;
main.rb
numbers = ["256789123456", "+256789123457", "256789123458"]
sdk.send_sms(numbers, "Sample SMS Message", sender_id: "CustomSenderID", priority: :highest)
sms_response = sdk.query_send_sms(numbers, "Query send sms message")
puts sms_response.status
Program.cs
using Comms.Models;
var numbers = new List<string> { "256789123456", "+256789123457", "256789123458" };
sdk.SendSMS(numbers, "Sample SMS Message", "CustomSenderID", MessagePriority.Highest);
var smsResponse = sdk.QuerySendSMS(numbers, "Query send sms message");
Console.WriteLine(smsResponse.Status);
note
For query-based methods, the returned object is of type ApiResponse. See ApiResponse.