NAME
WWW::eNom - Interact with eNom, Inc.'s reseller API
SYNOPSIS
use WWW::eNom;
my $eNom = WWW::eNom->new(
username => "resellid",
password => "resellpw",
response_type => "xml_simple", # Optional, defaults to xml_simple
test => 1 # Optional, defaults to 0 ( production )
);
# Check If Domains Are Available
my $domain_availabilities = $eNom->check_domain_availability(
slds => [qw( cpan drzigman brainstormincubator )],
tlds => [qw( com net org )],
suggestions => 0,
);
DESCRIPTION
WWW::eNom is a module for interacting with the eNom API. eNom is a domain registrar and the API performs operations such as checking domain availability, purchasing domains, and managing them.
This module is broken down into two primary components (documented below). These are "COMMANDS" in WWW::eNom which are used for making requests and "OBJECTS" in WWW::eNom which are used to represent data. Below these, documentation for the WWW::eNom module is included.
COMMANDS
Commands are how operations are performed using the WWW:eNom API. They are separated into related operations, for documentation on the specific command please see the linked pages.
Raw
Love level direct access to the eNom API. You rarely want to make use of this and instead want to use the abstracted commands outline below.
Contact
Contact retrieval.
Domain Availability
Use for checking to see if a domain is available for registration as well as getting suggestions of other potentially relevant domains.
Domain Registration
New Domain Registration.
Domain Transfer
New Domain Transfers.
- transfer_domain
- get_transfer_by_order_id
- get_transfer_by_name
- get_transfer_order_id_from_parent_order_id
Domain
Domain retrieval and management.
- get_domain_by_name
- get_is_domain_locked_by_name
- enable_domain_lock_by_name
- disable_domain_lock_by_name
- get_domain_name_servers_by_name
- update_nameservers_for_domain_name
- get_is_domain_auto_renew_by_name
- enable_domain_auto_renew_by_name
- disable_domain_auto_renew_by_name
- get_domain_created_date_by_name
- renew_domain
- email_epp_key_by_name
Service
Addon products that can be sold along with domains.
Domain Privacy
- get_domain_privacy_wholesale_price
- purchase_domain_privacy_for_domain
- get_is_privacy_purchased_by_name
- enable_privacy_by_name
- disable_privacy_by_name
- get_is_privacy_auto_renew_by_name
- get_privacy_expiration_date_by_name
- enable_privacy_auto_renew_for_domain
- disable_privacy_auto_renew_for_domain
- renew_privacy
Private Nameservers
Management of Private Name Servers.
- create_private_nameserver
- update_private_nameserver_ip
- retrieve_private_nameserver_by_name
- delete_private_nameserver
OBJECTS
Rather than working with messy XML objects or HashRefs, WWW::eNom implements a series of Moose objects for making requests and processing responses. All commands that take an object have coercion so a HashRef can be used in it's place.
WWW::eNom
Primary interface to eNom. Documented further below.
WWW::eNom::Contact
WHOIS data contacts. Typically (with few exceptions) domains contain a Registrant, Admin, Technical, and Billing contact.
WWW::eNom::Domain
A registered domain and all of the domain's related information.
WWW::eNom::DomainTransfer
An in progress domain transfer and all of it's related information.
WWW::eNom::DomainRequest::Registration
Request to register a domain.
WWW::eNom::DomainRequest::Transfer
Request to transfer a domain.
WWW::eNom::PrivateNameServer
Private nameservers.
WWW::eNom::IRTPDetail
Details about an in progress IRTP Verification (due to a change in registrant contact). The IRTP Process is rather complex and eNom acts as a Designated Agent, see WWW::eNom::IRTPDetail for more information about this.
WITH
ATTRIBUTES
username
eNom Reseller ID
password
eNom Reseller Password
test
Boolean that defaults to false. If true, requests will be sent to the eNom test endpoint rather than production.
response_type
Defaults to 'xml_simple'. Valid values include:
- xml
- xml_simple
- html
- text
It should be noted that this setting is really only relevant when making Raw requests of the eNom API. When doing so this attribute defines the format of the responses.
METHODS
new
my $eNom = WWW::eNom->new(
username => "resellid",
password => "resellpw",
response_type => "xml_simple", # Optional, defaults to xml_simple
test => 1 # Optional, defaults to 0 ( production )
);
Constructs a new object for interacting with the eNom API. If the "test" parameter is given, then the API calls will be made to the test server instead of the live one.
As of v0.3.1, an optional "response_type" parameter is supported. For the sake of backward compatibility, the default is "xml_simple"; see below for an explanation of this response type. Use of any other valid option will lead to the return of string responses straight from the eNom API. These options are:
RELEASE NOTE
As of v1.0.0, this module has been renamed to WWW::eNom. Net::eNom is now a thin wrapper to preserve backward compatibility.
AUTHOR
Robert Stone, <drzigman AT cpan DOT org>
Original version by Simon Cozens <simon at simon-cozens.org>
. Then maintained and expanded by Richard Simões, <rsimoes AT cpan DOT org>
.
CONTRIBUTORS
Special thanks to the following individuals who provided bug reports or pull requests.
Danielle Copley docopley@att.net
COPYRIGHT & LICENSE
Copyright © 2016 Robert Stone. This module is released under the terms of the MIT License and may be modified and/or redistributed under the same or any compatible license.