sailthru-perl-client
For a download please visit: http://getstarted.sailthru.com/new-for-developers-overview/api-client-library/perl
####INSTALLATION
To install this module type the following:
perl Makefile.PL
make
make test
make install
####DEPENDENCIES
This module requires these other modules and libraries:
Digest::MD5
JSON::XS
LWP::Protocol::https
LWP::UserAgent
Params::Validate
Readonly
URI
Test::MockModule
Test::Exception
####API Rate Limiting Here is an example how to check rate limiting and throttle API calls based on that. For more information about Rate Limiting, see Sailthru Documentation
my $sailthru_client = Sailthru::Client->new( $API_KEY, $API_SEC );
# ... make some api calls ...
$rate_limit_info = $sailthru_client->get_last_rate_limit_info('user', 'POST');
# get_last_rate_limit_info returns undef if given endpoint/method wasn't triggered previously
if (defined $rate_limit_info) {
$limit = $rate_limit_info->limit;
$remaining = $rate_limit_info->remaining;
$reset_timestamp = $rate_limit_info->reset;
# throttle api calls based on last rate limit info
if ($remaining <= 0) {
$seconds_till_reset = $reset_timestamp - time
# sleep or perform other business logic before next user api call
sleep($reconds_till_reset);
}
}
####COPYRIGHT AND LICENSE
Copyright (c) 2016 Sailthru, Inc., https://www.sailthru.com/
Adapted from the original Triggermail module created by Sam Gerstenzang.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.