I. Overview
OnlineNIC
Registration API uses TCP/IP protocol in the way of
Clients-Server.
Real Server: www.onlinenic.com Port: 20001 Login
Info: your account ID Password:Account Password
Test Server: 218.5.81.149 Port: 20001 Login
Info: 135610 Password: 654123
With the specifications provided here, you can develop your
own real-time registration system using OnlineNIC's back-end. This
information includes paths to OnlineNIC server API, required submission
parameters, examples of submitted requests, and resulting return values.
This will require your own development staff with an understanding of
TCP/IP protocol and application programming languages, such as C, ASP,
or PHP. OnlineNIC does not provide technical support for such projects
but can answer e-mail clarifying the information provided here.
- Step 1: Connect with server
Using the server and port provided by OnlineNIC to set up TCP conncetion.
Once connection is established successfully, you will receive greeting sent by our server, as below,
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<greeting>
<svID>OnlineNic Template Server</svID>
<svDate>%s</svDate>
<svcMenu>
<version>1.0</version>
<lang>en-US</lang>
<contact:svc xmlns:contact="urn:iana:xml:ns:contact-1.0" xsi:schemaLocation="urn:iana:xml:ns:contact-1.0 contact-1.0.xsd"/>
<host:svc xmlns:host="urn:iana:xml:ns:host-1.0" xsi:schemaLocation="urn:iana:xml:ns:host-1.0 host-1.0.xsd"/>
<domain:svc xmlns:domain="urn:iana:xml:ns:domain-1.0"
xsi:schemaLocation="urn:iana:xml:ns:domain-1.0 domain-1.0.xsd"/>
<svcsub:svc xmlns:svcsub="urn:iana:xml:ns:svcsub-1.0"
xsi:schemaLocation="urn:iana:xml:ns:svcsub-1.0 svcsub-1.0.xsd"/>
</svcMenu>
</greeting>
</epp>
Once greeting is received, the connection is sure to be set up succesfully.
Step 2: Set up session
After establishing conncetion, please send the request of "Login" to login. Please note to use the correct customer information to login. Once log in successfully, session wil be established successfully.
Step 3: Submit requests to the sever
After session is established, various requests are able to be submitted to server. The format of request may be referred to this document.
Step 4: Receive the returned result
Once request is submitted, the result of request will be returned, which consists of result code and result description. You may gain code and result description through analyzing the string.
Step 5: End session and stop connection
You are able to run multiple requests in only one session(the quantity is not limited). If you have no command requests, you may use "logout" to log out of session and stop connection.
III.
Attributes and Description
Attribute
Name
Description
Data
Type
clID
Reseller ID, which you
applied in OnlineNIC
integer
version
verions no. is usually
1.0 (it is also ok to be ignored)
double
lang
value of language is en (
also ok to be ignored)
string(2)
clTRID
order no. , which is
generated by you and must be unqiue
string(20)
chksum
md5 secret key between
reseller and OnlineNIC. The generating method is referred to the
description of request command
string(32)
Attribute
Name
Description
Data
Type
type
There four different
values for
type0:.com/.net/.org
800:.biz
805:.info
806:.us
808:.in
220:.cn
integer
domain
the domain needed to be
registered
string(67)
period
registration years for
the domain
integer
ns1
the primary nameserver
for this domain(should be in lower case)
string(128)
ns2
the secondary nameserver
for this domain(should be in lower case )
string(128)
registrant
registrant code for this
domain
string(16)
admin
administrator code for
this domain
string(16)
tech
tech contact code for
this domain
string(16)
billing
billing contact code for
this domain
string(16)
The above four code can be
gained from contact information generated
pw
administration pasword of
domain
string(16)
clTRID
order no. , which is
generated by you and must be unqiue
string(20)
chksum
md5 secret key between
reseller and OnlineNIC. The generating method is referred to the
description of request command
string(32)
Attribute
Name
Description
Data
Type
id
contact code, which
is generated by server when contact information is generate and
return to you
string(16)
domaintype
0:.com/.net/.org
800:.biz
805:.info
806:.us
808:.in
220:.cnstring(67)
contacttype
contact type(which is
used for the modifiction of domain contact information)
value
range:
1.admin contact
2. Tech contact
3. Billing
contact
4. Registrant contactinteger
name
name of contact
string(60)
org
orgnization name of
contact
string(60)
street1
contact address
1
.com .net .org:
string(120)
others: string(60)
street2
contact address 2(also ok
to be ignored)
.com .net .org:
string(120)
others: string(60)
city
city of contact
string(60)
sp
state or province of
contact
string(60)
pc
postal code of
contact
string(60)
cc
country code of
cotact
string(2)
Note: country code referred
to
http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1/en_listp1.html.
As for the registration of .biz .info .us, the coutry code for
Britain might be different. If GB is not ok, please try
UK.
voice
contact telephone. The
format of tele should follow the example:
(+1.6269439999)
string(22)
fax
contact fax. The forma
requirement is same as voice
string(22)
email
contact email
address
string(81)
pw
admin password of
contact
string(16)
clTRID
order no. , which is
generated by you and must be unqiue
string(20)
chksum
md5 secret key between
reseller and OnlineNIC. The generating method is referred to the
description of request command
string(32)
IV. Format
descriptoin of request
Login
request
<?xml version="1.0"
encoding="UTF-8"
standalone="no"?>
<epp>
<command>
<creds>
<clID>135617</clID>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
</creds>
<clTRID>L147481028182940_0</clTRID>
<login><chksum>9c4175211a307ee384bc2a13fbe0e4af</chksum></login>
</command>
</epp>
chksum =
md5(clID(customer_id) + md5(password) + clTRID + "login")
Note:
clID£ºreseller ID
clTRID: It
must be different from the one used before.
Response returned to you
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<epp xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<response>
<result
code="2306">
<msg>Parameter value policy
error</msg>
<value>--CLIENT_TRANSACTION_ID_MUST_BE_UNIQUE</value>
</result>
<unspec/>
<trID>
<clTRID>L147481028182940_0</clTRID>
<svTRID>L147481028182940_0-OLNIC-SRV</svTRID>
</trID>
<chksum>a7c3cba6463467f51e257bdd4fd2b3cc</chksum>
</response>
</epp>
If result code="1000", it is
successful.
The chksum in the returned result shoud be like£ºchksum =
md5(s_customer_id + md5(password) + clTRID + svTRID + s_resultcode + msg
+ value)
Logout request
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<epp>
<command>
<logout/>
<unspec/>
<clTRID>ABC-12345</clTRID>
<chksum>82e3fdd203943c8e7a8db4c004042d95</chksum>
</command>
</epp>
chksum = md5(clID(customer_id) + md5(password) + clTRID +
"logout")
Once the command of logout is sent, the conncetion will be
stopped. The returned result is same as above.
The purpose
of poll command is to remain connection
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<epp>
<command>
<poll
op="req"/>
<unspec/>
<clTRID>ABC-12345</clTRID>
<chksum>88f5536701036d37a94be1bbc6319b24</chksum>
</command>
</epp>
chksum
= md5(clID(customer_id) + md5(password) + clTRID + "poll")
Note: If
no message is sent to server within ten minutes, the connection will be
cut)
The returned result is same as the one of
login.
create contact
<?xml version=\"1.0\" encoding="UTF-8" standalone="no"
?>
<epp xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<command>
<create>
<contact:create
xmlns:contact="urn:iana:xml:ns:contact-1.0"
xsi:schemaLocation="urn:iana:xml:ns:con tact-1.0
contact-1.0.xsd">
<contact:domaintype>0</contact:domaintype>
<contact:ascii>
<contact:name>Into Bo
CHAMPON</contact:name>
<contact:org>NETHIGHWAY.COM</contact:org>
<contact:addr>
<contact:street1>1905 W. Valley
Boulevard</contact:street1>
<contact:street2>GuoMao
7#</contact:street2>
<contact:city>Alhambra</contact:city>
<contact:sp>CA</contact:sp>
<contact:pc>91803</contact:pc>
<contact:cc>US</contact:cc>
</contact:addr>
</contact:ascii>
<contact:voice>+1.6269439999</contact:voice>
<contact:fax>+1.6262811999</contact:fax>
<contact:email>ichampon@aol.com</contact:email>
<contact:pw>inti123</contact:pw>
</contact:create>
</create>
<unspec>AppPurpose=P1
NexusCategory=C11</unspec>
<clTRID>CrtContact0030</clTRID>
<chksum>85e19021d3fd7d70e30d0839ad0768db</chksum>
</command>
</epp>
chk_sum
= md5(s_customer_id + md5(password) + clTRID + "crtcontact" +
contact:name + contact:org + contact:email)
Note:<unspec>AppPurpose=P1
NexusCategory=C11</unspec> (This command is only required in .US
domain registration.)
AppPurpose means 5 options for the purpose of
domain registration:
P1:Business use for profit
P2:Non-profit
business, club, association, religious organization, etc.
P3:Personal
Use P4:Education purposes P5:Government purposes
NexusCategory means the information of Nexus, including
three categories,
1. natural person:
C11:Who is a United States
citizen
C12:Who is a permanent resident of the United States of
America or any of its possessions or territories
2.
C21: A United
States Organization incorporated within one of the 50 U.S. states, the
District of Columbia, or any of the United States possessions or
territories or organized or otherwise constituted nder the laws of a
state of the United States of America, the District of Columbia or any
of its possessions or territories or a U.S. federal, state or local
government entity or a political subdivision thereof
3. An entity or
organization that has a bona fide presence in the United States of
America or any of its possessions or territories:
C31: Which
regularly engages in lawful activities (sales off goods or services or
other business, commercial or non-commercial, including not-for-profit
relations in the United States)
C32: Which has an office or other
facility in the United States
If it is Category 3, the country code should be added,
just like:
NexusCategory=C31/CN
<clTRID>CrtContact0030</clTRID>
order no. must be unique.
(Note: country code referred to
http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1/en_listp1.html. As
for the registration of .biz .info .us, the coutry code for Britain
might be different. If GB is not ok, please try UK.)
If succeed,
the returned result is as below,
<?xml
version="1.0" encoding="UTF-8"?>
<epp
xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<response>
<result
code="1000">
<msg lang="en-US">Command completed
successfully</msg>
</result>
<resData>
<contact:creData>
<contact:id>Epp1464</contact:id>
</contact:creData>
</resData>
<trID>
<clTRID>CrtContact0031</clTRID>
<svTRID>CrtContact0031-OLNIC-SRV</svTRID>
</trID>
<chksum>979170f7c148e945e352c7d155da8ac2</chksum>
</response>
</epp>
chksum = md5(s_customer_id + md5(password) + clTRID +
svTRID + s_resultcode + msg +
contact:id)
Note:<contact:id>Epp1464</contact:id>, that
is contact code, which is used for domain registration.
If fail, the
returned result is same as login.
Update
Contact
<?xml version="1.0"
encoding="UTF-8" standalone="no" ?>
<epp>
xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<command>
<update>
<contact:update
xmlns:contact="urn:iana:xml:ns:contact-1.0"
xsi:schemaLocation="urn:iana:xml:ns:con tact-1.0
contact-1.0.xsd">
<contact:domaintype>0</contact:domaintype>
<contact:domain>cxchlkilleryzc.biz</contact:domain>
<contact:contacttype>1</contact:contacttype>
<contact:ascii>
<contact:name>Into
Bo
CHAMPON</contact:name>
<contact:org>NETHIGHWAY.COM</contact:org>
<contact:addr>
<contact:street1>1905
W. Valley
Boulevard</contact:street1>
<contact:street2>Amoy Fujian
China</contact:street2>
<contact:city>Alhambra</contact:city>
<contact:sp>CA</contact:sp>
<contact:pc>91803</contact:pc>
<contact:cc>US</contact:cc>
</contact:addr>
</contact:ascii>
<contact:voice>+1.6269439999</contact:voice>
<contact:fax>+1.6262811999</contact:fax>
<contact:email>ichampon@aol.com</contact:email>
<contact:pw>UPDC-0001</contact:pw>
</contact:update>
</update>
<unspec>AppPurpose=P1
NexusCategory=C11</unspec>
<clTRID>UPDCONT_0015</clTRID>
<chksum>65e4bb1f440e7f9442dfcd0e1cc06093</chksum>
</command>
</epp>
chk_sum
= md5(s_customer_id + md5(password) + clTRID + "updcontact"
contact:domaintype + contact:domain + contact:contacttype + contact:name
+ contact:org + contact:email)
Note:
<contact:domaintype>0</contact:domaintype>:
please input the type of domain. For instance, if its type is "0",
please enter
"0".
<contact:domain>cxchlkilleryzc.biz</contact:domain>:
input the domain you want to
implement
<contact:contacttype>1</contact:contacttype>:
input the type of contact. There are four types of contacts in total, as
below,
1. Admin contact
2. Tech contact
3. Billing
contact
4. Registrant
The returned result of this request is same as the one for login request.
Create
Domain
<?xml version="1.0"
encoding="UTF-8"?>
<epp>
<command>
<create>
<domain:create>
<domain:type>0</domain:type>
<domain:name>c-x-c-h-l.com</domain:name>
<domain:period>1</domain:period>
<domain:ns1>ns2.onlinenic.com</domain:ns1>
<domain:ns2>ns3.onlinenic.com</domain:ns2>
<domain:registrant>Epp740</domain:registrant>
<domain:contact
type="admin">Epp741</domain:contact>
<domain:contact
type="tech">Epp742</domain:contact>
<domain:contact
type="billing">Epp744</domain:contact>
<domain:authInfo
type="pw">mysecret</domain:authInfo>
</domain:create>
</create>
<clTRID>CrtDM0011</clTRID>
<chksum>65e4bb1f440e7f9442dfcd0e1cc06093</chksum>
</command>
</epp>
chk_sum
= md5(s_customer_id + md5(password) + clTRID + "crtdomain" + domain:type
+ domain:name + domain:period + domain:ns1 + domain:ns2 +
domain:registrant + domain:contact type="admin" + domain:contact
type="tech" + domain:contact type="billing" + domain:authInfo
type="pw")
Note:
Description:
domain:type£º 0: cno 800:.biz
805: .info 806: .us
domain:name: the name of domain you want to
register
domain:period£ºhow many years this domain will be registered
for
domain:ns1£ºPrimary DNS
domain:ns2: Secordary
DNS
domain:registrant: Please input the ID for registrant in this
line, which can be got from "Create Contact".
domain:contact
type="admin"£ºPlease input the ID for admin contact, which can be got
from "Create Contact"
domain:contact type="tech": Please input the ID
for tech contact, which can be got from "Create
Contact".
domain:contact type="billing"£º Please input the ID for
billing contact, which can be got from "Create
Contact".
domain:authInfo type="pw"£ºpassword
If register successfuly, the returned result is sams as below,
<?xml version="1.0"
encoding="UTF-8"?>
<epp xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<response>
<result
code="1000">
<msg lang="en-US">Command complateted
successfully</msg>
</result>
<resData>
<domain:creData>
<domain:name>cxchl-rose.com</domain:name>
</domain:creData>
</resData>
<trID>
<clTRID>CrtDM00013</clTRID>
<svTRID>CrtDM00013-OLNIC-SRV</svTRID>
</trID>
<chksum>cfbac2947ead02cf78cf459d42f892ef</chksum>
</response>
</epp>
chk_sum = md5(s_customer_id + md5(password) + clTRID +
svTRID + s_resultcode + msg + domain:name)
Note: If result
code="1700", it shows that domain is registered successfully but fail to
keep it in OnlineNIC's database. If so, please contact
OnlineNIC.
If fail, the returned result is same as
login.
Update domain
<?xml version="1.0"
encoding="UTF-8"?>
<epp>
<command>
<update>
<domain:update
xmlns:domain="urn:iana:xml:ns:domain-1.0"
xsi:schemaLocation="urn:iana:xml:ns:domain-1.0
domain-1.0.xsd">
<domain:type>0</domain:type>
<domain:name>y-z-c.com</domain:name>
<domain:rep>
<domain:ns1>ns4.onlinenic.com</domain:ns1>
<domain:ns2>ns1.onlinenic.com</domain:ns2>
<domain:authInfo
type="pw">mysecret</domain:authInfo>
</domain:rep>
</domain:update>
</update>
<clTRID>UPDD-0019</clTRID>
<chksum>65e4bb1f440e7f9442dfcd0e1cc06093</chksum>
</command>
</epp>
chk_sum
= md5(s_customer_id + md5(password) + clTRID + "upddomain" + domain:type
+ domain:name + domain:ns1 + domain:ns2 + domain:authInfo
type="pw")
The returned result of this request is same as the one for the "login" request.
Renew domain
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<epp
xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<command>
<renew>
<domain:renew
xmlns:domain="urn:iana:xml:ns:domain-1.0"
xsi:schemaLocation="urn:iana:xml:ns:domain-1.0
domain-1.0.xsd">
<domain:type>0</domain:type>
<domain:name>cxchlyzc.com</domain:name>
<domain:period>1</domain:period>
</domain:renew>
</renew>
<unspec/>
<clTRID>RENEWD-0006</clTRID>
<chksum>65e4bb1f440e7f9442dfcd0e1cc06093</chksum>
</command>
</epp>
chk_sum
= md5(s_customer_id + md5(password) + clTRID + "renewdomain" +
domain:type + domain:name + domain:period)
Note: domain:period is the
years the domain need to be renewed for.
The returned result is same
as above.
Check domain
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<epp
xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<command>
<check>
<domain:check
xmlns:domain="urn:iana:xml:ns:domain-1.0"
xsi:schemaLocation="urn:iana:xml:ns:domain-1.0
domain-1.0.xsd">
<domain:type>0</domain:type>
<domain:name>tamsdaydda.com</domain:name>
</domain:check>
</check>
<unspec/>
<clTRID>Chkd-0001</clTRID>
<chksum>65e4bb1f440e7f9442dfcd0e1cc06093</chksum>
</command>
</epp>
chk_sum
= md5(s_customer_id + md5(password) + clTRID + "chkdomain" + domain:type
+ domain:name)
If succeed, the returned
result is as below,
<?xml version="1.0"
encoding="UTF-8" standalone="no"?>
<epp
xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<response>
<result
code="1000">
<msg>Command completed
successfully</msg>
</result>
<resData>
<domain:chkData
xmlns:domain="urn:iana:xml:ns:domain-1.0"
xsi:schemaLocation="urn:iana:xml:ns:domain-1.0
domain-1.0.xsd">
<domain:cd
x="+">example1.com</domain:cd>
</domain:chkData>
</resData>
<trID>
<clTRID>ABC-12346</clTRID>
<svTRID>Chkd-0001-OLNIC-SRV</svTRID>
<chksum>65e4bb1f440e7f9442dfcd0e1cc06093</chksum>
</trID>
</response>
</epp>
chksum
= md5(customer_id + md5(password) + clTRID + svTRID + s_resultcode + msg
+ c_result + domain)
Note: In the command
of <domain:cd x="+">example1.com</domain:cd>, if x="+", that
means this domain has been already registered. If x="-", that means this
domain has not been registered.
c_result = "+" or "-"
Delete domain
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<epp
xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<command>
<delete>
<domain:delete
xmlns:domain="urn:iana:xml:ns:domain-1.0"
xsi:schemaLocation="urn:iana:xml:ns:domain-1.0
domain-1.0.xsd">
<domain:type>0</domain:type>
<domain:name>y-z-c.com</domain:name>
</domain:delete>
</delete>
<unspec/>
<clTRID>DELD-0008</clTRID>
<chksum>65e4bb1f440e7f9442dfcd0e1cc06093</chksum>
</command>
</epp>
chk_sum
= md5(s_customer_id + md5(password) + clTRID + "deldomain" + domain:type
+ domain:name)
Note: The domain only can be deleted within 3 days
upon the registration.
The returned result is same as login.
<?xml
version="1.0" encoding="UTF-8" standalone="no"?>
<epp
xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<response>
<result
code="2306">
<msg>Parameter value policy
error</msg>
<value>--CLIENT_TRANSACTION_ID_MUST_BE_UNIQUE</value>
</result>
<unspec/>
<trID>
<clTRID>L147481028182940_0</clTRID>
<svTRID>L147481028182940_0-OLNIC-SRV</svTRID>
</trID>
<chksum>a7c3cba6463467f51e257bdd4fd2b3cc</chksum>
</response>
</epp>
Domain lock
Domain registrar-transfer lock command:
<?xml version="1.0"
encoding="UTF-8"?>
<epp>
<command>
<update>
<domain:update>
<domain:type>0</domain:type>
<domain:name>DOMAINNAME.com</domain:name>
<domain:add>
<domain:status
s="clientTransferProhibited"/>
</domain:add>
</domain:update>
</update>
<clTRID>150132A1103080172B663</clTRID>
<chksum>60e04aac04a266f868b8d6535c258d3f</chksum>
</command>
</epp>
Domain registrar-transfer unlock command:
<?xml version="1.0"
encoding="UTF-8"?>
<epp>
<command>
<update>
<domain:update>
<domain:type>0</domain:type>
<domain:name>DOMAINNAME.com</domain:name>
<domain:rem>
<domain:status
s="clientTransferProhibited"/>
</domain:rem>
</domain:update>
</update>
<clTRID>150132A1103080172B663</clTRID>
<chksum>60e04aac04a266f868b8d6535c258d3f</chksum>
</command>
</epp>
chk_sum = md5(s_customer_id + md5(password) + clTRID + "upddomain" + domain:type + domain:name)
Domain Auto-renewal
Activate Domain Auto-Renewal:
<?xml version="1.0"
encoding="UTF-8"?>
<epp>
<command>
<update>
<domain:update>
<domain:type>0</domain:type>
<domain:name>xxx.com</domain:name>
<domain:add>
<domain:status
s="autoRenew"/>
</domain:add>
</domain:update>
</update>
<clTRID>150132A1103094678B634</clTRID>
<chksum>769afabff5f64a138f44af43a761c68e</chksum>
</command>
</epp>
Cancel Domain Auto-Renewal:
<?xml version="1.0"
encoding="UTF-8"?>
<epp>
<command>
<update>
<domain:update>
<domain:type>0</domain:type>
<domain:name>xxx.com</domain:name>
<domain:add>
<domain:status
s="autoRenew"/>
</domain:add>
</domain:update>
</update>
<clTRID>150132A1103094678B634</clTRID>
<chksum>769afabff5f64a138f44af43a761c68e</chksum>
</command>
</epp>
chk_sum = md5(s_customer_id + md5(password) + clTRID + "upddomain" + domain:type + domain:name )
Domain Transfer
Domain Transfer-In request command:
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<epp
xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<command>
<transfer>
<domain:transfer>
<domain:name>aaa.com</domain:name>
<domain:type>0</domain:type>
<domain:pw>123456</domain:pw>
</domain:transfer>
</transfer>
<unspec/>
<clTRID>150132A1103532767B458</clTRID>
<chksum>37c8429894299d2f0468924d957a4256</chksum>
</command>
</epp>
Note:chk_sum = md5(s_customer_id + md5(password) +
clTRID + "transferdomain" + domain:type + domain:name )
Domain Whois Query
Qurey domain whois and detailed contact information.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp>
<command>
<getdomaininfo>
<clID>150132</clID>
<domain>elitechen.com</domain>
<domain:type>0</domain:type>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
</getdomaininfo>
<clTRID>150132Wed Dec 15 14:19:47 CST 2004904</clTRID>
<chksum>ed16eb4597e8a89fc5f6243ef864d3ae</chksum>
</command>
</epp>
Note:
1.
chk_sum = md5(s_customer_id + md5(password) + clTRID + " getdomaininfo")
2. Domain type please refer to "Contact Attributes and Decription"
3. clid=Reseller ID
4. <options>…</options> is optional
If the domain is under the reseller ID where it should be, the successful response format is as follow:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<domain_creData>
<regdate>12/15/2004</regdate>
<expdate>12/15/2005</expdate>
<dns1>ns2.onlinenic.com</dns1>
<dns2>ns3.onlinenic.com</dns2>
<pwd>8fe4c11451281c094a6578e6ddbf5ee</pwd>
</domain_creData>
<registrant_creData>
<r_name>ab</r_name>
<r_org>ab.com</r_org>
<r_cc>COCOS (KEELING) ISLANDS</r_cc>
<r_sp>sp</r_sp>
<r_city>abc.cn</r_city>
<r_addr>abcd.com</r_addr>
<r_pc>pc</r_pc>
<r_phone>+1.6269439999</r_phone>
<r_fax>+1.6262811999</r_fax>
<r_email>dickchen@sina.com</r_email>
</registrant_creData>
<admin_creData>
<a_name>ab</a_name>
<a_org>ab.com</a_org>
<a_cc>COCOS (KEELING) ISLANDS</a_cc>
<a_sp>sp</a_sp>
<a_city>abc.cn</a_city>
<a_addr>abcd.com</a_addr>
<a_pc>pc</a_pc>
<a_phone>+1.6269439999</a_phone>
<a_fax>+1.6262811999</a_fax>
<a_email>dickchen@sina.com</a_email>
</admin_creData>
<tech_creData>
<t_name>ab</t_name>
<t_org>ab.com</t_org>
<t_cc>COCOS (KEELING) ISLANDS</t_cc>
<t_sp>sp</t_sp>
<t_city>abc.cn</t_city>
<t_addr>abcd.com</t_addr>
<t_org>ab.com</t_org>
<t_cc>COCOS (KEELING) ISLANDS</t_cc>
<t_sp>sp</t_sp>
<t_city>abc.cn</t_city>
<t_addr>abcd.com</t_addr>
<t_pc>pc</t_pc>
<t_phone>+1.6269439999</t_phone>
<t_fax>+1.6262811999</t_fax>
<t_email>dickchen@sina.com</t_email>
</tech_creData>
<billing_creData>
<b_name>ab</b_name>
<b_org>ab.com</b_org>
<b_cc>COCOS (KEELING) ISLANDS</b_cc>
<b_sp>sp</b_sp>
<b_city>abc.cn</b_city>
<b_addr>abcd.com</b_addr>
<b_pc>pc</b_pc>
<b_phone>+1.6269439999</b_phone>
<b_fax>+1.6262811999</b_fax>
<b_email>dickchen@sina.com</b_email>
</billing_creData>
</resData>
<trID>
<clTRID>150132Wed Dec 15 14:19:47 CST 2004904</clTRID>
<svTRID>150132Wed Dec 15 14:19:47 CST 2004904</svTRID>
</trID>
<chksum>8f9ba619142f740b642da3cc3c04e7b3</chksum>
</response>
</epp>
If the domain doesn't exist, the server response is as follow:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2400">
<msg>no record of Domain!</msg>
<value>(null)</value>
</result>
<unspec/>
<trID>
<clTRID>150132Thu Dec 16 11:07:12 CST 2004446</clTRID>
<svTRID>150132Thu Dec 16 11:07:12 CST 2004446-OLNIC-SRV</svTRID>
</trID>
<chksum>d15ddcf133770a57717d24f0b631332b</chksum>
</response>
</epp>
Register DNS
The XML
command is as follow:
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<epp
xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<command>
<create>
<host:create
xmlns:host="urn:iana:xml:ns:host-1.0"
xsi:schemaLocation="urn:iana:xml:ns:host-1.0
host-1.0.xsd">
<host:domaintype>0</host:domaintype>
<host:name>ns1.example.com</host:name>
<host:addr
ip="v4">192.1.2.3</host:addr>
</host:create>
</create>
<unspec/>
<clTRID>ABC-12345</clTRID>
<chksum>85e19021d3fd7d70e30d0839ad0768db</chksum>
</command>
</epp>
Note:chk_sum = md5(s_customer_id + md5(password) + clTRID + "crthost" + host:domaintype + host:name + host:addr)
Delete DNS
The XML command is as follow:
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<epp
xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<command>
<delete>
<host:delete
xmlns:host="urn:iana:xml:ns:host-1.0"
xsi:schemaLocation="urn:iana:xml:ns:host-1.0
host-1.0.xsd">
<host:domaintype>0</host:domaintype>
<host:name>ns1.example.com</host:name>
</host:delete>
</delete>
<unspec/>
<clTRID>ABC-12346</clTRID>
<chksum>85e19021d3fd7d70e30d0839ad0768db</chksum>
</command>
</epp>
chk_sum = md5(s_customer_id + md5(password) + clTRID + "delhost" + host:domaintype + host:name)
Modify DNS IP
The XML command is as follow:
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<epp
xmlns="urn:iana:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:iana:xml:ns:epp-1.0
epp-1.0.xsd">
<command>
<update>
<host:update
xmlns:host="urn:iana:xml:ns:host-1.0"
xsi:schemaLocation="urn:iana:xml:ns:host-1.0
host-1.0.xsd">
<host:domaintype>0</host:domaintype>
<host:name>ns1.example.com</host:name>
<host:add>
<host:addr
ip="v4">192.1.2.3</host:addr>
</host:add>
<host:rem>
<host:addr
ip="v4">192.1.2.1</host:addr>
</host:rem>
</host:update>
</update>
<unspec/>
<clTRID>ABC-12346</clTRID>
<chksum>85e19021d3fd7d70e30d0839ad0768db</chksum>
</command>
</epp>
When a DNS modification command is being sent, it will
include two necessary parts as follow:
1.Update DNS with new
IP:
<host:add>
<host:addr
ip="v4">192.1.2.3</host:addr>
</host:add>
2. Delete the old ip:
<host:rem>
<host:addr
ip="v4">192.1.2.1</host:addr>
</host:rem>
chk_sum = md5(s_customer_id + md5(password) +
clTRID + "updhost" + host:domaintype + host:name + host:addr(to add) +
host:addr(to remove))
Generally, format of returned result is same as the following example returned
1000 "Command complateted successfully"
1300 "Command completed
successfully; no messages"
1500 "Command complateted
successfully;ending session"
1700 "Command complateted
successfully;not in lib"
2001 "Command syntax error"
2002 "Command
use error"
2003 "Required Parameter missing"
2004 "Parameter value
range err"
2005 "Parameter value syntax error"
2104 "Billing
fail"
2201 "Authorization error"
2303 "Object does not
exist"
2304 "Object status prohibits operation"
2305 "Object
association prohibits operation"
2306 "Parameter value policy
error"
2400 "Command fail"
2500 "Command failed;server ending
session"
2501 "Timeout;server ending session"
5000 "Something
error in netware"
5500 "Did not login"
6000 "Checksum error"