IO-EPP

 view release on metacpan or  search on metacpan

lib/IO/EPP/Verisign.pm  view on Meta::CPAN

For more information, see L<IO::EPP::Base/get_contact_info>.

An Example

    my ( $answ, $msg ) = make_request( 'get_contact_info', { tld => 'name', cont_id => '5555LECTU555' } );

    # answer

    {
        'int' => {
            'city' => 'Moscow',
            'country_code' => 'RU',
            'name' => 'Protection of Private Person',
            'postcode' => '125000',
            'addr' => 'PO box 01, Protection Service',
            'state' => undef
        },
        'roid' => '22222100_CONTACT_NAME-VRSN',
        'cre_date' => '2020-01-11 11:11:11',
        'email' => [
            'my@private.ru'
        ],
        'upd_date' => '2020-01-11 11:11:11',
        'fax' => [
            '+7.4951111111'
        ],
        'creater' => 'login',
        'authinfo' => 'HF+B5ON$,qUDkyYW',
        'code' => '1000',
        'owner' => 'LOGIN',
        'msg' => 'Command completed successfully',
        'phone' => [
            '+7.4951111111'
        ],
        'updater' => 'login',
        'cont_id' => '5555LECTU555',
        'statuses' => {
            'ok' => '+'
        }
    };

=cut

sub get_contact_info {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext};

    return $self->SUPER::get_contact_info( $params );
}


=head2 update_contact

.com/.net/.edu zones are not currently supported.

For more information, see L<IO::EPP::Base/update_contact>.

=cut

sub update_contact {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext};

    return $self->SUPER::update_contact( $params );
}


=head2 delete_contact

.com/.net/.edu zones are not currently supported.

For more information, see L<IO::EPP::Base/delete_contact>.

=cut

sub delete_contact {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext};

    return $self->SUPER::delete_contact( $params );
}


sub check_nss {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext};

    return $self->SUPER::check_nss( $params );
}

=head2 create_ns

Within a single server, all NS-s are shared, that is,
if you register NS for the .com tld, it will be available for the .net tld as well.

For details, see L<IO::EPP::Base/create_ns>.

=cut

sub create_ns {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext};

    return $self->SUPER::create_ns( $params );
}


sub get_ns_info {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext};

    return $self->SUPER::get_ns_info( $params );
}


sub update_ns {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext};

    $params->{no_empty_chg} = 1 unless $params->{chg};

    return $self->SUPER::update_ns( $params );
}


sub delete_ns {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext};

    return $self->SUPER::delete_ns( $params );
}

=head2 check_domains

With a single request, you can check availability in all zones of this server at once,
if they have accreditation

In the example, accreditation is not available in the .edu tld.
The .info tld belongs to a different registry.

    my ( $answ, $msg ) = make_request( 'check_domains', {
        tld => 'com',
        domains => [ 'qwerty.com', 'bjdwferbkr-e3jd0hf.net', 'bjk8bj-kewew.edu', 'xn--xx.com', 'hiebw.info' ]
    } );

    # answer

    {
        'msg' => 'Command completed successfully',
        'qwerty.com' => {
            'reason' => 'Domain exists',
            'avail' => '0'
        },
        'hiebw.info' => {
            'reason' => 'Not an authoritative TLD',
            'avail' => '0'
        },
        'bjk8bj-kewew.edu' => {
            'reason' => 'Not authorized',
            'avail' => '0'
        },
        'code' => '1000',
        'xn--xx.com' => {
            'reason' => 'Invalid punycode encoding',
            'avail' => '0'
        },
        'bjdwferbkr-e3jd0hf.net' => {
            'avail' => '1'
            }
        };

For details, see L<IO::EPP::Base/check_domains>.

=cut

lib/IO/EPP/Verisign.pm  view on Meta::CPAN

    $params->{extension} = $self->{namestore_ext};

    return $self->SUPER::transfer( $params );
}

=head2 get_domain_info

For details, see L<IO::EPP::Base/check_domains>.

An Example

    my ( $answ, $msg, $conn ) = make_request( 'get_domain_info', { dname => 'llll.com' } );

    # answer

    {
        'msg' => 'Command completed successfully',
        'owner' => '1000',
        'hosts' => [
            'ns2.llll.com',
            'ns1.llll.com'
        ],
        'roid' => '2222489946_DOMAIN_COM-VRSN',
        'exp_date' => '2020-01-01 01:01:01',
        'cre_date' => '2018-01-01 01:01:01',
        'nss' => [
            'ns1.rrr.ru',
            'ns2.rrr.ru'
        ],
        'dname' => 'llll.com',
        'updater' => 'login',
        'upd_date' => '2019-12-30 13:17:54',
        'creater' => 'login',
        'authinfo' => 'AAA:8k.o5*p"_pAA',
        'statuses' => {
            'clientTransferProhibited' => '+'
        },
        'code' => 1000
    };

=cut

sub get_domain_info {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext};

    return $self->SUPER::get_domain_info( $params );
}


sub renew_domain {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext};

    return $self->SUPER::renew_domain( $params );
}


sub update_domain {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext};

    return $self->SUPER::update_domain( $params );
}

=head2 delete_domain

You can delete a domain only if it does not have NS-s that are used by other domains.
If there are such NS-s, they should be renamed using the C<< update_ns( chg => { new_name => 'new.ns.xxxx.com' } ) >>,
For details see L<IO::EPP::Base/update_ns>.

For more information about C<delete>, see L<IO::EPP::Base/delete_domain>

=cut

sub delete_domain {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext};

    return $self->SUPER::delete_domain( $params );
}


=head2 restore_domain

First call of restore — request

INPUT:

params with key:

C<dname> — domain name

OUTPUT:
see L<IO::EPP::Base/simple_request>.

=cut

sub restore_domain {
    my ( $self, $params ) = @_;

    $params->{extension} = $self->{namestore_ext} .
"   <rgp:update $rgp_ext>
    <rgp:restore op=\"request\"/>
   </rgp:update>\n";

    return $self->SUPER::update_domain( $params );
}


=head2 confirmations_restore_domain

Secont call of restore — confirmation

INPUT:

params with keys:



( run in 0.583 second using v1.01-cache-2.11-cpan-f56aa216473 )