InterAcct.SuperStream.Core
0.0.3
dotnet add package InterAcct.SuperStream.Core --version 0.0.3
NuGet\Install-Package InterAcct.SuperStream.Core -Version 0.0.3
<PackageReference Include="InterAcct.SuperStream.Core" Version="0.0.3" />
<PackageVersion Include="InterAcct.SuperStream.Core" Version="0.0.3" />
<PackageReference Include="InterAcct.SuperStream.Core" />
paket add InterAcct.SuperStream.Core --version 0.0.3
#r "nuget: InterAcct.SuperStream.Core, 0.0.3"
#:package InterAcct.SuperStream.Core@0.0.3
#addin nuget:?package=InterAcct.SuperStream.Core&version=0.0.3
#tool nuget:?package=InterAcct.SuperStream.Core&version=0.0.3
IASuperStreamClass
Version: 1.0.1
Package ID: InterAcctSoftware.SuperStreamClass
Target Framework: .NET 10.0
Overview
IASuperStreamClass is a comprehensive .NET SDK for integrating with OzEdi's SuperStream API. This library provides a complete set of tools for managing SuperStream operations including file uploads, payments, webhooks, maintenance, and response handling for Australian superannuation contributions.
Features
- Authentication & Authorization - JWT-based authentication with automatic token management
- File Uploads - Upload and manage SuperStream contribution files
- Payment Management - Process and track superannuation payments
- Webhook Integration - Receive and handle webhook notifications
- Maintenance Operations - Manage client configurations and settings
- Response Handling - Retrieve and process fund responses
- Automated Token Refresh - Built-in token provider with automatic renewal
Installation
dotnet add package InterAcctSoftware.SuperStreamClass
Or via NuGet Package Manager:
Install-Package InterAcctSoftware.SuperStreamClass
Architecture
Core Components
Services
- SuperStreamService - Main service orchestrator providing access to all client modules
- SuperStreamHttpClient - Base HTTP client with endpoint routing
- AuthClient - Handles authentication operations
- UploadsClient - Manages file upload operations
- PaymentsClient - Processes payment-related operations
- WebhooksClient - Handles webhook subscriptions and events
- MaintenanceClient - Manages client configuration and settings
- ResponseClient - Retrieves fund responses and summaries
- CustomerClient - Customer-specific operations
Handlers
- AuthenticatedHttpHandler - DelegatingHandler that automatically adds JWT bearer tokens to requests
Token Management
- ITokenProvider - Interface for token provisioning
- TokenProvider - Implementation of token management with caching and refresh logic
Models
The library includes comprehensive model classes organized by domain:
- Authentication -
AuthRequest,AuthResponse - Uploads -
UploadFileRequest,UploadFilterRequest,UploadStatusResponse - Payments -
PaymentOrderRequest,PaymentFileResponse - Webhooks -
WebhookRequest,WebhookResponse - Maintenance -
ClientInfo,ClientRegisterRequest,ClientUpdateRequest,ClientPaymentConfig,AccountBalance,AppVersion - Responses -
FundResponseFilter,FundResponseSummary,PullFundResponsesRequest - Customer -
SuperStreamCustomerRequest,SuperStreamResponse
Usage
Basic Setup
using IASuperStreamClass.Extensions;
using IASuperStreamClass.Services;
// Add SuperStream SDK to dependency injection
services.AddSuperStreamSdk(
baseUrl: "https://api.superstream.ozedi.com",
username: "your-username",
password: "your-password"
);
Authentication
// Inject ITokenProvider to get access tokens
public class MyService
{
private readonly ITokenProvider _tokenProvider;
public MyService(ITokenProvider tokenProvider)
{
_tokenProvider = tokenProvider;
}
public async Task<string> GetTokenAsync()
{
return await _tokenProvider.GetTokenAsync();
}
}
Uploading Files
public class SuperStreamUploadService
{
private readonly SuperStreamService _superStreamService;
public SuperStreamUploadService(SuperStreamService superStreamService)
{
_superStreamService = superStreamService;
// Set default values for uploads
_superStreamService.Uploads.SetDefaults(
abn: "12345678901",
account: "account-id",
paymentProvider: "Zepto"
);
}
public async Task<SuperStreamResponse> UploadContributionFileAsync(
string clientId,
Stream fileStream,
string fileName)
{
var request = new UploadFileRequest
{
PayloadStream = fileStream,
FileName = fileName,
AutoPayWhenReady = true,
AutoSendWhenReady = true
};
return await _superStreamService.Uploads.UploadFileAsync(clientId, request);
}
}
Managing Payments
public class PaymentService
{
private readonly SuperStreamService _superStreamService;
public PaymentService(SuperStreamService superStreamService)
{
_superStreamService = superStreamService;
}
public async Task ProcessPaymentAsync(string clientId, PaymentOrderRequest request)
{
var response = await _superStreamService.Payments.CreatePaymentOrderAsync(clientId, request);
// Handle payment response
}
}
Webhook Handling
public class WebhookService
{
private readonly SuperStreamService _superStreamService;
public WebhookService(SuperStreamService superStreamService)
{
_superStreamService = superStreamService;
}
public async Task RegisterWebhookAsync(WebhookRequest webhookRequest)
{
var response = await _superStreamService.Webhooks.RegisterWebhookAsync(webhookRequest);
// Process webhook registration
}
}
Configuration
Environment-Specific Setup
The SDK supports different environments through the IEnvironmentService interface. Implement this interface to provide environment-specific configurations:
public class EnvironmentService : IEnvironmentService
{
public string GetApiBaseUrl()
{
return Environment.GetEnvironmentVariable("SUPERSTREAM_API_URL")
?? "https://api.superstream.ozedi.com";
}
public string GetUsername()
{
return Environment.GetEnvironmentVariable("SUPERSTREAM_USERNAME");
}
public string GetPassword()
{
return Environment.GetEnvironmentVariable("SUPERSTREAM_PASSWORD");
}
}
Dependency Injection
The library is designed with dependency injection in mind and uses the following NuGet packages:
- Microsoft.AspNetCore.Http.Abstractions (v2.3.0)
- Microsoft.Extensions.Features (v10.0.1)
- Microsoft.Extensions.Http (v10.0.1)
Error Handling
The SDK includes built-in error handling for common scenarios:
- Authentication failures - Throws exceptions with detailed error messages
- HTTP errors - Ensures successful status codes and provides error details
- Token expiration - Automatic token refresh through
TokenProvider
Example error handling:
try
{
var result = await _superStreamService.Uploads.UploadFileAsync(clientId, request);
}
catch (HttpRequestException ex)
{
// Handle HTTP-related errors
Console.WriteLine($"HTTP Error: {ex.Message}");
}
catch (Exception ex)
{
// Handle general errors
Console.WriteLine($"Error: {ex.Message}");
}
Thread Safety
The AuthenticatedHttpHandler and TokenProvider are designed to be thread-safe for use in multi-threaded environments.
Best Practices
- Token Management - Let the
TokenProviderhandle token caching and renewal automatically - HttpClient Lifecycle - Use dependency injection to manage HttpClient instances
- Configuration - Store sensitive credentials in secure configuration sources (Azure Key Vault, User Secrets, etc.)
- Error Handling - Always wrap API calls in try-catch blocks to handle network and API errors
- Disposal - Properly dispose of streams when uploading files
Contributing
This library is maintained by InterAcct Software. For issues or feature requests, please contact the development team.
License
Copyright � 2026 InterAcct Software. All rights reserved.
Support
For technical support or questions about the SuperStream API integration, please contact:
- Company: InterAcct Software
- Product: IA Super Stream Class
Version History
1.0.1 (Current)
- Initial release with full SuperStream API integration
- Support for .NET 10.0
- Complete client implementations for all SuperStream endpoints
Related Projects
This library is part of the InterAcct ecosystem:
- IAPayrollConnector - .NET MAUI application for payroll integration
- InterAcctModels - Shared models and interfaces
- InterAcctDatabaseConnector - Database connectivity layer
- InterAcctDatabaseCore - Core database functionality
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Microsoft.AspNetCore.Http.Abstractions (>= 2.3.0)
- Microsoft.Extensions.Features (>= 10.0.1)
- Microsoft.Extensions.Http (>= 10.0.1)
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 |
|---|---|---|
| 0.0.3 | 108 | 2/11/2026 |