public async Task Main()
{
var serviceCo = new ServiceCollection();
ConfigServices(serviceCo);
var services = serviceCo.BuildServiceProvider();
var httpClientFactory = services.GetRequiredService<IHttpClientFactory>();
var client = httpClientFactory.CreateClient();
var base64String = Convert.ToBase64String(Encoding.ASCII.GetBytes("api:MyApiKey"));
client.DefaultRequestHeaders.Add("Authorization", "Basic " + base64String);
var DomainId = "MyDomain";
JArray json = JArray.Parse("[{'address': '[email protected]','createdat': ''},{'address': '[email protected]','createdat': ''}]");
var postData = new StringContent(json.ToString(), Encoding.UTF8, "application/json");
var request = await client.PostAsync("https://api.eu.mailgun.net/v3/" + DomainId + "/complaints", postData);
var response = await request.Content.ReadAsStringAsync();
Console.WriteLine(response);
}
I'm trying to post list of "complaints" to mailgun API. https://documentation.mailgun.com/docs/mailgun/api-reference/openapi-final/tag/Complaints/#tag/Complaints/operation/api.(*ComplaintController).InsertJSON-fm-36
I get a response back with:
"StatusCode: 400, ReasonPhrase: 'Bad Request'".
Also a message:
{"message":"Missing mandatory parameter: address"}\n.
I'm not sure exactly whats wrong. I'm guessing it's my JSON.