XpressNotification.Sdk
0.5.0
dotnet add package XpressNotification.Sdk --version 0.5.0
NuGet\Install-Package XpressNotification.Sdk -Version 0.5.0
<PackageReference Include="XpressNotification.Sdk" Version="0.5.0" />
<PackageVersion Include="XpressNotification.Sdk" Version="0.5.0" />
<PackageReference Include="XpressNotification.Sdk" />
paket add XpressNotification.Sdk --version 0.5.0
#r "nuget: XpressNotification.Sdk, 0.5.0"
#:package XpressNotification.Sdk@0.5.0
#addin nuget:?package=XpressNotification.Sdk&version=0.5.0
#tool nuget:?package=XpressNotification.Sdk&version=0.5.0
XpressNotification .NET SDK
Official .NET client for the XpressNotification API —
one typed client for email, SMS, push, and WhatsApp. Targets net8.0 and netstandard2.0.
Install
dotnet add package XpressNotification.Sdk
Quick start
using XpressNotification.Sdk;
using XpressNotification.Sdk.Email;
var client = new XpressNotificationClient(
"xpn_your_api_key",
"https://xpressnotification.persol-enterprise.com");
await client.Email.SendAsync(new EmailSendRequest
{
To = "user@example.com",
Subject = "Welcome!",
Html = "<p>Hello 👋</p>"
});
Dependency injection:
services.AddXpressNotification(o =>
{
o.ApiKey = "xpn_your_api_key";
o.BaseUrl = "https://xpressnotification.persol-enterprise.com";
});
Every channel, one client
await client.Sms.SendAsync(new SmsSendRequest { To = "+233200000000", Body = "Your OTP is 1234" });
await client.Push.SendAsync(new PushSendRequest { ContactId = "…", Title = "Shipped", Body = "On the way" });
await client.WhatsApp.SendAsync(new WhatsAppSendRequest { To = "+233200000000", TemplateName = "order_update", LanguageCode = "en_US" });
Email extras
await client.Email.SendAsync(new EmailSendRequest
{
To = "user@example.com",
Subject = "Your invoice",
Html = "<p>See attached.</p>",
Cc = new() { "manager@example.com" },
Bcc = new() { "audit@example.com" },
Attachments = { EmailAttachment.FromFile("invoice.pdf") },
// Send through your own SMTP for this message only (bypasses the dashboard config):
Smtp = new SmtpOverride { Host = "smtp.yourserver.com", Username = "apikey", Password = "…" }
});
Errors surface as XpressNotificationApiException (with StatusCode and ErrorCode). The client
retries transient 5xx/network failures automatically.
Docs
Full reference: https://xpressnotification.persol-enterprise.com/docs/sdk
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Extensions.Http (>= 8.0.1)
- Microsoft.Extensions.Http.Polly (>= 8.0.11)
- Microsoft.Extensions.Options (>= 8.0.2)
- System.Net.Http.Json (>= 8.0.1)
- System.Text.Json (>= 8.0.5)
-
net8.0
- Microsoft.Extensions.Http (>= 8.0.1)
- Microsoft.Extensions.Http.Polly (>= 8.0.11)
- Microsoft.Extensions.Options (>= 8.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
0.4.0 — The SDK no longer writes HTTP request logs into the host app (IHttpClientFactory default logging is stripped for its client). 0.3.0 — Email sender display name (FromName). 0.2.0 — CC/BCC, file attachments, per-request SMTP override.