NAME

WWW::eNom::DomainTransfer - Representation of In Progress Domain Transfer

SYNOPSIS

use WWW::eNom;
use WWW::eNom::Contact;
use WWW::eNom::DomainTransfer;

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

# You shouldn't be calling new on this, you probably want to call $api->get_transfer_by_order_id instead
my $domain_transfer = WWW::eNom::DomainTransfer->new(
    order_id              => 12345,
    name                  => 'drzigman.com',
    status                => 'Awaiting auto verification of transfer request',
    status_id             => 9
    is_locked             => 1,
    is_auto_renew         => 1,
    use_existing_contacts => 0,

    # These contacts may or may not be populated depending on the transfer options
    # and the stage of the transfer.
    registrant_contact    => $contact,
    admin_contact         => $contact,
    technical_contact     => $contact,
    billing_contact       => $contact,
);

# Construct from eNom TP_GetOrderDetail Response
my $response = $self->submit({
    method => 'TP_GetOrderDetail',
    params => {
        TransferOrderDetailID => 12345
    }
});

my $transfer = WWW::eNom::DomainTransfer->construct_from_response(
    transfer_detail => $response->{transferorderdetail}
);

WITH

WWW::eNom::Role::ParseDomain

DESCRIPTION

Represents eNom domain transfer that is in progress.

ATTRIBUTES

order_id

The order id for this specific domain transfer attempt with eNom.

eNom is a bit odd with how it handles order_id. The purchase of a transfer will have a parent_order_id (for the entire order) as well as an order id for this specific domain transfer attempt (what this module calls the order_id). If a domain transfer attempt fails for any reason (such as a bad EPP Key) then when you resubmit the domain transfer a new order_id will be created to describe the new domain transfer attempt.

name

The FQDN to transfer

status

A Str in English that describes the current status of this domain transfer. Please see https://www.enom.com/api/API%20Topics/api_TP_GetDetailsByDomain.htm#notes for a full list of possible statuses.

status_id

PositiveInt indicating the status_id assoicated with the status. Please see https://www.enom.com/api/API%20Topics/api_TP_GetDetailsByDomain.htm#notes for a full list of possible statuses.

is_locked

Indicates if the domain will be locked, preventing transfers.

is_auto_renew

Boolean that indicates if the domain will auto renew. If true, this domain will be automatically renewed by eNom before it expires.

use_existing_contacts

Boolean indicating if eNom will attempt to import the existing whois contacts.

registrant_contact

A WWW::eNom::Contact for the Registrant Contact, predicate of has_registrant_contact.

This will not be populated if use_existing_contacts is true unless the "verification_method" in WWW::eNom::DomainRequest::Transfer used when the transfer was originally requested was Fax.

NOTE based on the stage of the transfer, eNom may or may not have contact information for this domain transfer. Just because nothing was returned does not mean there is not any data, it just might not be available.

admin_contact

A WWW::eNom::Contact for the Admin Contact, predicate of has_admin_contact.

NOTE based on the stage of the transfer, eNom may or may not have contact information for this domain transfer. Just because nothing was returned does not mean there is not any data, it just might not be available.

technical_contact

A WWW::eNom::Contact for the Technical Contact, predicate of has_technical_contact.

NOTE based on the stage of the transfer, eNom may or may not have contact information for this domain transfer. Just because nothing was returned does not mean there is not any data, it just might not be available.

billing_contact

A WWW::eNom::Contact for the Billing Contact, predicate of has_billing_contact.

NOTE> eNom actually calls this the AuxBilling> contact since the primary billing contact is the reseller's information.

<NOTE> based on the stage of the transfer, eNom may or may not have contact information for this domain transfer. Just because nothing was returned does not mean there is not any data, it just might not be available.

METHODS

construct_from_response

my $response = $self->submit({
    method => 'TP_GetOrderDetail',
    params => {
        TransferOrderDetailID => 12345
    }
});

my $transfer = WWW::eNom::DomainTransfer->construct_from_response(
    transfer_detail => $response->{transferorderdetail}
);

Creates an instance of $self from eNom's response to TP_GetOrderDetail.