C# / .NET-Integration
Die Integration der SMSBAT-API in Ihre .NET-Anwendung ist mithilfe der integrierten Klasse „HttpClient“ ganz einfach.
Verwenden von HttpClient (.NET Core / .NET 5+)
Hier ist ein Beispiel für das asynchrone Senden einer Nachricht mit „HttpClient“ und „System.Text.Json“ zur Serialisierung.
using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
namespace SmsbatIntegration
{
class Program
{
private static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
string url = "https://api.smsbat.com/bat/messagelist";
string apiKey = "YOUR_API_KEY_HERE";
// Create the payload using anonymous objects
var payload = new
{
messages = new[]
{
new
{
from = "ALPHANAME",
to = "380501234567",
text = "Hello from C# and .NET!",
type = "sms"
}
}
};
// Serialize the payload to JSON
string jsonPayload = JsonSerializer.Serialize(payload);
var content = new StringContent(jsonPayload, Encoding.UTF8, "application/json");
// Set the Authorization Header
client.DefaultRequestHeaders.Add("X-Authorization-Key", apiKey);
try
{
// Send the POST request
HttpResponseMessage response = await client.PostAsync(url, content);
// Read the response content
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine($"Status Code: {(int)response.StatusCode}");
Console.WriteLine($"Response: {responseBody}");
}
catch (HttpRequestException e)
{
Console.WriteLine($"Request exception: {e.Message}");
}
}
}
}
RestSharp verwenden
Wenn Ihr Projekt bereits RestSharp verwendet, können Sie es verwenden, um die Anforderungsstruktur zu vereinfachen.
Installieren Sie das NuGet-Paket:
using System;
using System.Threading.Tasks;
using RestSharp;
namespace SmsbatIntegrationRestSharp
{
class Program
{
static async Task Main(string[] args)
{
var options = new RestClientOptions("https://api.smsbat.com");
var client = new RestClient(options);
var request = new RestRequest("/bat/messagelist", Method.Post);
request.AddHeader("X-Authorization-Key", "YOUR_API_KEY_HERE");
var payload = new
{
messages = new[]
{
new
{
from = "ALPHANAME",
to = "380501234567",
text = "Hello from RestSharp!",
type = "sms"
}
}
};
// Automatically serializes object to JSON and sets Content-Type
request.AddJsonBody(payload);
try
{
var response = await client.ExecuteAsync(request);
Console.WriteLine($"Status Code: {(int)response.StatusCode}");
Console.WriteLine($"Response: {response.Content}");
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
}