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

NAME

Regru::API::Service - REG.API v2 service management

VERSION

version 0.052

DESCRIPTION

REG.API service management methods such as create/remove/suspend/resume services, get information, grant/revoke access to a service to other users, retrieve list of invoices on service and many others.

ATTRIBUTES

namespace

Always returns the name of category: service. For internal uses only.

REG.API METHODS

nop

For testing purposes. Scope: clients. Typical usage:

    $resp = $client->service->nop(
        dname   => 'kavorka.lv',
    );

Answer will contains a field services with a list of results for each involved to this operation services (domain names, hosting plans, certificates, etc) or error otherwise.

More info at Service management: nop.

get_prices

Gets a service registration/renewal pricing. Scope: everyone. Typical usage:

    $resp = $client->service->get_prices(
        currency => 'USD',      # default in RUR. also valid UAH and EUR
    );

Answer will contains a field prices with a list of all available services, their names, types, billing term and price.

More info at Service management: get_prices.

get_servtype_details

Gets detailed information about service. Scope: clients. Typical usage:

    $resp = $client->service->get_servtype_details(
        servtype    => 'srv_vps,srv_hosting_plesk',
    );

    $details = $resp->answer;

Answer will contains a list of all available plans and parameters for requested types of services, their names, types, billing term and prices for registration and renewal.

More info at Service management: get_servtype_details.

create

Orders a new service. Scope: clients. Typical usage:

    $resp = $client->service->create(
        # common options
        domain_name => 'kramerica.com',
        forder_name => 'kramerica-industries',      # put newly created service to folder
        period      => 3,                           # for 3 months

        # service related options
        servtype    => 'srv_hosting_plesk',
        subtype     => 'Host-2-0311',               # service plan
        contype     => 'hosting_org',               # organization or hosting_pp for person
        email       => 'info@kramerica.com',
        country     => 'US',
        code        => '',                          # empty for non RU-redidents only
        org_r       => 'Limited Liability Company "Kramerica Industries"',
    );

    # or
    $csreq = <<CSR;
    -----BEGIN CERTIFICATE REQUEST-----
    ...
    TwGJ9/LuG771Ehq41X/IunqqZ9+lAObxqJ9XAwNAielSPdVhx4NrPjaIGdFhdPeL
    ...
    w9n2/G9Q8gcSGg2HG09fLyvjcFMC0cnASS26EAbfOmrcFhCp2cXddmeIlpc=
    -----END CERTIFICATE REQUEST-----
    CSR

    $resp = $client->service->create(
        # common options
        domain_name         => 'kramerica.com',
        forder_name         => 'kramerica-industries',      # put newly created service to folder
        period              => 2,                           # SSL sectificate for 2 years

        # service related options
        servtype            => 'srv_ssl_sertificate',
        subtype             => 'sslwebserver',              # Thawte SSL Web Server
        server_type         => 'apachessl',                 # server software
        csr_string          => $csreq,                      # certificate request as string
        approver_email      => 'webmaster@kramerica.com',   # email for confirmation

        # organization
        org_org_name        => 'Kramerica Industries',
        org_address         => '129 West 81st Street, apt. 5B',
        org_city            => 'New York',
        org_state           => 'NY',
        org_postal_code     => '10024',
        org_country         => 'US',
        org_phone           => '+1.212.5553455',

        # administrative contact
        admin_first_name    => 'Cosmo',
        admin_last_name     => 'Kramer',
        admin_title         => 'Mr.',
        # rest of required admin_* fields
        ...

        # billing contact
        billing_*           => ...,

        # technical contact
        tech_*              => ...,
    );

Successful answer will contains a newly created service and invoice indentifiers, description of order and total amount of charges or error otherwise.

More info at Service management: create.

delete

Refuses from using active service. Scope: clients. Typical usage:

    $resp = $client->service->delete(
        domain_name => 'buck-naked.xxx',
        servtype    => 'srv_vps',
    );

Returns a success response or error if any.

More info at Service management: delete.

get_info

Obtains a detailed information about service(s) by domain name(s). Scope: clients. Typical usage:

    $resp = $client->service->get_info(
        show_folders    => 1, # include folders
        domains         => [
            { dname => 'monks.com' },
            { dname => 'reggies.com' },
        ],
    );

Answer will contains a field services with a list of services, their subtypes, states, dates of creation and dates of expiration. Also a list of folders accociated with services might be included.

More info at Service management: get_info.

get_list

Obtains an information about active service(s) by type. Scope: clients. Typical usage:

    $resp = $client->service->get_list(
        servtype => 'srv_webfwd',
    );

In case of servtype is not defined the full list of active services will be returned.

Answer will contains a field services with a list of services, their subtypes, states, dates of creation and dates of expiration.

More info at Service management: get_list.

get_folders

Returns a list of folders associated with a service. Scope: clients. Typical usage:

    $resp = $client->service->get_folders(
        service_id => 1744688,
    );

    # or
    $resp = $client->service->get_folders(
        domain_name => 'bob.sacamano.name',
    );

Answer will contains a field folders with a list of folder associated with service or empty list if no those folders.

More info at Service management: get_folders.

get_details

Gets a detailed information about the services including contact data for domains, account settings for hosting services, etc. Scope: clients. Typical usage:

    $resp = $client->service->get_details(
        services => [
            { dname => 'bubble-boy.net' },
            { service_id => 5177993 },
        ],
    );

Answer will contains a field services with a list of detailed information for each services or error otherwise.

More info at Service management: get_details.

get_dedicated_server_list

Gets a dedicated servers' list avaliable for order. Scope: clients. Typical usage:

    $resp = $client->service->get_dedicated_server_list;

Answer will contains a field server_list with a list of dedicated configurations available for order.

More info at Service management: get_dedicated_server_list.

update

Updates service configuration. Scope: clients. Typical usage:

    $resp = $client->service->update(
        domain_name => 'jambalaya.net',
        servtype    => 'srv_webfwd',    # web forwarding
        subtask     => 'addfwd',        # add rule
        fwd_type    => 'frames',        # framing content

        # http://jambalaya.net/this -> http://mulligatawny.com/that
        fwdfrom     => '/this',
        fwdto       => 'http://mulligatawny.com/that',
    );

This one is similar to method "create". Answer will contains a field descr with a description of the order or error otherwise.

More info at Service management: update.

renew

Renewals the service(s) (domain name, hosting, SSL certificate, etc). Scope: clients. Typical usage:

    $resp = $client->service->renew(
        service_id  => 2674890,
        period      => 2,   # service's billing term
    );

    # or
    $resp = $client->service->renew(
        period  => 3,   # 3 years (for domain names)
        domains => [
            { dname => 'schmoopie.com' },
            { dname => 'schmoopie.net' },
        ],
    );

Answer will contains a set of fields like renewal period, invoice identifier, currency and amount of charges,.. for each of services or error otherwise.

More info at Service management: renew.

get_bills

Gets a list of invoices associated with service(s). Scope: partners. Typical usage:

    $resp = $client->service->get_bills(
        domains => [
            { dname => 'giddyup.com' },
        ],
    );

Answer will contains a field services with a list of services, their types, id and list of invoices (field bills) or error otherwise.

More info at Service management: get_bills.

set_autorenew_flag

Manages automatic service renewals. Scope: clients. Typical usage:

    $resp = $client->service->set_autorenew_flag(
        service_id  => 86478,
        flag_value  => 1,       # 1/0 - enable/disable autorenew feature
    );

Returns just a successful/error response.

More info at Service management: set_autorenew_flag.

suspend

Suspends service usage. Scope: clients. Typical usage:

    $resp = $client->service->suspend(
        domain_name => 'festivus.org',
    );

For domain names means a suspending delegation of the. Returns just a successful/error response.

More info at Service management: suspend.

resume

Resumes service usage. Scope: clients. Typical usage:

    $resp = $client->service->resume(
        domain_name => 'festivus.org',
    );

For domain names means a resuming delegation of the. Returns just a successful/error response.

More info at Service management: resume.

get_depreciated_period

Gets the number of billing terms till the service expiration date. Scope: clients. Typical usage:

    $resp = $client->service->get_depreciated_period(
        domain_name => 'kavorka.net',
        servtype    => 'srv_hosting_ispmgr',
    );

Answer will contains a field depreciated_period with a number of terms or error otherwise.

More info at Service management: get_depreciated_period.

upgrade

Upgrades service plans for services such as virtual hosting (srv_hosting_ispmgr), VPS servers (srv_vps) and additional disk space (srv_disk_space). Scope: clients. Typical usage:

    $resp = $client->service->upgrade(
        domain_name => 'beef-a-reeno.com',
        servtype    => 'srv_vps',
        subtype     => 'VPS-4-1011',
        period      => 3,
    );

Answer will contains a withdrawal amount and a new service identifier or error otherwise.

More info at Service management: upgrade .

partcontrol_grant

Grants service management to other user. Scope: clients. Typical usage:

    $resp = $client->service->partcontrol_grant(
        domain_name => 'mulva.org',
        newlogin    => 'Dolores',
    );

Answer will contains a field user login (newlogin)to whom the right were granted and the service identifier service_id or error otherwise.

More info at Service management: partcontrol_grant.

partcontrol_revoke

Revokes service management from other user. Scope: clients. Typical usage:

    $resp = $client->service->partcontrol_revoke(
        service_id => 2865903,
    );

Answer will contains a service identifier service_id or error otherwise.

More info at Service management: partcontrol_revoke.

resend_mail

Resends an email to user. Applicable only for hosting services and SSL certificates. Scope: clients. Typical usage:

    $resp = $client->service->resend_mail(
        domain_name => 'jujyfruits.net',
        servtype    => 'srv_ssl_certificate',
        mailtype    => 'approver_email',        # or 'certificate_email'
    );

Answer will contains a domain name and service identifier or error otherwise.

More info at Service management: resend_mail.

refill

For Jelastic service only. Tranfers specified amount from the user account to the Jelastic account, associated with the specified service_id. Scope: clients. Typical usage:

    $resp = $client->service->refill(
        service_id => 13726302,
        amount     => 2,
        currency   => 'USD'
    );

Answer will contain information about created invoice, such as invoice currency, charged sum, bill number. More info at Service management: refill.

SEE ALSO

Regru::API

Regru::API::Role::Client

REG.API Service management

REG.API Common error codes

BUGS

Please report any bugs or feature requests on the bugtracker website https://github.com/regru/regru-api-perl/issues

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHORS

  • Polina Shubina <shubina@reg.ru>

  • Anton Gerasimov <a.gerasimov@reg.ru>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by REG.RU LLC.

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