Keri sisuni

C# / .NET integratsioon

SMSBAT API integreerimine oma .NET-i rakendusse on lihtne, kasutades sisseehitatud HttpClient klassi.

HttpClienti kasutamine (.NET Core / .NET 5+)

Siin on näide sõnumi asünkroonsest saatmisest, kasutades serialiseerimiseks atribuute „HttpClient” ja „System.Text.Json”.

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}");
            }
        }
    }
}

RestSharpi kasutamine

Kui teie projekt juba kasutab RestSharpi, saate seda kasutada päringu struktuuri lihtsustamiseks.

Installige NuGeti pakett:

dotnet add package RestSharp

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}");
            }
        }
    }
}