/// <summary>
 /// Subscribe a Subscriber to a campaign.
 /// See: https://www.getdrip.com/docs/rest-api#subscribe
 /// </summary>
 /// <param name="campaignId">The campaign id.</param>
 /// <param name="campaignSubscriber">A ModifyDripCampaignSubscriberRequest containing at least an Email address.</param>
 /// <param name="cancellationToken">The CancellationToken to be used to cancel the request.</param>
 /// <returns>A Task that, when completed, will contain a DripSubscribersResponse.</returns>
 public Task <DripSubscribersResponse> SubscribeToCampaignAsync(string campaignId, ModifyDripCampaignSubscriberRequest campaignSubscriber, CancellationToken cancellationToken = default(CancellationToken))
 {
     return(PostResourceAsync <DripSubscribersResponse>(SubscribeToCampaignResource, SubscribersRequestBodyKey, new ModifyDripCampaignSubscriberRequest[] { campaignSubscriber }, cancellationToken, CampaignIdUrlSegmentKey, campaignId));
 }
 /// <summary>
 /// Subscribe a Subscriber to a campaign.
 /// See: https://www.getdrip.com/docs/rest-api#subscribe
 /// </summary>
 /// <param name="campaignId">The campaign id.</param>
 /// <param name="campaignSubscriber">A ModifyDripCampaignSubscriberRequest containing at least an Email address.</param>
 /// <returns>A DripSubscribersResponse.</returns>
 public DripSubscribersResponse SubscribeToCampaign(string campaignId, ModifyDripCampaignSubscriberRequest campaignSubscriber)
 {
     return(PostResource <DripSubscribersResponse>(SubscribeToCampaignResource, SubscribersRequestBodyKey, new ModifyDripCampaignSubscriberRequest[] { campaignSubscriber }, CampaignIdUrlSegmentKey, campaignId));
 }