Perl client for Sailthru API
Perl Perl6
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib/Sailthru
t
.gitignore
.perltidyrc
Changes
MANIFEST
MANIFEST.SKIP
Makefile.PL
README.md

README.md

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.