- Text Messages
- Inbox & Folders
- Keywords
- Credits
- Contacts
- Groups
- Carrier Lookup
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. |
Code Samples |
Perl - XML
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use XML::Simple;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnie&Password=the-pooh";
$params.= "&Subject=From Winnie";
$params.= "&Message=I am a Bear of Very Little Brain, and long words bother me";
$params.= "&PhoneNumbers[]=2123456785&PhoneNumbers[]=2123456786";
$params.= "&MessageTypeID=1&StampToSend=1305582245";
my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/sending/messages?format=xml");
$responde->content_type("application/x-www-form-urlencoded");
$responde->content($params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = XML::Simple->new->XMLin($responseObj->content);
print 'Status: ' . $response->{Status} . "\n" .
'Code: ' . $response->{Code} . "\n";
if ($isSuccesResponse) {
$PhoneNumbers = $response->{Entry}->{PhoneNumbers}->{PhoneNumber};
$LocalOptOuts = $response->{Entry}->{LocalOptOuts}->{PhoneNumber};
$GlobalOptOuts = $response->{Entry}->{GlobalOptOuts}->{PhoneNumber};
print 'Message ID: ' . $response->{Entry}->{ID} . "\n" .
'Subject: ' . $response->{Entry}->{Subject} . "\n" .
'Message: ' . $response->{Entry}->{Message} . "\n" .
'Message Type ID: ' . $response->{Entry}->{MessageTypeID} . "\n" .
'Total Recipients: ' . $response->{Entry}->{RecipientsCount} . "\n" .
'Credits Charged: ' . $response->{Entry}->{Credits} . "\n" .
'Time To Send: ' . $response->{Entry}->{StampToSend} . "\n".
'Phone Numbers: ' . (ref($PhoneNumbers) eq 'ARRAY' ? join(', ', @{$PhoneNumbers}) : $PhoneNumbers) . "\n" .
'Locally Opted Out Numbers: ' . (ref($LocalOptOuts) eq 'ARRAY' ? join(', ', @{$LocalOptOuts}) : $LocalOptOuts) . "\n" .
'Globally Opted Out Numbers: ' . (ref($GlobalOptOuts) eq 'ARRAY' ? join(', ', @{$GlobalOptOuts}) : $GlobalOptOuts) . "\n";
} else {
$errors = $response->{Errors}->{Error};
print 'Errors: ' .(ref($errors) eq 'ARRAY' ? join(', ', @{$errors}) : $errors) . "\n";
} |
Perl - JSON
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use JSON::XS;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnie&Password=the-pooh";
$params.= "&Subject=From Winnie";
$params.= "&Message=I am a Bear of Very Little Brain, and long words bother me";
$params.= "&PhoneNumbers[]=2123456785&PhoneNumbers[]=2123456786";
$params.= "&MessageTypeID=1&StampToSend=1305582245";
my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/sending/messages?format=json");
$responde->content_type("application/x-www-form-urlencoded");
$responde->content($params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = JSON::XS->new->decode ($responseObj->content);
print 'Status: ' . $response->{Response}->{Status} . "\n" .
'Code: ' . $response->{Response}->{Code} . "\n";
if ($isSuccesResponse) {
print 'Message ID: ' . $response->{Response}->{Entry}->{ID} . "\n".
'Subject: ' . $response->{Response}->{Entry}->{Subject} . "\n" .
'Message: ' . $response->{Response}->{Entry}->{Message} . "\n" .
'Message Type ID: ' . $response->{Response}->{Entry}->{MessageTypeID} . "\n" .
'Total Recipients: ' . $response->{Response}->{Entry}->{RecipientsCount} . "\n" .
'Credits Charged: ' . $response->{Response}->{Entry}->{Credits} . "\n" .
'Time To Send: ' . $response->{Response}->{Entry}->{StampToSend} . "\n".
'Phone Numbers: ' . join(', ', @{$response->{Response}->{Entry}->{PhoneNumbers}}) . "\n" .
'Locally Opted Out Numbers: ' . join(', ', @{$response->{Response}->{Entry}->{LocalOptOuts}}) . "\n" .
'Globally Opted Out Numbers: ' . join(', ', @{$response->{Response}->{Entry}->{GlobalOptOuts}}) . "\n";
} else {
foreach $err (@{$response->{Response}->{Errors}}) {
print 'Error: ' . $err . "\n";
}
} |
Inbox & Folders |
When working with the Inbox and Folder you can perform nine actions: Post (Add New Folder), Put (Update A Folder/Move A Message Between Folders), Delete (Delete A Message/Folder), Get (Get Inbox Message/Folder By ID), Index (Get All Messages/All Folders). The code samples below use the shared libraries: |
Code Samples - Inbox Messages |
Perl - XML
#!/usr/bin/perl
use warnings;
use strict;
use SmsTextingAPI;
use Data::Dumper;
use feature qw(say);
say 'XML encoding.';
my $sms = new SmsTextingAPI("demouser", "password", SmsTextingAPI::XML, "https://app.clubtexting.com");
say 'Get incomingMessages';
my $response = $sms->getAll(SmsTextingAPI::INCOMING_MESSAGE);
say Dumper($response);
my $incomingMessageId = $response->{Entries}[0]->{ID};
my $incomingMessageId2 = $response->{Entries}[1]->{ID};
my $incomingMessageIdsArray = [$incomingMessageId, $incomingMessageId2];
say 'Move incomingMessages';
$response = $sms->moveMessagesToFolder('88', $incomingMessageIdsArray );
say Dumper($response);
say 'Get incomingMessage';
$response = $sms->get(SmsTextingAPI::INCOMING_MESSAGE, $incomingMessageId2);
say Dumper($response);
say 'Delete incomingMessage';
$response = $sms->delete(SmsTextingAPI::INCOMING_MESSAGE, $incomingMessageId);
say Dumper($response);
say 'Second delete. try to get error';
$response = $sms->delete(SmsTextingAPI::INCOMING_MESSAGE, $incomingMessageId);
say Dumper($response);
|
Perl - JSON
#!/usr/bin/perl
use warnings;
use strict;
use SmsTextingAPI;
use Data::Dumper;
use feature qw(say);
say 'JSON encoding.';
$sms = new SmsTextingAPI("demouser", "password", SmsTextingAPI::JSON, "https://app.clubtexting.com");
say 'Get incomingMessages';
$response = $sms->getAll(SmsTextingAPI::INCOMING_MESSAGE);
say Dumper($response);
$incomingMessageId = $response->{Entries}[0]->{ID};
say 'Move incomingMessage';
$response = $sms->moveMessagesToFolder('75', $incomingMessageId);
say Dumper($response);
say 'Get incomingMessage';
$response = $sms->get(SmsTextingAPI::INCOMING_MESSAGE, $incomingMessageId);
say Dumper($response);
say 'Delete incomingMessage';
$response = $sms->delete(SmsTextingAPI::INCOMING_MESSAGE, $incomingMessageId);
say Dumper($response);
say 'Second delete. try to get error';
$response = $sms->delete(SmsTextingAPI::INCOMING_MESSAGE, $incomingMessageId);
say Dumper($response);
|
Code Samples - Inbox Folders |
Perl - XML
#!/usr/bin/perl
use warnings;
use strict;
use SmsTextingAPI;
use Data::Dumper;
use feature qw(say);
say 'XML encoding.';
my $sms = new SmsTextingAPI("demouser", "password", SmsTextingAPI::XML, "https://app.clubtexting.com");
say 'Get folders';
my $response = $sms->getAll(SmsTextingAPI::FOLDER);
say Dumper($response);
say 'Create folder';
$response = $sms->put(SmsTextingAPI::FOLDER,
'Name' => 'Customers');
say Dumper($response);
say 'Get folder';
my $folderId = $response->{Entry}->{ID};
$response = $sms->get(SmsTextingAPI::FOLDER, $folderId);
say Dumper($response);
say 'Update folder';
my $folder = $response->{Entry};
$folder->{'Name'} = 'Customers2';
$folder->{ID} = $folderId;
$response = $sms->put(SmsTextingAPI::FOLDER, %$folder);
say Dumper($response);
say 'Delete folder';
$response = $sms->delete(SmsTextingAPI::FOLDER, $folderId);
say Dumper($response);
say 'Second delete. try to get error';
$response = $sms->delete(SmsTextingAPI::FOLDER, $folderId);
say Dumper($response);
|
Perl - JSON
#!/usr/bin/perl
use warnings;
use strict;
use SmsTextingAPI;
use Data::Dumper;
use feature qw(say);
say 'JSON encoding.';
$sms = new SmsTextingAPI("demouser", "password", SmsTextingAPI::JSON, "https://app.clubtexting.com");
say 'Get folders';
$response = $sms->getAll(SmsTextingAPI::FOLDER);
say Dumper($response);
say 'Create folder';
$response = $sms->put(SmsTextingAPI::FOLDER,
'Name' => 'Customers');
say Dumper($response);
say 'Get folder';
$folderId = $response->{Entry}->{ID};
$response = $sms->get(SmsTextingAPI::FOLDER, $folderId);
say Dumper($response);
say 'Update folder';
$folder = $response->{Entry};
$folder->{'Name'} = 'Customers2';
$folder->{ID} = $folderId;
$response = $sms->put(SmsTextingAPI::FOLDER, %$folder);
say Dumper($response);
say 'Delete folder';
$response = $sms->delete(SmsTextingAPI::FOLDER, $folderId);
say Dumper($response);
say 'Second delete. try to get error';
$response = $sms->delete(SmsTextingAPI::FOLDER, $folderId);
say Dumper($response);
|
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. |
Code Samples |
Perl - XML
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use XML::Simple;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnie&Password=the-pooh";
$params.= "&Keyword=honey";
my $responde = HTTP::Request->new(GET => "https://app.clubtexting.com/keywords/new?format=xml&".$params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = XML::Simple->new->XMLin($responseObj->content);
print 'Status: ' . $response->{Status} . "\n" .
'Code: ' . $response->{Code} . "\n";
if ($isSuccesResponse) {
print 'Keyword: ' . $response->{Entry}->{Keyword} . "\n".
'Availability: ' . $response->{Entry}->{Available} . "\n";
} else {
$errors = $response->{Errors}->{Error};
print 'Errors: ' .(ref($errors) eq 'ARRAY' ? join(', ', @{$errors}) : $errors) . "\n";
} |
Perl - JSON
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use JSON::XS;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnie&Password=the-pooh";
$params.= "&Keyword=honey";
my $responde = HTTP::Request->new(GET => "https://app.clubtexting.com/keywords/new?format=json&".$params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = JSON::XS->new->decode ($responseObj->content);
print 'Status: ' . $response->{Response}->{Status} . "\n" .
'Code: ' . $response->{Response}->{Code} . "\n";
if ($isSuccesResponse) {
print 'Keyword: ' . $response->{Response}->{Entry}->{Keyword} . "\n".
'Availability: ' . $response->{Response}->{Entry}->{Available} . "\n";
} else {
foreach $err (@{$response->{Response}->{Errors}}) {
print 'Error: ' . $err . "\n";
}
} |
Code Samples - Stored Card |
Perl - XML
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use XML::Simple;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=demo&Password=texting121212";
$params.= "&Subject=From Winnie";
$params.= "&Keyword=honey";
$params.= "&StoredCreditCard=1111";
my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/keywords?format=xml");
$responde->content_type("application/x-www-form-urlencoded");
$responde->content($params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = XML::Simple->new->XMLin($responseObj->content);
print 'Status: ' . $response->{Status} . "\n" .
'Code: ' . $response->{Code} . "\n";
if ($isSuccesResponse) {
$groups = $response->{Entry}->{ContactGroupIDs}->{Group};
print 'Keyword ID: ' . $response->{Entry}->{ID} . "\n".
'Keyword: ' . $response->{Entry}->{Keyword} . "\n" .
'Is double opt-in enabled: ' . $response->{Entry}->{EnableDoubleOptIn} . "\n" .
'Confirm message: ' . $response->{Entry}->{ConfirmMessage} . "\n" .
'Join message: ' . $response->{Entry}->{JoinMessage} . "\n" .
'Forward email: ' . $response->{Entry}->{ForwardEmail} . "\n" .
'Forward url: ' . $response->{Entry}->{ForwardUrl} . "\n" .
'Groups: ' . (ref($groups) eq 'ARRAY' ? join(', ', @{$groups}) : $groups)."\n";
} else {
$errors = $response->{Errors}->{Error};
print 'Errors: ' .(ref($errors) eq 'ARRAY' ? join(', ', @{$errors}) : $errors) . "\n";
} |
Perl - JSON
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use JSON::XS;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=demo&Password=texting121212";
$params.= "&Subject=From Winnie";
$params.= "&Keyword=honey";
$params.= "&StoredCreditCard=1111";
my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/keywords?format=json");
$responde->content_type("application/x-www-form-urlencoded");
$responde->content($params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = JSON::XS->new->decode ($responseObj->content);
print 'Status: ' . $response->{Response}->{Status} . "\n" .
'Code: ' . $response->{Response}->{Code} . "\n";
if ($isSuccesResponse) {
print 'Keyword ID: ' . $response->{Response}->{Entry}->{ID} . "\n".
'Keyword: ' . $response->{Response}->{Entry}->{Keyword} . "\n" .
'Is double opt-in enabled: ' . $response->{Response}->{Entry}->{EnableDoubleOptIn} . "\n" .
'Confirm message: ' . $response->{Response}->{Entry}->{ConfirmMessage} . "\n" .
'Join message: ' . $response->{Response}->{Entry}->{JoinMessage} . "\n" .
'Forward email: ' . $response->{Response}->{Entry}->{ForwardEmail} . "\n" .
'Forward url: ' . $response->{Response}->{Entry}->{ForwardUrl} . "\n" .
'Groups: ' . join(', ' , @{$response->{Response}->{Entry}->{ContactGroupIDs}}) . "\n";
} else {
foreach $err (@{$response->{Response}->{Errors}}) {
print 'Error: ' . $err . "\n";
}
} |
Code Samples - Non-Stored Card |
Perl - XML
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use XML::Simple;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnie&Password=the-pooh";
$params.= "&Subject=From Winnie";
$params.= "&Keyword=honey";
$params.= "&FirstName=Winnie";
$params.= "&LastName=The Pooh";
$params.= "&Street=Hollow tree, under the name of Mr. Sanders";
$params.= "&City=Hundred Acre Woods";
$params.= "&State=New York";
$params.= "&Zip=12345";
$params.= "&Country=US";
$params.= "&CreditCardTypeID=Visa";
$params.= "&Number=4111111111111111";
$params.= "&SecurityCode=123";
$params.= "&ExpirationMonth=10";
$params.= "&ExpirationYear=2017";
my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/keywords?format=xml");
$responde->content_type("application/x-www-form-urlencoded");
$responde->content($params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = XML::Simple->new->XMLin($responseObj->content);
print 'Status: ' . $response->{Status} . "\n" .
'Code: ' . $response->{Code} . "\n";
if ($isSuccesResponse) {
$groups = $response->{Entry}->{ContactGroupIDs}->{Group};
print 'Keyword ID: ' . $response->{Entry}->{ID} . "\n".
'Keyword: ' . $response->{Entry}->{Keyword} . "\n" .
'Is double opt-in enabled: ' . $response->{Entry}->{EnableDoubleOptIn} . "\n" .
'Confirm message: ' . $response->{Entry}->{ConfirmMessage} . "\n" .
'Join message: ' . $response->{Entry}->{JoinMessage} . "\n" .
'Forward email: ' . $response->{Entry}->{ForwardEmail} . "\n" .
'Forward url: ' . $response->{Entry}->{ForwardUrl} . "\n" .
'Groups: ' . (ref($groups) eq 'ARRAY' ? join(', ', @{$groups}) : $groups)."\n";
} else {
$errors = $response->{Errors}->{Error};
print 'Errors: ' .(ref($errors) eq 'ARRAY' ? join(', ', @{$errors}) : $errors) . "\n";
} |
Perl - JSON
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use JSON::XS;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnie&Password=the-pooh";
$params.= "&Subject=From Winnie";
$params.= "&Keyword=honey";
$params.= "&FirstName=Winnie";
$params.= "&LastName=The Pooh";
$params.= "&Street=Hollow tree, under the name of Mr. Sanders";
$params.= "&City=Hundred Acre Woods";
$params.= "&State=New York";
$params.= "&Zip=12345";
$params.= "&Country=US";
$params.= "&CreditCardTypeID=Visa";
$params.= "&Number=4111111111111111";
$params.= "&SecurityCode=123";
$params.= "&ExpirationMonth=10";
$params.= "&ExpirationYear=2017";
my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/keywords?format=json");
$responde->content_type("application/x-www-form-urlencoded");
$responde->content($params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = JSON::XS->new->decode ($responseObj->content);
print 'Status: ' . $response->{Response}->{Status} . "\n" .
'Code: ' . $response->{Response}->{Code} . "\n";
if ($isSuccesResponse) {
print 'Keyword ID: ' . $response->{Response}->{Entry}->{ID} . "\n".
'Keyword: ' . $response->{Response}->{Entry}->{Keyword} . "\n" .
'Is double opt-in enabled: ' . $response->{Response}->{Entry}->{EnableDoubleOptIn} . "\n" .
'Confirm message: ' . $response->{Response}->{Entry}->{ConfirmMessage} . "\n" .
'Join message: ' . $response->{Response}->{Entry}->{JoinMessage} . "\n" .
'Forward email: ' . $response->{Response}->{Entry}->{ForwardEmail} . "\n" .
'Forward url: ' . $response->{Response}->{Entry}->{ForwardUrl} . "\n" .
'Groups: ' . join(', ' , @{$response->{Response}->{Entry}->{ContactGroupIDs}}) . "\n";
} else {
foreach $err (@{$response->{Response}->{Errors}}) {
print 'Error: ' . $err . "\n";
}
} |
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. |
Code Samples |
Perl - XML#!/usr/bin/perl use LWP::UserAgent; use HTTP::Request::Common qw(POST); use XML::Simple; $ua = new LWP::UserAgent(keep_alive=>1); $params = ""; $params.= "User=winnie&Password=the-pooh"; $params.= "&EnableDoubleOptIn=1"; $params.= "&ConfirmMessage=Reply Y to join our sweetest list"; $params.= "&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."; $params.= '&[email protected]'; $params.= "&ForwardUrl=http://bear-alliance.co.uk/honey-donations/"; $params.= "&ContactGroupIDs[]=honey"; $params.= "&ContactGroupIDs[]=lovers"; my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/keywords/honey?format=xml"); $responde->content_type("application/x-www-form-urlencoded"); $responde->content($params); $responseObj = $ua->request($responde); print $responseObj->content."\n--------------------\n"; $responseCode = $responseObj->code; print 'Response code: ' . $responseCode . "\n"; $isSuccesResponse = $responseCode < 400; $response = XML::Simple->new->XMLin($responseObj->content);#(ForceArray => 1) print 'Status: ' . $response->{Status} . "\n" . 'Code: ' . $response->{Code} . "\n"; if ($isSuccesResponse) { $groups = $response->{Entry}->{ContactGroupIDs}->{Group}; print 'Keyword ID: ' . $response->{Entry}->{ID} . "\n". 'Keyword: ' . $response->{Entry}->{Keyword} . "\n" . 'Is double opt-in enabled: ' . $response->{Entry}->{EnableDoubleOptIn} . "\n" . 'Confirm message: ' . $response->{Entry}->{ConfirmMessage} . "\n" . 'Join message: ' . $response->{Entry}->{JoinMessage} . "\n" . 'Forward email: ' . $response->{Entry}->{ForwardEmail} . "\n" . 'Forward url: ' . $response->{Entry}->{ForwardUrl} . "\n" . 'Groups: ' . (ref($groups) eq 'ARRAY' ? join(', ', @{$groups}) : $groups)."\n"; } else { $errors = $response->{Errors}->{Error}; print 'Errors: ' .(ref($errors) eq 'ARRAY' ? join(', ', @{$errors}) : $errors) . "\n"; } |
Perl - JSON#!/usr/bin/perl use LWP::UserAgent; use HTTP::Request::Common qw(POST); use JSON::XS; $ua = new LWP::UserAgent(keep_alive=>1); $params = ""; $params.= "User=winnie&Password=the-pooh"; $params.= "&EnableDoubleOptIn=1"; $params.= "&ConfirmMessage=Reply Y to join our sweetest list"; $params.= "&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."; $params.= '&[email protected]'; $params.= "&ForwardUrl=http://bear-alliance.co.uk/honey-donations/"; $params.= "&ContactGroupIDs[]=honey"; $params.= "&ContactGroupIDs[]=lovers"; my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/keywords/honey?format=json"); $responde->content_type("application/x-www-form-urlencoded"); $responde->content($params); $responseObj = $ua->request($responde); print $responseObj->content."\n--------------------\n"; $responseCode = $responseObj->code; print 'Response code: ' . $responseCode . "\n"; $isSuccesResponse = $responseCode < 400; $response = JSON::XS->new->decode ($responseObj->content); print 'Status: ' . $response->{Response}->{Status} . "\n" . 'Code: ' . $response->{Response}->{Code} . "\n"; if ($isSuccesResponse) { print 'Keyword ID: ' . $response->{Response}->{Entry}->{ID} . "\n". 'Keyword: ' . $response->{Response}->{Entry}->{Keyword} . "\n" . 'Is double opt-in enabled: ' . $response->{Response}->{Entry}->{EnableDoubleOptIn} . "\n" . 'Confirm message: ' . $response->{Response}->{Entry}->{ConfirmMessage} . "\n" . 'Join message: ' . $response->{Response}->{Entry}->{JoinMessage} . "\n" . 'Forward email: ' . $response->{Response}->{Entry}->{ForwardEmail} . "\n" . 'Forward url: ' . $response->{Response}->{Entry}->{ForwardUrl} . "\n" . 'Groups: ' . join(', ', @{$response->{Response}->{Entry}->{ContactGroupIDs}})."\n"; } else { foreach $err (@{$response->{Response}->{Errors}}) { print 'Error: ' . $err . "\n"; } } |
Cancel A Keyword |
Cancels an active Keyword on Club Texting's short code in the country your account is set to send messages to. |
Code Samples |
Perl - XML
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use XML::Simple;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnie&Password=the-pooh";
my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/keywords/honey?format=xml&_method=DELETE");
$responde->content_type("application/x-www-form-urlencoded");
$responde->content($params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
if (!$isSuccesResponse) {
$response = XML::Simple->new->XMLin($responseObj->content);
print 'Status: ' . $response->{Status} . "\n" .
'Code: ' . $response->{Code} . "\n";
$errors = $response->{Errors}->{Error};
print 'Errors: ' .(ref($errors) eq 'ARRAY' ? join(', ', @{$errors}) : $errors) . "\n";
} |
Perl - JSON
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use JSON::XS;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnie&Password=the-pooh";
my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/keywords/honey?format=json&_method=DELETE");
$responde->content_type("application/x-www-form-urlencoded");
$responde->content($params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
if (!$isSuccesResponse) {
$response = JSON::XS->new->decode ($responseObj->content);
print 'Status: ' . $response->{Response}->{Status} . "\n" .
'Code: ' . $response->{Response}->{Code} . "\n";
foreach $err (@{$response->{Response}->{Errors}}) {
print 'Error: ' . $err . "\n";
}
} |
Check Credit Balance |
Checks credit balances on your account. |
Code Samples |
Perl - XML
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use XML::Simple;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnie&Password=the-pooh";
my $responde = HTTP::Request->new(GET => "https://app.clubtexting.com/billing/credits/get?format=xml&".$params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = XML::Simple->new->XMLin($responseObj->content);
print 'Status: ' . $response->{Status} . "\n" .
'Code: ' . $response->{Code} . "\n";
if ($isSuccesResponse) {
print 'Plan credits: ' . $response->{Entry}->{PlanCredits} . "\n" .
'Anytime credits: ' . $response->{Entry}->{AnytimeCredits} . "\n" .
'Total: ' . $response->{Entry}->{TotalCredits} . "\n";
} else {
$errors = $response->{Errors}->{Error};
print 'Errors: ' .(ref($errors) eq 'ARRAY' ? join(', ', @{$errors}) : $errors) . "\n";
} |
Perl - JSON
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use JSON::XS;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnie&Password=the-pooh";
my $responde = HTTP::Request->new(GET => "https://app.clubtexting.com/billing/credits/get?format=json&".$params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = JSON::XS->new->decode ($responseObj->content);
print 'Status: ' . $response->{Response}->{Status} . "\n" .
'Code: ' . $response->{Response}->{Code} . "\n";
if ($isSuccesResponse) {
print 'Plan credits: ' . $response->{Response}->{Entry}->{PlanCredits} . "\n" .
'Anytime credits: ' . $response->{Response}->{Entry}->{AnytimeCredits} . "\n" .
'Total: ' . $response->{Response}->{Entry}->{TotalCredits} . "\n";
} else {
foreach $err (@{$response->{Response}->{Errors}}) {
print 'Error: ' . $err . "\n";
}
} |
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. |
Code Samples - Stored Card |
Perl - XML
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use XML::Simple;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=demo&Password=texting121212";
$params.= "&NumberOfCredits=1000";
$params.= "&CouponCode=honey2011";
$params.= "&StoredCreditCard=1111";
my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/billing/credits?format=xml");
$responde->content_type("application/x-www-form-urlencoded");
$responde->content($params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = XML::Simple->new->XMLin($responseObj->content);
print 'Status: ' . $response->{Status} . "\n" .
'Code: ' . $response->{Code} . "\n";
if ($isSuccesResponse) {
print 'Credits purchased: ' . $response->{Entry}->{BoughtCredits} . "\n" .
'Amount charged, $: ' . $response->{Entry}->{Amount} . "\n" .
'Discount, $: ' . $response->{Entry}->{Discount} . "\n" .
'Plan credits: ' . $response->{Entry}->{PlanCredits} . "\n" .
'Anytime credits: ' . $response->{Entry}->{AnytimeCredits} . "\n" .
'Total: ' . $response->{Entry}->{TotalCredits} . "\n";
} else {
$errors = $response->{Errors}->{Error};
print 'Errors: ' .(ref($errors) eq 'ARRAY' ? join(', ', @{$errors}) : $errors) . "\n";
} |
Perl - JSON
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use JSON::XS;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=demo&Password=texting121212";
$params.= "&NumberOfCredits=1000";
$params.= "&CouponCode=honey2011";
$params.= "&StoredCreditCard=1111";
my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/billing/credits?format=json");
$responde->content_type("application/x-www-form-urlencoded");
$responde->content($params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = JSON::XS->new->decode ($responseObj->content);
print 'Status: ' . $response->{Response}->{Status} . "\n" .
'Code: ' . $response->{Response}->{Code} . "\n";
if ($isSuccesResponse) {
print 'Credits purchased: ' . $response->{Response}->{Entry}->{BoughtCredits} . "\n" .
'Amount charged, $: ' . $response->{Response}->{Entry}->{Amount} . "\n" .
'Discount, $: ' . $response->{Response}->{Entry}->{Discount} . "\n" .
'Plan credits: ' . $response->{Response}->{Entry}->{PlanCredits} . "\n" .
'Anytime credits: ' . $response->{Response}->{Entry}->{AnytimeCredits} . "\n" .
'Total: ' . $response->{Response}->{Entry}->{TotalCredits} . "\n";
} else {
foreach $err (@{$response->{Response}->{Errors}}) {
print 'Error: ' . $err . "\n";
}
} |
Code Samples - Non-Stored Card |
Perl - XML
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use XML::Simple;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnie&Password=the-pooh";
$params.= "&NumberOfCredits=1000";
$params.= "&CouponCode=honey2011";
$params.= "&FirstName=Winnie";
$params.= "&LastName=The Pooh";
$params.= "&Street=Hollow tree, under the name of Mr. Sanders";
$params.= "&City=Hundred Acre Woods";
$params.= "&State=New York";
$params.= "&Zip=12345";
$params.= "&Country=US";
$params.= "&CreditCardTypeID=Visa";
$params.= "&Number=4111111111111111";
$params.= "&SecurityCode=123";
$params.= "&ExpirationMonth=10";
$params.= "&ExpirationYear=2017";
my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/billing/credits?format=xml");
$responde->content_type("application/x-www-form-urlencoded");
$responde->content($params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = XML::Simple->new->XMLin($responseObj->content);
print 'Status: ' . $response->{Status} . "\n" .
'Code: ' . $response->{Code} . "\n";
if ($isSuccesResponse) {
print 'Credits purchased: ' . $response->{Entry}->{BoughtCredits} . "\n" .
'Amount charged, $: ' . $response->{Entry}->{Amount} . "\n" .
'Discount, $: ' . $response->{Entry}->{Discount} . "\n" .
'Plan credits: ' . $response->{Entry}->{PlanCredits} . "\n" .
'Anytime credits: ' . $response->{Entry}->{AnytimeCredits} . "\n" .
'Total: ' . $response->{Entry}->{TotalCredits} . "\n";
} else {
$errors = $response->{Errors}->{Error};
print 'Errors: ' .(ref($errors) eq 'ARRAY' ? join(', ', @{$errors}) : $errors) . "\n";
} |
Perl - JSON
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use JSON::XS;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnie&Password=the-pooh";
$params.= "&NumberOfCredits=1000";
$params.= "&CouponCode=honey2011";
$params.= "&FirstName=Winnie";
$params.= "&LastName=The Pooh";
$params.= "&Street=Hollow tree, under the name of Mr. Sanders";
$params.= "&City=Hundred Acre Woods";
$params.= "&State=New York";
$params.= "&Zip=12345";
$params.= "&Country=US";
$params.= "&CreditCardTypeID=Visa";
$params.= "&Number=4111111111111111";
$params.= "&SecurityCode=123";
$params.= "&ExpirationMonth=10";
$params.= "&ExpirationYear=2017";
my $responde = HTTP::Request->new(POST => "https://app.clubtexting.com/billing/credits?format=json");
$responde->content_type("application/x-www-form-urlencoded");
$responde->content($params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = JSON::XS->new->decode ($responseObj->content);
print 'Status: ' . $response->{Response}->{Status} . "\n" .
'Code: ' . $response->{Response}->{Code} . "\n";
if ($isSuccesResponse) {
print 'Credits purchased: ' . $response->{Response}->{Entry}->{BoughtCredits} . "\n" .
'Amount charged, $: ' . $response->{Response}->{Entry}->{Amount} . "\n" .
'Discount, $: ' . $response->{Response}->{Entry}->{Discount} . "\n" .
'Plan credits: ' . $response->{Response}->{Entry}->{PlanCredits} . "\n" .
'Anytime credits: ' . $response->{Response}->{Entry}->{AnytimeCredits} . "\n" .
'Total: ' . $response->{Response}->{Entry}->{TotalCredits} . "\n";
} else {
foreach $err (@{$response->{Response}->{Errors}}) {
print 'Error: ' . $err . "\n";
}
} |
Carrier Lookup |
Returns the wireless carrier of a valid mobile phone number (US & Canada) |
Code Samples |
Perl - XML
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use XML::Simple;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnielkup&Password=winnielkup";
my $responde = HTTP::Request->new(GET => "https://app.clubtexting.com/sending/phone-numbers/2345678910?format=xml&".$params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = XML::Simple->new->XMLin($responseObj->content);
print 'Status: ' . $response->{Status} . "\n" .
'Code: ' . $response->{Code} . "\n";
if ($isSuccesResponse) {
print 'Phone number: ' . $response->{Entry}->{PhoneNumber} . "\n" .
'CarrierName: ' . $response->{Entry}->{CarrierName} . "\n";
} else {
$errors = $response->{Errors}->{Error};
print 'Errors: ' .(ref($errors) eq 'ARRAY' ? join(', ', @{$errors}) : $errors) . "\n";
} |
Perl - JSON
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use JSON::XS;
$ua = new LWP::UserAgent(keep_alive=>1);
$params = "";
$params.= "User=winnielkup&Password=winnielkup";
my $responde = HTTP::Request->new(GET => "https://app.clubtexting.com/sending/phone-numbers/2345678910?format=json&".$params);
$responseObj = $ua->request($responde);
print $responseObj->content."\n--------------------\n";
$responseCode = $responseObj->code;
print 'Response code: ' . $responseCode . "\n";
$isSuccesResponse = $responseCode < 400;
$response = JSON::XS->new->decode ($responseObj->content);
print 'Status: ' . $response->{Response}->{Status} . "\n" .
'Code: ' . $response->{Response}->{Code} . "\n";
if ($isSuccesResponse) {
print 'Phone number: ' . $response->{Response}->{Entry}->{PhoneNumber} . "\n" .
'CarrierName: ' . $response->{Response}->{Entry}->{CarrierName} . "\n";
} else {
foreach $err (@{$response->{Response}->{Errors}}) {
print 'Error: ' . $err . "\n";
}
} |
Contacts |
When working with Contacts you can perform five actions: Post (Add New Contact), Put (Update/Edit A Contact), Delete (Delete A Contact), Get (Get Contact By ID), Index (Get All Contacts). The code samples below use shared libraries: |
Code Samples |
Perl - XML
#!/usr/bin/perl
use warnings;
use strict;
use SmsTextingAPI;
use Data::Dumper;
use feature qw(say);
say 'XML encoding.';
my $sms = new SmsTextingAPI("demouser", "password", SmsTextingAPI::XML, "https://app.clubtexting.com");
say 'Get contacts';
my $response = $sms->getAll(SmsTextingAPI::CONTACT,
'source' => 'upload',
'optout' => 'false',
'group' => 'Honey Lovers',
'sortBy' => 'PhoneNumber',
'sortDir' => 'asc',
'itemsPerPage' => '10',
'page' => '3');
say Dumper($response);
say 'Create contact';
$response = $sms->put(SmsTextingAPI::CONTACT,
'PhoneNumber' => '2123456945',
'FirstName' => 'Piglet',
'LastName' => 'P.',
'Email' => '[email protected]',
'Note' => 'It is hard to be brave, when you are only a Very Small Animal.',
'Groups' => ['Friends', 'Neighbors']);
say Dumper($response);
say 'Get contact';
my $contactId = $response->{Entry}->{ID};
$response = $sms->get(SmsTextingAPI::CONTACT, $contactId);
say Dumper($response);
say 'Update contact';
my $contact = $response->{Entry};
$contact->{'LastName'} = 'test';
$response = $sms->put(SmsTextingAPI::CONTACT, %$contact);
say Dumper($response);
say 'Delete contact';
$response = $sms->delete(SmsTextingAPI::CONTACT, $contactId);
say Dumper($response);
say 'Second delete. try to get error';
$response = $sms->delete(SmsTextingAPI::CONTACT, $contactId);
say Dumper($response); |
Perl - JSON
#!/usr/bin/perl
use warnings;
use strict;
use SmsTextingAPI;
use Data::Dumper;
use feature qw(say);
say 'JSON encoding.';
$sms = new SmsTextingAPI("demouser", "password", SmsTextingAPI::JSON, "https://app.clubtexting.com");
say 'Get contacts';
$response = $sms->getAll(SmsTextingAPI::CONTACT,
'source' => 'upload',
'optout' => 'false',
'group' => 'Honey Lovers',
'sortBy' => 'PhoneNumber',
'sortDir' => 'asc',
'itemsPerPage' => '10',
'page' => '3');
say Dumper($response);
say 'Create contact';
$response = $sms->put(SmsTextingAPI::CONTACT,
'PhoneNumber' => '2123456945',
'FirstName' => 'Piglet',
'LastName' => 'P.',
'Email' => '[email protected]',
'Note' => 'It is hard to be brave, when you are only a Very Small Animal.',
'Groups' => ['Friends', 'Neighbors']);
say Dumper($response);
say 'Get contact';
$contactId = $response->{Entry}->{ID};
$response = $sms->get(SmsTextingAPI::CONTACT, $contactId);
say Dumper($response);
say 'Update contact';
$contact = $response->{Entry};
$contact->{'LastName'} = 'test';
$response = $sms->put(SmsTextingAPI::CONTACT, %$contact);
say Dumper($response);
say 'Delete contact';
$response = $sms->delete(SmsTextingAPI::CONTACT, $contactId);
say Dumper($response);
say 'Second delete. try to get error';
$response = $sms->delete(SmsTextingAPI::CONTACT, $contactId);
say Dumper($response); |
Groups |
When working with Groups you can perform five actions: Post (Add New Group), Put (Update/Edit A Group), Delete (Delete A Group), Get (Get Group By ID), Index (Get All Groups). The code samples below use shared libraries: |
Code Samples |
Perl - XML
#!/usr/bin/perl
use warnings;
use strict;
use SmsTextingAPI;
use Data::Dumper;
use feature qw(say);
say 'XML encoding.';
my $sms = new SmsTextingAPI("demouser", "password", SmsTextingAPI::XML, "https://app.clubtexting.com");
say 'Get groups';
my $response = $sms->getAll(SmsTextingAPI::GROUP, 'sortBy' => 'Name');
say Dumper($response);
say 'Create group';
$response = $sms->put(SmsTextingAPI::GROUP,
'Name' => 'Tubby Bears',
'Note' => 'A bear, however hard he tries, grows tubby without exercise');
say Dumper($response);
say 'Get group';
my $groupId = $response->{Entry}->{ID};
$response = $sms->get(SmsTextingAPI::GROUP, $groupId);
say Dumper($response);
say 'Update group';
my $group = $response->{Entry};
$group->{'Note'} = 'test';
$response = $sms->put(SmsTextingAPI::GROUP, %$group);
say Dumper($response);
say 'Delete group';
$response = $sms->delete(SmsTextingAPI::GROUP, $groupId);
say Dumper($response);
say 'Second delete. try to get error';
$response = $sms->delete(SmsTextingAPI::GROUP, $groupId);
say Dumper($response); |
Perl - JSON
#!/usr/bin/perl
use warnings;
use strict;
use SmsTextingAPI;
use Data::Dumper;
use feature qw(say);
say 'JSON encoding.';
$sms = new SmsTextingAPI("demouser", "password", SmsTextingAPI::JSON, "https://app.clubtexting.com");
say 'Get groups';
$response = $sms->getAll(SmsTextingAPI::GROUP, 'sortBy' => 'Name');
say Dumper($response);
say 'Create group';
$response = $sms->put(SmsTextingAPI::GROUP,
'Name' => 'Tubby Bears',
'Note' => 'A bear, however hard he tries, grows tubby without exercise');
say Dumper($response);
say 'Get group';
$groupId = $response->{Entry}->{ID};
$response = $sms->get(SmsTextingAPI::GROUP, $groupId);
say Dumper($response);
say 'Update group';
$group = $response->{Entry};
$group->{'Note'} = 'test';
$response = $sms->put(SmsTextingAPI::GROUP, %$group);
say Dumper($response);
say 'Delete group';
$response = $sms->delete(SmsTextingAPI::GROUP, $groupId);
say Dumper($response);
say 'Second delete. try to get error';
$response = $sms->delete(SmsTextingAPI::GROUP, $groupId);
say Dumper($response); |
