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

NAME

WWW::eNom::Role::Command::Domain::Registration - Domain Registration API Calls

SYNOPSIS

    use WWW::eNom;
    use WWW::eNom::Domain;
    use WWW::eNom::DomainRequest::Registration;

    my $api = WWW::eNom->new( ... );

    # Register a new domain
    my $registration_request = WWW::eNom::DomainRequest::Registration->new( ... );
    my $domain = $api->register_domain( request => $registration_request );

REQUIRES

submit
purchase_domain_privacy_for_domain

This is needed in order to purchase domain privacy for instances of WWW::eNom::DomainRequest::Registration that have is_private set to true.

DESCRIPTION

Implements domain registration operations with the eNom API.

METHODS

register_domain

    my $registration_request = WWW::eNom::DomainRequest::Registration->new( ... );
    my $domain = $api->register_domain( request => $registration_request );

Abstraction of the Purchase eNom API Call. Given a WWW::eNom::DomainRequest::Registration or a HashRef that can be coerced into a WWW::eNom::DomainRequest::Registration, attempts to register the domain with eNom. If the domain you attempted to register is unavailable (because you don't sell that public suffix or because it's already taken) this method will croak with details about the error.

Returned is a fully formed WWW::eNom::Domain object.

NOTE This call is fairly slow (several seconds to complete). This is because, in addition to requesting the domain registration, several API calls are made to fetch back out the recently created domain registration and populate a WWW::eNom::Domain object.

FURTHER NOTE It is possible for the domain registration to succeed but this method fail to retrieve the WWW::eNom::Domain. When that occurs this method will croak with 'Domain registered but unable to retrieve it'. In this case you can either just move on (if you don't care about inspecting the WWW::eNom::Domain) or you can request it again using "get_domain_by_name" in WWW::eNom::Role::Command::Domain.