Получить список возвращенных писем, Мандрил

Я пытаюсь сделать быструю программу, которая покажет пользователю список писем, отправленных через Mandrill, которые были возвращены.

Эта программа НЕ будет отправлять почту, поэтому мне нужно извлечь список вместо получения уведомления после отправки сообщения.

В настоящее время я использую API экспорта https://mandrillapp.com/api/1.0/exports/activity.json, чтобы получить список всех возвращенных писем. Единственная проблема заключается в том, что экспорт может занять более 2 часов только за последние 14 дней и фильтроваться только по возвращенным электронным письмам. Это неприемлемо для конечного пользователя. Небольшое ожидание в несколько минут было бы в порядке.

Итак, есть ли другой способ получить список возвращенных писем? Или есть способ убедиться, что экспорт может быть завершен своевременно?


person Ryan Erb    schedule 22.09.2015    source источник


Ответы (2)


https://mandrillapp.com/api/1.0/messages/search.json

{
"key":"htha8888888",  
"query": "state:bounced",  
 "limit": 1000
}

Проблема с этим запросом заключается в том, что максимальное количество сообщений, которые могут быть возвращены, составляет 1000, поэтому вам придется выполнить некоторую разбивку по страницам в зависимости от времени, соответствующим образом изменив размер вашего временного окна в вашем поисковом запросе "query": "state:bounced AND ts:[START_TIME TO STOP_TIME]" (обратите внимание, что время начала и окончания указано время эпохи в секундах)

Поисковые запросы тоже имеют лаги, SLA по времени нет. По моему опыту, я получил результаты не позднее, чем через 3 часа. Если вам нужно немедленное уведомление, я бы порекомендовал веб-хуки, если это возможно, открыть ваш брандмауэр и позволить мандрилу отправлять обновления на ваш веб-хук.

person Kiran Indukuri    schedule 22.09.2015
comment
Я только что нашел это, не знал, что вы можете запрашивать только что возвращенные электронные письма с этим. У нас не должно быть проблем с ограничением электронной почты. Поскольку мы используем много дополнительных учетных записей, и я считаю, что их тоже можно фильтровать. это в основном для наших магазинов, которые хотят проверить свои последние ежемесячные отчеты, чтобы увидеть, какие из них не были сделаны. - person Ryan Erb; 22.09.2015

Если возможно, я бы настроил Webhook https://mandrillapp.com/settings/webhooks, который подписывается на Событие "Сообщение возвращено".

Когда почта возвращается, Mandrill отправит сообщение на указанный вами URL-адрес с некоторым JSON, который вам нужно будет проанализировать и зарегистрировать.

Вот формат данных JSON: https://mandrill.zendesk.com/hc/en-us/articles/205583307-Message-Event-Webhook-format

Это даст вам отслеживание отказов почти в реальном времени.

person Matt Evans    schedule 22.09.2015
comment
Спасибо, похоже, веб-хуки, вероятно, наш последний выбор, если нам это абсолютно необходимо. Брандмауэры тут не при чем... - person Ryan Erb; 22.09.2015