Ez Texting API

EzTexting.com provides API via HTTP/ Internet Post.

The API calls can be made from nearly all popular programming language. We provide examples below in PHP and C#. You must first register an account to be able to use the API.  To activate the API for your account please send a request to using our contact form with the username of your account.


Sending SMS Messages Via API:

The text (sms) message sending API may be accessed via an HTTP call to the following web service URL:
https://www.eztexting.com/apisendmessage.php

Parameters (may be passed via GET or POST and values must be properly URL encoded)

User
(Required) Your Ez Texting Username
Pass
(Required) Your Ez Texting 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 130 characters and contain single or double quotes) (Express messages cannot exceed 160 characters)
Express (Optional) Use Express delivery method when sending message value = 1.  Click here to see the difference between Express & Standard delivery.
What's the difference between Standard & Express delivery?

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 130 characters (160 for express) or contains single or double quotes)
-10
Unknown Error (please contact our support dept.)

API Text Message Sending Language Examples:

PHP

<?php
$ch=curl_init('https://www.eztexting.com/apisendmessage.php');
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,"user=username&pass=userpassword&phonenumber= 2127846500&subject=test&message=test message&express=0");
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://www.eztexting.com/apisendmessage.php");
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&express=1");
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*/

Receiving SMS Messages Via API

The Ez Texting SMS Server allows SMS messages to be received using HTTP through the means of keywords on our short code 313131 (or 393939 for Canada). This page details the format of the HTTP requests which are send by the Ez Texting SMS Server to allow the receipt of SMS text messages by external software systems.

The Ez Texting SMS Server will push received SMS messages by making an HTTP GET to the provided URL to indicate the receipt of an SMS message.  You can input this URL on the Keywords section of your Ez Texting 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 130 characters or 160 for express) that will be sent back to the originating phone number through our 313131 (or 393939 for Canada) 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.

Security Considerations
To ensure the authenticity of the HTTP requests you should only accept requests from the following Ez Texting IP addresses:

* 209.160.22.126

The HTTP endpoint can be an HTTPS (SSL) URL to protect the data whilst in transit.

Receiving SMS Responses From Your Inbox
You may have replies that go into your Inbox sent to your server via the Forwarding option located on the left navigation of your eztexting.com. You may specify a URL to send your responses to.


Check Amount of Credits Via API:

The amount of credits check API may be accessed via an HTTP call to the following web service URL:
https://www.eztexting.com/apicheckcredits.php

Parameters (may be passed via GET or POST and values must be properly URL encoded)

User
(Required) Your Ez Texting Username
Pass
(Required) Your Ez Texting 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 Via API:

The keyword availability check API may be accessed via an HTTP call to the following web service URL:
https://www.eztexting.com/apicheckkeyword.php

Parameters (may be passed via GET or POST and values must be properly URL encoded)

User
(Required) Your Ez Texting Username
Pass
(Required) Your Ez Texting 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 allowed)
-10
Unknown Error (please contact our support dept.)


Buy More Credits Via API:

The credits purchasing API may be accessed via an HTTPS call to the following web service URL:
https://www.eztexting.com/apibuycredits.php

Parameters (must be passed via POST and values must be properly URL encoded)

User
(Required) Your Ez Texting Username
Pass
(Required) Your Ez Texting 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
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 is succeed
0
The request is declined
-1
Invalid user or password (make sure your account is API allowed)
-10
Unknown Error (please contact our support dept.)


Rent a Keyword Via API:

The keyword rent API may be accessed via an HTTPS call to the following web service URL:
https://www.eztexting.com/apirentkeyword.php

Parameters (must be passed via POST and values must be properly URL encoded)

User
(Required) Your Ez Texting Username
Pass
(Required) Your Ez Texting 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
Expm (Required) Card's expiration month, two digits
Expy (Required) Card's expiration year, two digits
Keyword (Required) The keyword to rent

The following are the codes that a send message API call can return. Any negative codes represent unsuccessful attempts to rent a keyword.

2
The request is succeed
1
The keyword is not available
0
The request is declined
-1
Invalid user or password (make sure your account is API allowed)
-10
Unknown Error (please contact our support dept.)


Setup a Keyword Via API:

The keyword setup API may be accessed via an HTTPS call to the following web service URL:
https://www.eztexting.com/apisetupkeyword.php

Parameters (must be passed via GET or POST and values must be properly URL encoded)

User
(Required) Your Ez Texting Username
Pass
(Required) Your Ez Texting Password
Keyword (Required) Keyword that you want to setup
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 313131 will receive this message. Each confirmation return text that is sent back requires 2 credits.
Email (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 Setup A Keyword Language Examples:

PHP

<?php
$ch=curl_init('https://www.eztexting.com/apisetupkeyword.php');
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 Via API:

The voice broadcast API may be accessed via an HTTP call to the following web service URL:
https://www.eztexting.com/apisendvoice.php

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 Ez Texting Username
Pass
(Required) Your Ez Texting Password
Phonenumbers (Required) Array of 10 digit phone numbers to call to.
Soundfile
(Optional) Name of the .wav file in your Ez Texting 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 your Ez Texting 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://www.eztexting.com/apisendvoice.php');
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://www.eztexting.com/apisendvoice.php');
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*/

?>