Skip to content

TheSMSWorks/smsw-csharp-sdk

Repository files navigation

SMSWorks.Api - the C# library for the The SMS Works API

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

Frameworks supported

Dependencies

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.

Installation

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;

Packaging

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.

Usage

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;

Getting Started

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);
            }

        }
    }
}

Documentation for API Endpoints

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

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

JWT

  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header

About

C# client SDK for The SMS Works API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published