Mandrill API, message with status "unsub" - mandrill

I have used mandrill API to send emails and later grab their status, error reasons etc... to store this in my own system.
To grab the status I use the message/info endpoint, but it isn't exactly as documented. The main discrepancy is the fact that there is another status besides "sent", "bounced", or "rejected", which is "unsub". There are emails that were opened, then clicked the unsubscribe link in this status, but also emails that were never even opened. While there are also emails with status "reject" and that include an object with a reject reason as "unsub".
What I wish to know is if I can assume every time the status is "unsub" this means that specific email was when the unsubscribe link was clicked (even though the click is not always registered), or at least undestand the difference between status="unsub" and status="reject" with reason="unsub"

Related

Remove a cell number from the Twilio unsubscribe list

I have a very simple alert mechanism to alert drivers "in-the-field" when a new pickup has been assigned to them. I have had an instance twice where a driver has responded with a STOP and became un-subscribed. Once discovered we acquired the proper opt-in documentation from them. Is there any way to re-subscribe a user that opted out and changed their mind on receiving the messaging. i.e. they issued the STOP to the incorrect SMS. And have deleted the original message to START. Or do I need to code something for them to opt back in
My SendGrid provides a method to remove suppression from email but am not finding anything like that here in Twilio.
They need to send a START to the number they previously opted out of, this is currently a requirement. You will also get an error when trying to send messages to them, to alert you they opted out.
Error 21610 - Attempt to send to unsubscribed recipient

MS Teams bot events

I have a notification-only bot, and I would like to send a welcome message to users only when the bot is added to a personal conversation.
I listen to 'conversationUpdate' events as stated here, though I keep receiving the same event multiple times one after the other for the same user, all events identical (except the event ID and timestamp).
I respond to the event with HTTP status 200 (I handle them via REST).
Does anyone have an idea why I would receive the same events multiple times and how to avoid it? Is it some kind of retry due to an unexpected response on my end?
It even says here: "For personal scoped bots, your bot will only ever receive the conversationUpdate event a single time, even if the bot is removed and re-added."

Does Mandrill automatically retry soft-bounces?

If i send an email with Mandrill, and get a "rejected" status back the reason was a "soft-bounce", do Mandrill automatically retry to send the email again after a certain period of time, or do i have to send it myself in my own program again after some time?
According to this answer: https://stackoverflow.com/a/33191720/8862954, Mandrill doesn't deal with soft bounces, because it depends on the individual mailboxes.
Other bounces, according to MD's docs, are handled by adding the email to the rejection list so MD doesn't keep retrying sends to that address.

Docusign API - Recipient and Sender View Timeout

I am using both the REST API and the .NET library to work with Docusign from our site. I was just checking if there were any properties anywhere inside the envelope that let you know if a sender or recipient has the envelope "open" (aka the signing or tagging view URL was loaded, but the user hasn't finished).
Within our web app, we can easily tell when they've "opened" it because when users sign or place tags, they click on one of our own internal links first before being redirected, but unless the user finished the process (either clicking SEND or FINISH or just plain TIMING OUT and getting redirected back to our page), we can't tell is the user currently is looking at the document or if they opened it and then closed it.
So basically, I guess I'm asking if the user closes their browser without sending or signing, is there some kind of date or flag that can tell this?
One follow-up question: Speaking of Timeout, I set ours to 15 minutes. Once you open the console URL to place signature tags or to sign, does the timeout start and then ONLY stop once you've SENT or FINISHED the envelope? Do other actions like scrolling, partially signing, etc reset the timer? Or is it X minutes after the console is open, no matter what?
Sorry, no, the sender view does not offer a ping facility.
In the usual use case, the sender is motivated to send out the envelope for signing. So the problem of the user "abandoning" the sender view is generally not a concern.
You can check the envelope's status periodically or register for a webhook message when the envelope is sent. The envelope will be sent when the sender successfully finishes using the sender view.
If the sender is a concern, I suggest that you not use the sender view. Instead, get the necessary information (docs, recipients, notes, etc) from the sender, then send the envelope programmatically. Use "the Send on Behalf of" (SOBO) feature to send the envelope for the sender.

WebExtension redirect and block websites

I have started simple web extension for firefox which in theory should block access to specific websites based on some response from the remote server. User tries to navigate, new page will not be loaded until confirmation is not received from the remote server. Unfortunately remote "check" server is limited to a few requests in a second for each user so I can't (and it's unnecessary to) check each request made after user navigates to some page. Is there any method to listen for "real" navigation not all those requests and redirect whole tab somewhere before any requests are even made?
I've tried add-on API:
tab events fired after content is already received, which is not nice.
"http-on-modify-request" event is fired for each request separately spamming remote check server.
WebExtensions:
browser.webNavigation.onBeforeNavigate seems like what I need, but I can't neither send check request neither redirect from there and I am not sure I will able to.
"http-on-modify-request" event is fired for each request separately spamming remote check server.
that observer notification gives you a http channel, the channel has a loadInfo property, which has an externalContentPolicyType property which allows you to filter for top level document loads by matching one of the content policy constants.
WebRequest.jsm and browser.webRequest are abstractions over the http observers and provide similar functionality.

Resources