Rest SMS API & HTTP SMS API

We offer a REST SMS API and a legacy HTTP SMS API. Please make sure that you are reading the correct documentation for the set of APIs that you are using to connect to Club Texting's text messaging gateway.

Looking for information about receiving messages? Read about the Incoming Message APIs.

REST API Calls

Sending SMS Messages

Sends SMS text messages via the short code 25827 (212121 In Canada) to a single phone number or an array of phone numbers.

URL

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

Format & Method

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

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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
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; if you leave this parameter out, your message will be sent via Express delivery method.
Note: Values must be properly URL encoded

Return Values

IDUnique ID referencing the message
SubjectSubject of the message
Message Body of the message
MessageTypeID Message delivery method (1 - express, 2 - standard)
RecipientsCount Number of intended recipients. Please note: This includes globally opted out numbers.
Credits Number of credits charged for the message
StampToSend Date and time message will be sent
PhoneNumbers Array of phone numbers to receive the message
LocalOptOuts Array of locally opted-out phone numbers
GlobalOptOuts Array of globally opted-out phone numbers
Groups Array of groups to receive the message
Note: Messages 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 25827 (212121 In Canada) using that phone.

HTTP Status Codes

201Success - A new message has been scheduled for delivery
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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:

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.clubtexting.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>

JSON Example And Response:

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.clubtexting.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" 
            ]
        }
    }
}




Delete A Message

Delete an incoming text message in your Club Texting Inbox

URL

https://app.clubtexting.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 Club Texting username
Password(Required) Your Club Texting password
ID(Required) ID of the incoming message to delete

Return Values

None

HTTP Status Codes

204No Content - Resource was deleted
401 Unauthorized - Authentication credentials are missing or incorrect
404Does Not Exist - Message was not found. Please check parameters.
500 Internal 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.clubtexting.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.clubtexting.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




Get All Messages

Get all incoming text messages in your Club Texting Inbox

URL

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

Format & Method

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

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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.

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
page(Optional) Page of results to retrieve. 1st page is returned by default

Return Values

ID Unique ID referencing the message
PhoneNumberPhone number of the sender
SubjectSubject of the message
MessageMessage Body
NewIf Messsage is New (Unread in Club 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
401 Unauthorized - Authentication credentials are missing or incorrect
500 Internal 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.clubtexting.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>
            <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>
            <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>
        </Entry>
    </Entries>
</Response>

JSON Example

curl 'https://app.clubtexting.com/incoming-messages?format=json&User=winnie&Password=the-pooh'
{
    "Response":{
        "Status":"Success",
        "Code":200,
        "Entries":[
            {
                "ID":123,
                "PhoneNumber":"3312943691",
                "Subject":"",
                "Message":"test",
                "New":"0",
                "FolderID":"13",
                "ContactID":"",
                "ReceivedOn":"10-04-2012 9:06 AM" 
           },
           {
                "ID":124,
                "PhoneNumber":"5512943691",
                "Subject":"",
                "Message":"test 2",
                "New":"1",
                "FolderID":"",
                "ContactID":"506ae688734fad2125000001",
                "ReceivedOn":"10-04-2012 9:06 AM" 
           }
        ]
    }
}




Get One Message

Get a single incoming text messages in your Club Texting Inbox

URL

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

Format & Method

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

Parameters

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

Return Values

ID Unique ID referencing the message
PhoneNumberPhone number of the sender
SubjectSubject of the message
MessageMessage Body
NewIf Messsage is New (Unread in Club 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
401 Unauthorized - Authentication credentials are missing or incorrect
404Does Not Exist - Message was not found. Please check parameters.
500 Internal 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.clubtexting.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>
        <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>

JSON Example

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




Move Message To A Folder

Moves an incoming text message in your Club 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.clubtexting.com/incoming-messages/?format=format&_method=move-to-folder

Format & Method

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

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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
400 Bad Request - Request is not valid. An accompanying error message explains why.
401Unauthorized -Authentication credentials are missing or incorrect
500 Internal 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' https://app.clubtexting.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' https://app.clubtexting.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




Create A Folder

Create a Folder in your Club Texting Inbox

URL

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

Format & Method

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

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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
500 Internal 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.clubtexting.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.clubtexting.com/messages-folders?format=json
{
    "Response":{
        "Status":"Success",
        "Code":201,
        "Entry":{
            "ID":123,
        }
    }
}




Update A Folder

Update the name of a Folder in your Club Texting Inbox

URL

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

Format & Method

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

Parameters

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

Return Values

None

HTTP Status Codes

200OK - Success
400 Bad Request - Request is not valid. An accompanying error message explains why.
401Unauthorized - Authentication credentials are missing or incorrect
500 Internal 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.clubtexting.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.clubtexting.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




Delete A Folder

Delete a Folder in your Club Texting Inbox

URL

https://app.clubtexting.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 Club Texting username
Password(Required) Your Club Texting password
ID(Required) ID of the folder to delete

Return Values

None

HTTP Status Codes

204No Content - Resource was deleted
401 Unauthorized - Authentication credentials are missing or incorrect
404Does Not Exist - Message was not found. Please check parameters.
500 Internal 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.clubtexting.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.clubtexting.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




Get All Folders

Get all Folders in your Club Texting Inbox

URL

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

Format & Method

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

Parameters

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

Return Values

ID Unique ID referencing the folder
NameName of the folder

HTTP Status Codes

200OK - Success
401 Unauthorized - Authentication credentials are missing or incorrect
500 Internal 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.clubtexting.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.clubtexting.com/messages-folders?format=json&User=winnie&Password=the-pooh'
{
    "Response":{
        "Status":"Success",
        "Code":200,
        "Entries":[
            {
                "ID":1,
                "Name":"Customers" 
            },
            {
                "ID":2,
                "Name":"Fans" 
            }
        ]
    }
}




Get A Folder

Get a single folder in your Club Texting Inbox

URL

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

Format & Method

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

Parameters

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

Return Values

Name Name of the folder

HTTP Status Codes

200OK - Success
401 Unauthorized - Authentication credentials are missing or incorrect
404Does Not Exist - Folder was not found. Please check parameters.
500 Internal 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.clubtexting.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.clubtexting.com/messages-folders/123?format=json&User=winnie&Password=the-pooh'
{
    "Response":{
        "Status":"Success",
        "Code":200,
        "Entry":{
            "Name":"Customers" 
        }
    }
}




Check Keyword Availability

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

URL

https://app.clubtexting.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 Club Texting username
Password(Required) Your Club Texting password
Keyword(Required) The keyword to be checked

Return Values

Keyword Keyword that was checked
Available Indicates if the Keyword is available

HTTP Status Codes

200Success - The Keyword is available
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.clubtexting.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.clubtexting.com/keywords/new?Keyword=honey&User=winnie&Password=the-pooh&format=json"
{
    "Response":{
        "Status":"Success",
        "Code":200,
        "Entry":{
            "Keyword":"honey",
            "Available":true
        }
    }
}




Rent Keyword

Rents a Keyword for use on Club 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 Club Texting account, or you may pass credit card details when you call the API.

URL

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

Format & Method

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

Parameters (Stored Card)

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

Parameters (Non-Stored Card)

User(Required) Your Club Texting username
Password(Required) Your Club 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
Keyword 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

HTTP Status Codes

201Created - A new keyword was created
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.clubtexting.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=East Sussex&Zip=12345&Country=UK&CreditCardTypeID=Visa&Number=4111111111111111&SecurityCode=123&ExpirationMonth=10&ExpirationYear=2017' https://app.clubtexting.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
(Stored Card):

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

JSON 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=East Sussex&Zip=12345&Country=UK&CreditCardTypeID=Visa&Number=4111111111111111&SecurityCode=123&ExpirationMonth=10&ExpirationYear=2017' https://app.clubtexting.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":[]
        }
    }
}




Setup A Keyword

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

URL

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

Format & Method

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

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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
Keyword 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

HTTP Status Codes

200Success - Your keyword was configured
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.&[email protected] &ForwardUrl=http://bear-alliance.co.uk/honey-donations/&ContactGroupIDs[]=honey lovers' https://app.clubtexting.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>[email protected]</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.&[email protected] &ForwardUrl=http://bear-alliance.co.uk/honey-donations/&ContactGroupIDs[]=honey lovers' https://app.clubtexting.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":"[email protected]",
            "ForwardUrl":"http://bear-alliance.co.uk/honey-donations/",
            "ContactGroupIDs":[
                "honey lovers" 
            ]
        }
    }
}




Cancel A Keyword

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

URL

https://app.clubtexting.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 Club Texting username
Password(Required) Your Club 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
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.clubtexting.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.clubtexting.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




Check Credit Balance

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

URL

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

Format & Method

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

Parameters

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

Return Values

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

HTTP Status Codes

200Success
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.clubtexting.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.clubtexting.com/billing/credits/get?User=winnie&Password=the-pooh&format=json"
{
    "Response":{
        "Status":"Success",
        "Code":200,
        "Entry":{
            "PlanCredits":15,
            "AnytimeCredits":138,
            "TotalCredits":153
        }
    }
}




Buy Credits

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

URL

https://app.clubtexting.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 Club Texting username
Password(Required) Your Club Texting password
NumberOfCredits(Required) Number of credits to purchase
CouponCodeCoupon or Promotional Code
StoredCreditCard(Required) Last four digits of any card stored in your Club Texting account.

Parameters (Non-Stored Card)

User(Required) Your Club Texting username
Password(Required) Your Club 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
Amount Total 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
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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
(Stored Card):

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

XML Example
(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.clubtexting.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
(Stored Card):

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

JSON Example
(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.clubtexting.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
        }
    }
}



Create A Contact

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

URL

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

Format & Method

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

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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

HTTP Status Codes

201Success - A new resource was created
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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 protected] &Note=It is hard to be brave, when you are only a Very Small Animal.&Groups[]=Friends&Groups[]=Neighbors' https://app.clubtexting.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>[email protected]</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>
    </Entry>
</Response>

JSON Example

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




Update A Contact

Update a contact stored in your Club Texting contact list

URL

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

Format & Method

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

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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) 1 if you want to opt out the contact

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

HTTP Status Codes

201OK - Success
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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 protected] &Note=It is hard to be brave, when you are only a Very Small Animal.&Groups[]=Friends&Groups[]=Neighbors' https://app.clubtexting.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>[email protected]</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>
    </Entry>

JSON Example

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


Delete A Contact

Delete a contact stored in your Club Texting contact list

URL

https://app.clubtexting.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 Club Texting username
Password(Required) Your Club Texting password
ID(Required) ID of the contact to delete

Return Values

None

HTTP Status Codes

204No Content - Resource was deleted
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.clubtexting.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.clubtexting.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


Get All Contacts

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

URL

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

Format & Method

Format can be either XML or JSON
GET

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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
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
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
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.clubtexting.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>[email protected]</Email>
            <Note>It is hard to be brave, when you are only a Very Small Animal.</Note>
            <Source>API</Source>
            <OptOut>1</OptOut>
            <Groups>
                <Group>Friends</Group>
                <Group>Neighbors</Group>
            </Groups>
            <CreatedAt>01-17-2012</CreatedAt>
        </Entry>
        <Entry>
            <ID>4f0b536c734fad9968000000</ID>
            <PhoneNumber>2123456786</PhoneNumber>
            <FirstName>Winnie</FirstName>
            <LastName>T. Pooh</LastName>
            <Email>[email protected]</Email>
            <Note>A bear, however hard he tries, grows tubby without exercise</Note>
            <Source>Upload</Source>
            <Groups />
            <CreatedAt>01-15-2012</CreatedAt>
        </Entry>
    </Entries>
</Response>

JSON Example

curl 'https://app.clubtexting.com/contacts?format=json&User=winnie&Password=the-pooh'
{
    "Response":{
        "Status":"Success",
        "Code":200,
        "Entries":[
            {
                "ID":4f0b52fd734fada068000000,
                "PhoneNumber":"2123456785",
                "FirstName":"Piglet",
                "LastName":"",
                "Email":"[email protected]",
                "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" 
           },
           {
                "ID":4f0b536c734fad9968000000,
                "PhoneNumber":"2123456786",
                "FirstName":"Winnie",
                "LastName":"T. Pooh",
                "Email":"[email protected]",
                "Note":"A bear, however hard he tries, grows tubby without exercise",
                "Source":"Upload",
                "Groups":[
                ],
                "CreatedAt":"01-15-2012" 
           }
        ]
    }
}


Get One Contact

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

URL

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

Format & Method

Format can be either XML or JSON
GET

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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
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
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.clubtexting.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>[email protected]</Email>
        <Note>It is hard to be brave, when you are only a Very Small Animal.</Note>
        <Source>API</Source>
        <OptOut>1</OptOut>
        <Groups>
            <Group>Friends</Group>
            <Group>Neighbors</Group>
        </Groups>
        <CreatedAt>01-17-2012</CreatedAt>
    </Entry>
</Response>

JSON Example

curl 'https://app.clubtexting.com/contacts/4f0b52fd734fada068000000?format=json&User=winnie&Password=the-pooh'
{
    "Response":{
        "Status":"Success",
        "Code":200,
        "Entry":{
            "ID":4f0b52fd734fada068000000,
            "PhoneNumber":"2123456785",
            "FirstName":"Piglet",
            "LastName":"",
            "Email":"[email protected]",
            "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" 
        }
    }
}



Create A Group

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

URL

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

Format & Method

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

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.clubtexting.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.clubtexting.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
        }
    }
}


Update A Group

Update a group that is stored in your Club Texting account

URL

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

Format & Method

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

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.clubtexting.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.clubtexting.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
        }
    }
}

Delete A Group

Delete a group that is stored in your Club Texting account

URL

https://app.clubtexting.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 Club Texting username
Password(Required) Your Club Texting password
ID(Required) ID of the group to delete

Return Values

None

HTTP Status Codes

204No Content - Group was deleted
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.clubtexting.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.clubtexting.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

Get All Groups

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

URL

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

Format & Method

Format can be either XML or JSON
GET

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.clubtexting.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.clubtexting.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
            }
        ]
    }
}


Get One Group

Get a single group stored in your Club Texting account.

URL

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

Format & Method

Format can be either XML or JSON
GET

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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.clubtexting.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.clubtexting.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
        }
    }
}




Voice Broadcast Messages

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

URL

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

Format & Method

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

Parameters

User(Required) Your Club Texting username
Password(Required) Your Club 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 Club Texting account
VoiceSource(Optional) Address to the .wav file on your server; you must specify one of the last two parameters
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 Club Texting account
CallerPhonenumber 10 digit phone number
RecipientsCount Number of actual recipients (excluding local opt-outs)
Credits Number of credits charged for the message
StampToSend Date and time message will be sent
PhoneNumbers Array of phone numbers to receive the message
LocalOptOuts Array of locally opted-out phone numbers
GlobalOptOuts Array of globally opted-out phone numbers
Groups Array of groups to receive the message

HTTP Status Codes

201Success - A new voice campaign has been scheduled for delivery
401 Unauthorized - Authentication credentials are missing or incorrect
403Forbidden - Request is not valid. An accompanying error message explains why.
500 Internal 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=the-pooh&PhoneNumbers[]=2123456785&PhoneNumbers[]=2123456786&PhoneNumbers[]=2123456787&PhoneNumbers[]=2123456788&Groups[]=honey lovers&CallerPhonenumber=2123456789&VoiceFile=yourfile.wav&StampToSend=1305582245' https://app.clubtexting.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.clubtexting.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"
            ]
        }
    }
}

Get started for free!

Sign up now