using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace MessagingExample
{
class SMSPoh
{
private static readonly string ApiKey = "YOUR_API_KEY";
private static readonly string ApiSecret = "YOUR_API_SECRET";
private static readonly string SenderId = "YourSenderID";
private static readonly string Recipient = "+959********";
private static readonly string Message = "Hello, this is a test message from SMSPoh!";
static async Task Main(string[] args)
{
await SendSMS(Recipient, Message);
}
public static async Task SendSMS(string recipient, string message)
{
var apiUrl = "https://v3.smspoh.com/api/rest/send";
// Prepare the payload
var payload = new
{
to = recipient,
message = message,
from = SenderId
};
// Encode the API key and secret
var credentials = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{ApiKey}:{ApiSecret}"));
// Set up the request
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", credentials);
client.DefaultRequestHeaders.Add("Content-Type", "application/json");
var jsonPayload = JsonConvert.SerializeObject(payload);
var content = new StringContent(jsonPayload, Encoding.UTF8, "application/json");
// Send the request
var response = await client.PostAsync(apiUrl, content);
if (response.IsSuccessStatusCode)
{
Console.WriteLine("Message sent successfully!");
}
else
{
Console.WriteLine($"Failed to send message. Status code: {response.StatusCode}");
}
}
}
}
}