Reliable SMS & OTP Dispatch for Enterprise .NET Applications
From desktop point-of-sale applications to web APIs, telecommunications gateways are essential for two-factor authentication (2FA/OTP), operational alerts, and transactional confirmations. However, raw telecom carrier specifications are often bogged down by non-standard XML schemas and inconsistent error responses.
To streamline this pipeline, I developed the İleti Merkezi C# XML API Library—a zero-dependency, type-safe wrapper that drops directly into any .NET application via a single class file.
flowchart LR
App[".NET / C# Application<br/>(WPF, WinForms, Web API)"] --> Client["SMS Gateway Client<br/>(Type-Safe C# Wrapper)"]
Client --> Serializer["XML Payload Serializer<br/>(Authentication & Sender ID)"]
Serializer -->|HTTPS POST| Gateway["Carrier SMS Gateway<br/>(api.iletimerkezi.com)"]
Gateway --> Telecom["GSM Operators & End User Device"]
1. Architectural Principles
- Zero External Dependencies: Built strictly on core .NET
System.NetandSystem.Xmlnamespaces, preventing NuGet dependency bloat. - Single & Bulk Messaging: Supports instantaneous single transactional dispatches as well as multi-recipient batch arrays within a single HTTPS connection.
- Low-Latency OTP Delivery: Minimized XML payloads optimized for millisecond-level transit time during user login and security handshakes.
- Real-Time Telemetry & Originator Verification: Query remaining SMS account credits and validate verified alphanumeric sender IDs dynamically prior to dispatch.
2. Integration Example
Once imported, dispatching authenticated messages requires just a few lines of code:
using IletiMerkeziApi;
// Initialize the API client with your gateway credentials
var smsClient = new SmsSender("API_KEY", "API_HASH", "SENDER_ID");
// Dispatch a single transactional message
string response = smsClient.TekliSmsGonder("5511817053", "Your verification code: 849201");
// Query remaining account balance
string balance = smsClient.BakiyeSorgula();
Console.WriteLine($"Remaining Balance: {balance}");
Download the class library and explore the source code directly on GitHub.
