REST Documentation

IMPORTANT: This documentation refers to our Legacy API, which is unavailable for new users and will be deprecated for existing users soon. Please check out our new API here

You are reading the REST API Docs. Click here for the HTTP API Docs.

API calls can be made from nearly all popular programming languages. Through our API you can access many different features of the EZ Texting platform. Browse them below and check out the list of available APIs and their parameters.

Looking for information about receiving text messages?
View the documentation for our two incoming message APIs.

Getting started? Check out our code examples.

Sending SMS/MMS Messages

Sends SMS/MMS messages via a shared short code to a single phone number or an array of phone numbers.

URL

https://app.eztexting.com/sending/messages?format=format

Format & Method

Format can be either XML or JSON. HTTP Method must be POST.

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
PhoneNumbers(Optional) Array of 10 digit phone number to send message to
Groups(Optional) Groups to send message to; if you don't include groups, you must specify phone numbers to send message to; if Groups[]= parameter is included but empty it will send message to all contacts not in groups.
Subject(Optional) The subject of your message. Maximum 13 characters.
Message(Required) The body of your message
StampToSend(Optional) Time to send a scheduled message (should be a Unix timestamp)
MessageTypeID(Optional) Message delivery method: set to 1 to send via Express delivery method; set to 2 to send via Standard delivery method; set to 3 to send via MMS delivery method; if you leave this parameter out, your message will be sent via Express delivery method.
FileID(Optional) ID of media file to include (for MMS only)

Note Values must be properly URL encoded.

Note For SMS (MessageTypeID set to 1 or 2) parameter "Message" is required.

Note If FileID is set for MMS (MessageTypeID set to 3) message will include media file. If no FileID is set for MMS (MessageTypeID set to 3) parameter "Message" is required. Long text will be sent in such case.

Return Values

IDUnique ID referencing the message
SubjectSubject of the message
MessageBody of the message
MessageTypeIDMessage delivery method (1 - express, 2 - standard, 3 - mms)
RecipientsCountNumber of intended recipients. Please note: This includes globally opted out numbers.
CreditsNumber of credits charged for the message
StampToSendDate and time message will be sent
PhoneNumbersArray of phone numbers to receive the message
LocalOptOutsArray of locally opted-out phone numbers
GlobalOptOutsArray of globally opted-out phone numbers
GroupsArray of groups to receive the message
FileIDID of media file (for MMS only)

Note sages sent via Standard delivery cannot exceed 130 characters combined subject and message field, via Express delivery - 160 characters (136 characters in Canada) combined subject and message field. Subjects are always limited to 13 characters

Note The list of allowed characters for messages and subjects is: a-z, A-Z, 0-9 and these special characters: .,:;!?()~=+-_\/@$#&%'"

Note The following characters count as two characters when used: \r \n

Note To opt back in a globally opted out number please text Your Keyword to your assigned shared short code using that phone.

HTTP Status Codes

201Success - A new message has been scheduled for delivery
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>PhoneNumbers: '(123)45-67' contains characters which are not digits</Error>
		<Error>Subject: Your subject must be under 13 characters.</Error>
		<Error>Message: Your message contains characters that are not supported.</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example And Response (SMS)

curl -d 'User=winnie&Password=the-pooh&PhoneNumbers[]=2123456785&PhoneNumbers[]=2123456786&PhoneNumbers[]=2123456787&PhoneNumbers[]=2123456788&Groups[]=honey lovers&Subject=From Winnie&Message=I am a Bear of Very Little Brain, and long words bother me&StampToSend=1305582245' https://app.eztexting.com/sending/messages?format=xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>201</Code>
	<Entry>
		<ID>6419</ID>
		<Subject>From Winnie</Subject>
		<Message>I am a Bear of Very Little Brain, and long words bother me</Message>
		<MessageTypeID>1</MessageTypeID>
		<RecipientsCount>3</RecipientsCount>
		<Credits>6</Credits>
		<StampToSend>05-16-2011 5:44 PM</StampToSend>
		<PhoneNumbers>
			<PhoneNumber>2123456787</PhoneNumber>
			<PhoneNumber>2123456788</PhoneNumber>
		</PhoneNumbers>
		<LocalOptOuts>
			<PhoneNumber>2123456786</PhoneNumber>
		</LocalOptOuts>
		<GlobalOptOuts>
			<PhoneNumber>2123456785</PhoneNumber>
		</GlobalOptOuts>
		<Groups>
			<Group>Honey lovers</Group>
		</Groups>
	</Entry>
</Response>

XML Example And Response (MMS)

curl -d 'User=winnie&Password=the-pooh&PhoneNumbers[]=2123456788&FileID=26&StampToSend=1305582245&MessageTypeID=3' https://app.eztexting.com/sending/messages?format=xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Success</Status>
    <Code>201</Code>
    <Entry>
        <ID>64456</ID>
        <Subject />
        <Message />
        <MessageTypeID>3</MessageTypeID>
        <RecipientsCount>1</RecipientsCount>
        <Credits>2</Credits>
        <StampToSend>05-16-2011 5:44 PM</StampToSend>
        <FileID>26</FileID>
        <PhoneNumbers>
            <PhoneNumber>2123456788</PhoneNumber>
        </PhoneNumbers>
        <Groups />
    </Entry>
</Response>

XML Example And Response (MMS - Long Text)

curl -d 'User=winnie&Password=the-pooh&PhoneNumbers[]=2123456788&Message=This...whatever-it-was...has now been joined by another...whatever-it-is... and they are now proceeding in company. Would you mind coming with me, Piglet, in case they turn out to be Hostile Animals?&StampToSend=1305582245&MessageTypeID=3' https://app.eztexting.com/sending/messages?format=xml
					
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Success</Status>
    <Code>201</Code>
    <Entry>
        <ID>64457</ID>
        <Subject />
        <Message>This...whatever-it-was...has now been joined by another...whatever-it-is... and they are now proceeding in company. Would you mind coming with me, Piglet, in case they turn out to be Hostile Animals?</Message>
        <MessageTypeID>3</MessageTypeID>
        <RecipientsCount>1</RecipientsCount>
        <Credits>2</Credits>
        <StampToSend>05-16-2011 5:44 PM</StampToSend>
        <PhoneNumbers>
            <PhoneNumber>2123456788</PhoneNumber>
        </PhoneNumbers>
        <Groups />
    </Entry>
</Response>

JSON Example And Response (SMS):

curl -d 'User=winnie&Password=the-pooh&PhoneNumbers[]=2123456785&PhoneNumbers[]=2123456786&PhoneNumbers[]=2123456787&PhoneNumbers[]=2123456788&Groups[]=honey lovers&Subject=From Winnie&Message=I am a Bear of Very Little Brain, and long words bother me&StampToSend=1305582245' https://app.eztexting.com/sending/messages?format=json
					
{
	"Response":{
		"Status":"Success",
		"Code":201,
		"Entry":{
			"ID":6417853,
			"Subject":"From Winnie",
			"Message":"I am a Bear of Very Little Brain, and long words bother me",
			"MessageTypeID":1,
			"RecipientsCount":3,
			"Credits":6,
			"StampToSend":"05-16-2011 5:44 PM",
			"PhoneNumbers":[
			"2123456787",
			"2123456788"
			],
			"LocalOptOuts":[
			"2123456786"
			],
			"GlobalOptOuts":[
			"2123456785"
			],
			"Groups":[
			"Honey lovers"
			]
		}
	}
}

JSON Example And Response (MMS):

curl -d 'User=winnie&Password=the-pooh&PhoneNumbers[]=2123456788&FileID=26&StampToSend=1305582245' https://app.eztexting.com/sending/messages?format=json
					
{
     "Response":{
        "Status":"Success",
        "Code":201,
        "Entry":{
	"ID":64458,
	"Subject":"",
	"Message":"",
	"MessageTypeID":3,
	"RecipientsCount":1,
	"Credits":2,
	"StampToSend":"05-16-2011 5:44 PM",
	"FileID":26,
	"PhoneNumbers":[
		"2123456788"
	],
	"Groups":[]
       }
    }
}

XML Example And Response (MMS - Long Text):

curl -d 'User=winnie&Password=the-pooh&PhoneNumbers[]=2123456788&Message=This...whatever-it-was...has now been joined by another...whatever-it-is... and they are now proceeding in company. Would you mind coming with me, Piglet, in case they turn out to be Hostile Animals?&StampToSend=1305582245' https://app.eztexting.com/sending/messages?format=xml
{
     "Response":{
        "Status":"Success",
        "Code":201,
        "Entry":{
	"ID":64459,
	"Subject":"",
	"Message":"This...whatever-it-was...has now been joined by another...whatever-it-	is... and they are now proceeding in company. Would you mind coming with me, 	Piglet, in case they turn out to be Hostile 	Animals?",
	"MessageTypeID":3,
	"RecipientsCount":1,
	"Credits":2,
	"StampToSend":"05-16-2011 5:44 PM",
	"PhoneNumbers":[
		"2123456788"
	],
	"Groups":[]
       }
    }
}
Back to table of contents

Get a report for specific delivery status of a message you have sent.

URL

https://app.eztexting.com/sending/reports/ID/?format=format

Format & Method

Format can be either XML or JSON. HTTP Method must be GET.

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the message to show

Return values

Array of possible results grouped by messages statuses:

  • "Delivered - Carrier Confirmed"
  • "Delivered - Device Confirmed"
  • "Not Sent - No Credits"
  • "Not Sent - Opted Out"
  • "Bounced"

Each status section has:

  • Count - amount of messages with specified status
  • Percentage - percentage of specified status from total messages count

HTTP Status Codes

201Success - A new message has been scheduled for delivery
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Failure</Status>
    <Code>401</Code>
    <Errors>
        <Error>Authorization Required</Error>
    </Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Failure</Status>
    <Code>404</Code>
    <Errors>
        <Error>Sorry, nothing was found</Error>
    </Errors>
</Response>

Successful Call & Response Samples

XML Example & Response

curl 'https://app.eztexting.com/sending/reports/123?format=xml&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Success</Status>
    <Code>200</Code>
    <Entry>
        <Delivered>
            <Count>1</Count>
            <Percentage>100.00</Percentage>
        </Delivered>
    </Entry>
</Response>

JSON Example & Response

curl 'https://app.eztexting.com/sending/reports/123?format=json&User=winnie&Password=the-pooh'
{"Response":
  {"Status":"Success","Code":200,"Entry":
    {"Delivered":
      {"Count":1,"Percentage":"100.00"
      }
    }
  }
}
Back to table of contents

Get a report for specific delivery status of a message you have sent and the phone numbers for that delivery type.

URL

https://app.eztexting.com/sending/reports/ID/view-details/?format=format&status=status

Format & Method

Format can be either XML or JSON. HTTP Method must be GET.

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the message to show
status(Required) Message delivery status: "na", "delivered", "no_credits", "bounced", "opted_out"
Note: all parameters are case-sensitive

Sorting

sortBy(Optional) Property to sort by. Available values: ReceivedOn, PhoneNumber, Message
sortDir(Optional) Direction of sorting. Available values: asc, desc

Pagination

itemsPerPage(Optional) Number of results to retrieve. By default, 10 most recent incoming messages are retrieved. Supported values: 10, 20, 50, 100, or 200
page(Optional) Page of results to retrieve. 1st page is returned by default

Return values

Array of possible phone numbers which have given status.

HTTP Status Codes

201Success - A new message has been scheduled for delivery
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Failure</Status>
    <Code>401</Code>
    <Errors>
        <Error>Authorization Required</Error>
    </Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Failure</Status>
    <Code>404</Code>
    <Errors>
        <Error>Sorry, nothing was found</Error>
    </Errors>
</Response>

Successful Call & Response Samples

XML Example & Response

curl 'https://app.eztexting.com/sending/reports/123/view-details?format=xml&status=delivered&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Success</Status>
    <Code>200</Code>
    <Entries>
        <Entry>3312943691</Entry>
    </Entries>
</Response>

JSON Example & Response

curl 'https://app.eztexting.com/sending/reports/123/view-details?format=json&status=delivered&User=winnie&Password=the-pooh'
{"Response":
  {"Status":"Success",
    "Code":200,
    "Entries":[3312943691]
  }
}
Back to table of contents

Managing Your Inbox Messages

Delete an incoming text message in your EZ Texting Inbox

URL

https://app.eztexting.com/incoming-messages/ID?format=format

Format & Method

Format can be either XML or JSON, DELETE (or POST with the added parameter _method=DELETE)

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the incoming message to delete

Return Values

None

HTTP Status Codes

204No Content - Resource was deleted
401Unauthorized - Authentication credentials are missing or incorrect
404Does Not Exist - Message was not found. Please check parameters.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>404</Code>
	<Errors>
		<Error>Sorry, nothing was found</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -X DELETE -v 'https://app.eztexting.com/incoming-messages/123?format=xml&User=winnie&Password=the-pooh'
HTTP/1.1 204 No Content
Date: Wed, 25 Jan 2012 16:13:51 GMT
Content-Length: 0
Content-Type: application/xml

JSON Example

curl -X DELETE -v 'https://app.eztexting.com/incoming-messages/123?format=json&User=winnie&Password=the-pooh'
HTTP/1.1 204 No Content
Date: Wed, 25 Jan 2012 16:15:19 GMT
Content-Length: 0
Content-Type: application/json
Back to table of contents

Get all incoming text messages in your EZ Texting Inbox

URL

https://app.eztexting.com/incoming-messages?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be GET

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
FolderID(Optional) Get messages from the selected folder. If FolderID is not given then request will return messages in your Inbox and all folders.
Search(Optional) Get messages which contain selected text or which are sent from selected phone number.
Filter(optional) Type of messages to retrieve. Supported values: SMS,MMS

Sorting

sortBy(Optional) Property to sort by. Available values: ReceivedOn, PhoneNumber, Message
sortDir(Optional) Direction of sorting. Available values: asc, desc

Pagination

itemsPerPage(Optional) Number of results to retrieve. By default, 10 most recent incoming messages are retrieved. Supported values: 10, 20, 50, 100, or 200
page(Optional) Page of results to retrieve. 1st page is returned by default

Return Values

IDUnique ID referencing the message
PhoneNumberPhone number of the sender
SubjectSubject of the message
MessageMessage Body
TypeType of incoming message. Values: SMS, MMS
FilesUrl paths to media files. Only for MMS
NewIf Messsage is New (Unread in EZ Texting Web App)
FolderIDID of the folder which contains message. If FolderID is not present then message is located in Inbox.
ContactIDID of the Contact who sent the message. If ContactID is not present then the contact doesn't exist.
ReceivedOnDate when message was received

HTTP Status Codes

200OK - Success
401Unauthorized - Authentication credentials are missing or incorrect
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl 'https://app.eztexting.com/incoming-messages?format=xml&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entries>
		<Entry>
			<Type>SMS</Type>
			<ID>123</ID>
			<PhoneNumber>3312943691</PhoneNumber>
			<Subject />
			<Message>test</Message>
			<New>0</New>
			<FolderID>13</FolderID>
			<ContactID />
			<ReceivedOn>10-04-2012 9:06 AM</ReceivedOn>
		</Entry>
		<Entry>
			<Type>MMS</Type>
			<ID>124</ID>
			<PhoneNumber>5512943691</PhoneNumber>
			<Subject />
			<Message>test 2</Message>
			<New>1</New>
			<FolderID />
			<ContactID>506ae688734fad2125000001</ContactID>
			<ReceivedOn>10-04-2012 9:06 AM</ReceivedOn>
			<Files>
				<File>
				https://eztxting.s3.amazonaws.com/1432133919.jpeg
				</File>
				<File>
				https://eztxting.s3.amazonaws.com/1432133920.jpeg
				</File>
			</Files>
		</Entry>
	</Entries>
</Response>

JSON Example

curl 'https://app.eztexting.com/incoming-messages?format=json&User=winnie&Password=the-pooh'
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entries":[
			{
				"Type":"SMS",
				"ID":123,
				"PhoneNumber":"3312943691",
				"Subject":"",
				"Message":"test",
				"New":"0",
				"FolderID":"13",
				"ContactID":"",
				"ReceivedOn":"10-04-2012 9:06 AM"
			},
			{
				"Type":"MMS",
				"ID":124,
				"PhoneNumber":"5512943691",
				"Subject":"",
				"Message":"test 2",
				"New":"1",
				"FolderID":"",
				"ContactID":"506ae688734fad2125000001",
				"ReceivedOn":"10-04-2012 9:06 AM"
				"Files":[
					"https://eztxting.s3.amazonaws.com/1432133919.jpeg",
					"https://eztxting.s3.amazonaws.com/1432133920.jpeg"
				]
			}
		]
	}
}
Back to table of contents

Get a single incoming text messages in your EZ Texting Inbox

URL

https://app.eztexting.com/incoming-messages/ID?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be GET

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the incoming message to retrieve

Return Values

IDUnique ID referencing the message
PhoneNumberPhone number of the sender
SubjectSubject of the message
MessageMessage Body
TypeType of incoming message. Values: SMS, MMS
FilesUrl paths to media files. Only for MMS
NewIf Messsage is New (Unread in EZ Texting Web App)
FolderIDID of the folder which contains message. If FolderID is not present then message is located in Inbox.
ContactIDID of the Contact who sent the message. If ContactID is not present then the contact doesn't exist.
ReceivedOnDate when message was received

HTTP Status Codes

200OK - Success
401Unauthorized - Authentication credentials are missing or incorrect
404Does Not Exist - Message was not found. Please check parameters.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>404</Code>
	<Errors>
		<Error>Sorry, nothing was found</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example (SMS)

curl 'https://app.eztexting.com/incoming-messages/123?format=xml&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entry>
		<Type>SMS</Type>
		<ID>123</ID>
		<PhoneNumber>3312943691</PhoneNumber>
		<Subject />
		<Message>test</Message>
		<New>0</New>
		<FolderID>13</FolderID>
		<ContactID />
		<ReceivedOn>10-04-2012 9:06 AM</ReceivedOn>
	</Entry>
</Response>

XML Example (MMS)

curl 'https://app.eztexting.com/incoming-messages/124?format=xml&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entry>
			<Type>MMS</Type>
			<ID>124</ID>
			<PhoneNumber>5512943691</PhoneNumber>
			<Subject />
			<Message>test 2</Message>
			<New>1</New>
			<FolderID />
			<ContactID>506ae688734fad2125000001</ContactID>
			<ReceivedOn>10-04-2012 9:06 AM</ReceivedOn>
			<Files>
				<File>
				https://eztxting.s3.amazonaws.com/1432133919.jpeg
				</File>
				<File>
				https://eztxting.s3.amazonaws.com/1432133920.jpeg
				</File>
			</Files>
	</Entry>
</Response>

JSON Example (SMS)

curl 'https://app.eztexting.com/incoming-messages/123?format=json&User=winnie&Password=the-pooh'
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entry": {
			"TYPE":SMS,
			"ID":123,
			"PhoneNumber":"3312943691",
			"Subject":"",
			"Message":"test",
			"New":"0",
			"FolderID":"13",
			"ContactID":"",
			"ReceivedOn":"10-04-2012 9:06 AM"
		}
	}
}

JSON Example (MMS)

curl 'https://app.eztexting.com/incoming-messages/124?format=json&User=winnie&Password=the-pooh'
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entry": {
			"Type":"MMS",
			"ID":124,
			"PhoneNumber":"5512943691",
			"Subject":"",
			"Message":"test 2",
			"New":"1",
			"FolderID":"",
			"ContactID":"506ae688734fad2125000001",
			"ReceivedOn":"10-04-2012 9:06 AM",
			"Files":[
				"https://eztxting.s3.amazonaws.com/1432133919.jpeg",					"https://eztxting.s3.amazonaws.com/1432133920.jpeg"
			]
		}
	}
}
Back to table of contents

Moves an incoming text message in your EZ Texting Inbox to a specified folder.

Note: You may include multiple Message IDs to move multiple messages to same folder in a single API call.

URL

https://app.eztexting.com/incoming-messages/?format=format&_method=move-...

Format & Method

POST with the added parameter _method=move-to-folder

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the incoming message to move
FolderID(Required) ID of the folder you want to move message(s) to

Return Values

None

HTTP Status Codes

200OK - Success
400Bad Request - Request is not valid. An accompanying error message explains why.
401Unauthorized -Authentication credentials are missing or incorrect
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>400</Code>
	<Errors>
		<Error>Sorry, wrong FolderID parameter</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -d 'User=winnie&Password=the-pooh&ID[]=1&ID[]=2&FolderID=57&_method=move-to-folder' https://app.eztexting.com/incoming-messages?format=xml
HTTP/1.1 200 OK
Date: Wed, 25 Jan 2012 16:13:51 GMT
Content-Length: 0
Content-Type: application/xml

JSON Example

curl -d 'User=winnie&Password=the-pooh&ID[]=1&ID[]=2&FolderID=57&_method=move-to-folder' https://app.eztexting.com/incoming-messages?format=json
HTTP/1.1 200 OK
Date: Wed, 25 Jan 2012 16:13:51 GMT
Content-Length: 0
Content-Type: application/json
Back to table of contents

Create a Folder in your EZ Texting Inbox

URL

https://app.eztexting.com/messages-folders?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be POST

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
Name(Required) Name of folder to create

Return Values

IDUnique ID referencing the folder

HTTP Status Codes

201Created - Resource was deleted
400Bad Request - Request is not valid. An accompanying error message explains why.
401Unauthorized - Authentication credentials are missing or incorrect
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>400</Code>
	<Errors>
		<Error>Missing folder name</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -d 'User=winnie&Password=the-pooh&Name=Customers' https://app.eztexting.com/messages-folders?format=xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>201</Code>
	<Entry>
		<ID>123</ID>
	</Entry>
</Response>

JSON Example

curl -d 'User=winnie&Password=the-pooh&Name=Customers' https://app.eztexting.com/messages-folders?format=json
{
	"Response":{
		"Status":"Success",
		"Code":201,
		"Entry":{
			"ID":123,
		}
	}
}
Back to table of contents

Update the name of a Folder in your EZ Texting Inbox

URL

https://app.eztexting.com/messages-folders/ID?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be POST

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the folder to update
Name(Required) Name of the folder

Return Values

None

HTTP Status Codes

 
200OK - Success
400Bad Request - Request is not valid. An accompanying error message explains why.
401Unauthorized - Authentication credentials are missing or incorrect
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>400</Code>
	<Errors>
		<Error>Missing folder name</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -d 'User=winnie&Password=the-pooh&Name=Customers' https://app.eztexting.com/messages-folders/123?format=xml
HTTP/1.1 200 OK
Date: Wed, 25 Jan 2012 16:13:51 GMT
Content-Length: 0
Content-Type: application/xml

JSON Example

curl -d 'User=winnie&Password=the-pooh&Name=Customers' https://app.eztexting.com/messages-folders/123?format=json
HTTP/1.1 200 OK
Date: Wed, 25 Jan 2012 16:15:19 GMT
Content-Length: 0
Content-Type: application/json
Back to table of contents

Delete a Folder in your EZ Texting Inbox

URL

https://app.eztexting.com/messages-folders/ID?format=format

Format & Method

Format can be either XML or JSON
DELETE (or POST with the added parameter _method=DELETE)

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the folder to delete

Return Values

None

HTTP Status Codes

204No Content - Resource was deleted
401Unauthorized - Authentication credentials are missing or incorrect
404Does Not Exist - Message was not found. Please check parameters.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>404</Code>
	<Errors>
		<Error>Sorry, nothing was found</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -X DELETE -v 'https://app.eztexting.com/messages-folders/123?format=xml&User=winnie&Password=the-pooh'
HTTP/1.1 204 No Content
Date: Wed, 25 Jan 2012 16:13:51 GMT
Content-Length: 0
Content-Type: application/xml

JSON Example

curl -X DELETE -v 'https://app.eztexting.com/messages-folders/123?format=json&User=winnie&Password=the-pooh'
HTTP/1.1 204 No Content
Date: Wed, 25 Jan 2012 16:15:19 GMT
Content-Length: 0
Content-Type: application/json
Back to table of contents

Get all Folders in your EZ Texting Inbox

URL

https://app.eztexting.com/messages-folders?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be GET

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password

Return Values

IDUnique ID referencing the folder
NameName of the folder

HTTP Status Codes

200OK - Success
401Unauthorized - Authentication credentials are missing or incorrect
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

	curl 'https://app.eztexting.com/messages-folders?format=xml&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entries>
		<Entry>
			<ID>1</ID>
			<Name>Customers</Name>
		</Entry>
		<Entry>
			<ID>2</ID>
			<Name>Fans</Name>
		</Entry>
	</Entries>
</Response>

JSON Example

curl 'https://app.eztexting.com/messages-folders?format=json&User=winnie&Password=the-pooh'
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entries":[
			{
				"ID":1,
				"Name":"Customers"
			},
			{
				"ID":2,
				"Name":"Fans"
			}
		]
	}
}
Back to table of contents

Get a single folder in your EZ Texting Inbox

URL

https://app.eztexting.com/messages-folders/ID?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be GET

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the folder to retrieve

Return Values

NameName of the folder

HTTP Status Codes

200OK - Success
401Unauthorized - Authentication credentials are missing or incorrect
404Does Not Exist - Folder was not found. Please check parameters.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>404</Code>
	<Errors>
		<Error>Sorry, nothing was found</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl 'https://app.eztexting.com/messages-folders/123?format=xml&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entry>
		<Name>Customers</Name>
	</Entry>
</Response>

JSON Example

curl 'https://app.eztexting.com/messages-folders/123?format=json&User=winnie&Password=the-pooh'
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entry":{
			"Name":"Customers"
		}
	}
}
Back to table of contents

Keywords

Check whether a Keyword is available to rent on EZ Texting's short code. Please note, we will check availability for the country your account is set to.

URL

https://app.eztexting.com/keywords/new?Keyword=keyword&format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be GET

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
Keyword(Required) The keyword to be checked

Return Values

KeywordKeyword that was checked
AvailableIndicates if the Keyword is available

HTTP Status Codes

200Success - The Keyword is available
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>Keyword: Keywords can not contain spaces or the following characters: ?, @, ., !, [, ], {, }, -, +, #, $, %, &amp;, &apos;, (, ), *, /, \, :, ;, &lt;, &gt;, =, ^, `, |, ~</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example And Response:

	curl "https://app.eztexting.com/keywords/new?Keyword=honey&User=winnie&Password=the-pooh&format=xml"
	<?xml version="1.0" encoding="UTF-8"?>
	<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entry>
	<Keyword>honey</Keyword>
	<Available>1</Available>
	</Entry>
	</Response>

JSON Example And Response:

	curl "https://app.eztexting.com/keywords/new?Keyword=honey&User=winnie&Password=the-pooh&format=json"
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entry":{
			"Keyword":"honey",
			"Available":true
		}
	}
}
Back to table of contents

Rents a Keyword for use on EZ Texting's short code in the country your account is set to send messages to. You may rent a Keyword using a credit card you have stored in your EZ Texting account, or you may pass credit card details when you call the API.

URL

https://app.eztexting.com/keywords?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be POST

Parameters (Stored Card)

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
Keyword(Required) The keyword to rent
StoredCreditCard(Required) Last four digits of any card stored in your EZ Texting account.

Parameters (Non-Stored Card)

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
Keyword(Required) The keyword to rent
FirstName(Required) The first name on the credit card
LastName(Required) The last name on the credit card
Street(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
CreditCardTypeID(Required) Credit card type: Amex, Discover, MasterCard, Visa
Number(Required) Credit card number
SecurityCode(Required) Credit card security code (CV2)
ExpirationMonth(Required) Credit card's expiration month, two digits
ExpirationYear(Required) Credit card's expiration year, four digits

Return Values

IDUnique ID referencing the keyword
KeywordKeyword
EnableDoubleOptInIs double opt-in feature enabled for your keyword
ConfirmMessageConfirmation message
JoinMessageAuto-Reply
ForwardEmailEmail address to forward incoming messages for your keyword
ForwardUrlURL to forward incoming messages for your keyword
ContactGroupIDsGroups to add customers who text in your keyword

HTTP Status Codes

201Created - A new keyword was created
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>Keyword: Keywords can not contain spaces or the following characters: ?, @, ., !, [, ], {, }, -, +, #, $, %, &amp;, &apos;, (, ), *, /, \, :, ;, &lt;, &gt;, =, ^, `, |, ~</Error>
		<Error>FirstName: Value is required and can't be empty</Error>
		<Error>LastName: Value is required and can't be empty</Error>
		<Error>Number: '123456' contains an invalid amount of digits</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example
(Stored Card):

curl -d 'User=winnie&Password=the-pooh&Keyword=honey&StoredCreditCard=1111' https://app.eztexting.com/keywords?format=xml

XML Example
(Non-Stored Card):

curl -d 'User=winnie&Password=the-pooh&Keyword=honey&FirstName=Winnie&LastName=The Pooh&Street=Hollow tree, under the name of Mr. Sanders&City=Hundred Acre Woods&State=New York&Zip=12345&Country=US&CreditCardTypeID=Visa&Number=4111111111111111&SecurityCode=123&ExpirationMonth=10&ExpirationYear=2017' https://app.eztexting.com/keywords?format=xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>201</Code>
	<Entry>
		<ID>147258369</ID>
		<Keyword>honey</Keyword>
		<EnableDoubleOptIn>0</EnableDoubleOptIn>
		<ConfirmMessage>Reply Y to join</ConfirmMessage>
		<JoinMessage>Thank you for joining our list</JoinMessage>
		<ForwardEmail />
		<ForwardUrl />
		<ContactGroupIDs />
	</Entry>
</Response>

JSON Example And Response
(Stored Card):

curl -d 'User=winnie&Password=the-pooh&Keyword=honey&StoredCreditCard=1111' https://app.eztexting.com/keywords?format=json

JSON Example And Response
(Non-Stored Card):

curl -d 'User=winnie&Password=the-pooh&Keyword=honey&FirstName=Winnie&LastName=The Pooh&Street=Hollow tree, under the name of Mr. Sanders&City=Hundred Acre Woods&State=New York&Zip=12345&Country=US&CreditCardTypeID=Visa&Number=4111111111111111&SecurityCode=123&ExpirationMonth=10&ExpirationYear=2017' https://app.eztexting.com/keywords?format=json
{
	"Response":{
		"Status":"Success",
		"Code":201,
		"Entry":{
			"ID":147258369,
			"Keyword":"honey",
			"EnableDoubleOptIn":false,
			"ConfirmMessage":"Reply Y to join",
			"JoinMessage":"Thank you for joining our list",
			"ForwardEmail":"",
			"ForwardUrl":"",
			"ContactGroupIDs":[]
		}
	}
}
Back to table of contents

Configures an active Keyword for use on EZ Texting's short code in the country your account is set to send messages to.

URL

https://app.eztexting.com/keywords/keyword?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be POST

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
Keyword(Required) Keyword
EnableDoubleOptInIs double opt-in feature enabled for your keyword
ConfirmMessageConfirmation message
JoinMessageAuto-Reply
ForwardEmailEmail address to forward incoming messages for your keyword
ForwardUrlURL to forward incoming messages for your keyword
ContactGroupIDsGroups to add customers who text in your keyword

Return Values

IDUnique ID referencing the keyword
KeywordKeyword
EnableDoubleOptInIs double opt-in feature enabled for your keyword
ConfirmMessageConfirmation message
JoinMessageAuto-Reply
ForwardEmailEmail address to forward incoming messages for your keyword
ForwardUrlURL to forward incoming messages for your keyword
ContactGroupIDsGroups to add customers who text in your keyword

HTTP Status Codes

200Success - Your keyword was configured
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>JoinMessage: Value is required and can't be empty</Error>
		<Error>ForwardEmail: 'honey@bear-alliance' is not a valid email address</Error>
		<Error>ForwardUrl: 'bear-alliance.co.uk/honey-donations' is not a valid URI</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example And Response:

curl -d 'User=winnie&Password=the-pooh&EnableDoubleOptIn=1&ConfirmMessage=Reply Y to join our sweetest list&JoinMessage=The only reason for being a bee that I know of, is to make honey. And the only reason for making honey, is so as I can eat it.&ForwardEmail=honey@bear-alliance.co.uk &ForwardUrl=http://bear-alliance.co.uk/honey-donations/&ContactGroupIDs[]=honey lovers' https://app.eztexting.com/keywords/honey?format=xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entry>
		<ID>147258369</ID>
		<Keyword>honey</Keyword>
		<EnableDoubleOptIn>1</EnableDoubleOptIn>
		<ConfirmMessage>Reply Y to join our sweetest list</ConfirmMessage>
		<JoinMessage>The only reason for being a bee that I know of, is to make honey. And the only reason for making honey, is so as I can eat it.</JoinMessage>
		<ForwardEmail>honey@bear-alliance.co.uk</ForwardEmail>
		<ForwardUrl>http://bear-alliance.co.uk/honey-donations/</ForwardUrl>
		<ContactGroupIDs>
			<Group>honey lovers</Group>
		</ContactGroupIDs>
	</Entry>
</Response>

JSON Example And Response:

curl -d 'User=winnie&Password=the-pooh&EnableDoubleOptIn=1&ConfirmMessage=Reply Y to join our sweetest list&JoinMessage=The only reason for being a bee that I know of, is to make honey. And the only reason for making honey, is so as I can eat it.&ForwardEmail=honey@bear-alliance.co.uk &ForwardUrl=http://bear-alliance.co.uk/honey-donations/&ContactGroupIDs[]=honey lovers' https://app.eztexting.com/keywords/honey?format=json
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entry":{
			"ID":147258369,
			"Keyword":"honey",
			"EnableDoubleOptIn":true,
			"ConfirmMessage":"Reply Y to join our sweetest list",
			"JoinMessage":"The only reason for being a bee that I know of, is to make honey. And the only reason for making honey, is so as I can eat it.",
			"ForwardEmail":"honey@bear-alliance.co.uk",
			"ForwardUrl":"http://bear-alliance.co.uk/honey-donations/",
			"ContactGroupIDs":[
				"honey lovers"
			]
		}
	}
}

Cancel A Keyword

Cancels an active Keyword on EZ Texting's short code in the country your account is set to send messages to.

URL

https://app.eztexting.com/keywords/keyword?format=format

Format & Method

Format can be either XML or JSON
DELETE (or POST with the added parameter _method=DELETE)

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
Keyword(Required) Keyword

Return Values

Note There are no return values for this API!

HTTP Status Codes

204No Content - Your keyword was deleted
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>Sorry, nothing was found</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example And Response:

curl -X DELETE "https://app.eztexting.com/keywords/honey?format=xml&User=winnie&Password=the-pooh"
HTTP/1.1 204 No Content
Date: Fri, 10 Jun 2011 17:03:19 GMT
Content-Length: 0
Connection: close
Content-Type: application/xml

JSON Example And Response:

curl -X DELETE "https://app.eztexting.com/keywords/honey?format=json&User=winnie&Password=the-pooh"
HTTP/1.1 204 No Content
Date: Fri, 10 Jun 2011 17:05:14 GMT
Content-Length: 0
Connection: close
Content-Type: application/json
Back to table of contents

Credits

Checks credit balances on your account.

URL

https://app.eztexting.com/billing/credits/get?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be GET

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password

Return Values

PlanCreditsNumber of plan credits
AnytimeCreditsNumber of Anytime credits
TotalCreditsTotal number of credits

HTTP Status Codes

200Success
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example And Response:

curl "https://app.eztexting.com/billing/credits/get?User=winnie&Password=the-pooh&format=xml"
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entry>
		<PlanCredits>15</PlanCredits>
		<AnytimeCredits>138</AnytimeCredits>
		<TotalCredits>153</TotalCredits>
	</Entry>
</Response>

JSON Example And Response:

curl "https://app.eztexting.com/billing/credits/get?User=winnie&Password=the-pooh&format=json"
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entry":{
			"PlanCredits":15,
			"AnytimeCredits":138,
			"TotalCredits":153
		}
	}
}
Back to table of contents

Buys more credits for your account. You may purchase credits using a credit card you have stored in your EZ Texting account, or you may pass credit card details when you call the API.

URL

https://app.eztexting.com/billing/credits?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be POST

Parameters (Stored Card)

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
NumberOfCredits(Required) Number of credits to purchase
CouponCodeCoupon or Promotional Code
StoredCreditCard(Required) Last four digits of any card stored in your EZ Texting account.

Parameters (Non-Stored Card)

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
NumberOfCredits(Required) Number of credits to purchase
CouponCodeCoupon or Promotional Code
FirstName(Required) The first name on the credit card
LastName(Required) The last name on the credit card
Street(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
CreditCardTypeID(Required) Credit card type: Amex, Discover, MasterCard, Visa
Number(Required) Credit card number
SecurityCode(Required) Credit card security code (CV2)
ExpirationMonth(Required) Credit card's expiration month, two digits
ExpirationYear(Required) Credit card's expiration year, four digits

Return Values

BoughtCreditsNumber of credits purchased
AmountTotal amount charged
DiscountDiscount applied (if any)
AnytimeCreditsNumber of anytime credits in account after purchase
TotalCreditsTotal number of credits in account after purchase

HTTP Status Codes

201Success - Credits were successfully purchased
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>NumberOfCredits: '10,000' contains characters which are not digits</Error>
		<Error>FirstName: Value is required and can't be empty</Error>
		<Error>LastName: Value is required and can't be empty</Error>
		<Error>Number: '123456' contains an invalid amount of digits</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example And Response
(Stored Card):

curl -d 'User=winnie&Password=the-pooh&NumberOfCredits=1000&StoredCreditCard=1111' https://app.eztexting.com/billing/credits?format=xml

XML Example And Response
(Non-Stored Card):

curl -d 'User=winnie&Password=the-pooh&NumberOfCredits=1000&FirstName=Winnie&LastName=The Pooh&Street=Hollow tree, under the name of Mr. Sanders&City=Hundred Acre Woods&State=East Sussex&Zip=12345&Country=UK&CreditCardTypeID=Visa&Number=4111111111111111&SecurityCode=123&ExpirationMonth=10&ExpirationYear=2017' https://app.eztexting.com/billing/credits?format=xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>201</Code>
	<Entry>
		<BoughtCredits>1000</BoughtCredits>
		<Amount>9.45</Amount>
		<Discount>0.55</Discount>
		<PlanCredits>10</PlanCredits>
		<AnytimeCredits>1200</AnytimeCredits>
		<TotalCredits>1210</TotalCredits>
	</Entry>
</Response>

JSON Example And Response
(Stored Card):

curl -d 'User=winnie&Password=the-pooh&NumberOfCredits=1000&StoredCreditCard=1111' https://app.eztexting.com/billing/credits?format=json

(Non-Stored Card):

curl -d 'User=winnie&Password=the-pooh&NumberOfCredits=1000&FirstName=Winnie&LastName=The Pooh&Street=Hollow tree, under the name of Mr. Sanders&City=Hundred Acre Woods&State=East Sussex&Zip=12345&Country=UK&CreditCardTypeID=Visa&Number=4111111111111111&SecurityCode=123&ExpirationMonth=10&ExpirationYear=2017' https://app.eztexting.com/billing/credits?format=json
{
	"Response":{
		"Status":"Success",
		"Code":201,
		"Entry":{
			"BoughtCredits":1000,
			"Amount":9.45,
			"Discount":0.55,
			"PlanCredits":10,
			"AnytimeCredits":1200,
			"TotalCredits":1210
		}
	}
}
Back to table of contents

Contacts

Create a new contact that will be stored in your EZ Texting contact list

URL

https://app.eztexting.com/contacts?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be POST

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
PhoneNumber(Required) 10 digit phone number of the contact
FirstName(Optional) First name of contact
LastName(Optional) Last name of contact
Email(Optional) Email address of contact
Groups(Optional) Groups to add the contact to

Return Values

IDUnique ID referencing the contact
PhoneNumberPhone number of the contact
FirstNameFirst name of the contact
LastNameLast name of the contact
EmailEmail address of the contact
NoteNote
SourceSource of the contact (indicates the way the contact was subscribed)
GroupsGroups the contact belongs to
CreatedAtDate the contact was subscribed
UpdatedAtDate the contact was last updated

HTTP Status Codes

201Success - A new resource was created
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>PhoneNumber: '(123)45-67' contains characters which are not digits</Error>
		<Error>FirstName: 'A Very Small Animal' is more than 10 characters long</Error>
		<Error>Email: 'piglet@small-animals-alliance' is not a valid email address</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -d 'User=winnie&Password=the-pooh&PhoneNumber=2123456785&FirstName=Piglet&Email=piglet@small-animals-alliance.org &Note=It is hard to be brave, when you are only a Very Small Animal.&Groups[]=Friends&Groups[]=Neighbors' https://app.eztexting.com/contacts?format=xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>201</Code>
	<Entry>
		<ID>4f0b52fd734fada068000000</ID>
		<PhoneNumber>2123456785</PhoneNumber>
		<FirstName>Piglet</FirstName>
		<LastName />
		<Email>piglet@small-animals-alliance.org</Email>
		<Note>It is hard to be brave, when you are only a Very Small Animal.</Note>
		<Source>API</Source>
		<Groups>
			<Group>Friends</Group>
			<Group>Neighbors</Group>
		</Groups>
		<CreatedAt>01-17-2012</CreatedAt>
		<UpdatedAt>01-17-2012</UpdatedAt>
	</Entry>
</Response>

JSON Example

	curl -d 'User=winnie&Password=the-pooh&PhoneNumber=2123456785&FirstName=Piglet&Email=piglet@small-animals-alliance.org &Note=It is hard to be brave, when you are only a Very Small Animal.&Groups[]=Friends&Groups[]=Neighbors' https://app.eztexting.com/contacts?format=json
{
	"Response":{
		"Status":"Success",
		"Code":201,
		"Entry":{
			"ID":4f0b52fd734fada068000000,
			"PhoneNumber":"2123456785",
			"FirstName":"Piglet",
			"LastName":"",
			"Email":"piglet@small-animals-alliance.org",
			"Note":"It is hard to be brave, when you are only a Very Small Animal.",
			"Source":"API",
			"Groups":[
				"Friends",
				"Neighbors"
			],
			"CreatedAt":"01-17-2012"
			"UpdatedAt":"01-17-2012"
		}
	}
}
Back to table of contents

Update a contact stored in your EZ Texting contact list

URL

https://app.eztexting.com/contacts/ID?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be POST

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the contact to update
PhoneNumber(Required) 10 digit phone number of the contact
FirstName(Optional) First name of contact
LastName(Optional) Last name of contact
Email(Optional) Email address of contact
Groups(Optional) Groups to add the contact to
OptOut(Optional) Opted out / opted in contacts. Available values: true, false.

Return Values

IDUnique ID referencing the contact
PhoneNumberPhone number of the contact
FirstNameFirst name of the contact
LastNameLast name of the contact
EmailEmail address of the contact
NoteNote
SourceSource of the contact (indicates the way the contact was subscribed)
GroupsGroups the contact belongs to
CreatedAtDate the contact was subscribed
UpdatedAtDate the contact was last updated

HTTP Status Codes

201OK - Success
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>PhoneNumber: '(123)45-67' contains characters which are not digits</Error>
		<Error>FirstName: 'A Very Small Animal' is more than 10 characters long</Error>
		<Error>Email: 'piglet@small-animals-alliance' is not a valid email address</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -d 'User=winnie&Password=the-pooh&PhoneNumber=2123456785&FirstName=Piglet&Email=piglet@small-animals-alliance.org &Note=It is hard to be brave, when you are only a Very Small Animal.&Groups[]=Friends&Groups[]=Neighbors' https://app.eztexting.com/contacts/4f0b5720734fada368000000?format=xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entry>
		<ID>4f0b5720734fada368000000</ID>
		<PhoneNumber>2123456785</PhoneNumber>
		<FirstName>Piglet</FirstName>
		<LastName />
		<Email>piglet@small-animals-alliance.org</Email>
		<Note>It is hard to be brave, when you are only a Very Small Animal.</Note>
		<Source>API</Source>
		<Groups>
			<Group>Friends</Group>
			<Group>Neighbors</Group>
		</Groups>
		<CreatedAt>01-17-2012</CreatedAt>
		<UpdatedAt>01-17-2012</UpdatedAt>
	</Entry>
</Response>

JSON Example

curl -d 'User=winnie&Password=the-pooh&PhoneNumber=2123456785&FirstName=Piglet&Email=piglet@small-animals-alliance.org &Note=It is hard to be brave, when you are only a Very Small Animal.&Groups[]=Friends&Groups[]=Neighbors' https://app.eztexting.com/contacts/4f0b5720734fada368000000?format=json
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entry":{
			"ID":4f0b5720734fada368000000,
			"PhoneNumber":"2123456785",
			"FirstName":"Piglet",
			"LastName":"",
			"Email":"piglet@small-animals-alliance.org",
			"Note":"It is hard to be brave, when you are only a Very Small Animal.",
			"Source":"API",
			"Groups":[
				"Friends",
				"Neighbors"
			],
			"CreatedAt":"01-17-2012"
			"UpdatedAt":"01-17-2012"
		}
	}
}
Back to table of contents

Delete a contact stored in your EZ Texting contact list

URL

https://app.eztexting.com/contacts/ID?format=format

Format & Method

Format can be either XML or JSON
DELETE (or POST with the added parameter _method=DELETE)

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the contact to delete

Return Values

None

HTTP Status Codes

204No Content - Resource was deleted
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>Sorry, nothing was found</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -X DELETE -v 'https://app.eztexting.com/contacts/4f0b52fd734fada068000000?format=xml&User=winnie&Password=the-pooh'
HTTP/1.1 204 No Content
Date: Mon, 09 Jan 2012 22:05:11 GMT
Content-Length: 0
Connection: close
Content-Type: application/xml

JSON Example

curl -X DELETE -v 'https://app.eztexting.com/contacts/4f0b52fd734fada068000000?format=json&User=winnie&Password=the-pooh'
HTTP/1.1 204 No Content
Date: Mon, 09 Jan 2012 22:10:11 GMT
Content-Length: 0
Connection: close
Content-Type: application/json
Back to table of contents

Get a list of contacts stored in your EZ Texting contact list.

URL

https://app.eztexting.com/contacts?format=format

Format & Method

Format can be either XML or JSON
GET

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password

Filters

query(Optional) Search contacts by first name / last name / phone number
source(Optional) Source of contacts. Available values: 'Unknown', 'Manually Added', 'Upload', 'Web Widget', 'API', 'Keyword'
optout(Optional) Opted out / opted in contacts. Available values: true, false.
group(Optional) Name of the group the contacts belong to

Sorting

sortBy(Optional) Property to sort by. Available values: PhoneNumber, FirstName, LastName, CreatedAt, UpdatedAt
sortDir(Optional) Direction of sorting. Available values: asc, desc

Pagination

itemsPerPage(Optional) Number of results to retrieve. By default, 10 most recently added contacts are retrieved.
page(Optional) Page of results to retrieve

Return Values

IDUnique ID referencing the contact
PhoneNumberPhone number of the contact
FirstNameFirst name of the contact
LastNameLast name of the contact
EmailEmail address of the contact
NoteNote
SourceSource of the contact (indicates the way the contact was subscribed)
OptOutIndicates if the contact is opted out
GroupsGroups the contact belongs to
CreatedAtDate the contact was subscribed
UpdatedAtDate the contact was last updated

Note The return value OptOut is only provided for contacts that are opted out. If a contact is opted out, this value will be True.

HTTP Status Codes

200OK - Success
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl 'https://app.eztexting.com/contacts?format=xml&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entries>
		<Entry>
			<ID>4f0b52fd734fada068000000</ID>
			<PhoneNumber>2123456785</PhoneNumber>
			<FirstName>Piglet</FirstName>
			<LastName />
			<Email>piglet@small-animals-alliance.org</Email>
			<Note>It is hard to be brave, when you are only a Very Small Animal.</Note>
			<Source>API</Source>
			<OptOut>true</OptOut>
			<Groups>
				<Group>Friends</Group>
				<Group>Neighbors</Group>
			</Groups>
			<CreatedAt>01-17-2012</CreatedAt>
			<UpdatedAt>01-17-2012</UpdatedAt>
		</Entry>
		<Entry>
			<ID>4f0b536c734fad9968000000</ID>
			<PhoneNumber>2123456786</PhoneNumber>
			<FirstName>Winnie</FirstName>
			<LastName>T. Pooh</LastName>
			<Email>winnie@weightwatchers.com</Email>
			<Note>A bear, however hard he tries, grows tubby without exercise</Note>
			<Source>Upload</Source>
			<Groups />
			<CreatedAt>01-15-2012</CreatedAt>
			<UpdatedAt>01-15-2012</UpdatedAt>
		</Entry>
	</Entries>
</Response>

JSON Example

curl 'https://app.eztexting.com/contacts?format=json&User=winnie&Password=the-pooh'
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entries":[
			{
				"ID":4f0b52fd734fada068000000,
				"PhoneNumber":"2123456785",
				"FirstName":"Piglet",
				"LastName":"",
				"Email":"piglet@small-animals-alliance.org",
				"Note":"It is hard to be brave, when you are only a Very Small Animal.",
				"Source":"API",
				"OptOut":true,
				"Groups":[
					"Friends",
					"Neighbors"
				],
				"CreatedAt":"01-17-2012"
				"UpdatedAt":"01-17-2012"
			},
			{
				"ID":4f0b536c734fad9968000000,
				"PhoneNumber":"2123456786",
				"FirstName":"Winnie",
				"LastName":"T. Pooh",
				"Email":"winnie@weightwatchers.com",
				"Note":"A bear, however hard he tries, grows tubby without exercise",
				"Source":"Upload",
				"Groups":[
				],
				"CreatedAt":"01-15-2012"
				"UpdatedAt":"01-15-2012"
			}
		]
	}
}
Back to table of contents

Get a single contact stored in your EZ Texting contact list.

URL

https://app.eztexting.com/contacts/ID?format=format

Format & Method

Format can be either XML or JSON
GET

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the contact to show

Return Values

IDUnique ID referencing the contact
PhoneNumberPhone number of the contact
FirstNameFirst name of the contact
LastNameLast name of the contact
EmailEmail address of the contact
NoteNote
SourceSource of the contact (indicates the way the contact was subscribed)
OptOutIndicates if the contact is opted out
GroupsGroups the contact belongs to
CreatedAtDate the contact was subscribed
UpdatedAtDate the contact was last updated

Note The return value OptOut is only provided for contacts that are opted out. If a contact is opted out, this value will be True.

HTTP Status Codes

200OK - Success
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>Sorry, nothing was found</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl 'https://app.eztexting.com/contacts/4f0b52fd734fada068000000?format=xml&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entry>
		<ID>4f0b52fd734fada068000000</ID>
		<PhoneNumber>2123456785</PhoneNumber>
		<FirstName>Piglet</FirstName>
		<LastName />
		<Email>piglet@small-animals-alliance.org</Email>
		<Note>It is hard to be brave, when you are only a Very Small Animal.</Note>
		<Source>API</Source>
		<OptOut>true</OptOut>
		<Groups>
			<Group>Friends</Group>
			<Group>Neighbors</Group>
		</Groups>
		<CreatedAt>01-17-2012</CreatedAt>
		<UpdatedAt>01-17-2012</UpdatedAt>
	</Entry>
</Response>

JSON Example

curl 'https://app.eztexting.com/contacts/4f0b52fd734fada068000000?format=json&User=winnie&Password=the-pooh'
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entry":{
			"ID":4f0b52fd734fada068000000,
			"PhoneNumber":"2123456785",
			"FirstName":"Piglet",
			"LastName":"",
			"Email":"piglet@small-animals-alliance.org",
			"Note":"It is hard to be brave, when you are only a Very Small Animal.",
			"Source":"API",
			"OptOut":true,
			"Groups":[
				"Friends",
				"Neighbors"
			],
			"CreatedAt":"01-17-2012"
			"UpdatedAt":"01-17-2012"
		}
	}
}
Back to table of contents

Groups

Create a new group that will be stored in your EZ Texting account

URL

https://app.eztexting.com/groups?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be POST

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
Name(Required) Name of the group
Note(Optional) Note

Return Values

IDUnique ID referencing the group
NameThe name of the group
NoteNote
ContactCountNumber of contacts in the group

HTTP Status Codes

201Created - A new resource was created
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>Name: &apos;Small Animals&apos; is more than 12 characters long</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -d 'User=winnie&Password=the-pooh&Name=Tubby Bears&Note=A bear, however hard he tries, grows tubby without exercise' https://app.eztexting.com/groups?format=xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>201</Code>
	<Entry>
		<ID>162467</ID>
		<Name>Tubby Bears</Name>
		<Note>A bear, however hard he tries, grows tubby without exercise</Note>
		<ContactCount>0</ContactCount>
	</Entry>
</Response>

JSON Example

curl -d 'User=winnie&Password=the-pooh&Name=Tubby Bears&Note=A bear, however hard he tries, grows tubby without exercise' https://app.eztexting.com/groups?format=json
{
"Response":{
	"Status":"Success",
	"Code":201,
		"Entry":{
			"ID":162467,
			"Name":"Tubby Bears",
			"Note":"A bear, however hard he tries, grows tubby without exercise",
			"ContactCount":0
		}
	}
}
Back to table of contents

Update a group that is stored in your EZ Texting account

URL

https://app.eztexting.com/groups/ID?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be POST

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the group to update
Name(Required) Name of the group
Note(Optional) Note

Return Values

IDUnique ID referencing the group
NameThe name of the group
NoteNote
ContactCountNumber of contacts in the group

HTTP Status Codes

201OK - Success
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>Name: &apos;Small Animals&apos; is more than 12 characters long</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -d 'User=winnie&Password=the-pooh&Name=Tubby Bears&Note=A bear, however hard he tries, grows tubby without exercise' https://app.eztexting.com/groups/162467?format=xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entry>
		<ID>162467</ID>
		<Name>Tubby Bears</Name>
		<Note>A bear, however hard he tries, grows tubby without exercise</Note>
		<ContactCount>3</ContactCount>
	</Entry>
</Response>

JSON Example

curl -d 'User=winnie&Password=the-pooh&Name=Tubby Bears&Note=A bear, however hard he tries, grows tubby without exercise' https://app.eztexting.com/groups/162467?format=json
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entry":{
			"ID":162467,
			"Name":"Tubby Bears",
			"Note":"A bear, however hard he tries, grows tubby without exercise",
			"ContactCount":3
		}
	}
}
Back to table of contents

Delete a group that is stored in your EZ Texting account

URL

https://app.eztexting.com/groups/ID?format=format

Format & Method

Format can be either XML or JSON
DELETE (or POST with the added parameter _method=DELETE)

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the group to delete

Return Values

None

HTTP Status Codes

204No Content - Group was deleted
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>Sorry, nothing was found</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -X DELETE -v 'https://app.eztexting.com/groups/162467?format=xml&User=winnie&Password=the-pooh'
HTTP/1.1 204 No Content
Date: Wed, 25 Jan 2012 16:13:51 GMT
Content-Length: 0
Content-Type: application/xml

JSON Example

curl -X DELETE -v 'https://app.eztexting.com/groups/162467?format=json&User=winnie&Password=the-pooh'
HTTP/1.1 204 No Content
Date: Wed, 25 Jan 2012 16:15:19 GMT
Content-Length: 0
Content-Type: application/json
Back to table of contents

Get a list of groups stored in your EZ Texting account.

URL

https://app.eztexting.com/groups?format=format

Format & Method

Format can be either XML or JSON
GET

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password

Sorting

sortBy(Optional) Property to sort by. Available values: Name
sortDir(Optional) Direction of sorting. Available values: asc, desc

Pagination

itemsPerPage(Optional) Number of results to retrieve. By default, first 10 groups sorted in alphabetical order are retrieved.
page(Optional) Page of results to retrieve

Return Values

IDUnique ID referencing the group
NameName of the group
NoteNote
ContactCountNumber of contacts in the group

HTTP Status Codes

200OK - Success
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl 'https://app.eztexting.com/groups?format=xml&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entries>
		<Entry>
			<ID>127012</ID>
			<Name>Honey lovers</Name>
			<Note />
			<ContactCount>0</ContactCount>
		</Entry>
		<Entry>
			<ID>162467</ID>
			<Name>Tubby Bears</Name>
			<Note>A bear, however hard he tries, grows tubby without exercise</Note>
			<ContactCount>3</ContactCount>
		</Entry>
	</Entries>
</Response>

JSON Example

curl 'https://app.eztexting.com/contacts?format=json&User=winnie&Password=the-pooh'
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entries":[
			{
				"ID":127012,
				"Name":"Honey lovers",
				"Note":"",
				"ContactCount":0
			},
			{
				"ID":162467,
				"Name":"Tubby Bears",
				"Note":"A bear, however hard he tries, grows tubby without exercise",
				"ContactCount":3
			}
		]
	}
}
Back to table of contents

Get a single group stored in your EZ Texting account.

URL

https://app.eztexting.com/groups/ID?format=format

Format & Method

Format can be either XML or JSON
GET

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the group to show

Return Values

IDUnique ID referencing the group
NameName of the group
NoteNote
ContactCountNumber of contacts in the group

HTTP Status Codes

200OK - Success
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>Sorry, nothing was found</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example

curl 'https://app.eztexting.com/groups/162467?format=xml&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>200</Code>
	<Entry>
		<ID>162467</ID>
		<Name>Tubby Bears</Name>
		<Note>A bear, however hard he tries, grows tubby without exercise</Note>
		<ContactCount>3</ContactCount>
	</Entry>
</Response>

JSON Example

curl 'https://app.eztexting.com/groups/162467?format=json&User=winnie&Password=the-pooh'
{
	"Response":{
		"Status":"Success",
		"Code":200,
		"Entry":{
			"ID":162467,
			"Name":"Tubby Bears",
			"Note":"A bear, however hard he tries, grows tubby without exercise",
			"ContactCount":3
		}
	}
}
Back to table of contents

Media Files

Get a list of media files stored in your EZ Texting media library.

URL

https://app.eztexting.com/sending/files?format=format

Format & Method

Format can be either XML or JSON. HTTP Method must be GET.

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password

Pagination

itemsPerPage(Optional) Number of results to retrieve. By default, 10 most recent media files are retrieved
page(Optional) Page of results to retrieve. 1st page is returned by default

Return Values

IDUnique ID referencing the file
NameName of the file
PathPath to the file

HTTP Status Codes

201Success - A new message has been scheduled for delivery
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Failure</Status>
    <Code>401</Code>
    <Errors>
        <Error>Authorization Required</Error>
    </Errors>
</Response>

Successful Call & Response Samples

XML Example

curl 'https://app.eztexting.com/sending/files?format=xml&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Success</Status>
    <Code>200</Code>
    <Entries>
       <Entry>
	<ID>26</ID>
	<Name>1356508b.gif</Name>
	<Path>
	https://eztxting.s3.amazonaws.com/243678/files/1356508b_1407243956.gif
	</Path>
       </Entry>
       <Entry>
	<ID>18</ID>
	<Name>anim_screenslide.mp4</Name>
	<Path>
	https://eztxting.s3.amazonaws.com/243678/mms/anim_screenslide_1407147019.mp4
	</Path>
       </Entry>
    </Entries>
</Response>

JSON Example

curl 'https://app.eztexting.com/sending/files?format=json&User=winnie&Password=the-pooh'
{
    "Response":{
        "Status":"Success",
        "Code":200,
        "Entries":[
          {
	"ID":26,
	"Name":"1356508b.gif",
	"Path":"https:\/\/eztxting.s3.amazonaws.com\/243678\/files\/1356508b_	1407243956.gif"
          },
          {
	"ID":18,
	"Name":"anim_screenslide.mp4",
	"Path":"https:\/\/eztxting.s3.amazonaws.com\/243678\/mms\/anim_screenslide_	1407147019.mp4"
          }
        ]
    }
}
Back to table of contents

Get a single file stored in your EZ Texting media library.

URL

https://app.eztexting.com/sending/files/ID?format=format

Format & Method

Format can be either XML or JSON. GET

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the file to show

Return Values

IDUnique ID referencing the file
NameName of the file
PathPath to the file

HTTP Status Codes

201Success - A new message has been scheduled for delivery
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Failure</Status>
    <Code>401</Code>
    <Errors>
        <Error>Authorization Required</Error>
    </Errors>
</Response>

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Failure</Status>
    <Code>403</Code>
    <Errors>
        <Error>Sorry, nothing was found</Error>
    </Errors>
</Response>

Successful Call & Response Samples

XML Example

          curl 'https://app.eztexting.com/sending/files/26?format=xml&User=winnie&Password=the-pooh'
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Success</Status>
    <Code>200</Code>
    <Entry>
        <ID>26</ID>
        <Name>1356508b.gif</Name>
        <Path>https://eztxting.s3.amazonaws.com/243678/files/1356508b_1407243956.gif</Path>
    </Entry>
</Response>

JSON Example

          curl 'https://app.eztexting.com/sending/files/26?format=json&User=winnie&Password=the-pooh'
{
    "Response":{
        "Status":"Success",
        "Code":200,
"Entry":{
	"ID":26,
	"Name":"1356508b.gif",
	"Path":"https:\/\/eztxting.s3.amazonaws.com\/243678\/files\/1356508b_	1407243956.gif"
          },
    }
}
Back to table of contents

Create a new file that will be stored in your EZ Texting media library

URL

https://app.eztexting.com/sending/files?format=format

Format & Method

Format can be either XML or JSON. HTTP Method must be POST.

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
SourceSource (Required) File or URL to download file

Return Values

IDUnique ID referencing the file
NameName of the file
PathPath to the file

HTTP Status Codes

201Success - A new message has been scheduled for delivery
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Failure</Status>
    <Code>401</Code>
    <Errors>
        <Error>Authorization Required</Error>
    </Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Failure</Status>
    <Code>403</Code>
    <Errors>
        <Error>File has invalid extension. Only jpeg, jpg, gif, png, mp3, wav, mp4, 3gp are allowed.</Error>
    </Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -d 'User=winnie&Password=the-pooh&Source=https://www.eztexting.com/sites/all/themes/ez/images/ez-texting-logo.png' https://app.eztexting.com/sending/files?format=xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Success</Status>
    <Code>201</Code>
    <Entry>
        <ID>113</ID>
        <Name>ez-texting-logo.png</Name>
        <Path>https://eztxting.s3.amazonaws.com/243678/mms/ez-texting-logo_1411042344.png</Path>
    </Entry>
</Response>

JSON Example

curl -d 'User=winnie&Password=the-pooh&Source=https://www.eztexting.com/sites/all/themes/ez/images/ez-texting-logo.png' https://app.eztexting.com/sending/files?format=json
{
    "Response":{
        "Status":"Success",
        "Code":201,
        "Entry":{
            "ID":114,
            "PhoneNumber":"2123456785",
            "Name":"ez-texting-logo.png",
            "Path":"https:\/\/eztxting.s3.amazonaws.com\/243678\/mms\/ez-texting-logo_	1411042378.png"
        }
    }
}
Back to table of contents

Delete file in your EZ Texting media library

URL

https://app.eztexting.com/sending/files/ID?format=format

Format & Method

Format can be either XML or JSON. DELETE (or POST with the added parameter _method=DELETE)

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
ID(Required) ID of the file to show

Return Values

None

HTTP Status Codes

201Success - A new message has been scheduled for delivery
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Failure</Status>
    <Code>401</Code>
    <Errors>
        <Error>Authorization Required</Error>
    </Errors>
</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Status>Failure</Status>
    <Code>403</Code>
    <Errors>
        <Error>Sorry, nothing was found</Error>
    </Errors>
</Response>

Successful Call & Response Samples

XML Example

curl -X DELETE -v 'https://app.eztexting.com/sending/files/40?format=xml&User=winnie&Password=the-pooh'
HTTP/1.1 204 No Content
Date: Mon, 09 Jan 2012 22:05:11 GMT
Content-Length: 0
Connection: close
Content-Type: application/xml

JSON Example

curl -X DELETE -v 'https://app.eztexting.com/sending/files/40?format=json&User=winnie&Password=the-pooh'
HTTP/1.1 204 No Content
Date: Mon, 09 Jan 2012 22:10:11 GMT
Content-Length: 0
Connection: close
Content-Type: application/json
Back to table of contents

Voice Broadcast

Sends voice broadcast messages to an array of phone numbers or a Group in your EZ Texting account. You can use a file stored in your EZ Texting account as the source, or include the URL of a compatible file in the request.

URL

https://app.eztexting.com/voice/messages?format=format

Format & Method

Format can be either XML or JSON
HTTP Method must be POST

Parameters

User(Required) Your EZ Texting username
Password(Required) Your EZ Texting password
CallerPhonenumber(Required) 10 digit phone number
PhoneNumbers(Optional) Array of 10 digit phone number to send message to
Groups(Optional) Groups to send message to; if you don't include groups, you must specify phone numbers to send message to
Name(Required) The name of your campaign
VoiceFile(Optional) Name of the .wav file in your EZ Texting account
VoiceSource(Optional) Address to the .wav file on your server; you must specify one of the last two parameters, VoiceSource & VoiceFile
StampToSend(Optional) Time to send a scheduled message (should be a Unix timestamp)

Note Values must be properly URL encoded

Return Values

IDUnique ID referencing the voice campaign
NameName of the voice campaign
VoiceFileName of the .wav file in your EZ Texting account
CallerPhonenumberCaller phone number
RecipientsCountNumber of actual recipients. (excluding local opt-outs)
CreditsNumber of credits charged for the message
StampToSendDate and time message will be sent
PhoneNumbersArray of phone numbers to receive the message
LocalOptOutsArray of locally opted-out phone numbers
GlobalOptOutsArray of globally opted-out phone numbers
GroupsArray of groups to receive the message

HTTP Status Codes

201Success - A new voice campaign has been scheduled for delivery
401Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500Internal Server Error - Something is broken. Please create a support ticket.

Sample Error Responses

<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>401</Code>
	<Errors>
		<Error>Authorization Required</Error>
	</Errors>
	</Response>
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Failure</Status>
	<Code>403</Code>
	<Errors>
		<Error>Groups: &apos;honey lovers 2&apos; was not found in the haystack</Error>
		<Error>PhoneNumbers: &apos;21234956786&apos; is more than 10 characters long</Error>
	</Errors>
</Response>

Successful Call & Response Samples

XML Example And Response:

curl -d 'User=winnie&Password=thepooh&PhoneNumbers[]=2123456785&PhoneNumbers[]=2123456786&PhoneNumbers[]=2123456787&PhoneNumbers[]=2123456788&Groups[]=honey lovers&CallerPhonenumber=2123456789&VoiceFile=yourfile.wav&StampToSend=1305582245' https://app.eztexting.com/voice/messages?format=xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
	<Status>Success</Status>
	<Code>201</Code>
	<Entry>
		<ID>826</ID>
		<Name>My voice campaign</Name>
		<VoiceFile>yourfile.wav</VoiceFile>
		<RecipientsCount>3</RecipientsCount>
		<CallerPhonenumber>2123456789</CallerPhonenumber>
		<Credits>6</Credits>
		<StampToSend>05-16-2011 5:44 PM</StampToSend>
		<PhoneNumbers>
			<PhoneNumber>2123456787</PhoneNumber>
			<PhoneNumber>2123456788</PhoneNumber>
		</PhoneNumbers>
		<LocalOptOuts>
			<PhoneNumber>2123456786</PhoneNumber>
		</LocalOptOuts>
		<GlobalOptOuts>
			<PhoneNumber>2123456785</PhoneNumber>
		</GlobalOptOuts>
		<Groups>
			<Group>Honey lovers</Group>
		</Groups>
	</Entry>
</Response>

JSON Example And Response:

curl -d 'User=winnie&Password=the-pooh&PhoneNumbers[]=2123456785&PhoneNumbers[]=2123456786&PhoneNumbers[]=2123456787&PhoneNumbers[]=2123456788&Groups[]=honey lovers&CallerPhonenumber=2123456789&VoiceFile=yourfile.wav&StampToSend=1305582245' https://app.eztexting.com/voice/messages?format=json
{
	"Response":{
		"Status":"Success",
		"Code":201,
		"Entry":{
			"ID":828,
			"Name":"My voice campaign",
			"VoiceFile":"yourfile.wav",
			"CallerPhonenumber":"2123456789",
			"RecipientsCount":3,
			"Credits":6,
			"StampToSend":"05-16-2011 5:44 PM",
			"PhoneNumbers":[
				"2123456787",
				"2123456788"
			],
			"LocalOptOuts":[
				"2123456786"
			],
			"GlobalOptOuts":[
				"2123456785"
			],
			"Groups":[
				"Honey lovers"
			]
		}
	}
}
Back to table of contents

Carrier Lookup

Description

The Carrier Lookup API tool has now been deprecated due to low usage and the need to maintain platform stability and security. 

If you have been using this feature to clean contact lists, it is now possible to confirm the validity of a contact by using our Delivery Reports.