К сожалению, я продолжаю получать либо коды ошибок, либо результаты API, который не совсем имеет смысла. Например, я успешно планирую электронную почту (я знаю, что это успешно, потому что я получаю электронное письмо, когда наступает время. Я также знаю, что идентификатор пакета отправляется вместе с сообщением, потому что я устанавливаю категории). После планирования я смогу получить идентификатор пакета и отменить его. Но я получаю недопустимое сообщение об ошибке Batch_id. Поэтому я запускаю команду GET, чтобы проверить запланированные_отправки, и ничего не возвращается.
Пожалуйста, просмотрите код ниже и дайте мне знать, если у вас возникнут какие-либо вопросы или проблемы. Спасибо.
Код C#, взаимодействующий с пакетом C# SendGrid
Код: Выделить всё
message.BatchId = sendGridBatchID;
if (sendAt != 0)
{
message.SendAt = sendAt;
}
var apiKey = _configuration.GetSection("NewSendGridAPIKey").Value;
var client = new SendGridClient(apiKey);
var response = await client.SendEmailAsync(message).ConfigureAwait(false);
return response.IsSuccessStatusCode;
Код: Выделить всё
string apiKey = GetAPIKey();
SendGridClient client = GetSendGridClient(apiKey);
var batchId = default(string);
var response = await client.RequestAsync(method: SendGridClient.Method.POST, urlPath: "mail/batch");
if (response.StatusCode == HttpStatusCode.Created)
{
JObject joResponse = JObject.Parse(response.Body.ReadAsStringAsync().Result);
batchId = (((Newtonsoft.Json.Linq.JValue)joResponse["batch_id"]).Value).ToString();
}
return batchId;
Код: Выделить всё
curl --location --request POST 'https://api.sendgrid.com/v3/user/scheduled_sends' \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data-raw '{
"batch_id": "",
"status":"cancel"
}'
Код: Выделить всё
{"errors": [{
"field": "batch_id",
"message": "invalid batch id"
}]}
Создать идентификатор пакета электронной почты --> Запланировать отправку электронной почты с идентификатором пакета --> (длительное ожидание) --> Пользователь хочет отменить пакет --> Отменить электронное письмо с предыдущим идентификатором пакета --> Создайте новый идентификатор пакета и перепланируйте существующее электронное письмо.
Подробнее здесь: https://stackoverflow.com/questions/716 ... -sharp-api
Мобильная версия