/// <summary> /// Creates a transmission. /// </summary> /// <param name="client">The client.</param> /// <param name="transmisison">The transmisison.</param> /// <param name="maxRecipientErrors">The max number of recipient errors.</param> public static async Task <TransmissionResult> CreateTransmission(this IClient client, Transmission transmisison, int?maxRecipientErrors = null) { var query = maxRecipientErrors.HasValue? $"?num_rcpt_errors={maxRecipientErrors}" : string.Empty; var request = new Request { Uri = new Uri(client.Configuration.Endpoint, $"{TransmissionPath}{query}"), Method = HttpMethod.Post, Content = transmisison }; var response = await client.SendAsync(request); if (response.StatusCode != HttpStatusCode.OK) { throw new SparkPostException("Create transmission failed", (int)response.StatusCode, response.Errors); } return((await response.ReadContentAsync <SingleResult <TransmissionResult> >()).Results); }
/// <summary> /// Sets the recipients for a transmission. /// </summary> /// <param name="transmission">The transmission.</param> /// <param name="recipients">A list of recipients.</param> /// <returns>The transmission instance, which can be used for chaining.</returns> public static Transmission WithRecipients(this Transmission transmission, IEnumerable <Recipient> recipients) { transmission.Recipients = recipients; return(transmission); }