CoreInto

Domains and registrars

CoreInto sells domain registrations, transfers and renewals, and keeps each domain's dates, status and nameservers. A registrar module does the work at the registrar: ResellerClub, Namecheap, Spaceship, Porkbun and Dynadot.

CoreInto administrator guide: Domains and registrars overview with the main sections of the article

CoreInto sells domain registrations, transfers and renewals, and keeps each domain's dates, status and nameservers. A registrar module does the work at the registrar: ResellerClub, Namecheap, Spaceship, Porkbun and Dynadot. Support for .pk domains (the PKNIC registrar and .pk WHOIS) comes with the separately sold PKNIC add-on module, described in its own README. Where no registrar is set, or the extension's rules say so, the work becomes a staff task with every detail filled in. This chapter covers Settings > Domain Registrars (set-up, TLD presets and bringing in the domains a registrar already holds), the registrar modules and their limits, Clients > Domain Registrations and the domain page, how registration, transfer and renewal are set off, syncing, renewal notices and expiry, WHOIS lookups and availability, the client's domain pages, and what is not built yet. Prices and extensions are set under Settings > Domain Pricing, see Catalogue. No registrar module has yet been tried against a real registrar account.

How the work is divided

Each extension (TLD) on Settings > Domain Pricing names the registrar that registers it, and carries rules that decide whether CoreInto may act on its own:

Rule on the extensionEffect
RegistrarThe module used for this extension, or "None (staff)". A domain can also carry its own registrar, set on the domain page, which wins over the extension's.
Register automatically once paidOff: registrations and transfers are never sent to the registrar; staff get a task even when a registrar is set.
The registry needs documents (always a staff task)Registration is a staff task; the client is emailed "Documents needed for a domain" (domain_documents_needed).
Transfers need an EPP codeA transfer without a code from the client becomes a staff task.
Years it can be registered forFor example 2,4,6,8,10. Decides the periods offered and the default period for domains brought in.
Offer DNS management, Offer email forwarding, Offer ID protectionWhether these extras can be ordered with the domain (see "Not built yet").
Grace period and Redemption period, with feesSaved with the extension. Nothing charges these fees yet; see "Expiry".

A staff task means: a to-do item (when "Add a to-do entry for manual domain work" is on) and the email "Domain needs staff action" (admin_domain_task) to staff, carrying the registrant's details, the years and the nameservers. The domain waits as pending registration or pending transfer until staff do the work at the registrar and set the dates on the domain page or press Sync. A registrar that cannot do a particular thing (for example the transfer code at Namecheap) turns that one command into a staff task in the same way.

Automatic actions that reach the registrar and fail go to Utilities > Pending Module Actions, are tried again hourly up to five times, and email staff "Automatic action failed". See Services and servers for that page.

Settings > Domain Registrars

The page lists every registrar module this version has (and those of active add-on modules), with its status (Not set up, Off or On), how many extensions use it and how many live domains it holds, and a Set up or Settings button. A line says how many extensions have no registrar. Staff need the permission "Domain registrars" (settings.registrars).

Setting a registrar up

Each module's page shows a line on where to find the keys at the registrar, the module's fields (secrets are stored encrypted; "Saved; type to replace" means one is kept), the line "Can do through CoreInto: ..." listing its features, and "Turned on". Save, then press Test Connection: it signs in and reports the account (and the balance where the registrar gives one). The last ten connection checks are shown at the bottom of the page.

Extensions with their registry rules appears for modules that bring presets (such as a regional registrar from an add-on module). Tick the extensions to sell through the registrar and press "Use the ticked extensions": new extensions are added with the home country, years, automatic registration and documents rules of the preset, existing ones are pointed at the registrar and get those rules, and prices are kept. Enter prices under Domain Pricing afterwards.

Extensions using it lists the extensions pointed at this registrar; ones marked "(staff)" have automatic registration off or need documents.

Domains at the registrar (modules with the "list of domains" feature) opens the import page described below.

The registrar modules

ModuleFieldsCan do through CoreIntoNotes
ResellerClubReseller ID, API key, "Use the demo (test) account", "Turn on privacy protection where the client ordered ID protection"register, transfer, renew, nameservers, transfer lock, contacts, transfer codes, sync, transfer checks, availability, balance, child nameservers, list of domainsLogicBoxes HTTP API. Add this server's IP address to the allowed list in the ResellerClub control panel (Settings, API). The order ID is kept as the domain's registrar reference.
NamecheapNamecheap username, API key, "This server's public IP address (as whitelisted)", "Use the sandbox", privacy protectionregister, transfer, renew, nameservers, transfer lock, contacts, sync, transfer checks, availability, balance, list of domainsXML API. Turn API access on under Profile, Tools, Business & Dev Tools and whitelist the server's IP. No transfer code through the API: "Email transfer code to client" becomes a staff task.
SpaceshipAPI key, API secret, privacy protectionregister, transfer, renew, nameservers, transfer lock, contacts, transfer codes, sync, transfer checks, availability, list of domainsREST API; make the key in API Manager with access to domains, contacts and the account balance. Registration, transfer and renewal finish in the background at Spaceship; the domain stays pending until a sync confirms it.
PorkbunAPI key, Secret API keyregister, renew, nameservers, sync, availability, list of domainsJSON API. Create the keys under API Access and turn on API access for the domains CoreInto should manage. Registers one year at a time, only for the extensions its API accepts. No contacts through the API, so the import page cannot show registrants. Transfers, lock, contacts and transfer codes are staff tasks.
DynadotAPI keyregister, renew, nameservers, sync, availability, list of domainsAPI 3; make the key under Tools > API. Creates a Dynadot contact for each registration. Registrations and renewals are paid from the Dynadot balance. Transfers, lock, contacts and transfer codes are staff tasks.

Registrar modules can also come from add-on modules (Settings > Add-on Modules); while such a module is off or its files are missing, its registrar is not listed, and domains and extensions that use it show "registrar not available" and keep it when saved, with their commands becoming staff tasks.

Porkbun and Dynadot were built from the public documentation and need a check with a test account before real orders. Cosmotown has no public API documentation and is not built.

Every call to a registrar is written to the module log (Utilities > Module Log) with keys and passwords hidden; a domain's own calls are shown on its page as the registrar log.

.pk domains (PKNIC add-on module)

CoreInto itself has no .pk registrar. The PKNIC add-on module, sold separately, adds the PKNIC registrar (it works the SRS member dashboard), the .pk presets and WHOIS answers for .pk and its second-level extensions. Install it by copying its folder into the modules folder and activating it under Settings > Add-on Modules; its README covers set-up and use.

Domains at the registrar

This page brings in domains the registrar already holds, so an existing portfolio can be managed in CoreInto. It reads the registrar's full list (for a long list it reads about 20 seconds per request and refreshes itself until it is done; keep the page open), keeps the result for an hour in storage/cache/registrar-NAME-domains.json, and shows the domains that are not in CoreInto yet, 100 to a page, with a "Domain contains" filter. "Read the list again" reads a fresh list.

For registrars that can show a domain's registrant (contacts at ResellerClub, Namecheap and Spaceship; the contact at Dynadot; not Porkbun; registrar modules of add-on modules may too), the page reads the registrant of each domain shown, again about 20 seconds at a time, and keeps what it read. It then suggests the client: first the client whose name is the registrant's name, then whose email (the client's or a contact's) is the registrant's email, then whose company is the registrant's company, marked "matched by name", "matched by email" or "matched by company". A sign-in or connection failure stops the reading and shows why; a single domain the registrar cannot show is skipped.

Tick the domains to bring in, check or type the client number or email address for each, and press "Bring in the ticked domains". Each becomes a domain of that client with this registrar, type registration, status active (or expired when its expiry date has passed), the expiry date from the list as its next due and next invoice date, the period from the extension's first allowed term, auto-renew from the setting "New domains renew automatically", no nameservers kept, the note "Brought in from NAME", and the renewal amount from the price list where there is one. Domains already in CoreInto are left alone; clients that cannot be found are reported. Press Sync on a domain afterwards to read its details from the registrar.

Clients > Domain Registrations

The list (permission "List domains") has filters for domain or client, status, registrar (including "None (staff)") and expiring within 30, 60 or 90 days (which sorts by expiry date). Rows show the domain (with "(no auto-renew)" where that is off), client, registrar, expiry, next due date, renewal amount and status.

StatusMeaning
PendingOrdered; the order is not accepted or paid yet.
Pending RegistrationWaiting for the registrar to confirm, or for staff.
Pending TransferA transfer under way, or waiting for staff.
ActiveRegistered.
Grace Period, RedemptionPast expiry, in the registry's recovery periods. Set by staff; see "Expiry".
ExpiredPast its expiry date.
CancelledClosed, or a transfer that did not go through.
FraudMarked by the fraud step of the order.
Transferred AwayMoved to another registrar, as reported by sync.

The domain page

Permissions: "View domains", "Edit domains" for the form, "Run registrar commands" for the commands, "Delete domains".

Alerts show failed automatic actions waiting in the queue.

Registrar commands names the registrar and the registrar reference, or says that commands become staff tasks when the registrar is not set up or there is none. Buttons by status:

CommandWhenWhat it does
RegisterPending or pending registration, type registrationRegisters at the registrar now; charged to your registrar account. Asks for confirmation.
Start transferPending or pending transfer, type transferStarts the transfer with the EPP code kept on the domain.
Renew, with a years listActive, expired, grace or redemptionRenews for the chosen years; charged to your registrar account.
SyncAny status but pendingReads the status and expiry date from the registrar and updates the domain.
Read lock and nameserversActive, registrar with the lock featureReloads the page with the lock state and the nameservers as read from the registrar (?live=1). Then Lock or Unlock appears.
Email transfer code to clientActiveAsks the registrar for the code and emails it to the client ("Domain transfer code"), or tells you the registrar emails the owner itself.
Change nameserversActive or pendingTwo or more nameservers; sent to the registrar for an active domain, kept for use at registration otherwise.

Each command's result is shown at the top of the page. A command the registrar cannot do becomes a staff task with the details, and the page says so.

Domain form: registrar (None (staff) or a module), status, period in years (1 to 10), registrant country (decides local or international renewal prices), registration and expiry dates, next due and next invoice dates, first payment, renewal amount (with the price-list figure as help and a button "Set the renewal amount from the price list"), registrar reference, transfer code (kept encrypted, shown on request), nameservers kept in CoreInto, "Renew automatically (renewal invoices are made)", DNS management, email forwarding, ID protection, and staff notes. Saving changes CoreInto's record only; use the registrar commands to change the domain at the registrar.

Details: the order, kind (registration or transfer), last sync, and any extra fields collected with the order. Invoices: the last 20 invoices with this domain on them. Registrar log: the last 25 registrar calls for this domain with the request and answer. The WHOIS button at the top opens Utilities > WHOIS Lookup for the name.

Delete domain removes the domain from CoreInto; nothing is changed at the registrar and its invoices are kept.

When registration, transfer and renewal happen

TriggerWhat runs
The invoice is paidEvery line of kind domain registration or domain transfer on the invoice is sent to the registrar. Domain renewal lines renew at the registrar when "Renew at the registrar when the renewal is paid" (RenewOnPayment) is on; with it off, the renewal is recorded in CoreInto only and staff renew at the registrar.
Staff accept the order with "Create the accounts on the server" tickedThe order's pending domains are sent, if the order's invoice is paid or the order cost nothing. Otherwise paying sends them.
Staff press Register, Start transfer or RenewRuns at once.
The client presses Renew NowMakes a renewal invoice for the domain's period (or opens the one already waiting); paying it renews.
module-retriesTries failed registrations, transfers and renewals again.

Registration uses the nameservers kept on the domain, else the default nameservers from General Settings (Domains tab), and the client's details as the registrant. A registrar that finishes in the background (Spaceship) leaves the domain pending registration until sync confirms it; otherwise the domain becomes active at once with the registrar's expiry date (or today plus the period when none is given) and the client is emailed "Domain registered". A transfer leaves the domain pending transfer and emails "Domain transfer started"; the transfer-sync task finishes it. A renewal moves the expiry date forward and emails "Domain renewed".

Renewal invoices themselves are made by the daily invoicing run for domains with auto-renew on, "... for domains" days before the next due date (see Billing). A domain's own "Payment method" chooses the gateway for its invoices.

Syncing

The task domain-sync runs every four hours when "Sync domains with the registrars" (DomainSync) is on. Each run takes up to 50 domains that have a registrar or a registrar reference and were last synced more than 20 hours ago (never synced first), and asks the registrar for the status and expiry date. Sync:

  • confirms a pending registration (active, emails "Domain registered");
  • sets active, expired, cancelled or transferred away as the registrar reports;
  • updates the expiry date, and with "Sync also moves the next due date" (SyncNextDue) on, sets the next due and next invoice dates to the expiry date minus "Days before expiry for the next due date" (SyncNextDueOffset).

The task transfer-sync, also every four hours, checks every domain in pending transfer. A finished transfer makes the domain active and emails "Domain transfer finished"; a failed one marks the domain cancelled, emails the client "Domain transfer did not go through" with the reason, and gives staff a task.

Renewal notices and expiry

The task domain-renewal-notices runs daily. The setting "Domain renewal notices (days before; negative = after)" (RenewalNotices, default 30,7,-3) lists the points: 30 and 7 days before expiry send "Domain renewal reminder" (domain_renewal_notice) with the expiry date, days left, whether auto-renew is on and the renewal price; a negative value such as -3 sends "Domain expired" (domain_expired) that many days after expiry. Each notice goes once per domain and point (within 40 days). "Send notices for free domains too" (FreeDomainNotices) decides whether domains with no renewal amount get them. Up to five points are recorded per domain.

The task domain-status runs daily and moves active domains whose expiry date has passed to Expired. The statuses Grace Period and Redemption exist and can be set on the domain page, but nothing moves a domain into them automatically, and the grace and redemption fees on the extension and the setting "Grace and redemption fees" (GraceFeeHandling) are not charged by this version.

WHOIS and domain availability

The store's domain search (/domains/search) and the transfer page check whether a name is free when "Check availability in domain search" (DomainLookup) is "Ask the registrar, or WHOIS when it cannot tell". The extension's registrar is asked when it has the availability feature; otherwise a WHOIS lookup runs. "Do not check (show prices only)" turns the check off. "TLDs offered in search results" (SuggestTLDs) lists the extensions shown with a searched name.

WHOIS lookups work without a registrar. The server for an extension comes, in order, from a short built-in list of common extensions, from the table app/data/whois-servers.json (which also says what a free name answers), and otherwise from the IANA root, whose answer is kept as a setting WhoisServer.tld. Thin registries that point to the registrar's server are followed for the details. Many hosts block WHOIS port 43: when the server cannot be reached (refused or timed out after 5 seconds), CoreInto remembers it for an hour (setting Whois43BlockedUntil) and asks the registry's RDAP service over https instead (redirects are followed, a 404 means the name is free, and a refusal (403) is asked once more as a browser would). When RDAP gives no answer either, the domain's DNS decides: nameservers (or an SOA record) mean it is registered; none, while the extension's own zone answers, means it looks available, with the note that DNS cannot prove a name is free. Only when DNS cannot be asked either is an error shown, naming each step and what it said, for example "Port 43 at whois.verisign-grs.com timed out; RDAP at rdap.verisign.com answered 403; DNS lookup failed." An answer for a registered domain that lists no nameservers gets the ones from DNS, marked "(from DNS)". Active add-on modules may answer for their own extensions (the PKNIC module does for .pk).

Utilities > WHOIS Lookup (permission "WHOIS lookups") looks a name up and shows Available or Registered, the server that answered and the full text; "Extensions this lookup checks" lists what the table covers, grouped by app/data/tld-categories.json. Every lookup, from staff or the store, is written to Utilities > WHOIS Lookup Log.

The client's domain pages

Domains > My Domains (/client/domains) lists current domains with registration and expiry dates (an expiry within 30 days is marked), auto-renew and status, with a tab for all including closed ones. A domain page has tabs: Overview (dates, renewal price, nameservers, and Auto Renew on or off), Nameservers (your default nameservers or up to five of the client's own), Registrar Lock, Contact Information (the registrant), Transfer Code ("Email Me the Transfer Code") and Renew ("Renew Now", or a link to the renewal invoice already waiting). Lock and contacts appear only when the domain's registrar has those features; a request the registrar cannot carry out is passed to staff with the message that it is usually done within one working day. "Clients may order renewals early" (DomainRenewalOrders) controls the Renew tab. The account permissions "See domains" and "Manage domains" decide what each user may do. Register a New Domain and Transfer Domains to Us lead to the store. The client area as a whole is in Client area.

Settings for domains

Under Settings > General Settings, tab Domains:

SettingWhat it does
Allow domain registration, Allow domain transfers, Allow clients to use their own domainWhat the store offers with a product.
Clients may order renewals earlyShows the Renew tab and Renew Now on the client's domain page.
Renew at the registrar when the renewal is paidPaying a renewal invoice renews at the registrar.
New domains renew automaticallyThe auto-renew default for new and brought-in domains.
Sync domains with the registrarsTurns the domain-sync task on or off.
Sync also moves the next due date, Days before expiry for the next due dateLet sync set the billing dates from the expiry date.
Add a to-do entry for manual domain workStaff tasks also make a to-do item (the email to staff is always sent).
Allow international domain namesAccepts non-ASCII names in the store.
Check availability in domain searchRegistrar or WHOIS check, or prices only.
TLDs offered in search resultsExtensions suggested with a search, default .com,.net,.org.
Default nameserver 1 to 5Used for registrations without nameservers of their own and offered to clients as "our default nameservers".

Under Settings > Automation Settings, tab Domains: "Domain renewal notices (days before; negative = after)" and "Send notices for free domains too"; and under Billing, "... for domains" sets how many days before the due date renewal invoices are made.

Emails about domains

TemplateSent when
Domain registeredA registration is confirmed.
Domain transfer startedA transfer is sent to the registrar.
Domain transfer finishedtransfer-sync sees the transfer completed.
Domain transfer did not go throughtransfer-sync sees the transfer failed.
Domain renewedA renewal is done at the registrar.
Domain renewal reminderA renewal notice point before expiry.
Domain expiredA notice point after expiry.
Domain transfer codeThe code the registrar returned.
Documents needed for a domainA registration for an extension that needs documents.
Domain needs staff action (to staff)A staff task is made.
Automatic action failed (to staff)A registrar action that ran automatically failed.

Not built yet

  • DNS hosting, ID protection and child nameservers as client pages. The extension's "Offer DNS management", "Offer email forwarding" and "Offer ID protection" and the domain's matching tick boxes are recorded, and the registrar modules turn on privacy protection where the client ordered ID protection, but there are no client pages to manage DNS records, forwarding or child nameservers.
  • Grace and redemption handling: the statuses can be set by hand; nothing moves domains into them or charges the fees.
  • Cosmotown (no public API documentation).
  • ResellerClub, Namecheap, Spaceship, Porkbun and Dynadot await a check against each registrar's test account.

Frequently asked questions

What does "Domains and registrars" cover in CoreInto?

CoreInto sells domain registrations, transfers and renewals, and keeps each domain's dates, status and nameservers. A registrar module does the work at the registrar: ResellerClub, Namecheap, Spaceship, Porkbun and Dynadot. CoreInto sells domain registrations, transfers and renewals, and keeps each domain's dates, status and nameservers. A registrar module does the work at the registrar: ResellerClub, Namecheap, Spaceship, Porkbun and Dynadot. Support for .pk domains (the PKNIC registrar and .pk WHOIS) comes with the separately sold PKNIC add-on module, described in its own README. Where no registrar is set, or the extension's rules say so, the work becomes a staff task with every detail filled in. This chapter covers Settings > Domain Registrars (set-up, TLD presets and bringing in the domains a registrar already holds), the registrar modules and their limits, Clients > Domain Registrations and the domain page, how registration, transfer and renewal are set off, syncing, renewal notices and expiry, WHOIS lookups and availability, the client's domain pages, and what is not built yet. Prices and extensions are set under Settings > Domain Pricing, see Catalogue. No registrar module has yet been tried against a real registrar account.

Where do I find more help?

Use the Help button on this site, browse the Administrator guide on coreinto.com, or submit a ticket at https://system.coreinto.com/contact with your panel version and the steps you tried.

Submit a ticket