Как мне создать webhook для sendgrid в C#?
Я новичок в использовании электронной почты Sendgrid с использованием библиотеки C#.Net. Наши требования требуют, чтобы мы отслеживали состояние электронной почты, например, Доставлено / Отправлено спаму / Клиент открыт / зарегистрирован как спам и т. Д. Просматривая документацию и ответы других пользователей на мои предыдущие вопросы, я понимаю, что прямого пути нет отслеживать статус электронной почты (например, объект результата).
Было бы очень полезно, если бы кто-то мог указать мне на некоторые примеры / примеры кодов или документацию / реализацию на C# для следующего: 1) Добавление уникальных параметров при отправке электронной почты с использованием API сетки отправки. Могу ли я использовать строку Guid в качестве аргумента? Я предполагаю, что то, что я делаю ниже, является правильным.
var myMessage = new SendGridMessage();
var identifiers = new Dictionary<String, String>();
identifiers["Email_ID"] = "Email_ID";
identifiers["Email_Key"] = "9ebccd0d-67c0-4c28-bbf3-83d5bb69f098";
myMessage.AddUniqueArgs(identifiers);
2) Как использовать события веб-зацепки, чтобы получить статус с уникальным аргументом, который я использовал выше из http_post, чтобы я мог связать электронную почту со статусом. Любой пример кода, документация на C# или общее представление о том, как это работает, поможет мне начать это.
Цените свое время и ответы.
2 ответа
Отправлять электронные письма через SendGrid проще из C#, используя официальную библиотеку, предоставляемую SendGrid. Из вашего примера кода, похоже, вы уже используете это - хорошая работа.
Уникальный аргумент должен работать до тех пор, пока он был преобразован в строку, и вы не пытаетесь передать объект myMessage.AddUniqueArgs
,
Event Webhook отправит пакет JSON на любой указанный вами URL. Если вы включили уникальные аргументы в электронное письмо, которое вы отправляете через SendGrid, они автоматически добавляются к каждому ответу на событие, возвращаемому вами из webhook - вам не нужно ничего включать, чтобы получить аргументы.
Существует пример этого вызова и полученный ответ в документации SendGrid.
SendGrid имеет веб-перехватчик событий, который публикует события, связанные с вашей электронной почтой, на выбранный вами URL-адрес. Это легко развертываемое решение, которое позволяет клиентам легко запускать и запускать обработку (анализировать и сохранять) свои веб-перехватчики событий.
Это решение на основе докеров, которое можно развернуть в облачных сервисах, таких как Heroku, из коробки.
https://github.com/sendgrid/sendgrid-csharp/tree/main/examples/eventwebhook/consumer