Sidio.MailBluster is an unofficial C# SDK for the MailBluster API. This package is not yet fully feature complete, see the feature status below. If you encounter any issues or have recommendations, feel free to create an issue or a pull request.
Add the package to your project.
{
"MailBluster:Url": "https://api.mailbluster.com/api/",
"MailBluster:ApiKey": "your-api-key"
}
services.AddMailBluster();
public class MyClass
{
private readonly IMailBlusterClient _client;
public MyClass(IMailBlusterClient client)
{
_client = client;
}
public async Task GetLeads()
{
var lead = await _client.GetLeadAsync("[email protected]");
}
}
The MailBluster client writes logs on the Debug
level. The logs contain the request and response data. Sensitive information,
such as names, ip addresses and email addresses, are redacted using the Microsoft.Extensions.Compliance.Redaction
framework. To use the
default implementation, use:
builder.Services.AddRedaction(
rb =>
{
rb.AddMailBlusterCompliance();
});
Currently, there are three types of classifications, which will be redacted as follows:
- Personally identifiable information: values will be replaced with asterisks except for the first character (classification
MailBlusterDataTaxonomy.PersonallyIdentifiableInformation
)- Email address: will be redacted from for example
[email protected]
ton******@*****.**
(classificationMailBlusterDataTaxonomy.EmailAddressInformation
)
- Email address: will be redacted from for example
- Sensitive information: values will be replaced with asterisks except for the first character (classification
MailBlusterDataTaxonomy.SensitiveInformation
)
A fully configured example with JSON logging:
// install packages:
// - Microsoft.Extensions.Telemetry
// - Microsoft.Extensions.Compliance.Redaction
builder.Services.AddLogging(
x =>
{
x.EnableRedaction();
// json logging enables logging of the request and response data
x.ClearProviders();
x.AddJsonConsole(option => option.JsonWriterOptions = new JsonWriterOptions
{
Indented = true
});
x.Services.AddRedaction(
rb =>
{
rb.AddMailBlusterCompliance();
});
});
- Manage leads
- Create
- Read
- Update
- Delete
- Manage fields
- Create
- Read
- Update
- Delete
- Manage products
- Create
- Read
- Update
- Delete
- Manage orders
- Create
- Read
- Update
- Delete
Integration tests are available in the Sidio.MailBluster.Integration.Tests
project. To run the tests,
add the following configuration file local.settings.json
:
{
"MAILBLUSTER_API_KEY": "your-api-key"
}
- The integration tests will create, update and delete data in your MailBluster brand associated with the API key.
- In order to run the tests for Fields, a pro account is required.
Install these packages in your solution:
Microsoft.Extensions.Telemetry
Microsoft.Extensions.Compliance.Redaction
Ensure that the Redaction framework is configured correctly.
This package is not affiliated with MailBluster. Although we try to cover the API as much as possible using unit- and integration testing, we cannot guarantee that all features or error states have been implemented. Please use at your own risk.
Many thanks to MailBluster for providing us with a pro account.