Module and release scope
This guide covers Dreamscape Reseller 1.0.0, Extension API 1, from the reviewed product source. Its declared core range is 1.3.5–1.3.99. Use the matching released core and signed provider package; a version label alone does not install the required contracts. Source availability does not mean the module is bundled in every currently downloadable product, installed on your server, enabled or certified for your merchant/server account. Nothing in this guide enables a provider or changes your existing connections.
Open System → Domain registrars (newer source may group these as Payments, Domain services or Hosting services). Install the reviewed signed package through Modules & addons or the integration workspace's Install tab, enable the module separately, add an account/connection, save its own credentials, run its stated Test and explicitly enable the connection. Saving or retesting disables the connection until you enable it again. Start with the provider's test environment where supported; otherwise use an isolated account or server.
Exact connection fields
These are the fields declared by this module. Secret values are entered privately and encrypted by the application. Defaults are configuration hints, not approved live merchant settings. Internal fields are populated by the module and are not operator-editable.
| Key / label | Type | Required | Default / guidance |
|---|---|---|---|
api_key — Dreamscape REST API key |
secret | Yes | Copy the key from Account Settings → API & WHMCS → API Setup in the selected environment. |
environment — Environment |
select | Yes | Default: "sandbox" Choices: sandbox = Sandbox, live = Live |
currency — Registrar price currency |
select | Yes | Default: "AUD" Choices: AUD = AUD, USD = USD, SAR = SAR |
allow_writes — Allow domain purchases and changes |
boolean | No | Use the account-specific value described below. |
allow_automated_renewals — Allow paid-invoice automated renewals |
boolean | No | Use the account-specific value described below. |
EmailaBiller registrar module for the Dreamscape Reseller REST API. Supports account testing, domain availability, registration, transfer, renewal, nameserver changes, locking, privacy and a paginated price catalogue. The module uses Dreamscape's REST API key; a reseller ID is not required.
Install and connect
- In Modules & addons → Domain registrars, upload the released ZIP and its supplied SHA-256 checksum. Select Verify package, review the verified package, then acknowledge the exact package and select Install verified package. Installation leaves the extension disabled.
- With a current backup, acknowledge the existing backup/package review checkbox and select Enable extension.
- In Domain registrars, choose Dreamscape Reseller → Configure new connection. Copy the REST API key from the selected Dreamscape console's Account Settings → API & WHMCS → API Setup.
- Keep the initial defaults: Sandbox, AUD, domain purchases/changes disabled and automated renewals disabled. Save the connection, run Test, then Enable the successfully tested connection. Test reads the account balance and changes no domains.
Sandbox keys may differ from production keys. Changing configuration disables the connection and requires another test and enable step. Enable domain purchases/changes when ready to submit provider operations; automated paid-invoice renewals also require their separate setting.
Use
Assign the tested connection to a domain inventory record. Its Registrar actions → Provider options (JSON) accepts operation options directly. For a standard registration:
{
"customer_id": 123456,
"years": 1,
"nameservers": ["ns1.example.net", "ns2.example.net"],
"privacy": false
}
customer_id is the Dreamscape customer ID. Create the customer in Dreamscape first; the module does not create provider customers. years becomes a provider period in months. A transfer uses customer_id, years: 1 and auth_code. Checkout blocks a transfer requiring a paid renewal because that extra price is absent from the flat catalogue offer. Staff can submit it after reviewing the provider fee by adding "confirm_transfer_renewal": true. Nameservers are strings, with at least two different hosts.
Restricted TLD registrations require an eligibility_data array of {"name":"field_name","value":"field_value"} items. Customer checkout blocks registration when the provider requires eligibility; staff can fulfil the domain with the required details. See the official eligibility fields.
Dreamscape locking covers domain updates, including nameservers, contacts, DNS and transfer requests. Privacy can incur an extra fee; add or renew it explicitly with "privacy": true in the corresponding payload. There is no connection-level default privacy setting, and the default renewal payload does not renew privacy.
In TLD pricing, preview an import from this connection and apply the app's pricing/markup settings. The catalogue requests its configured currency explicitly and rejects incomplete pagination. Annual registration/renewal costs become complete term totals; transfer cost is a single one-year offer. Provider minimum/maximum periods bound 1–10 year registration/renewal terms, and Dreamscape still validates each TLD's allowed increments. API tax inclusion is unconfirmed; the module applies no tax adjustment.
Compatibility and verification
The current app includes the required App\Contracts\RegistrarTermSupport interface and checkout capability checks. An older core needs both the interface and the checkout integration before this standalone package can be used; the package's declared core range alone does not supply those changes.
Live and sandbox provider operations have not been tested with an account because no credentials were supplied. Refresh the domain and review the Dreamscape account after an unconfirmed request before submitting it again. Premium, resale and reserved domains require manual review.
More operation examples and endpoint details are in the app's docs/dreamscape-reseller.md.

