LiteX.Sms.Twilio 1.0.0

Wrapper around Twilio api to send sms messages from any type of application (ASP.NET Core, .Net Standard 2.x).

There is a newer version of this package available.
See the version list below for details.
Install-Package LiteX.Sms.Twilio -Version 1.0.0
dotnet add package LiteX.Sms.Twilio --version 1.0.0
<PackageReference Include="LiteX.Sms.Twilio" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LiteX.Sms.Twilio --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

LiteX Twilio Sms

LiteX.Sms.Twilio is a sms lib which is based on LiteX.Sms.Core and Twilio.

Add a dependency

Nuget

Run the nuget command for installing the client as,

  • Install-Package LiteX.Sms.Core
  • Install-Package LiteX.Sms.Twilio

Configuration

AppSettings

{
  //LiteX Twilio settings
  "TwilioConfig": {
    "AccountSid": "--- REPLACE WITH YOUR AccountSid ---",
    "AuthToken": "--- REPLACE WITH YOUR AuthToken ---",
    "FromNumber": "--- REPLACE WITH YOUR FromNumber ---",
  }
}

Startup Configuration

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        // 1. Use default configuration from appsettings.json's 'TwilioConfig'
        services.AddLiteXTwilioSms();

        //OR
        // 2. Load configuration settings using options.
        services.AddLiteXTwilioSms(option =>
        {
            option.AccountSid = "";
            option.AuthToken = "";
            option.FromNumber = "";
        });

        //OR
        // 3. Load configuration settings on your own.
        // (e.g. appsettings, database, hardcoded)
        var twilioConfig = new TwilioConfig();
        services.AddLiteXTwilioSms(twilioConfig);
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {

    }
}

Usage

Controller or Business layer

/// <summary>
/// Customer controller
/// </summary>
public class CustomerController : Controller
{
    #region Fields

    private readonly ISmsSender _smsSender;

    #endregion

    #region Ctor

    /// <summary>
    /// Ctor
    /// </summary>
    /// <param name="smsSender"></param>
    public CustomerController(ISmsSender smsSender)
    {
        _smsSender = smsSender;
    }

    #endregion

    #region Methods

    /// <summary>
    /// Send email to customer
    /// </summary>
    /// <param name="customer"></param>
    /// <returns></returns>
    public IActionResult SendSmsToCustomer(Customer customer)
    {
        try
        {
            string message = "test message!",
            toPhoneNumber = "+11234567890",

            _smsSender.SendSms(toPhoneNumber, message);
        }
        catch (Exception ex)
        {

            return BadRequest(ex);
        }
        return Ok();
    }

    #endregion

    #region Utilities

    private IList<Customer> GetCustomers()
    {
        IList<Customer> customers = new List<Customer>();

        customers.Add(new Customer() { Id = 1, Username = "ashish", Sms = "toaashishpatel@outlook.com" });

        return customers;
    }

    private Customer GetCustomerById(int id)
    {
        Customer customer = null;

        customer = GetCustomers().ToList().FirstOrDefault(x => x.Id == id);

        return customer;
    }

    #endregion
}

LiteX Twilio Sms

LiteX.Sms.Twilio is a sms lib which is based on LiteX.Sms.Core and Twilio.

Add a dependency

Nuget

Run the nuget command for installing the client as,

  • Install-Package LiteX.Sms.Core
  • Install-Package LiteX.Sms.Twilio

Configuration

AppSettings

{
  //LiteX Twilio settings
  "TwilioConfig": {
    "AccountSid": "--- REPLACE WITH YOUR AccountSid ---",
    "AuthToken": "--- REPLACE WITH YOUR AuthToken ---",
    "FromNumber": "--- REPLACE WITH YOUR FromNumber ---",
  }
}

Startup Configuration

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        // 1. Use default configuration from appsettings.json's 'TwilioConfig'
        services.AddLiteXTwilioSms();

        //OR
        // 2. Load configuration settings using options.
        services.AddLiteXTwilioSms(option =>
        {
            option.AccountSid = "";
            option.AuthToken = "";
            option.FromNumber = "";
        });

        //OR
        // 3. Load configuration settings on your own.
        // (e.g. appsettings, database, hardcoded)
        var twilioConfig = new TwilioConfig();
        services.AddLiteXTwilioSms(twilioConfig);
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {

    }
}

Usage

Controller or Business layer

/// <summary>
/// Customer controller
/// </summary>
public class CustomerController : Controller
{
    #region Fields

    private readonly ISmsSender _smsSender;

    #endregion

    #region Ctor

    /// <summary>
    /// Ctor
    /// </summary>
    /// <param name="smsSender"></param>
    public CustomerController(ISmsSender smsSender)
    {
        _smsSender = smsSender;
    }

    #endregion

    #region Methods

    /// <summary>
    /// Send email to customer
    /// </summary>
    /// <param name="customer"></param>
    /// <returns></returns>
    public IActionResult SendSmsToCustomer(Customer customer)
    {
        try
        {
            string message = "test message!",
            toPhoneNumber = "+11234567890",

            _smsSender.SendSms(toPhoneNumber, message);
        }
        catch (Exception ex)
        {

            return BadRequest(ex);
        }
        return Ok();
    }

    #endregion

    #region Utilities

    private IList<Customer> GetCustomers()
    {
        IList<Customer> customers = new List<Customer>();

        customers.Add(new Customer() { Id = 1, Username = "ashish", Sms = "toaashishpatel@outlook.com" });

        return customers;
    }

    private Customer GetCustomerById(int id)
    {
        Customer customer = null;

        customer = GetCustomers().ToList().FirstOrDefault(x => x.Id == id);

        return customer;
    }

    #endregion
}

Release Notes

Twilio Sms provider wrapper. Simple configuration with advanced options.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
6.0.0 49 9/20/2019
5.0.0-beta 167 10/2/2018
4.0.0 2,721 8/5/2018
3.0.0 232 7/3/2018
2.2.0 234 6/21/2018
2.1.0 255 6/20/2018
2.0.0 284 6/18/2018
1.0.0 385 5/8/2018
Show less