jmojiwat / SparkPostFun

Functional style C# Library for SparkPost

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SparkPostFun is a C# Library for SparkPost

SparkPostFun is a functional style C# library using LanguageExt for SparkPost API.

Features

  • All client calls returns Task<Either<TError, TResponse>> monad.
  • Invalid states unrepresentable - required fields are obvious when constructing requests.
  • Immutable data.
  • Doesn't throw exceptions.

Installation

To install via NuGet, run the following command in the Package Manager Console:

PM> Install-Package SparkPostFun

Usage

var content = new StoredTemplateContent("black_friday")
{
    UseDraftTemplate = true
};

var substitutionData = new Dictionary<string, object>
{
    ["discount"] = "25%"
};

var recipient = new Recipient(new Address("wilma@flintstone.com") { Name = "Wilma Flintstone" })
{
    SubstitutionData = new Dictionary<string, object>
    {
        ["first_name"] = "Wilma",
        ["last_name"] = "Flintstone"
    }
};

var transmission = TransmissionExtensions.CreateTransmission(recipient, content)
    .WithSubstitutionData(substitutionData);

var response = await client.CreateTransmission(transmission);

response.Match(
  success => ...,
  fail => ...);

About

Functional style C# Library for SparkPost

License:Apache License 2.0


Languages

Language:C# 100.0%