A .NET wrapper for the Emma API.
Targeting Frameworks
netcoreapp3.1
net5.0
net6.0
The examples below shows how to register the Emma providers with Microsoft DI.
using EmmaSharper;
ServiceCollection.AddEmmaApiProviders(options => {
AccountId = "Your Account ID";
PublicKey = "Your Public Key";
SecretKey = "Your Secret Key";
BaseUrl = "API URL"; // This is optional and defaults to https://api.e2ma.net
});
The following providers are available:
Provides access to automation APIs
Provides access to custom fields in your account. Of particular interest is the ClearField method which lets you clear out all the data in a single field for all members in your account. This makes it easy to re-initialize a dataset if you’re looking to correct an import error or syncing issue
Provides access to manage all aspects of the groups in your account. In addition to various CRUD methods, you can also use these endpoints to manage the members of your groups. You’ll want to use these methods if you’re managing group membership for more than one member at a time. For dealing with single members, there are better methods in the members endpoints.
Provides a way to retrieve information about your mailings including their HTML contents. You can retrieve the members to whom the mailing was sent. You can also pause mailings and cancel mailings that are pending or paused.
| In addition to the various CRUD endpoints here related to members, you can also change the status of members, including opting them out. You’ll notice that there are calls related to individual members, but we also provide quite a few calls to deal with bulk updates of members. Please try to use these whenever possible as opposed to looping through a list of members and calling the individual member calls. Where this is especially important is when adding new members. To do a bulk import, you’ll POST to the AddNewMembers
method. In return, you’ll receive an import ID. You can use this ID to check the status and results of your import. Imports are generally pretty fast, but the time to completion can vary with greater system usage.
Provides access to response data. You can get overview numbers for all of your mailings and also drill down into finding out the actual members who opened a particular mailing.
Provides access to create, edit, and delete searches. You can also retrieve the members matching any search created in your account.
Provides a list of all of your sign-up forms
Provides access to subscriptions and subscription members
Provides access to webhooks
This version of EmmaSharper is available on NuGet under EmmaSharper
Install-Package EmmaSharper
The original project, EmmaSharp, created by kylegregory appears to be abandoned. This new project is a living fork from the original work. Feel free to contribute. Most API endpoints have methods in the library. If you have any questions, feel free to submit an issue for a particular entity or endpoint. Emma API documentation can be found at https://api.myemma.com.
This project is not affiliated with Emma. All contributors to this project are unpaid average folks (just like you!) who choose to volunteer their time. If you like Emma and want to contribute, we would appreciate your help! To get started, just fork the repo, make your changes and submit a pull request.