Skip to content

Instantly share code, notes, and snippets.

@Ergin008
Created January 2, 2013 23:50
Show Gist options
  • Save Ergin008/4439480 to your computer and use it in GitHub Desktop.
Save Ergin008/4439480 to your computer and use it in GitHub Desktop.
#!/usr/bin/perl
#
# API WALKTHROUGH #5 in Perl - Get Envelope Status Info
#
use strict;
use LWP 6.00;
use JSON;
use Data::Dumper;
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME}=0;
# Enter your info:
my $username = "***";
my $password = "***";
my $integratorKey = "***";
my $authHeader = '<DocuSignCredentials><Username>' . $username . '</Username>' .
'<Password>' . $password . '</Password>' .
'<IntegratorKey>' . $integratorKey . '</IntegratorKey></DocuSignCredentials>';
######################################################################
# STEP 1 - Login
######################################################################
my $url = 'https://demo.docusign.net/restapi/v2/login_information';
my $browser = LWP::UserAgent->new;
my @requestHeaders = (
'X-DocuSign-Authentication' => $authHeader,
'Content-Type' => 'application/json',
'Accept' => 'application/json');
my $response = $browser->get( $url, @requestHeaders );
die "Error encountered during login request -- ", $response->status_line . "\n"
unless $response->is_success;
my $decoded_json = decode_json( $response->content );
my $baseUrl = $decoded_json->{"loginAccounts"}[0]->{"baseUrl"};
my $accountId = $decoded_json->{"loginAccounts"}[0]->{"accountId"};
#-- display results
print "\nLogin successful...\nbaseUrl = " . $baseUrl . "\naccountId = " . $accountId . "\n";
######################################################################
# STEP 2 - Request Envelope Status using url query string
######################################################################
#append "/envelopes" + a url query string to $baseUrl and use in the request
$url = $baseUrl . "/envelopes" . "?from_date=8%2F20%2F2012&status=sent";
@requestHeaders = (
'X-DocuSign-Authentication' => $authHeader);
my $req = HTTP::Request->new(GET => $url);
$req->header( @requestHeaders );
$response = $browser->request( $req );
die "Error encountered during login request -- ", $response->status_line
unless $response->is_success;
$decoded_json = decode_json( $response->content );
#-- display results
print "\nResults = ";
print Dumper $response->content;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment