Mailchimp-как я могу сказать, отписался ли пользователь сам?


Итак, они нажали на ссылку Отписаться в новостной рассылке. В их профиле написано, например:

Этот человек отписался 24 марта 2017 года в 14: 40

После получения "теста бюллетеня№6"

Отлично, но как я могу сказать программно, через API, если кто-то сам отписался? Возможно ли это вообще? Причина, по которой я спрашиваю, заключается в том, что вы не можете удалить человека, который сам отписался. Если вы попытаетесь, их данные будут стерты, но адрес электронной почты останется в вашем списке. Кроме того, если вы попытаетесь подписаться на кого-то, кто отписался, нажав на ссылку отписки, вы получите "john@example.com находится в состоянии соответствия из-за отказа от подписки, отказов или проверки соответствия и не может быть подписан."Поэтому в этой ситуации мы должны проверить, отписались ли они сами, и если да, то мы можем установить их статус в ожидании, который отправит электронное письмо с подтверждением подписки. В противном случае мы можем подписаться на них через API, не устанавливая их статус ожидание и отправка им сообщения электронной почты с требованием перейти по ссылке в сообщении электронной почты.

2 2

2 ответа:

Как вы уже заметили, если вы попытаетесь удалить кого-то в состоянии соответствия, API отклонит ваш запрос, но, к сожалению, не вернет никакого полезного ответа, указывающего на это. С другой стороны, если вы пытаетесь подписаться на кого-то в состоянии соответствия, вы должны получить ответ в форме json с status из 400 и соответствующее сообщение. В моем случае это выглядит примерно так:

{
    "type":"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/",
    "title":"Member In Compliance State",
    "status":400,
    "detail":"johndoe@example.com is in a compliance state due to unsubscribe, bounce, or compliance review and cannot be subscribed.",
    "instance":"1234567890abcdefg"
}

Если вы просто проанализируете этот ответ, вы можете проверить значение status, которое, вероятно, больше надежный и прямой совместимый, чем текстовые дескрипторы - и если применимо, вы можете установить состояние члена в pending оттуда.

Из поддержки Mailchimp:

Когда пользователь отписывается, вы увидите параметр unsubscribe_reason, и если это отписка администратора или отписка, выполненная через API, он будет говорить "N/A (Unsubscribed by an admin)". Однако, если это сделано пользователем, он часто будет говорить "Не указано", если они не оставили причину, или он может отображать причину, которую пользователь отметил для отказа от подписки. Подробнее о параметре unsubscribe_reason можно прочитать по ссылке под.

Http://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/