Test phone numbers in different countries - sms

Does twilio provide any test mobile numbers for different countries. I want to test whether SMS is sending successfully to some mobile number in Canada.
Is there any test mobile numbers that I can use for this purpose?

Twilio developer evangelist here.
We do not have test numbers available for you to send messages to. However, you can instrument your code such that you can find out from Twilio when you send messages that they are being delivered.
I recommend you set the StatusCallback parameter when you send messages. You set it to a URL on your server that can receive incoming webhooks and it will receive a request each time your message status changes to one of the following: queued, failed, sent, delivered, or undelivered.
That way you can be sure that your messages are sending correctly and arriving at the phones you expect them to.
Let me know if that helps at all.

Related

Sending/Receiving multi-recipient SMS - Twilio API

I am writing an app that will facilitate the sending and receiving of SMS messages via a web application. I would like to allow for multiple recipients (not bulk, just a few recipients at most).
I understand that in order to send to multiple recipients, I have to make multiple API calls, and that is fine. The problem I am having is receiving text messages via the Webhook callback. If the SMS was sent to multiple recipients, I cannot see the other recipients in the callback, just myself as the recipient.
Because of this, I have no idea whether this message was intended for just me, or for other recipients as well. This is a problem, because I would like to show threaded conversations similar to Google hangouts, or the SMS applications on all Andorid and iPhones.
I cannot figure out a way to track conversations, if I can't tell if a received message was sent to just me, or a group of recipients. Any suggestions? I do not yes use Twilio on a production server, so if this is not possible to do using Twilio, but is possible using another service, that would be an option for me as well.
Twilio developer evangelist here.
Twilio doesn't fully support group messaging the way that you are used to it when using a phone. That actually relies on MMS under the hood to keep the members of the group chat synced up.
Where you make multiple API calls to send messages to each user, that is manifested as just a single message with no group attached. Thus, any reply to that message comes solely from that person you sent the message to. There is no group at all at this point.
The link that Alex shared in the comments is the closest way you can get group messaging to work. It relies on everyone messaging one Twilio number and the application behind it fanning the messages out to all the recipients. The blog post also comes with some handy subscribe/unsubscribe administration for the group.

clickatell sms messages fail with no error or notification for non-US numbers

I have a web application that sends verification codes to users through clickatell. Nearly all users are in the US, and those work fine, but I have about 5 with international phone numbers who receive no texts.
I have a page set up to accept delivery notifications and dump them into a log file.
If I send a message to a US number, like +18161234567 I get a notification like so:
integrationName=MyIntegration&messageId=*******************&clientMessageId=&to=18161234567&from=1##########&status=DELIVERED_TO_GATEWAY&statusDesc=DELIVERED_TO_GATEWAY&timestamp=1502911816000
But if I send a message to a non-US number, like +393921234567, I get no response from the clickatell server at all. It's like they don't even get the request. The phone number is the only difference between the two requests.
I have a case open with clickatell support but they have been less than insightful so far, just telling me they need a messageID or error code to investigate further, but since I get no response, I have none to give them.
Has anyone else experienced this or have any ideas I can use to troubleshoot?
We have a two-way number because that is required for sending texts in the US. However, clickatell notes on the two-way settings page that
If the country does not support two-way messaging, Clickatell will not submit the message (you will not be charged for messages that aren't successfully submitted)
I can't seem to find a list of countries that do or do not support two-way messaging. Do I need to add a separate integration without two-way messaging to support my international numbers?
UPDATE: Upon further research, my international users are in 3 countries. Italy, which does not support two-way messaging, and France and Mexico, both of which do support it. Yet none of the three are working.
FURTHER UPDATE: I have tried creating a separate integration just for Italy, since they do not support two-way messaging. I have set it up to use the clickatell automatic mobile number formatting for that country. The result is the same. No text is sent and I receive no response of any kind from the server.
Can you please check/provide response from server when you submit message with number: +393921234567.
Most likely you get validation error - that this destination number not covered by number that you bought.
Have a nice day.

Twilio SMS delivery to DND number

I am sending SMS using Twilio API. During testing i found that it sometimes delivered message to the phone number but does not sends all the time. This is the case of DND activated numbers(Do Not Call List).
I knew this is because of Sender routing done by Twilio. When Twilio sends SMS using a number(only numeric sender-FROM), i received the message, but when it sends message using some alphanumeric sender(like DM-044138), it does not delivers the message.
Now my question is do we have any access to change this ? Can we set something that could guarantee the delivery even for the DND numbers ?
Any help would be highly appreciated.
Your problem is you are sending it to India.
Please review the following.
This feature is only available when sending messages to supported countries
As you can see from the list below India is not a supported country.
https://www.twilio.com/help/faq/sms/what-countries-does-twilio-support-alphanumeric-sender-id

Twilio SMS verify destination phone numbers and verification ID

I have two questions.
I am creating a website for a client I am trying to code in Twilio SMS tools for end users and for management. I have the request and response tools built so I am all set functionally. So the questions are:
A. Can I send SMS message to any phone number OR does every number I send an SMS have to be added to twilio and verified before I can freely send SMS? It would be nice if I could just collect my phone numbers from the end users and free them from the pain of the verification process.
B. If I must verify end users then can I send SMS messages to them with their verification code? Right now an automated message call is sent to the phone number that wants SMS updates and you have to key in a six digit verification code....AND then you can send that person SMS messages. The phone call is kind of awkward.
A. Once you have a regular Twilio account, you can send an SMS to any phone number. However, some phone numbers (e.g., most landlines) cannot accept an SMS. If you try to send an SMS to those numbers with your cellphone, you will probably get a message back from the carrier that the number cannot accept SMS. However, Twilio will report success in sending the message, even though the message obviously cannot be sent to that number, and you will get no indication that the message did not go through.
But, no, there is no need to specifically add the numbers as verified for them to work with Twilio.
You can use a service like https://www.carrierlookup.com/ (which Twilio told me about) to check if a phone number can receive SMS messages.
B. -- you do not need to verify end users through Twilio, although I do think there are restrictions on a Twilio trial account that will be removed once you have a paid Twilio account.
Twilio evangelist here
Once you upgrade, you can send a message to any phone number. While you are using a trial account, you have to verify a number in order to send a message to it. More info about how a trial account works is here:
http://www.twilio.com/help/faq/twilio-basics/how-does-twilios-free-trial-work
Hope that helps.
Regarding verification: Twilio has a service that allows verifying phone numbers, including format, carrier, if it's mobile or landline, etc: https://www.twilio.com/lookup
API Docs: https://www.twilio.com/docs/lookup/api

How track responses for an SMS to multiple recipients with the Twilio API?

I would like to send a text message survey (eg. "How happy were you with X service? Reply 1 for satisified, Reply 2 for not satisfied") to multiple recipients. From the responses, I would like to create a report on the recipients that responded 1 vs the ones that responded 2. What is the best way to do this with the Twilio API? Does my app need to store the results from my incoming SMS message or does Twilio store these so I can query the results? If the former is the case and TwiML is involved, how do I parse the response and store the result? Thanks!
** Disclaimer: Twilio evangelist here **
Chirag:
So it sounds like you have two requirements here:
Use Twilio to send outbound text messages to different recipients
Capture a users reply to that message
For the first requirement, you can start by going to Twilio.com and signing up for a new account. Its free to start and we give you a Twilio phone number you can use to start to build your app. Once you have the Twilio phone number, you can use the REST API to start sending outbound text messages from that Twilio phone number. We have a quickstart that shows you how to do this:
http://www.twilio.com/docs/quickstart/php/sms/sending-via-rest
Note that this link goes to the PHP sample, but you can use the drop down at the top of the page to pick from other stacks like .NET, Java, Python or Ruby.
Once you've sent an outbound message you need to capture the replies to that message (your second requirement). Twilio uses something called a webhook to notify you about incoming SMS messages.
A webhook is basically a URL exposed by your application and associated with your Twilio phone number. You can configure the URL associated with your phone number in the Twilio dashboard.
Each time we receive an incoming SMS message on your Twilio phone number, we will make an HTTP request to that URL. As part of that HTTP request we send along metadata about the inbound message like the phone number that the message was sent from and the Body of the message. The full list of parameters we send is here:
http://www.twilio.com/docs/api/twiml/sms/twilio_request
Now your app can pull those parameters out of the request and do whatever it wants with them. Since we already are sending the body of the message as we receive it, Tims suggestion of tracking the responses based on the From parameter and storing the message body in your own database is a good suggestion.
This quickstart shows receving an incoming text message, grabbing the From parameter and then responding by sending back from TwiML:
http://www.twilio.com/docs/quickstart/php/sms/replying-to-sms-messages
In your case, if you don't want to reply to the incoming message, just omit the TwiML response.
Hope the helps. Lets me know if you need more info.
Devin
Track the responses using the From parameter (and using Body to identify the selection). Yes, Twilio stores those messages, and you could query the API - but it's likely better to just store it in your own database.

Resources