API запроса SendGrid на основе идентификатора сообщения - PullRequest
0 голосов
/ 03 июля 2019

Итак, я перехожу в SendGrid для моей почтовой службы, и когда я отправляю электронное письмо, мой объект ответа создает X-Message-Id в случае, если электронное письмо было успешно поставлено в очередь. Однако это не учитывает отклоненные электронные письма, поэтому.

static async Task SendEmail()
{
    var apiKey = ConfigurationManager.AppSettings["apiKey"];
    var client = new SendGridClient(apiKey);
    var from = new EmailAddress("test@example.com", "Example User");
    var subject = "Hello World from the Twilio SendGrid CSharp Library Helper!";
    var to = new EmailAddress("testUser@recipient.com", "Jeeno");
    var plainTextContent = "Hello, Email from the helper [SendSingleEmailAsync]!";
    var htmlContent = "<strong>Hello, Email from the helper! [SendSingleEmailAsync]</strong>";
    var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);

    var response = await client.SendEmailAsync(msg);
    Console.WriteLine(msg.Serialize());
    Console.WriteLine("============================================1");
    Console.WriteLine(response.StatusCode);
    Console.WriteLine("============================================2");
    Console.WriteLine(response.Headers);
    Console.WriteLine("============================================3");
    Console.WriteLine("\n\nPress <Enter> to continue.");
    Console.ReadLine();
}

Я хотел бы создать запланированное задание, чтобы затем запрашивать все отклоненные электронные письма и извлекать их обратно на основе этого или любого другого идентификатора. Однако, при достижении конечной точки API sendgrip для отклоненных писем я получаю только объект ответа с отметкой времени, строкой электронной почты, строкой причины и строкой состояния. Нет ли способа сделать запрос, основанный на идентификаторе сообщения?

static async Task Execute()
{
    var apiKey = ConfigurationManager.AppSettings["apiKey"];
    var client = new SendGridClient(apiKey);

    string queryParams = @"{
    }";
    var response = await client.RequestAsync(method: SendGridClient.Method.GET, urlPath: "/suppression/bounces", queryParams: queryParams);
    Console.WriteLine(response.StatusCode);
    Console.WriteLine(response.Body.ReadAsStringAsync().Result);
    Console.WriteLine(response.Headers.ToString());
    Console.ReadLine();
}

1 Ответ

0 голосов
/ 06 июля 2019

SendGrid не имеет возможности сделать запрос по message_id.Это указано в квитанции, чтобы вы могли связать ее с событиями, которые вы получаете через Event Webhook .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...