NAME
   Net::WholesaleSystem - VentraIP Wholesale SSL API

VERSION
   version 0.01

SYNOPSIS
       use Net::WholesaleSystem;

       my $WholesaleSystem = Net::WholesaleSystem->new(
           resellerID => $resellerID,
           apiKey     => $apiKey
       );

       # get balance
       my $balance = $WholesaleSystem->balanceQuery or die $WholesaleSystem->errstr;
       print $balance;

 DESCRIPTION
   VentraIP Wholesale SSL API

  new
       my $WholesaleSystem = Net::WholesaleSystem->new(
           resellerID => $resellerID,
           apiKey     => $apiKey
       );

   *   "resellerID" (required)

   *   "apiKey" (required)

       resellerID & apiKey, provided by VentraIP Wholesale

   *   "is_ote"

       if "is_ote" is set to 1, we use
       https://api-ote.wholesalesystem.com.au/?wsdl instead of
       https://api.wholesalesystem.com.au/?wsdl

   *   "debug"

       enable SOAP::Trace->import('all')

  balanceQuery
       my $balance = $WholesaleSystem->balanceQuery or die $WholesaleSystem->errstr;

   Account Balance Query allows you to obtain the account balance.

  getSSLCertificate
       my $cert = $WholesaleSystem->getSSLCertificate($certID);

   to obtain information for a SSL certificate you?ve recently purchased

  getCertSimpleStatus
       my $cert = $WholesaleSystem->getCertSimpleStatus($certID);

  decodeCSR
       my $data = $WholesaleSystem->decodeCSR($csr);

   decode the certificate signing request (CSR) you have provided to ensure
   all the details are correct before purchasing the SSL.

  generateCSR
       my $data = $WholesaleSystem->generateCSR(
           'numOfYears' => '3',
           'country' => 'AU',
           'state'   => 'VIC',
           'city'    => 'Melbourne',
           'organisation' => 'VentraIP',
           'organisationUnit' => 'Systems Admin',
           'commonName' => 'forums.ventraip.com.au',
           'emailAddress' => '[email protected]'
       );

   generate the user a Private Key of 2048 bits in size, a Self Signed
   Certificate and a CSR request.

  purchaseSSLCertificate
       my $cert = $WholesaleSystem->purchaseSSLCertificate(
           csr => $csr,
           productID => 55,
           firstName => 'John',
           lastName  => 'Doe',
           emailAddress => '[email protected]',
           address => 'PO Box 119',
           city => 'Beaconsfield',
           state => 'VIC',
           postCode => '3807',
           country => 'AU',
           phone => '+61.390245343',
           fax => '+61.380806481',
       ) or die $WholesaleSystem->errstr;

   purchase an SSL certificate

  reissueCertificate
       my $output = $WholesaleSystem->reissueCertificate($certID, $newCSR);

   re-issue the SSL certificate using a new certificate signing request
   (CSR)

  cancelSSLCertificate
       my $output = $WholesaleSystem->cancelSSLCertificate($certID);

   cancel an SSL certificate that has not been processed (eg. still pending
   approval).

  renewSSLCertificate
       my $output = $WholesaleSystem->renewSSLCertificate(
           certID => $certID,
           firstName => 'John',
           lastName  => 'Doe',
           emailAddress => '[email protected]',
           address => 'PO Box 119',
           city => 'Beaconsfield',
           state => 'VIC',
           postCode => '3807',
           country => 'AU',
           phone => '+61.390245343',
           fax => '+61.380806481',
       ) or die $WholesaleSystem->errstr;

   renew an SSL certificate

  resendDVEmail
       my $output = $WholesaleSystem->resendDVEmail($certID);

   resend the approval email for an SSL certificate

  resendIssuedCertificateEmail
       my $output = $WholesaleSystem->resendIssuedCertificateEmail($certID);

   resend the original completed certificate email to the customer. This is
   helpful should your customer loose the details of their SSL and you need
   to provide the information again.

  listAllCerts
       my @certs = $WholesaleSystem->listAllCerts;

   obtain a list of all SSL certificates related to your account

  getDomainBeacon
       my $output = $WholesaleSystem->getDomainBeacon($certID, $domain);

   obtain a list of all SSL certificates related to your account

   The domain beacon is used for verification of premium SSL certificates
   to prove ownership of the domain and ensure the requester has access to
   the domain in question. The domain beacon file must be saved as the
   filename returned from the API request and the 'beacon' saved in the
   file.

  checkDomainBeacon
       my $output = $WholesaleSystem->checkDomainBeacon($certID, $domain);

   Upon requesting the domain beacon from 'SSL_getDomainBeacon' this
   function will then process the SSL for validation against the
   certificate ID supplied.

  Certificate Product IDs
       55 Trustwave Domain Validated SSL - 1 Year
       56 Trustwave Domain Validated SSL - 2 Year
       57 Trustwave Domain Validated SSL - 3 Year
       58 Trustwave Premium SSL - 1 year
       59 Trustwave Premium SSL - 2 year
       60 Trustwave Premium SSL - 3 year
       61 Trustwave Enterprise SSL - 1 Year
       62 Trustwave Enterprise SSL - 2 Year
       63 Trustwave Enterprise SSL - 3 Year
       64 Trustwave Premium Wildcard SSL - 1 Year
       65 Trustwave Premium Wildcard SSL - 2 Year
       66 Trustwave Premium Wildcard SSL - 3 Year
       67 Trustwave Premium EV SSL - 1 Year
       68 Trustwave Premium EV SSL - 2 Year

AUTHOR
   VentraIP Wholesale <[email protected]>

COPYRIGHT AND LICENSE
   This software is copyright (c) 2011 by VentraIP Wholesale.

   This is free software; you can redistribute it and/or modify it under
   the same terms as the Perl 5 programming language system itself.