Sending SMS Messages:
The SMS text message sending API may be accessed via an HTTP call to the following web service URL:
https://app.tellmycell.com/api/sending
Parameters (may be passed via GET or POST and values must be properly URL encoded)
User |
(Required) Your TellMyCell Username |
Pass |
(Required) Your TellMyCell Password |
| PhoneNumber | (Required) 10 digit phone number to send message to. |
Subject |
(Required) The subject of your message (leave null if no subject) |
Message |
(Required) The body of your message (cannot exceed 160 characters) |
The following are the codes that a send message API call can return. Any negative codes represent unsuccessful attempts to send messages.
1 |
Message Sent |
-1 |
Invalid user or password (make sure your account is API allowed) |
-2 |
Credit Limit Reached |
-5 |
Local Opt Out (the recipient/number is on your opt-out list.) |
-7 |
Invalid Message (message exceeds 160 characters or contains invalid characters - see below for a list of valid characters) |
-104 |
Globally Opted Out Phone Number (the phone number has been opted out from all messages sent from our short code). To opt this number in please text HELP or Your Keyword to 88202 using that phone. |
-106 |
Incorrectly Formatted Phone Number (number must be 10 digits) |
-10 |
Unknown Error (please contact our support dept.) |
Please Note: Our servers impose a limit on the number of simultaneous connections that you may make from your server to ours per second. To avoid having your IP blocked, please do not attempt to make more than 2 simultaneous HTTP connections per second to our servers. Please also make sure that you close each connection after opening one when making your HTTP request. If you are running a multithreaded application please also be aware of the limit that is imposed.
When sending multiple request we strongly suggest using the following logic in order to avoid this limitation:
1) Open Connection
2) Begin Loop
3) Make Request
4) Close Loop
5) Close Connection
The list of allowed characters for messages is: a-z, A-Z, 0-9 and these special characters: .,:;!?()~=+-_\/@$#&%
The following characters count as two characters when used: ~ @ # % + = / \ \r\n
API Text Message Sending Language Examples:
PHP
<?php
$ch=curl_init('https://app.tellmycell.com/api/sending');
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,"user=username&pass=userpassword&phonenumber= 2127846500&subject=test&message=test message");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$data = curl_exec($ch);
print($data); /* result of API call*/
?>
C#
string ret=string.Empty;
WebRequest w=WebRequest.Create("https://app.tellmycell.com/api/sending");
w.Method="POST";
w.ContentType="application/x-www-form-urlencoded";
using(Stream writeStream = w.GetRequestStream())
{
UTF8Encoding encoding = new UTF8Encoding();
byte[] bytes = encoding.GetBytes("user=username&pass=userpassword&
phonenumber=2127846500&subject=test
&message=test message");
writeStream.Write(bytes, 0, bytes.Length);
}
using (HttpWebResponse r = (HttpWebResponse) w.GetResponse())
{
using (Stream responseStream = r.GetResponseStream())
{
using (StreamReader readStream = new StreamReader (responseStream, Encoding.UTF8))
{
ret = readStream.ReadToEnd();
}
}
}
MessageBox.Show(ret); /* result of API call*/
PHP - Send Multiple Messages
<?php
/* The below code snippet is a sample and not functional. Its purpose is to illustrate how to send multiple requests to our service using one connection */
= curl_init('https://app.tellmycell.com/api/sending');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
foreach ( as ) {
= "user=username&pass=userpassword&phonenumber=" . $message['phone'] . "&subject=" . $message['subject'] . "&message=" . $message['message'];
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$data = curl_exec($ch);
}
curl_close($ch);
?>
Understanding The Difference Between The Keyword Submission API And The Inbox Replies API
TellMyCell allows you to implement your own APIs to receive and/or forward incoming messages to your server. Please check out the list of parameters which TellMyCell Texting sends to your server, which your APIs must accept.
When someone sends in your keyword [space] message or just replies without a keyword within 3 hours of you sending a message to them, the Inbox Reply API is used where the variable is called from. If someone sends in only your keyword then the Keyword API is invoked and that variable is called Phone Number.
**Please note that if you are testing your API implementation with the same phone number again and again, when you send in your keyword submission and you get a reply back then the keyword reply is considered as an outgoing message. Consequently, if you send in keyword [space] message again through the same phone number, The Inbox Reply API will be invoked and NOT the Keyword API.
Many of our API clients use different scripts to process forwarded messages (messages that are replies or keyword [space] message) vs just keywords. This is the cause of the difference between the name of the variables.
If you have Send Unique Requests Checked then your Keyword URL will only be called once and not your Forwarding URL in cases when a message is considered to be a keyword submission and not a reply to an outbound message from your account.
If you have Wait for Response From My Server Checked then the system will wait for output to send back to the person who texted in. We suggest that you have both these Checked as it would work for most applications.
Receiving Keyword Submissions:
TellMyCell allows SMS messages to be received using HTTP through the means of keywords on our short code 88202. This page details the format of the HTTP requests which are sent by the TellMyCell SMS Server to allow the receipt of SMS text messages by external software systems.
TheTellMyCell SMS Server will push received SMS messages by making an HTTP GET request to the provided URL to indicate the receipt of an SMS message. You can input this URL on the Keywords section of yourTellMyCell account.
Example URL:
http://www.yourdomain.com/receivesms.php
Message Format
On receipt of an SMS we will send an HTTP GET request to your server, using the parameters included in the table below:
| PhoneNumber | 10 digit phone number message originated from. |
| Message | The body of your message that was texted in by the originating phone number prefaced by your keyword. |
Example Request Sent:
http://www.yourdomain.com/receivesms.php?PhoneNumber=5554443333&Message=Hello%20my%20friend
Response To The Server
When the GET post is made to your server, your script must output your SMS response in plain text format (max 160 characters) that will be sent back to the originating phone number through our 88202 shared short code. This response must be given in a timely manner (sub 60 seconds) or it will be abandoned. No additional calls to our servers are necessary.
The list of allowed characters for messages is: a-z, A-Z, 0-9 and these special characters: .,:;!?()~=+-_\/@$#&%
The following characters count as two characters when used: ~ @ # % + = / \ \r\n
Check Credit Balance:
You may check credit balances using our API via an HTTP call to the following web service URL:
https://app.tellmycell.com/api/credits/check/
Parameters (may be passed via GET or POST and values must be properly URL encoded)
User |
(Required) Your TellMyCell Username |
Pass |
(Required) Your TellMyCell Password |
The following are the codes that a send message API call can return. Any negative codes represent unsuccessful attempts to check credits amount.
Any non-negative number |
The amount of credits available |
-1 |
Invalid user or password (make sure your account is API allowed) |
-10 |
Unknown Error (please contact our support dept.) |
Check Keyword Availability:
The keyword availability check API may be accessed via an HTTP call to the following web service URL:
https://app.tellmycell.com/api/keyword/check/
Parameters (may be passed via GET or POST and values must be properly URL encoded)
User |
(Required) Your TellMyCell Username |
Pass |
(Required) Your TellMyCell Password |
| Keyword | (Required) The keyword to be checked |
The following are the codes that a send message API call can return. Any negative codes represent unsuccessful attempts to check keyword availability.
1 |
The keyword is available |
0 |
The keyword is not available |
-1 |
Invalid user or password (make sure your account is API enabled) |
-10 |
Unknown Error (please contact our support dept.) |
Buy More Credits:
The credit purchase API may be accessed via an HTTPS call to the following web service URL:
https://app.tellmycell.com/api/credits/buy/
Parameters (must be passed via POST and values must be properly URL encoded)
User |
(Required) Your TellMyCell Username |
Pass |
(Required) Your TellMyCell Password |
| FirstName | (Required) The first name on the card |
| LastName | (Required) The last name on the card |
| Address | (Required) The billing street address |
| City | (Required) The billing address city |
| State | (Required) The billing address state/province |
| Zip | (Required) The billing address zip code |
| Country | (Required) The billing address country |
| Type | (Required) Card type: 'MC' for MasterCard, 'Visa', 'AX' for American Express, 'DS' for Discover, 'JCB' |
| CCNumber | (Required) Card number |
| CCCode | (Required) Card Security Code (CV2) |
| Expm | (Required) Card's expiration month, two digits |
| Expy | (Required) Card's expiration year, two digits |
| Credits | (Required) Amount of credits to buy |
The following are the codes that a send message API call can return. Any negative codes represent unsuccessful attempts to buy credits.
1 |
The request succeeded |
0 |
The request was declineded |
-1 |
Invalid user or password (make sure your account is API allowed) |
-10 |
Unknown Error (please contact our support dept.) |
Rent a Keyword:
The keyword rental API may be accessed via an HTTPS call to the following web service URL:
https://app.tellmycell.com/api/keyword/rent/
Parameters (must be passed via POST and values must be properly URL encoded)
User |
(Required) Your TellMyCell Username |
Pass |
(Required) Your TellMyCell Password |
| FirstName | (Required) The first name on the card |
| LastName | (Required) The last name on the card |
| Address | (Required) The billing street address |
| City | (Required) The billing address city |
| State | (Required) The billing address state/province |
| Zip | (Required) The billing address zip code |
| Country | (Required) The billing address country |
| Type | (Required) Card type: 'MC' for MasterCard, 'Visa', 'AX' for American Express, 'DS' for Discover, 'JCB' |
| CCNumber | (Required) Card number |
| CCCode | (Required) Card Security Code (CV2) |
| Expm | (Required) Card's expiration month, two digits |
| Expy | (Required) Card's expiration year, two digits |
| Keyword | (Required) The keyword to rent |
Please note: After you rent a Keyword, you may want to update the default autoreply, which is 'Thank you for joining our list.'
The following are the codes that a keyword configuration API call can return. Any negative codes represent unsuccessful attempts to rent a keyword.
2 |
The request succeeded |
1 |
The keyword is not available |
0 |
The request was declined |
-1 |
Invalid user or password (make sure your account is API allowed) |
-10 |
Unknown Error (please contact our support dept.) |
The keyword configuration API may be accessed via an HTTPS call to the following web service URL:
https://app.tellmycell.com/api/keyword/setup/
Parameters (must be passed via GET or POST and values must be properly URL encoded)
User |
(Required) Your TellMyCell Username |
Pass |
(Required) Your TellMyCell Password |
| Keyword | (Required) Keyword that you want to configure |
| Group | (Optional) Customers who text in your keyword will be added to the group you provide |
| Autoreply | (Optional) Customers that text in your Keyword to 88202 will receive this message. The autoreply is limited to 160 characters. Each confirmation return text that is sent back requires 1 credit. If you do not update this field, we will send out our default autoreply, 'Thank you for joining our list.' |
| (Optional) We will forward incoming messages to the email address for free | |
| URL | (Optional) We will call this URL when keyword is received |
The following are the codes that a send message API call can return. Any negative codes represent unsuccessful attempts to rent a keyword.
1 |
Updated Successfully |
-1 |
Invalid user or password (make sure your account is API allowed) |
-2 |
Invalid Keyword |
-3 |
Invalid Group Name |
-4 |
Invalid Email |
-5 |
Invalid URL |
-10 |
Unknown Error (please contact our support dept) |
API Keyword A Keyword Language Examples:
PHP
<?php
$ch=curl_init('https://app.tellmycell.com/api/keyword/setup/');
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,"user=username&pass=userpassword&group=test&url=http://test.com/test");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$data = curl_exec($ch);
print($data); /* result of API call*/
?>
Voice Broadcast:
The voice broadcast API may be accessed via an HTTP call to the following web service URL:
https://app.tellmycell.com/api/voicemessages/
Requirements For Voice Broadcast Files: WAV, 16 bit, mono, 8 kHz, less than 30 seconds
Parameters (may be passed via POST and values must be properly URL encoded)
User |
(Required) Your TellMyCell Username |
Pass |
(Required) Your TellMyCell Password |
| Phonenumbers | (Required) Array of 10 digit phone numbers to call to. |
Soundfile |
(Optional) Name of the .wav file in your TellMyCell account |
Soundsource
|
(Optional) Address to the .wav file on your server |
| Callerid | (Required) 10 digit phone number |
You can either provide name of the file you saved in yourTellMyCell account (Soundfile) or we can get your .wav file from the URL on your server (Soundsource).
The following are the codes that the voice broadcast API call can return. Any negative codes represent unsuccessful attempts to create broadcast.
1 |
Campaign Sent |
-1 |
Invalid user or password (make sure your account is API allowed) |
-2 |
Credit Limit Reached |
-3 |
Invalid Callerid |
-4 |
Invalid array of phone numbers |
-5 |
Invalid Soundfile (make sure you provided the correct file name) |
-6 |
Invalid Soundsource (make sure you provided the correct path to the file) |
-7 |
Invalid POST Request (make sure you use the correct names of variables) |
-10 |
Unknown Error |
API Voice Broadcast Language Examples:
PHP
<?php
$ch = curl_init('https://app.tellmycell.com/api/voicemesages/');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,"user=username&pass=password&phonenumbers=
2127846500&soundsource=http://mydomain.com/sounds/voice.wav&callerid=2127847840");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$data = curl_exec($ch);
print($data); /* result of API call*/?>
or
<?php
$ch = curl_init('https://app.tellmycell.com/api/voicemesages/');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,"user=username&pass=password&phonenumbers=
2127846500&soundfile=1236019718.wav&callerid=2127847840");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$data = curl_exec($ch);
print($data); /* result of API call*/?>
Receiving Inbox Message Replies:
All replies to your inbox will be forwarding to the URL you specify. The TellMyCell SMS Server will push received SMS messages by making an HTTP GET to the provided URL.
Example URL:
http://www.yourdomain.com/sms.php
Example Request Sent:
We will send an HTTP GET request to your server, using the parameters:
from |
10 digit phone number message originated from. |
message |
The body of receiving message that was texted in by the originating phone number. |
http://www.yourdomain.com/sms.php?from=5554443333&message=Hello%20World
Options:
Send unique request: Check this if you have both keyword URL and forwarding URLs setup and you do not wish to receive duplicate message forwards.
Wait for response from my server: If you require an incoming reply to have an auto-reply, select this option. We will send this response as an auto-reply via HTTP GET.
The list of allowed characters for messages is: a-z, A-Z, 0-9 and these special characters: .,:;!?()~=+-_\/@$#&%
The following characters count as two characters when used: ~ @ # % + = / \ \r\n
Please note: If you have a keyword and both the keyword URL and forwarding URLs are setup with the same URL, check should click "Send Unique Request" so we only send one GET request.