# Send an SMS Message with .NET SDK Note: Before you can get started, you need the following already set up: - - [The latest version of .NET with **Long Term Support**](https://dotnet.microsoft.com/download) 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. Steps: 1. [Set up](#set-up-your-net-application) your .NET application 2. [Send](#send-your-first-sms-message) your first SMS message ## Set up your .NET application 1. Create a new folder where you want your app project. Then, open a terminal or command prompt to that location. 2. Create a new .NET console app with the following command: ```shell dotnet new console ``` 3. Open the `Program.cs` file in your project folder. Replace everything in the file with the "Send an SMS message" code. ### Modify your application The code provided includes placeholder parameters. You'll need to update the parameters detailed in the following subsections with your values. #### Initialize the client 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 [Access Keys](https://dashboard.sinch.com/settings/access-keys) page of the Sinch Build Dashboard. You can also [create new access key IDs and Secrets](https://community.sinch.com/t5/Conversation-API/How-to-get-your-access-key-for-Conversation-API/ta-p/8120), if required. Note If you have trouble accessing the above link, ensure that you have gained access to the [Conversation API](https://dashboard.sinch.com/convapi/overview) 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](https://dashboard.sinch.com). Note: 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. ```cpp Initialize client 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: ```cpp Initialize client using dependency injection builder.Services.AddSingleton(x => new SinchClient( builder.Configuration["YOUR_project_id"], builder.Configuration["YOUR_access_key"], builder.Configuration["YOUR_access_secret"])); ``` #### Fill in remaining parameters 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](https://dashboard.sinch.com/sms/api/rest) 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. ### Build your project Before executing your code, you must first compile your application. Execute the following command: ```shell dotnet build ``` ## Send your first SMS message Now you can execute the code and send your test SMS message. Run the following command: ```shell 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! ## Next steps The code you used in the `SMS.cs` file sends a `POST` request to the Sinch API `/batches` endpoint to send the SMS message. - Click [here to read more about the batches endpoint](/docs/sms/api-reference/sms/batches). - [Learn how to recieve SMS](/docs/sms/getting-started/dotnet-sdk/handle-incoming) ## Additional resources - Explore the [API specification](/docs/sms/api-reference/) to test more endpoints.