WWW::eNom::Domain - Representation of Registered eNom Domain
use strict; use warnings; use WWW::eNom; use WWW::eNom::Contact; use WWW::eNom::Domain; my $api = WWW::eNom->new( ... ); # Create New Domain Object, note that domain registration is handled by # WWW::eNom::DomainRequest::Registration. my $contact = WWW::eNom::Contact->new( ... ); my $private_name_servers = [ WWW::eNom::PrivateNameServer->new( ... ) ]; my $domain = WWW::eNom::Domain->new( id => 42, name => 'drzigman.com', status => 'Paid', verification_status => 'Pending Suspension', is_auto_renew => 0, is_locked => 1, is_private => 0, created_date => DateTime->..., expiration_date => DateTime->..., ns => [ 'ns1.enom.com', 'ns2.enom.com' ], registrant_contact => $contact, admin_contact => $contact, technical_contact => $contact, billing_contact => $contact, private_name_servers => $private_name_servers, # Optional ); # Construct From eNom Response my $response = $api->submit({ method => 'GetDomainInfo', params => { Domain => 'drzigman.com', } }); my $domain = WWW::eNom::Domain->construct_from_response( domain_info => $response->{GetDomainInfo}, is_auto_renew => $api->get_is_domain_auto_renew_by_name( 'drzigman.com' ), is_locked => $api->get_is_domain_locked_by_name( 'drzigman.com' ), name_servers => $api->get_domain_name_servers_by_name( 'drzigman.com' ), contacts => $api->get_contacts_by_domain_name( 'drzigman.com' ), created_date => $api->get_domain_created_date_by_name( 'drzigman.com' ), );
Represents eNom domains, containing all related information. For most operations this will be the base object that is used to represent the data.
The domain id of the domain in eNom's system.
The FQDN this domain object represents
Current status of the domain, related more so to if it's been paid or if it has been deleted or expired.
According to ICANN rules, all new gTLD domains that were registered after January 1st, 2014 must be verified. verification_status describes the current state of this verification and begins in 'Pending Suspension' until the domain is either verified or is suspended due to a lack of verification.
For details on the ICANN policy please see the riveting ICANN Registrar Agreement https://www.icann.org/resources/pages/approved-with-specs-2013-09-17-en.
Boolean that indicates if eNom should automagically renew this domain.
Boolean indicating if the domain is currently locked, preventing transfer.
Boolean indicating if this domain uses WHOIS Privacy.
Date this domain registration was created.
Date this domain registration expires.
ArrayRef of Domain Names that are authoritative nameservers for this domain.
A WWW::eNom::Contact for the Registrant Contact.
A WWW::eNom::Contact for the Admin Contact.
A WWW::eNom::Contact for the Technical Contact.
A WWW::eNom::Contact for the Billing Contact.
NOTE eNom actually calls this the AuxBilling contact since the primary billing contact is the reseller's information.
An ArrayRef of WWW::eNom::PrivateNameServer objects that comprise the private nameservers for this domain, provides a predicate of has_private_nameservers.
NOTE Due to limitations of eNom's API, all private nameservers *MUST* be used as authoritative nameservers (i.e., they must also appear in the "ns" attribute). See "LIMITATIONS" in WWW::eNom::Role::Command::Domain::PrivateNameServer for more information about this and other limitations.
In the event of a recent change in registrant contact, the irtp_detail attribute will be populated with an instance of WWW::eNom::IRTPDetail that contains additional IRTP related information about this domain. If there is no recent registrant contact change then no value will be provided for the irtp_detail. Offers a predicate of has_irtp_detail.
my $api = WWW::eNom->new( ... ); my $response = $api->submit({ method => 'GetDomainInfo', params => { Domain => 'drzigman.com', } }); my $domain = WWW::eNom::Domain->construct_from_response( domain_info => $response->{GetDomainInfo}, is_auto_renew => $api->get_is_domain_auto_renew_by_name( $domain_name ), is_locked => $api->get_is_domain_locked_by_name( $domain_name ), name_servers => $api->get_domain_name_servers_by_name( $domain_name ), private_name_servers => $private_name_servers, # Optional contacts => $api->get_contacts_by_domain_name( $domain_name ), created_date => $api->get_domain_created_date_by_name( $domain_name ), );
Creates an instance of $self given several parameters:
HashRef response to eNom's GetDomainInfo. This, unfortunately, does not contain all of the needed data so several other parameters are required.
Boolean, indicating if eNom will auto renew this domain.
Boolean, indicating if this domain is locked to prevent transfer.
ArrayRef of Domain Names that are the authoritative nameservers for this domain.
HashRef with the keys being:
And the values being instances of WWW::eNom::Contact that correspond to the key's contact type.
DateTime that this domain was first created/registered.
To install WWW::eNom, copy and paste the appropriate command in to your terminal.
cpanm
cpanm WWW::eNom
CPAN shell
perl -MCPAN -e shell install WWW::eNom
For more information on module installation, please visit the detailed CPAN module installation guide.