MailChimpWrapper 0.0.1
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package MailChimpWrapper --version 0.0.1
NuGet\Install-Package MailChimpWrapper -Version 0.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MailChimpWrapper" Version="0.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MailChimpWrapper" Version="0.0.1" />
<PackageReference Include="MailChimpWrapper" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MailChimpWrapper --version 0.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MailChimpWrapper, 0.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MailChimpWrapper@0.0.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MailChimpWrapper&version=0.0.1
#tool nuget:?package=MailChimpWrapper&version=0.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MailChimpWrapper
This project wraps around the basic MailChimp API, and gives you an easier and more readable solution for requesting data.
Usage
Initialize the client:
MailChimpWrapper.MailChimpClient client = new MailChimpWrapper.MailChimpClient("APIKEY", "SERVER");
Ping
PingResponse pingResult = await client.GetRequest<PingResponse>(Endpoints.Ping);
Root
RootResponse rootresp = await client.GetRequest<RootResponse>(Endpoints.Root);
Lists (Audiences)
Get multiple
ListsResponse listsResult = await client.GetRequest<ListsResponse>(Endpoints.Lists);
Get by id
ListResponse listResult = await client.Request<ListGetRequest, ListResponse>(new ListGetRequest("ID"));
List Members
Post
var listMembers = new List<Member>() { new Member(){
EmailAddress="emailaddress",
EmailClient="Outlook",
Language="En",
Status="subscribed",
EmailType="html"
}
};
ListMembersResponse listMembersResponse = await client.Request<ListMembersPostRequest, ListMembersResponse>(new ListMembersPostRequest("listId", listMembers));
Member Tags
Get
MemberTagsResponse memberTagsResponse = await client.Request<MemberTagsGetRequest, MemberTagsResponse>(new MemberTagsGetRequest("listId", "emailaddress"));
Add tag to member in list
Note: Because the Api doesn't return any content there is no response.
await client.Request(new MemberTagsPostRequest("listId", "emailaddress", new List<Tag>() { new Tag() { Name = "tagName", Status = "active/inactive" } }));
Campaigns
Get all
var listCampaigns = await client.GetRequest<CampaignsResponse>(Endpoints.Campaigns);
Get by id
CampaignResponse campaign = await client.Request<CampaignGetRequest, CampaignResponse>(new CampaignGetRequest("campaignId"));
Post new
var newCampaign = await client.Request<CampaignNewPostRequest, CampaignResponse>(new CampaignNewPostRequest(CampaignType.regular));
Send/Resend
await client.Request(new CampaignSendRequest(campaign.Id));
await client.Request(new CampaignResendRequest(campaign.Id));
Delete campaign
await client.Request(new CampaignDeleteRequest(campaign.Id));
<b> Guide add List(Audience) to campaign </b>
This guide will explain how to edit a campaign and add you existing audience to it.
- Get the campaign by id:
CampaignResponse campaign = await client.Request<CampaignGetRequest, CampaignResponse>(new CampaignGetRequest("campaignId"));
- Edit their Recipients:
Recipients recipients = campaign.Recipients;
recipients.ListId = "listId";
- Create a campaign edit request, inside the new request add the new recipients:
CampaignEditRequest campaignEditRequest = new CampaignEditRequest(campaign.Id) { Recipients = recipients };
- Now request the edit of the campaign using the client:
CampaignResponse updatedCampaign = await client.Request<CampaignEditRequest, CampaignResponse>(campaignEditRequest);
Error handling:
try
{
//request
}
catch (ResponseException responseException)
{
var message = responseException.ErrorResponse.Detail;
}
catch (UnknownResponseException unknownException)
{
var response = unknownException.ResponseMessage;
}
Note: This project is in a very early stage!
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.1 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.1
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.