BccCode.Notifications.Client 2.3.2

dotnet add package BccCode.Notifications.Client --version 2.3.2
                    
NuGet\Install-Package BccCode.Notifications.Client -Version 2.3.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BccCode.Notifications.Client" Version="2.3.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BccCode.Notifications.Client" Version="2.3.2" />
                    
Directory.Packages.props
<PackageReference Include="BccCode.Notifications.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BccCode.Notifications.Client --version 2.3.2
                    
#r "nuget: BccCode.Notifications.Client, 2.3.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package BccCode.Notifications.Client@2.3.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BccCode.Notifications.Client&version=2.3.2
                    
Install as a Cake Addin
#tool nuget:?package=BccCode.Notifications.Client&version=2.3.2
                    
Install as a Cake Tool

BCC Notifications .NET Client

A clean and simple .NET client for the BCC Notifications API

🚀 Key Features

  • Platform-First Architecture: Built on BccCode.Platform.Apis and BccCode.Platform.Auth
  • Scope-Based Authentication: Automatic OAuth token management with proper scopes
  • Full Feature Support: Email (with attachments), SMS, and In-App notifications

📦 Installation

dotnet add package BccCode.Notifications.Client

⚡ Setup

// Standard BCC Platform chain
builder.Services.AddBccPlatform(AppEnvironment.Sandbox, clientId, clientSecret)
    .AddBccCoreApiClient(/* scopes */)
    .AddBccPubSub()          
    .AddBccNotifications();  // ← Works exactly the same way

That's it! No configuration options, no overloads, just one simple method.

🔧 Usage

public class EmailService
{
    private readonly INotificationClient _notificationClient;

    public EmailService(INotificationClient notificationClient)
    {
        _notificationClient = notificationClient;
    }

    public async Task SendWelcomeEmail(Guid personUid)
    {
        var payload = new EmailPayload
        {
            PersonUid = personUid,
            NotificationPayload = new List<EmailContent>
            {
                new()
                {
                    Language = "en-US",
                    Subject = "Welcome!",
                    Title = "Welcome to our service!",
                    Content = "<h1>Hello [firstName]!</h1><p>Welcome to our service!</p>",
                    ShowFooter = true // Optional: control footer visibility (default: true)
                }
            }
        };

        var response = await _notificationClient.SendEmailAsync(payload);
        Console.WriteLine($"Email queued with ID: {response.Id}");
    }
}

⚠️ Error Handling

The client provides clear, actionable error messages:

InvalidOperationException: Could not instantiate NotificationClient due to missing credentials. 
Call AddBccPlatform(...) in startup to add BCC platform credentials.

🔧 Dependency Graph

BccCode.Notifications.Client v2.2.0
├── BccCode.Platform.Apis (authentication, HTTP management)  
├── BccCode.Platform.Config (environment configuration)
└── Microsoft.Extensions.Http (HTTP client factory)

📄 API Reference

Email Notifications

Task<NotificationResponse> SendEmailAsync(EmailPayload payload, bool pushNotifications = true, CancellationToken cancellationToken = default)

SMS Notifications

Task<NotificationResponse> SendSmsAsync(SmsPayload payload, bool pushNotifications = true, CancellationToken cancellationToken = default)

In-App Notifications

Task<NotificationResponse> SendInAppAsync(InAppPayload payload, bool pushNotifications = true, CancellationToken cancellationToken = default)

🚀 Quick Start

  1. Install the package with dotnet add package BccCode.Notifications.Client
  2. Configure BCC Platform (if not already done)
  3. Add Notifications with .AddBccNotifications() - no parameters needed!
  4. Inject and use INotificationClient

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.3.2 319 6/25/2025
2.3.1 137 6/25/2025
2.2.1 166 6/24/2025
2.0.2 165 6/19/2025
2.0.1 139 6/19/2025
1.0.2 286 6/12/2025
1.0.1 283 6/12/2025