1. The internet registrars object
In your main.php, you shall add yourself in the array named $registry_api_modules. It's done the following way:
$registry_api_modules[] = array(
"name" => "MyRegistrarName",
"configure_descriptor" => $configurator,
... list of your callback function pointers ...
);
name defines the name of your registrar. This field will be inserted in MySQL as the registry name.
configure_descriptor contains the web interface description, so that DTC can draw it in the general config -> registrar.
It is 100% mandatory that you implement at least the following 3 sets of functions: registering a domain (2 functions), transfering a domain (4 functions), domain life (3 functions). There are 2 other sets of functions that are not mandatory to implement: manage DNS servers (3 functions),
2. Registering a domain: registry_register_domain(), registry_check_availability()
2 functions: the one for registering a domain, and the one for checking if the domain is already in the registry (eg: not taken by someone else already or forbidden for registration).
3. Transfering a domain: registry_check_transfer(), registry_get_auth_code(), registry_transfert_domain(), registry_set_domain_protection()
Transfering a domain: check if a domain is transferable, get the auth code of the domain (or instructions how to get it transfered depending on your registry), set transfer protections, and transfer a domain.
4. Managing a domain's life: registry_renew_domain(), registry_update_whois_info(), registry_delete_domain()
domain life: renew a domain, edit it's whois.
5. Managing DNS servers: registry_add_nameserver(), registry_modify_nameserver() and registry_delete_nameserver()
6. Utility functions: registry_get_whois(), registry_change_password()
7. Nick handles: registry_create_nick_handle(), registry_delete_nick_handle(), registry_edit_nick_handle()