A Ruby API for passing messages to Uniforum's EPP-based co.za registry
EPP extensions as per https://www.registry.net.za/content.php?wiki=1&contentid=112&title=What%20is%20EPP?
TODO: Some of the "Transfer" operations are yet to be implemented
N.B version 0.0.2+ requires an SSL-patched version of the epp gem found at https://github.com/tgenov/epp (I'll get around to publishing the gem on rubygems.org eventuall) for now pick an installation option:
Option 1:
gem install cozaepp
git clone https://github.com/tgenov/epp && cd epp && rake install
Option 2:
git clone https://github.com/tgenov/cozaepp && cd cozaepp && bundle install && rake install
require "cozaepp"
epp = CozaEPP::Client.new("some.hostname.co.za","username","password") epp.login
List of all public instance methods:
ack(messageId) click to toggle source
apply_clienthold(domainName)
create_contact(contactId, contactName, contactOrg, contactStreet1, contactStreet2, contactStreet3, contactCity, contactProvince, contactPostalcode, contactCountry, contactTel, contactFax, contactEmail, contactPassword )
"hosts" as a array of hashes.
{
"hostname" => 'hostname',
"ip_v4_address" => 'IPv4 Address',
"ip_v6_address" => 'IPv6 Address'
}
Using an external NS you need only the hostname
create_domain(
"testing.test.dnservices.co.za",
"1234567891234567",
[
{
"hostname" => 'ns1.domain.co.za'
},
{
"hostname" => 'ns2..domain.co.za'
}
],
"coza"
)
Using a NS that's hostname falls part of the domain being registered, IP details are required
create_domain(
"testing.test.dnservices.co.za",
"1234567891234567",
[
{
"hostname" => 'ns1.testing.test.dnservices.co.za',
"ip_v4_address" => '1.1.1.1'
},
{
"hostname" => 'ns2.testing.test.dnservices.co.za',
"ip_v4_address" => '2.2.2.2'
}
],
"coza"
)
create_domain_with_host(domainName, registrant, nsHostname1, nsipv4Address1, nsipv6Address1, nsHostname2, nsipv4Address2, nsipv6Address2, domainSecret )
create_domain_with_ns(domainName, registrant, nsHostname1, nsHostname2, domainSecret )
create_host(serverHostname, ipv4Address, ipv6Address=nil)
delete_contact(contactId)
delete_domain(domainName)
info_balance(contactId)
info_contact(contactId,contactPassword)
info_contact_linkeddomains(contactId,contactPassword)
info_domain(domainName)
login()
logout()
poll()
remove_clienthold(domainName)
renew_domain(domainName,curExpiryDate)
set_autorenew(domainName, autoRenew) -autorenew in [ "true", "false"]
transfer_approve(domainName)
transfer_domain(domainName)
update_contact(contactId, contactName, contactOrg, contactStreet1, contactStreet2, contactStreet3, contactCity, contactProvince, contactPostalcode, contactCountry, contactTel, contactFax, contactEmail, contactPassword )
update_domain_ns(domainName, nsHostname1, nsipv4Address1, nsipv6Address1)
update_domain_registrant(domainName,registrant)
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request