services_available
$murphx->services_available( cli => "02071112222" );
Returns an hash showing the available services and line qualifications as follows:
( qualification => {
classic => '2048000',
max => '4096000',
2plus => '5120000',
fttc => {
'up' => '6348800',
'down' => '27750400'
},
'first_date' => '2011-03-01'
},
product_id => {
'first_date' => '2011-03-01',
'max_speed' => '4096000',
'product_name' => 'DSL Product Name'
},
...
)
modify
$murphx->modify(
"service-id" => "12345", "client-ref" => "myref", "prod-id" => "1000",
"crd" => "2009-12-31", "care-level" => "standard" "inclusive-transfer" => "3",
"test-mode" = "N" );
Modify the service specificed in service-id. Parameters are as per the Murphx documentation
Returns order-id for the modify order.
change_password
$murphx->change_password( "service-id" => "12345", "password" => "secret" );
Changes the password for the ADSL login on the given service.
Requires service-id and password
Returns 1 for successful password change.
woosh_response
$murphx->woosh_response( "12345" );
Obtains the results of a Woosh test, previously requested using request_woosh(). Takes the ID of the woosh test as its only parameter. Note that this will only return results for completed Woosh tests. Use woosh_list() to determine if the woosh test is completed.
Returns an hash containing a hash for each set of test results. See Murphx documentation for details of the test result fields.
woosh_list
$murphx->woosh_list( "12345" );
Obtain a list of all woosh tests requested for the given service-id and their status.
Requires service-id as the single parameter.
Returns an array, each element of which is a hash containing the following fields for each requested Woosh test:
service-id woosh-id start-time stop-time status
The array elements are sorted by date with the most recent being first.
request_woosh
$murphx->request_woosh( "service-id" => "12345", "fault-type" => "EPP",
"has-worked" => "Y", "disruptive" => "Y", "fault-time" => "2007-01-04 15:33:00");
Alias to woosh_request_oneshot
woosh_request_oneshot
$murphx->woosh_request_oneshot( "service-id" => "12345", "fault-type" => "EPP",
"has-worked" => "Y", "disruptive" => "Y", "fault-time" => "2007-01-04 15:33:00");
Places a request for Woosh test to be run on the given service. Parameters are passed as a hash which must contain:
service-id - ID of the service
fault-type - Type of fault to check. See Murphx documentation for available types
has-worked - Y if the service has worked in the past, N if it has not
disruptive - Y to allow Woosh to run a test which will be disruptive to the service.
fault-time - date and time (ISO format) the fault occured
Returns a scalar which is the id of the woosh test. Use woosh_response with this id to get the results of the Woosh test.
order_updates_since
$murphx->order_updates_since( "date" => "2007-02-01 16:10:05" );
Alias to order_eventlog_changes
order_eventlog_changes
$murphx->order_eventlog_changes( "date" => "2007-02-01 16:10:05" );
Returns a list of events that have occurred on all orders since the provided date/time.
The return is an date/time sorted array of hashes each of which contains the following fields: order-id date name value
auth_log
$murphx->auth_log( "service-id" => '12345', "rows" => "5" );
Alias for service_auth_log
service_auth_log
$murphx->service_auth_log( "service-id" => '12345', "rows" => "5" );
Gets the last n rows, as specified in the rows parameter, of authentication log entries for the service
Returns an array, each element of which is a hash containing: auth-date, username, result and, if the login failed, error-message
session_log
$murphx->session_log( { } );
Alias for service_session_log
service_session_log
$murphx->service_session_log( "session-id" => "12345", "rows" => "5" );
Gets the last entries in the session log for the service. The number of entries is specified in the "rows" parameter.
Returns an array each element of which is a hash containing:
start-time stop-time download upload termination-reason
usage_summary
$murphx->usage_summary( "service-id" =>'12345', "year" => '2009', "month" => '01' );
Alias for service_usage_summary()
service_usage_summary
$murphx->service_usage_summary( "service-id" =>'12345', "year" => '2009', "month" => '01' );
Gets a summary of usage in the given month. Inputs are service-id, year, month.
Returns a hash with the following fields:
year, month, username, total-sessions, total-session-time,
total-input-octets, total-output-octets
Input octets are upload bandwidth. Output octets are download bandwidth.
Be warned that the total-input-octets and total-output-octets fields returned appear to be MB rather than octets contrary to the Murphx documentation.
service_terminate_session
$murphx->service_terminate_session( "12345" );
Terminates the current session on the given service-id.
Returns 1 if successful
cease
$murphx->cease( "service-id" => 12345, "reason" => "This service is no longer required"
"client-ref" => "ABX129", "crd" => "1970-01-01", "accepts-charges" => 'Y' );
Places a cease order to terminate the ADSL service completely. Takes input as a hash.
Required parameters are : service-id, crd, client-ref
Returns order-id which is the ID of the cease order for tracking purposes.
request_mac
$murphx->requestmac( "service-id" => '12345', "reason" => "EU wishes to change ISP" );
Obtains a MAC for the given service. Parameters are service-id and reason the customer wants a MAC.
Returns a hash comprising: mac, expiry-date
service_status
$murphx->service_status( "12345" );
Gets the current status for the given service id.
Returns a hash containing:
live, username, ip-address, session-established, session-start-date,
ping-test, average-latency
service_history
$murphx->service_history( "12345" );
Returns the full history for the given service as an array each element of which is a hash:
order-id name date value
service_eventlog_history
$murphx->service_eventlog_history( "12345" );
Returns the full history for the given service as an array each element of which is a hash:
order-id name date value
services_history
$murphx->services_history( "start-date" => "2007-01-01", "stop-date" => "2007-02-01" );
Returns an array each element of which is a hash continaing the following data:
service-id order-id date name value
service_eventlog_changes
$murphx->service_eventlog_changes( "start-date" => "2007-01-01", "stop-date" => "2007-02-01" );
Returns an array each element of which is a hash continaing the following data:
service-id order-id date name value
order_status
$murphx->order_status( '12345' );
Gets status of an order. Input is the order-id from Murphx
Returns a hash containing a hash order and a hash customer The order hash contains:
order-id, service-id, client-ref, order-type, cli, service-type, service,
username, status, start, finish, last-update
The customer hash contains:
forename, surname, address, city, county, postcode, telephone, building
service_view
$murphx->service_view ( "service-id" => '12345' );
Combines the data from service_details, service_history and service_options
Returns a hash as follows:
%service = ( "service-details" => {
service-id => "", product-id => "",
... },
"service-options" => {
"speed-limit" => "", "suspended" => "",
... },
""service-history" => {
[
{ "event-date" => "", ... },
...
] },
"customer-details" => {
"title" => "", "forename", ... }
)
See Murphx documentation for full details
service_details
$murphx->service_details( '12345' );
Obtains details of the service identified by "service-id" from Murphx
Returns a hash with details including (but not limited to): activation-date, cli, care-level, technology-type, service-id username, password, live, product-name, ip-address, product-id cidr
interleaving_status
$murphx->interleaving_status( "service-id" => 12345 );
Returns current interleaving status if available or undef;
If not undef status can be one of:
'opt-in', 'opt-out' or 'auto'
order_history
$murphx->order_history( 12345 );
Alias to order_eventlog_history
order_eventlog_history
$murphx->order_eventlog_history( 12345 );
Gets order history
Returns an array, each element of which is a hash showing the next update in date sorted order. The hash keys are date, name and value.
services_overusage
$murphx->services_overusage( "period" => "", "limit" => "100" );
Returns an array each element of which is a hash detailing each service which has exceeded its usage cap. See the Murphx documentation for details.
speed_limit_status
$murphx->speed_limit_status( 12345 );
Returns either a hash reference or a description of the speed limit status.
speed_limit_enable
$murphx->speed_limit_enable( "service-id" => 12345,
"upstream-limit" => "768",
"downstream-limit" => "768",
);
Set speed limits for the given service.
speed_limit_disable
$murphx->speed_limit_disable( 12345 );
Turn off speed limits for the given service.
service_unsuspend
$murphx->service_unsuspend( 12345 );
Unsuspend this broadband service.
service_suspend
$murphx->service_suspend( "service-id" => 12345,
reason => "I don't like them");
Suspend this broadband service for the given reason.
walledgarden_status
$murphx->walledgarden_status( "service-id" => 12345 );
Returns true is the current service is subject to walled garden restrictions or undef if not.
walledgarden_enable
$murphx->walledgarden_enable( "service-id" => 12345, "ip-address" -> '192.168.1.1' );
Redirects all (http and https) traffic to the specified IP address
walledgarden_disable
$murphx->walledgarden_disable( "service-id" => 12345 );
Disables the "walled garden" restriction on the service
change_carelevel
$murphx->change_carelevel( "service-id" -> 12345, "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.
care_level
$murphx->carei_level( "service-id" -> 12345, "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.
service_actions
$murphx->service_actions( "service-id" -> 12345 );
Returns a hash detailing which actions can be taken on the given service.
Each action has a corresponding function in this module.
product_details
$murphx->product_details( $product-id );
Returns full product details for the given product id
customer_details
$murphx->customer_details($serviceId);
Returns the customer details for a given service ID
case_new
$murphx->case_new( "service-id" => 12345, "service-type" => "adsl",
"username" => "username@realm", "cli" => "02071112222",
"os" => "Linux", "hardware-product" => "Other",
"problem-type" => "Connection", "experienced" => "2010-01-01",
"reported" => "User does not have sync", "priority" => "High" );
case_view
$murphx->case_view( "case-id" => "12345" );
Returns a hash containing details of an existing case
case_search
$murphx->case_search( "service-id" => 12345 );
Returns basic details of all cases matching a given search.
Search parameters can include the following (and must include at least one of them):
case-id, service-id, customer-id, service-type, username, partial-cli,
engineer, problem-type, priority or status
Returns an array, each element of which is a hash providing basic details of the case. Use case_view and case_history to get more details.
case_history
$murphx->case_history( "case-id" => "12345" );
Returns a full history for the given case-id.
Return is an array, each element of which is a hash detailing a specific update to the case.
case_update
$murphx->case_update( "case-id" => "12345", "priority" => "High",
"reason" => "More information about problem" );
Updates the given case with update given in "reason".
Returns 1 if update completed.
regrade_options
$murphx->regrade_options( "service-id" => "12345" );
Returns an array containing details of the regrade options avaiulable on the given service using the module. Each element of the array is a hash with the same specification as returned by services_available
regrade
$murphx->regrade( "service-id" => "12345",
"prod-id" => 1595,
"crd" => "2010-02-01" );
Places an order to regrade the specified service to the defined prod-id on the crd specified. Use regrade_options first to determine which products are available and the earliest crd available.
The parameters you may pass to this function are the same as for the modify function. See Murphx documentation for details.
order
$murphx->order(
# Customer details
forename => "Clara", surname => "Trucker",
building => "123", street => "Pigeon Street", city => "Manchester",
county => "Greater Manchester", postcode => "M1 2JX",
telephone => "01614960213",
# 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 Murphx.
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
If a mac
and losing-isp
is passed, then the order is understood as a migration rather than a provision.
Returns a hash describing the order.
terms_and_conditions
Returns the terms-and-conditions to be presented to the user for signup of a broadband product.
first_crd
$murphx->first_crd( "order-type" => "provide", "product-id" => "1595" );
Returns the first possible date in ISO format an order of the specified may be placed for.
Required Parameters:
order-type : provide, migrate in, modify or cease
product-id : the Murphx product ID
leadtime
$murphx->leadtime( "order-type" => "provide", "product-id" => "1595" );
Returns a hash detailing the leadtime and first date for an order of the given type and for the given product.
Required Parameters:
order-type : provide, migrate in, modify or cease
product-id : the Murphx product ID
Returns:
leadtime : number of leadtime days
first-date-int : first date as seconds since unix epoch
first-date-text : first date in ISO format