Sinch 0.1.15-alpha
See the version list below for details.
dotnet add package Sinch --version 0.1.15-alpha
NuGet\Install-Package Sinch -Version 0.1.15-alpha
<PackageReference Include="Sinch" Version="0.1.15-alpha" />
paket add Sinch --version 0.1.15-alpha
#r "nuget: Sinch, 0.1.15-alpha"
// Install Sinch as a Cake Addin #addin nuget:?package=Sinch&version=0.1.15-alpha&prerelease // Install Sinch as a Cake Tool #tool nuget:?package=Sinch&version=0.1.15-alpha&prerelease
.NET SDK
Welcome to Sinch's .NET SDK.
Here you'll find documentation to start developing C# code using Sinch services.
To use this SDK you'll need a Sinch account and API keys. Please sign up at sinch.com
For more in depth version of the Sinch APIs, please refer to the official developer portal - developers.sinch.com
[!WARNING] This SDK is currently available as a technical preview. It is being provided for the purpose of collecting feedback, and should not be used in production environments.
Installation
SinchSDK can be installed using the Nuget package manager or the dotnet
CLI.
dotnet add package Sinch --prerelease
Getting started
Client initialization
To initialize communication with Sinch backed, credentials obtained from Sinch portal have to be provided to the main client class of this SDK.
[!NOTE] Always store your credentials securely as an environment variables or with a secret manager
using Sinch;
var sinch = new SinchClient(configuration["Sinch:KeyId"], configuration["Sinch:KeySecret"], configuration["Sinch:ProjectId"]);
To configure Conversation and SMS hosting regions, use options
:
var sinch = new SinchClient(
configuration["Sinch:KeyId"],
configuration["Sinch:KeySecret"],
configuration["Sinch:ProjectId"],
options =>
{
options.SmsHostingRegion = Sinch.SMS.SmsHostingRegion.Eu;
options.ConversationRegion = Sinch.Conversation.ConversationRegion.Eu;
});
With ASP.NET dependency injection:
// SinchClient is thread safe so it's okay to add it as a singleton
builder.Services.AddSingleton<ISinch>(x => new SinchClient(
builder.Configuration["Sinch:KeyId"],
builder.Configuration["Sinch:KeySecret"],
builder.Configuration["Sinch:ProjectId"]));
Products
Sinch client provides access to the following Sinch products:
- Numbers
- SMS
- Verification
- Voice
- Work-in-Progress Conversation
Usage example of the numbers
product, assuming sinch
is a type of ISinchClient
:
using Sinch.Numbers.Active.List;
ListActiveNumbersResponse response = await sinch.Numbers.Active.List(new ListActiveNumbersRequest
{
RegionCode = "US",
Type = Types.Mobile
});
Handling exceptions
For an unsuccessful API calls SinchApiException
will be thrown.
using Sinch;
using Sinch.SMS.Batches.Send;
try {
var batch = await sinch.Sms.Batches.Send(new SendBatchRequest
{
Body = "Hello, World!",
DeliveryReport = DeliveryReport.None,
To = new List<string>()
{
123456789
}
});
}
catch(SinchApiException e)
{
logger.LogError("Api Exception. Status: {status}. Detailed message: {message}", e.Status, e.DetailedMessage);
}
Logging, HttpClient, and additional options
To configure logger, provide own HttpClient
, and additional options utilize SinchOptions
within constructor:
using Sinch;
using Sinch.SMS;
var sinch = new SinchClient(
configuration["Sinch:KeyId"],
configuration["Sinch:KeySecret"],
configuration["Sinch:ProjectId"],
options =>
{
// provde any logger factory which satisfies Microsoft.Extensions.Logging.ILoggerFactory
options.LoggerFactory = LoggerFactory.Create(config => {
// add log output to console
config.AddConsole();
});
// Provide your http client here
options.HttpClient = new HttpClient();
// Set a hosting region for Sms
options.SmsHostingRegion = SmsHostingRegion.Eu;
});
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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 is compatible. 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. |
-
net6.0
- Microsoft.Extensions.Http (>= 7.0.0)
- System.Text.Json (>= 7.0.3)
-
net7.0
- Microsoft.Extensions.Http (>= 7.0.0)
- System.Text.Json (>= 7.0.3)
-
net8.0
- Microsoft.Extensions.Http (>= 7.0.0)
- System.Text.Json (>= 7.0.3)
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 |
---|---|---|
1.1.2 | 296 | 10/16/2024 |
1.1.1 | 1,240 | 7/16/2024 |
1.1.0 | 102 | 7/15/2024 |
1.0.1 | 1,308 | 5/13/2024 |
1.0.0 | 125 | 5/7/2024 |
0.1.19-alpha | 281 | 4/17/2024 |
0.1.18-alpha | 124 | 3/25/2024 |
0.1.17-alpha | 156 | 2/21/2024 |
0.1.16-alpha | 115 | 2/5/2024 |
0.1.15-alpha | 108 | 2/1/2024 |
0.1.14-alpha | 115 | 1/22/2024 |
0.1.13-alpha | 1,507 | 12/13/2023 |
0.1.11-alpha | 138 | 11/30/2023 |
0.1.10-alpha | 115 | 11/29/2023 |
0.1.9-alpha | 836 | 10/27/2023 |
0.1.8-alpha | 136 | 10/26/2023 |
0.1.7-alpha | 108 | 9/21/2023 |
0.1.6-alpha | 133 | 9/11/2023 |
0.1.5-alpha | 149 | 9/1/2023 |
0.1.4-alpha | 134 | 8/21/2023 |
0.1.2-alpha.1 | 97 | 7/19/2023 |