UNPKG

namecheap-ts

Version:
126 lines (122 loc) 5.51 kB
declare enum Commands { DOMAINS_GETLIST = "namecheap.domains.getList", DOMAINS_GETCONTACTS = "namecheap.domains.getContacts", DOMAINS_CREATE = "namecheap.domains.create", DOMAINS_GETTLDLIST = "namecheap.domains.getTldList", DOMAINS_SETCONTACTS = "namecheap.domains.setContacts", DOMAINS_CHECK = "namecheap.domains.check", DOMAINS_REACTIVATE = "namecheap.domains.reactivate", DOMAINS_RENEW = "namecheap.domains.renew", DOMAINS_GETREGISTRARLOCK = "namecheap.domains.getRegistrarLock", DOMAINS_SETREGISTRARLOCK = "namecheap.domains.setRegistrarLock", DOMAINS_GETINFO = "namecheap.domains.getInfo", DOMAINS_DNS_SETDEFAULT = "namecheap.domains.dns.setDefault", DOMAINS_DNS_SETCUSTOM = "namecheap.domains.dns.setCustom", DOMAINS_DNS_GETLIST = "namecheap.domains.dns.getList", DOMAINS_DNS_GETHOSTS = "namecheap.domains.dns.getHosts", DOMAINS_DNS_GETEMAILFORWARDING = "namecheap.domains.dns.getEmailForwarding", DOMAINS_DNS_SETEMAILFORWARDING = "namecheap.domains.dns.setEmailForwarding", DOMAINS_DNS_SETHOSTS = "namecheap.domains.dns.setHosts", DOMAINS_NS_CREATE = "namecheap.domains.ns.create", DOMAINS_NS_DELETE = "namecheap.domains.ns.delete", DOMAINS_NS_GETINFO = "namecheap.domains.ns.getInfo", DOMAINS_NS_UPDATE = "namecheap.domains.ns.update", DOMAINS_TRANSFER_CREATE = "namecheap.domains.transfer.create", DOMAINS_TRANSFER_GETSTATUS = "namecheap.domains.transfer.getStatus", DOMAINS_TRANSFER_UPDATESTATUS = "namecheap.domains.transfer.updateStatus", DOMAINS_TRANSFER_GETLIST = "namecheap.domains.transfer.getList", SSL_CREATE = "namecheap.ssl.create", SSL_GETLIST = "namecheap.ssl.getList", SSL_PARSECSR = "namecheap.ssl.parseCSR", SSL_GETAPPROVEREMAILLIST = "namecheap.ssl.getApproverEmailList", SSL_ACTIVATE = "namecheap.ssl.activate", SSL_RESENDAPPROVEREMAIL = "namecheap.ssl.resendApproverEmail", SSL_GETINFO = "namecheap.ssl.getInfo", SSL_RENEW = "namecheap.ssl.renew", SSL_REISSUE = "namecheap.ssl.reissue", SSL_RESENDFULFILLMENTEMAIL = "namecheap.ssl.resendfulfillmentemail", SSL_PURCHASEMORESANS = "namecheap.ssl.purchasemoresans", SSL_REVOKECERTIFICATE = "namecheap.ssl.revokecertificate", SSL_EDITDCVMETHOD = "namecheap.ssl.editDCVMethod", USERS_GETPRICING = "namecheap.users.getPricing", USERS_GETBALANCES = "namecheap.users.getBalances", USERS_CHANGEPASSWORD = "namecheap.users.changePassword", USERS_UPDATE = "namecheap.users.update", USERS_CREATEADDFUNDSREQUEST = "namecheap.users.createaddfundsrequest", USERS_GETADDFUNDSSTATUS = "namecheap.users.getAddFundsStatus", USERS_CREATE = "namecheap.users.create", USERS_LOGIN = "namecheap.users.login", USERS_RESETPASSWORD = "namecheap.users.resetPassword", USERS_ADDRESS_CREATE = "namecheap.users.address.create", USERS_ADDRESS_DELETE = "namecheap.users.address.delete", USERS_ADDRESS_GETINFO = "namecheap.users.address.getInfo", USERS_ADDRESS_GETLIST = "namecheap.users.address.getList", USERS_ADDRESS_SETDEFAULT = "namecheap.users.address.setDefault", USERS_ADDRESS_UPDATE = "namecheap.users.address.update", WHOISGUARD_CHANGEEMAILADDRESS = "Namecheap.Whoisguard.changeemailaddress", WHOISGUARD_ENABLE = "Namecheap.Whoisguard.enable", WHOISGUARD_DISABLE = "Namecheap.Whoisguard.disable", WHOISGUARD_GETLIST = "Namecheap.Whoisguard.getList", WHOISGUARD_RENEW = "Namecheap.Whoisguard.renew" } type Command = `${Commands}`; type Payload = Record<string, string | number>; interface IReponse<T = any> { data: T; status: number; } type ICheckDomainResponse = IReponse<{ availabe: boolean; premium: boolean; }>; type IRegisterDomainResponse = IReponse<{ domain: string; registered: boolean; chargedAmount: number; domainID: string; orderID: string; transactionID: string; whoisguardEnable: boolean; freePositiveSSL: boolean; nonRealTimeDomain: boolean; }>; type IAddFundsRequestResponse = IReponse<{ tokenId: string; returnURL: string; redirectURL: string; }>; type IGetFundsStatusResponse = IReponse<{ status: string; amount: number; }>; declare enum DomainPriceActions { REGISTER = "REGISTER", RENEW = "RENEW", REACTIVATE = "REACTIVATE", TRANSFER = "TRANSFER" } type DomainPriceAction = `${DomainPriceActions}`; type AddFundsRequestPayload = { username?: string; paymentType: "creditcard"; amount: number; returnURL: string; }; interface INamecheapConfig { apiUser: string; apiKey: string; username: string; clientIp: string; } declare class Namecheap { private readonly config; private readonly apiClient; constructor(config: INamecheapConfig, sandbox?: boolean); call(command: Command, payload: Payload): Promise<IReponse>; checkDomain(domainName: string): Promise<ICheckDomainResponse>; getDomainPrice(domainName: string, action: DomainPriceAction): Promise<IReponse<object[]>>; registerDomain(payload: Payload): Promise<IRegisterDomainResponse>; addFundsRequest(payload: AddFundsRequestPayload): Promise<IAddFundsRequestResponse>; getFundsStatus(tokenId: string): Promise<IGetFundsStatusResponse>; } export { AddFundsRequestPayload, Command, Commands, DomainPriceAction, DomainPriceActions, IAddFundsRequestResponse, ICheckDomainResponse, IGetFundsStatusResponse, INamecheapConfig, IRegisterDomainResponse, IReponse, Payload, Namecheap as default };