What's the best way to parse a SMS email? - sms

I have a system where SMS are sent to an email address which is sent to a script for processing. The query in these emails is very simple (something like a zip code).
How do I deal with the multitude of different ways that an email can come in? I had a request from an iPhone, which came in as a mms. The email was a multipart message which contained another multipart message.
When I send from my paltry cell phone, I just get a simple text string.
What's a good way to get the intended query out of these emails, regardless of how it is sent.

There is a finite number of ways the e-mail can be represented, I'd say do some empirical testing (as you have, already) and prepare for everything you find. Figure out a way to classify the current case and select the appropriate strategy for extracting the content you're interested in.

Related

SMS to Twilio Number with Extension

I'd like users to be able to text my Twilio number and have the text forwarded to various recipients based on the number's extension. i.e. texting to 555-555-5555,2 should route to a different receiver than 555-555-5555,3.
This Quora answer hints that this is possible, but I haven't found any further documentation: https://www.quora.com/Is-it-possible-to-send-a-text-message-from-my-Android-to-a-phone-number-with-an-extension-number
I tried using Twilio Studio to implement something like an IVR or message/response, but that only produced a text prompt which didn't seem to respond to the number entered after the comma.
This not possible by appending data to the destination number. You would need to place directives in the SMS message body and have your Twilio (Studio) logic parse the message body to determine how to deliver the SMS (which Phone number to deliver the SMS to).

Sending SMS with variable message

I want a mobile web to send a specific message with following link "sms:number?body=text".
The best case scenario would be client inputting his ID once (either through registering or just by inputting the ID into form) and then he would be able to tap on the link with the additional output ("sms:number?body=text+ID".)
The reason for this is that the client should be able to ask about his account balance through predefined text message with as little effort as possible as the ID number is quite long and inputting the number every time would be quite tiring but I would be happy even with a simple form where you can input the ID.
The problem is, I have no idea where to start, what would be the best approach and so on. Any suggestions?
Thank you very much in advance.

How to get message_id of emails sent using transmission?

We're moving from Mandrill to SparkPost. We figured that SparkPost's transmission is the closest thing to Mandrill's send-template message call.
Mandrill responded to those calls with a list of ids and statuses for each email. On the other hand SparkPost returns a single id and summary statistics (number of emails that were sent and number of emails that failed). Is there some way to get those ids and statuses out of the transmission response or at all?
you can get the message IDs for messages sent using the tranmissions API two ways:
Query the message events API, which allows you to filter by recipients, template IDs, campaign IDs, and other values
Use webhooks - messages are sent to your endpoint in batches, and each object in the batch contains the message ID
Which method you choose really depends on your use case. It's essentially poll (message events) vs. push (webhooks). There is no way to get the IDs when you send the transmission because they are sent asynchronously.
Querying message events API, while a viable option, would needlessly complicate our simple solution. On the other hand we very much want to use Webhooks, but not knowing which message they relate to would be troublesome...
The missing link was putting our own id in rcpt_meta. Most of the webhooks we care about do contain rcpt_meta, so we can substitute message_id with that.
I'm stacked too in this problem..
using rcpt_meta solution would be perfect if substitution would work on rcpt_meta but it's not the case.
So, in case of sending a campaign, I cannot specify all recipients inline but have to make a single API call for every message, wich is bad for - say - 10/100k recipients!
But now, all transmission_id are unique for every SINGLE recipient, so I have the missing key and rcpt_meta is not needed anymore.
so the key to be used when receiving a webhook is composed:
transmission_id **AND** rcpt_to

Unique replies to multiple sms messages

Our scenario is as follows:
We have a marketplace where sellers will receive multiple messages throughout the day from users.
We want to send message notifications etc via sms to sellers
We would like sellers to be able to reply to a sms message notification on their phone. We want what they text to appear as their reply on our site. Is this possible?
Say a seller checks their phone as sees that they have 5 notifications, is there a way they can reply to a specific message rather than the last one sent?
Any help would be much appreciated.
As you describe the use case, it is not possible. As you suspect, there's no way to link one inbound message to a particular outbound message. I'd suggest borrowing an idea from Twitter and including a Base-36 code in the notification. If a reply contains that code, then it's in response to that original message. For example...
Notitification: A seller is interested in your widget. LFLR
Reply: #LFLR Sorry. We are sold out of the widgets.
It will take a slight bit of effort from the sellers. But, then, they are motivated to sell. Using a Base-36 code will keep the number of characters to type under five even for a million plus messages.

Any way to tell what text message another message is in response to?

Are there any texting services out there (like Twilio) with APIs that allow you to see what message another message is in response to? For example: I want to tell whether message 3 is in response to 1 or 2.
A->B: Do you like ice cream?
A->B: Do you like pizza?
B->A: Yes.
I'm guessing that there's just no threadedness to text messages, and this is impossible. But might as well have a canonical answer out there.... Reasons for this belief:
When you send emails to a phone number at txt.att.net, it uses a different number each time.
The texting services that I've looked at don't offer the feature
The phone UIs I've used all present it as a flat message list rather than a threaded list
Can someone confirm this?
There is no native support for this type of functionality in SMS. Message threading for SMS is inferred on the client side from context. When I send a text to person 1, if I receive a reply from person 1 within a given time-frame, I can assume that it was part of the same "conversation". (I actually implemented something like this for a chat client that I was working on)
I have also seen where the original message is included with the response, and the client can group the messages accordingly (take a look at gmail), but this could be messy if your clients were not the same.
Just a few thoughts.

Resources