The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

jBilling::Client::SOAP - Communicate with jBilling

VERSION

Version 0.05

SYNOPSIS

This module acts as an interface for functionality exposed by the jBilling SOAP API.

Initialise the library use jBilling::Client::SOAP; my $jb = jBilling::Client::SOAP->new(); $jb->getAPI( 'username' => 'yourusername', 'password' => 'yourpassword', 'url' => 'http://yourservername:yourserverport/jbilling/services/api' ); # Initialise the API

Load an existing order from jBilling my $order = jBilling::Client::SOAP::OrderWS->new( 'jbilling' => $jb, # The Client connection to jBilling 'id' => 25300 # Specify the ID which we want to load )->retrieve; # Retrieve the order details from jBilling

Create a new order my $newOrder = jBilling::Client::SOAP::OrderWS->new('jbilling' => $jb, 'period' => '200', 'billingTypeId' => '2', 'currencyId' => '110', 'userId' => '122', 'activeSince' => '2015-01-31', 'notes' => 'Some Order notes from the API');

    # Create some OrderLines
    my $ol = jBilling::Client::SOAP::OrderLineWS->new('useItem' => 'true',
                                                      'itemId' => 2103, # MAKE SURE THIS ITEM MATCHES AN ITEM YOUR SYSTEM!
                                                      'typeId' => 1, # Item
                                                      'quantity' =>  1,
                                                      'description' => "test from perl api",
                                                      );
    my $ol1 = jBilling::Client::SOAP::OrderLineWS->new('useItem'    => 'true',
                                                       'itemId'     => '2102', # MAKE SURE THIS ITEM MATCHES AN ITEM YOUR SYSTEM!
                                                       'typeId'     => 1, # Item
                                                       'quantity'   => 1,
                                                       'description' => "Another test from perl api"
                                                       );
    # And some Metafields
    my $retailer = jBilling::Client::SOAP::MetaFieldValueWS->new(
            'fieldName'   => 'retailer',
            'stringValue' => 'Test Retailer',
    );
    my $orderno = jBilling::Client::SOAP::MetaFieldValueWS->new(
            'fieldName'   => 'Order Number',
            'stringValue' => 'TestOrderNo'
    );
    
    # add our order lines to the order
    $newOrder->orderLines(\@OrderLines);
    $newOrder->metaFields(\@metafields);
    $newOrder->save; # Returns orderId on success

SUBROUTINES/METHODS

getAPI

This method initiates a SOAP::Lite object for later re-use

new

Constructs the jBilling::Client::SOAP object