The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

services_available

    $enta->services_available ( cli => "02072221122" );

Returns a hash showing line qualification data

regrade_options

    $enta->regrade_options( "service-id" => "ADSL12345" );

Returns an array detailing the available regrade options on the service.

Data returned is the same as from services_available

adslchecker

    $enta->adslchecker( cli => "02072221122", mac => "LSDA12345523/DF12D" );

Returns details from Enta's interface to the BT ADSL checker. See Enta docs for details of what is returned.

cli parameter is required. mac is optional

username_available

    $enta->username_available( username => 'abcdef' );

Returns true if the specified username is available to be used for a customer ADSL login at Enta.

verify_mac

    $enta->verify_mac( cli => "02072221111", mac => "ABCD0123456/ZY21X" );

Given a cli and MAC returns 1 if the MAC is valid.

interleaving_status

    $enta->interleaving_status( "service-id" => "ADSL12345" );

Returns the current interleaving status if available

interleaving

    $enta->interleaving( "service-id" => "ADSL123456", "interleaving" => "No")

Changes the interleaving setting on the given service

stabilityoption

    $enta->stabilityoption( "service-id" => "ADSL123456", "option" => "Standard" );

Sets the Stability Option feature on a service

elevatedbestefforts

    $enta->elevatedbestefforts( "service-id" => "ADSL123456", "option" => "Yes",
        "fee" => "5.00" );

Enables or disables Elevated Best Efforts on the given service. If the optional "fee" parameter is passed the monthly fee for this option is set accordingly, otherwise it is set to the default charged by Enta.

change_carelevel

    $enta->carei_level( "service-id" -> "ADSL12345", "care-level" => "enhanced" );

Changes the care-level associated with a given service.

care-level can be set to either standard or enhanced.

Returns true is successful.

enhanced_care

    $enta-enhanced_care( "service-id" => "ADSL123456", "option" => "On",
        "fee" => "15.00" );

Enables or disabled Enhanced Care on a given service. If the optional "fee" parameter is passed the monthly fee for this option is set accordingly, otherwise it is set to the default charged by Enta.

modifylinefeatures

    $enta->modifylinefeatures(
        "Ref" => "ADSL123456", "Username" => "abcdef", 
        "Telephone" => "02071112222", "LineFeatures" => {
            "Interleaving" => "No", 
            "StabilityOption" => "Standard", 
            "ElevatedBestEfforts" => "Yes", 
            "ElevatedBestEffortsFee" => "15.00", 
            "MaintenanceCategory" => "4",
            "MaintenanceCategoryFee" => "25.00"
        } );

Modify the Enta service reference specificed in either Ref, Username or Telephone. Parameters are as per the Enta documentation

Returns a hash containing details of the new settings resulting from the change(s) made - ie:

    %return = { interleaving => "No" };

order_updates_since

    $enta->order_updates_since( "date" => "2009-12-01" );

Returns all the BT order updates since the given date

getbtfeed

    $enta->getbtfeed( "days" => 5 );

Returns a list of events that have occurred on all orders over the number of days specified.

Parameters:

    days : The number of days up to the current date to get reports for

The return is an date/time sorted array of hashes each of which contains the following fields: order-id date name value

update_contact

    $enta->update_contact( "service-id" => "ADSL12345", 
                            email => 'me@example.com',
                            telday => '02070020011',
                            televe => '02080020011' );

Updates the given contact details. Returns true if updated.

You can use this to change the email address, daytime telephone number and evening telephone number of the contact for the given service.

cease

    $enta->cease( "service-id" => "ADSL12345", "crd" => "1970-01-01" );

Places a cease order to terminate the ADSL service completely.

requestmac

    $enta->requestmac( "service-id" => 'ADSL12345');

Obtains a MAC for the given service.

Returns a hash comprising: mac, expiry-date if the MAC is available or submits a request for the MAC which can be obtained later.

auth_log

    $enta->auth_log( "service-id" => 'ADSL12345' );

Gets the most recent authentication attempt log.

max_reports

    $enta->max_reports( "service-id" => "ADSL12345" );

Returns the ADSL MAX reports for connections which are based upon ADSL MAX

order_eventlog_history

    $enta->order_eventlog_history( username => "myusername" );

Gets the provisioning history for a specified customer order.

Takes "username" as parameter.

Returns an array, each element of which details an order update.

getadslinstall

    $enta->getadslinstall( username => "username", dateformat => "%d %b %Y" );

Get's the provisioning history for the specified customer

Returns an array, each element of which is a hash detailing an update as follows:

date name value

service_view

    $enta->service_details( "service-id" => 'ADSL12345' );

Returns the ADSL service details

service_details

    $enta->service_details( "service-id" => 'ADSL12345' );

Returns the ADSL service details

adslaccount

    $enta->adslaccount( "service-id" => "ADSL12345" );

Returns details for the given service

order

    $enta->order(
        # Customer details
        forename => "Clara", surname => "Trucker", company => "ABC Ltd",
        building => "123", street => "Pigeon Street", city => "Manchester", 
        county => "Greater Manchester", postcode => "M1 2JX",
        telephone => "01614960213", email => "clare@example.com",
        # Order details
        clid => "01614960213", "client-ref" => "claradsl", 
        "prod-id" => $product, crd => $leadtime, username => "claraandhugo",
        password => "skyr153", "care-level" => "standard", 
        realm => "surfdsl.net"
    );

Submits an order for DSL to be provided to the specified phone line. Note that all the parameters above must be supplied. CRD is the requested delivery date in YYYY-mm-dd format; you are responsible for computing dates after the minimum lead time. The product ID should have been supplied to you by Enta.

Additional parameters are listed below and described in the integration guide:

    title street company mobile email fax sub-premise fixed-ip routed-ip
    allocation-size hardware-product max-interleaving test-mode
    inclusive-transfer

terms_and_conditions

Returns the terms-and-conditions to be presented to the user for signup of a broadband product.

product_change

    $enta->product_change( "username" => "myusername", "family" => "Family",
        "cap" => "30", "speed" => "8000" );

Place an order to change the specified service to the given new product.

Note that you can only use username or telephone to identify the service. You cannot use ref or service-id

regrade

    $enta->regrade( "service-id" => "ADSL12345",
                    "prod-id" => "FAM30" );

Places an order to regrade the specified service to the specified prod-id.

Required parameters:

    prod-id : New Enta product ID
    service-id : you must provide one of service-id, ref, username or telephone

usage_summary

    $enta->usage_summary( "service-id" => "ADSL12345", "year" => '2009', "month" => '01' );

Returns a summary of usage in the given month

usage_history_detail

    $enta->usage_history_detail( "service-id" => "ADSL12345", 
        startday => '2009-12-01', endday => '2010-02-01',
        dateformat => "%a, %d %m %Y");
   
    $enta->usage_history_detail( "service-id" => "ADSL12345", 
        day => '2010-02-01' );

Returns usage details for each day in a period or each 10 minute period in a day if called with day as the parameter.

Parameters:

    service-id : Service identifier (or ref, username or telephone)
    startday   : Start date in ISO format
    endday     : End data in ISO format
    day        : Date in ISO format
    dateformat : Format string per strftime. Defaults to ISO. (Optional)

Either the startday and endday parameters or the day parameter must be passed.

Returns an array, each element of which is a hash containing usage details for either a day or a 10 minute interval.

Data returned per a day has the following keys:

    date        : Date formatted for presentation ( eg Mon, 22 Feb 2010 )
    totaldown   : Total number of bytes downloaded
    totalup     : Total number of bytes uploaded
    peakdown    : Bytes downloaded during peak period
    peakup      : Bytes uploaded during peak period

Data returned per 10 minute interval for a day:

    time    : Time at end of measured time interval
    down    : bytes downloaded during interval
    up      : bytes uploaded during interval
    

allowance

    $enta->allowance( "service-id" => "ADSL12345" );

Returns details of the customers bandwidth usage allowance including overall allowance and any overusage (topup or payg) allowances on the account.

session_log

    $enta->session_log( "service-id" => "ADSL12345", "days" => 5 );

Returns details of recent ADSL sessions - optionally specifying the number of days for how recent.

connectionhistory

    $enta->connectionhistory( "service-id" => "ADSL12345", "days" => 5 );

Returns details of recent ADSL sessions - optionally specifying the number of days for how recent.

first_crd

    $enta->first_crd();

Returns the first date an order may be placed for.