Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

namecomv4

liluxdev2.2kISC1.3.27TypeScript support: included

A Node.js library wrapper for Name.com's V4 API, designed to simplify domain management tasks such as querying domain information, managing DNS records, and handling domain registration and transfer.

name.com, API, wrapper, domain, DNS, reseller

readme

namecomv4

A Node.js library wrapper for Name.com's V4 API, designed to simplify domain management tasks such as querying domain information, managing DNS records, and handling domain registration and transfer.

Installation

Install the package using npm:

npm i --save namecomv4

Configuration

Ensure your tsconfig.json includes the following settings for optimal performance:

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "NodeNext",
    "moduleResolution": "NodeNext",
    "lib": ["ESNext"],
    ...
    }
}

Usage

Here's a quick example to get you started:

import { NameComDomains } from "namecomv4";

const domainClient = new NameComDomains("username-test", "token", "https://api.dev.name.com");
domainClient.listDomains().then((domains: any) => {
  console.log(domains);
});

Testing a search & purchase

        const domainClient = new NameComDomains(LocalBaseConfiguration.NAMECOM_API_USER, LocalBaseConfiguration.NAMECOM_API_PASS, LocalBaseConfiguration.NAMECOM_API_URL);
                domainClient.listDomains().then((domains: any) => {
                    console.log(domains);
        });

        domainClient.search( {keyword: "exampleeeee"}).then((searchResponse: SearchResponse) => {
            console.log("[TEST] Searched domain results");
            if (searchResponse.results && searchResponse.results.length > 0){
                console.log("[TEST] has results");
                searchResponse.results.forEach((searchResult: SearchResult) => {
                    console.log(JSON.stringify(searchResult));
                    console.log("[TEST]"+searchResult.domainName+ " purchasable:"+ searchResult.purchasable + " purchase price:"+ searchResult.purchasePrice);
                    if (searchResult.purchasable){
                        console.log("[TEST]"+"Purchasing domain "+ searchResult.domainName);
                        const purchaseDomain: CreateDomainRequest = {
                            domain: {domainName:searchResult.domainName},
                            purchasePrice: searchResult.purchasePrice,
                            purchaseType: searchResult.purchaseType,

                        };
                        domainClient.createDomain(purchaseDomain).then((purchaseResponse: CreateDomainResponse) => {
                            console.log("[TEST]"+"Purchase response:"+ JSON.stringify(purchaseResponse.domain) +" total paid"+ purchaseResponse.totalPaid);
                            if (purchaseResponse.domain){
                                console.log("[TEST]"+"Domain purchased"+JSON.stringify(purchaseResponse));
                            }
                        });
                        return;
                    }
                    console.log(searchResult.purchasable);
                });
            }
        });

License

This project is licensed under the MIT License - see the LICENSE file for details.

Original API Docs

https://www.name.com/api-docs

Get Access Token

https://www.name.com/account/settings/api