The SMS Works provides a low-cost, reliable SMS API for developers. Pay only for delivered texts, all failed UK messages are refunded.
This C# SDK is automatically generated by the OpenAPI Generator project:
- API version: 1.11.0
- SDK version: 1.0.0
- Generator version: 7.8.0
- Build package: org.openapitools.codegen.languages.CSharpClientCodegen For more information, please visit https://thesmsworks.co.uk/contact
- RestSharp - 106.13.0 or later
- Json.NET - 13.0.2 or later
- JsonSubTypes - 1.8.0 or later
- System.ComponentModel.Annotations - 5.0.0 or later
The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:
Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations
NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742. NOTE: RestSharp for .Net Core creates a new socket for each api call, which can lead to a socket exhaustion problem. See RestSharp#1406.
Run the following command to generate the DLL
- [Mac/Linux]
/bin/sh build.sh
- [Windows]
build.bat
Then include the DLL (under the bin
folder) in the C# project, and use the namespaces:
using SMSWorks.Api.Api;
using SMSWorks.Api.Client;
using SMSWorks.Api.Model;
A .nuspec
is included with the project. You can follow the Nuget quickstart to create and publish packages.
This .nuspec
uses placeholders from the .csproj
, so build the .csproj
directly:
nuget pack -Build -OutputDirectory out SMSWorks.Api.csproj
Then, publish to a local feed or other host and consume the new package via Nuget as usual.
To use the API client with a HTTP proxy, setup a System.Net.WebProxy
Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;
using System.Collections.Generic;
using System.Diagnostics;
using SMSWorks.Api.Api;
using SMSWorks.Api.Client;
using SMSWorks.Api.Model;
namespace Example
{
public class Example
{
public static void Main()
{
Configuration config = new Configuration();
config.BasePath = "https://api.thesmsworks.co.uk/v1";
// Configure API key authorization: JWT
config.ApiKey.Add("Authorization", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// config.ApiKeyPrefix.Add("Authorization", "Bearer");
var apiInstance = new BatchMessagesApi(config);
var messages = null; // Object | An array of messages
try
{
// Send a collection of unique SMS messages
BatchMessageResponse result = apiInstance.BatchAnyPost(messages);
Debug.WriteLine(result);
}
catch (ApiException e)
{
Debug.Print("Exception when calling BatchMessagesApi.BatchAnyPost: " + e.Message );
Debug.Print("Status Code: "+ e.ErrorCode);
Debug.Print(e.StackTrace);
}
}
}
}
All URIs are relative to https://api.thesmsworks.co.uk/v1
Class | Method | HTTP request | Description |
---|---|---|---|
BatchMessagesApi | BatchAnyPost | POST /batch/any | Send a collection of unique SMS messages |
BatchMessagesApi | BatchBatchidGet | GET /batch/{batchid} | |
BatchMessagesApi | BatchSchedulePost | POST /batch/schedule | Schedule a batch of SMS messages |
BatchMessagesApi | BatchSendPost | POST /batch/send | Send an SMS message to multiple recipients |
BatchMessagesApi | BatchesScheduleBatchidDelete | DELETE /batches/schedule/{batchid} | Cancel a scheduled batch |
CreditsApi | CreditsBalanceGet | GET /credits/balance | |
CreditsApi | CreditsCountrycodeGet | GET /credits/{countrycode} | |
MessagesApi | BinarySendPost | POST /binary/send | Send a binary SMS message |
MessagesApi | MessageFlashPost | POST /message/flash | |
MessagesApi | MessageSchedulePost | POST /message/schedule | Schedule an SMS message |
MessagesApi | MessageSendPost | POST /message/send | |
MessagesApi | MessagesFailedPost | POST /messages/failed | |
MessagesApi | MessagesInboxPost | POST /messages/inbox | Retrieve unread uncoming messages |
MessagesApi | MessagesMessageidDelete | DELETE /messages/{messageid} | |
MessagesApi | MessagesMessageidGet | GET /messages/{messageid} | Get message by messageid |
MessagesApi | MessagesPost | POST /messages | Get messages matching your criteria |
MessagesApi | MessagesScheduleGet | GET /messages/schedule | Retrieve scheduled messages |
MessagesApi | MessagesScheduleMessageidDelete | DELETE /messages/schedule/{messageid} | Cancel scheduled SMS message |
MessagesApi | MessagesVolumeGet | GET /messages/volume | Volume of messages sent since midnight |
OneTimePasswordApi | OtpMessageidGet | GET /otp/{messageid} | |
OneTimePasswordApi | OtpSendPost | POST /otp/send | |
OneTimePasswordApi | OtpVerifyPost | POST /otp/verify | |
UtilsApi | UtilsErrorsErrorcodeGet | GET /utils/errors/{errorcode} | Get error by code |
UtilsApi | UtilsTestGet | GET /utils/test | Return the customer ID to the caller |
- Model.BatchMessage
- Model.BatchMessageResponse
- Model.CancelledMessageResponse
- Model.CountryResponse
- Model.CreditsResponse
- Model.DeletedMessageResponse
- Model.ErrorModel
- Model.ExtendedErrorModel
- Model.Message
- Model.MessageMetadata
- Model.MessageResponse
- Model.MessageResponseFailurereason
- Model.MessageVolumeResponse
- Model.MetaData
- Model.OTP
- Model.OTPResponse
- Model.OTPVerify
- Model.OTPVerifyResponse
- Model.Query
- Model.QueryMetadata
- Model.ScheduledBatchResponse
- Model.ScheduledMessage
- Model.ScheduledMessageResponse
- Model.ScheduledMessagesResponse
- Model.ScheduledMessagesResponseMessage
- Model.SendMessageResponse
- Model.TestResponse
Authentication schemes defined for the API:
- Type: API key
- API key parameter name: Authorization
- Location: HTTP header