SYNOPSIS
use Net::EPP::ResponseCodes;
use Net::EPP::Simple;
use strict;
my $epp = Net::EPP::Simple->new(
host => 'epp.nic.tld',
user => 'my-id',
pass => 'my-password',
);
my $result = $epp->domain_transfer_request('example.tld', 'foobar', 1);
if ($result) {
print "Transfer initiated OK\n";
} else {
if ($Net::EPP::Simple::Code == OBJECT_PENDING_TRANSFER) {
print "Error: domain is already pending transfer\n";
} elsif ($Net::EPP::Simple::Code == INVALID_AUTH_INFO) {
print "Error: invalid authcode provided\n";
} elsif ($Net::EPP::Simple::Code == OBJECT_DOES_NOT_EXIST) {
print "Error: domain not found\n";
} elsif ($Net::EPP::Simple::Code == STATUS_PROHIBITS_OP) {
print "Error: domain cannot be transferred\n";
} else {
print "Error code $Net::EPP::Simple::Code\n";
}
}
DESCRIPTION
EPP is the Extensible Provisioning Protocol. EPP (defined in RFC 4930) is an application layer client-server protocol for the provisioning and management of objects stored in a shared central repository. Specified in XML, the protocol defines generic object management operations and an extensible framework that maps protocol operations to objects. As of writing, its only well-developed application is the provisioning of Internet domain names, hosts, and related contact details.Every response sent to the client by an EPP server contains a "<result>" element that has a "code" attribute. This is a four-digit numeric code that describes the result of the request. This module exports a set of constants that provide handy mnemonics for each of the defined codes.
EXPORTS
"Net::EPP::ResponseCodes" exports the following constants. The number in brackets is the integer value associated with the constant.Successful command completion responses (1nnn)
- OK (1000)
- OK_PENDING (1001)
- OK_NO_MESSAGES (1300)
- OK_MESSAGES (1301)
- OK_BYE (1500)
Command error responses (2nnn)
Protocol Syntax- UNKNOWN_COMMAND (2011)
- SYNTAX_ERROR (2011)
- USE_ERROR (2011)
- MISSING_PARAM (2011)
- PARAM_RANGE_ERROR (2011)
- PARAM_SYNTAX_ERROR (2011)
Implementation-specific Rules
- UNIMPLEMENTED_VERSION (2100)
- UNIMPLEMENTED_COMMAND (2101)
- UNIMPLEMENTED_OPTION (2102)
- UNIMPLEMENTED_EXTENSION (2103)
- BILLING_FAILURE (2104)
- NOT_RENEWABLE (2105)
- NOT_TRANSFERRABLE (2106)
Security (22nn)
- AUTHENTICATION_ERROR (2200)
- AUTHORISATION_ERROR (2201)
- AUTHORIZATION_ERROR (2201)
- INVALID_AUTH_INFO (2202)
Data Management (23nn)
- OBJECT_PENDING_TRANSFER (2300)
- OBJECT_NOT_PENDING_TRANSFER (2301)
- OBJECT_EXISTS (2302)
- OBJECT_DOES_NOT_EXIST (2303)
- STATUS_PROHIBITS_OP (2304)
- ASSOC_PROHIBITS_OP (2305)
- PARAM_POLICY_ERROR (2306)
- UNIMPLEMENTED_OBJECT_SERVICE (2307)
- DATA_MGMT_POLICY_VIOLATION (2308)
Server System (24nn)
- COMMAND_FAILED (2400)
Connection Management (25nn)
- COMMAND_FAILED_BYE (2500)
- AUTH_FAILED_BYE (2501)
- SESSION_LIMIT_EXCEEDED_BYE (2502)