Before you can get started, you need the following already set up:
Set all SMS API configuration settings.
- The latest version of .NET with Long Term Support and a familiarity with how to create a new console app.
Learn how to quickly send SMS messages in a .NET application with the Sinch .NET SDK.
Create a new folder where you want your app project. Then, open a terminal or command prompt to that location.
Create a new .NET console app with the following command:
dotnet new console
The easiest way to install the SDK is using the
dotnet
CLI:- Open a command prompt or terminal to the local repository folder.
- Execute the following command:
dotnet add package Sinch
Open the
Program.cs
file in your project folder. Replace everything in the file with the "Send an SMS message" code.Send an SMS messageusing System.Text.Json; using Sinch; using Sinch.SMS; using Sinch.SMS.Batches.Send; var sinch = new SinchClient("YOUR_project_id", "YOUR_access_key", "YOUR_access_secret", // ensure you set the SMS hosting region. options => options.SmsRegion = SmsRegion.Us); var response = await sinch.Sms.Batches.Send(new SendTextBatchRequest { Body = "Hello! Thank you for using the Sinch .NET SDK to send an SMS.", From = "YOUR_Sinch_phone_number", To = new List<string>{"YOUR_recipient_phone_number"} }); Console.WriteLine(JsonSerializer.Serialize(response, new JsonSerializerOptions() { WriteIndented = true }));
The code provided includes placeholder parameters. You'll need to update the parameters detailed in the following subsections with your values.
Before initializing a client using this SDK, you'll need three pieces of information:
- Your Project ID
- An access key ID
- An access key Secret
These values can be found on the <b>Access Keys</b> page of the Sinch Build Dashboard. You can also create new access key IDs and Secrets, if required.
If you have trouble accessing the above link, ensure that you have gained access to the Conversation API by accepting the corresponding terms and conditions.
To start using the SDK, you need to initialize the main client class with your credentials from your Sinch dashboard.
For testing purposes on your local environment it's fine to use hardcoded values, but before deploying to production we strongly recommend using environment variables to store the credentials.
using Sinch;
var sinch = new SinchClient("YOUR_project_id",
"YOUR_access_key",
"YOUR_access_secret");
You can also implement the client using ASP.NET dependency injection. SinchClient
is thread safe, so it's fine to add it as a singleton:
builder.Services.AddSingleton<ISinchClient>(x => new SinchClient(
builder.Configuration["YOUR_project_id"],
builder.Configuration["YOUR_access_key"],
builder.Configuration["YOUR_access_secret"]));
Replace the remaining placeholder values for these parameters with your values:
Parameter | Your value |
---|---|
YOUR_Sinch_phone_number | Any number you've assigned to your Sinch account. Find the number on your Sinch dashboard by clicking the service plan ID link and scrolling to the bottom of the page. |
YOUR_recipient_phone_number | The phone number to which you want to send the test SMS message. |
Ensure you save your file.
Before executing your code, you must first compile your application. Execute the following command:
dotnet build
Now you can execute the code and send your test SMS message. Run the following command:
dotnet run
You should receive a text to the phone number you entered and you'll see a response in your terminal or command prompt. Press Enter
to exit the application. You did it!
The code you used in the SMS.cs
file sends a POST
request to the Sinch API /batches
endpoint to send the SMS message.
- Explore the API specification to test more endpoints.