NAME

IO::EPP::Verisign

SYNOPSIS

use IO::EPP::Verisign;

# Parameters for IO::Socket::SSL
my %sock_params = (
    PeerHost        => 'epp.verisign-grs.com',
    PeerPort        => 700,
    SSL_key_file    => 'key_file.pem',
    SSL_cert_file   => 'cert_file.pem',
    Timeout         => 30,
);

# Create object, get greeting and call login()
my $conn = IO::EPP::Verisign->new( {
    user => 'login',
    pass => 'XXXXX',
    sock_params => \%sock_params,
    server => 'Core', # or NameStore, or  DotName
    test_mode => 0, # real connect
} );

# Check domain
my ( $answ, $code, $msg ) = $conn->check_domains( { domains => [ 'org.info' ] } );

# Call logout() and destroy object
undef $conn;

DESCRIPTION

Work with Verisign EPP API

Features: Very mach extension, verisign here is leader. Absolutely all extensions have not yet been implemented

docs: https://www.verisign.com/en_US/channel-resources/domain-registry-products/epp-sdks/index.xhtml?loc=en_US, https://epptool-ctld.verisign-grs.com/epptool/ (need white IP)

for .name: https://www.verisign.com/assets/email-forwarding-mapping.pdf

new

See description in "new" in IO::EPP::Base

Requires the server field to be specified, which can have values: Core for .com/.net/.edu, DotName for .name, NameStore for cctld and new gtlds.

METHODS

далее перекрываем те функции, где у провайдера есть особенности

login

залогиниться

create_contact

For .jobs need additional parameters: jobs_title, jobs_website, jobs_industry_type, is_admin.

About .jobs parameters see https://www.verisign.com/assets/epp-jobscontact-extension.pdf.

create_domain

For IDN domains you need to specify the language code in the idn_lang field

See https://www.verisign.com/assets/idn-valid-language-tags.pdf, and https://www.iana.org/domains/idn-tables for .com, .net

restore_domain

First call of restore — request

confirmations_restore_domain

Secont call of restore — confirmation

pre_data — whois before delete, may be none; post_data — whois now, may be none; del_time — domain delete datetime in UTC; rest_time — restore request call datetime in UTC.

The following fields already contain the required value, they do not need to be passed: resReason — restore reason; statement — need to write what it is for the client; other — additional information, may be empty.

get_registry_info

Registry information for the specified zone

key in params: tld

An Example:

my ( $answ, $code, $msg ) = $conn->get_registry_info( { tld => 'net' } );

# answer

{
      'alphaNumStart' => 'true',
      'max' => [
                 '13',
                 '13'
               ],
      'language code' => [
                           'ARG',
                           'ASM',
                           'AST',
                           'AVE',
                           'AWA',
                           'BAK',
                           'BAL',
                           'BAN',
                           'BAS',
                           'BEL',
                           'BOS',
                           'CAR',
                           'CHE',
                           'CHV',
                           'COP',
                           'COS',
                           'WEL',
                           'DIV',
                           'DOI',
                           'FIJ',
                           'FRY',
                           'GLA',
                           'GLE',
                           'GON',
                           'INC',
                           'IND',
                           'INH',
                           'JAV',
                           'KAS',
                           'KAZ',
                           'KHM',
                           'KIR',
                           'LTZ',
                           'MAO',
                           'MAY',
                           'MLT',
                           'MOL',
                           'MON',
                           'OSS',
                           'PUS',
                           'SIN',
                           'SMO',
                           'SOM',
                           'SRD',
                           'TGK',
                           'YID',
                           'AFR',
                           'ALB',
                           'ARA',
                           'ARM',
                           'AZE',
                           'BAQ',
                           'BEN',
                           'BHO',
                           'TIB',
                           'BUL',
                           'BUR',
                           'CAT',
                           'CZE',
                           'CHI',
                           'DAN',
                           'GER',
                           'DUT',
                           'GRE',
                           'ENG',
                           'EST',
                           'FAO',
                           'PER',
                           'FIN',
                           'FRE',
                           'GEO',
                           'GUJ',
                           'HEB',
                           'HIN',
                           'SCR',
                           'HUN',
                           'ICE',
                           'ITA',
                           'JPN',
                           'KOR',
                           'KUR',
                           'LAO',
                           'LAV',
                           'LIT',
                           'MAC',
                           'MAL',
                           'NEP',
                           'NOR',
                           'ORI',
                           'PAN',
                           'POL',
                           'POR',
                           'RAJ',
                           'RUM',
                           'RUS',
                           'SAN',
                           'SCC',
                           'SLO',
                           'SLV',
                           'SND',
                           'SPA',
                           'SWA',
                           'SWE',
                           'SYR',
                           'TAM',
                           'TEL',
                           'THA',
                           'TUR',
                           'UKR',
                           'URD',
                           'UZB',
                           'VIE'
                         ],
      'gracePeriod command:transfer unit:d' => '5',
      'gracePeriod command:create unit:d' => '5',
      'default unit:y' => [
                            '1',
                            '1',
                            '1'
                          ],
      'gracePeriod command:autorenew unit:d' => '45',
      'subProduct' => 'NET',
      'idnVersion' => '1.1',
      'expression' => [
                        '[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?',
                        '^(?=.*\\\\d)(?=.*[a-zA-Z])(?=.*[\\\\x21-\\\\x2F\\\\x3A-\\\\x40\\\\x5B-\\\\x60\\\\x7B-\\\\x7E])[\\\\x21-\\\\x7e]{8,32}$',
                        '^([\\-|\\w])+\\.([\\-|\\w])+\\s{0,}$)$'
                      ],
      'redemptionPeriod unit:d' => '30',
      'encoding' => 'PunyCode',
      'max unit:y' => [
                        '10',
                        '10',
                        '1'
                      ],
      'name' => 'NET',
      'maxCheckHost' => '20',
      'urgent' => 'false',
      'default' => '604800',
      'onlyDnsChars' => 'true',
      'maxCheckDomain' => '20',
      'transferHoldPeriod unit:d' => '5',
      'digestType' => [
                        'SHA-1',
                        'SHA-256',
                        'GOST R 34.11-94',
                        'SHA-384'
                      ],
      'alg' => [
                 'RSAMD5',
                 'DH',
                 'DSA',
                 'RSASHA1',
                 'DSA-NSEC3-SHA1',
                 'RSASHA1-NSEC3-SHA1',
                 'RSASHA256',
                 'RSASHA512',
                 'ECC-GOST',
                 'ECDSAP256SHA256',
                 'ECDSAP384SHA384'
               ],
      'startDate' => '2000-01-01T00:00:00Z',
      'minLength' => '3',
      'status' => [
                    'ok',
                    'serverHold',
                    'serverRenewProhibited',
                    'serverTransferProhibited',
                    'serverUpdateProhibited',
                    'serverDeleteProhibited',
                    'redemptionPeriod',
                    'pendingRestore',
                    'pendingDelete',
                    'clientRenewProhibited',
                    'clientTransferProhibited',
                    'clientUpdateProhibited',
                    'clientDeleteProhibited',
                    'pendingTransfer',
                    'clientHold',
                    'ok',
                    'pendingDelete',
                    'pendingTransfer',
                    'serverUpdateProhibited',
                    'serverDeleteProhibited',
                    'clientUpdateProhibited',
                    'clientDeleteProhibited',
                    'linked'
                  ],
      'zoneMember type:equal' => 'NET',
      'group' => 'THIN',
      'clientDefined' => 'false',
      'pendingRestore unit:d' => '7',
      'minIP' => [
                   '1',
                   '0'
                 ],
      'extURI required:true' => [
                                  'urn:ietf:params:xml:ns:coa-1.0',
                                  'http://www.verisign.com/epp/idnLang-1.0',
                                  'urn:ietf:params:xml:ns:secDNS-1.1',
                                  'http://www.verisign-grs.com/epp/namestoreExt-1.1',
                                  'urn:ietf:params:xml:ns:rgp-1.0',
                                  'http://www.verisign.com/epp/whoisInf-1.0',
                                  'http://www.verisign.com/epp/sync-1.0',
                                  'http://www.verisign.com/epp/relatedDomain-1.0',
                                  'urn:ietf:params:xml:ns:launch-1.0'
                                ],
      'upDate' => '2013-08-10T21:16:01Z',
      'min unit:y' => [
                        '1',
                        '1',
                        '1'
                      ],
      'unicodeVersion' => '6.0',
      'commingleAllowed' => 'false',
      'pendingDelete unit:d' => '5',
      'sharePolicy' => [
                         'perSystem',
                         'perSystem'
                       ],
      'min' => [
                 '0',
                 '0',
                 '1'
               ],
      'idnaVersion' => 'IDNA 2008',
      'objURI required:true' => [
                                  'urn:ietf:params:xml:ns:domain-1.0',
                                  'urn:ietf:params:xml:ns:contact-1.0',
                                  'urn:ietf:params:xml:ns:host-1.0',
                                  'http://www.verisign.com/epp/registry-1.0',
                                  'http://www.verisign.com/epp/lowbalance-poll-1.0',
                                  'http://www.verisign.com/epp/rgp-poll-1.0'
                                ],
      'crDate' => '2000-01-01T00:00:00Z',
      'premiumSupport' => 'false',
      'alphaNumEnd' => 'true',
      'gracePeriod command:renew unit:d' => '5',
      'maxLength' => '63',
      'maxIP' => [
                   '13',
                   '0'
                 ],
      'contactsSupported' => 'false'
};

AUTHORS

Vadim Likhota <vadiml@cpan.org>

COPYRIGHT

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