UNPKG

namecheap-ts

Version:
126 lines (122 loc) 5.63 kB
declare enum Commands { DOMAINS_GET_LIST = "namecheap.domains.getList", DOMAINS_GET_CONTACTS = "namecheap.domains.getContacts", DOMAINS_CREATE = "namecheap.domains.create", DOMAINS_GET_TLD_LIST = "namecheap.domains.getTldList", DOMAINS_SET_CONTACTS = "namecheap.domains.setContacts", DOMAINS_CHECK = "namecheap.domains.check", DOMAINS_REACTIVATE = "namecheap.domains.reactivate", DOMAINS_RENEW = "namecheap.domains.renew", DOMAINS_GET_REGISTRAR_LOCK = "namecheap.domains.getRegistrarLock", DOMAINS_SET_REGISTRAR_LOCK = "namecheap.domains.setRegistrarLock", DOMAINS_GET_INFO = "namecheap.domains.getInfo", DOMAINS_DNS_SET_DEFAULT = "namecheap.domains.dns.setDefault", DOMAINS_DNS_SET_CUSTOM = "namecheap.domains.dns.setCustom", DOMAINS_DNS_GET_LIST = "namecheap.domains.dns.getList", DOMAINS_DNS_GET_HOSTS = "namecheap.domains.dns.getHosts", DOMAINS_DNS_GET_EMAIL_FORWARDING = "namecheap.domains.dns.getEmailForwarding", DOMAINS_DNS_SET_EMAIL_FORWARDING = "namecheap.domains.dns.setEmailForwarding", DOMAINS_DNS_SET_HOSTS = "namecheap.domains.dns.setHosts", DOMAINS_NS_CREATE = "namecheap.domains.ns.create", DOMAINS_NS_DELETE = "namecheap.domains.ns.delete", DOMAINS_NS_GET_INFO = "namecheap.domains.ns.getInfo", DOMAINS_NS_UPDATE = "namecheap.domains.ns.update", DOMAINS_TRANSFER_CREATE = "namecheap.domains.transfer.create", DOMAINS_TRANSFER_GET_STATUS = "namecheap.domains.transfer.getStatus", DOMAINS_TRANSFER_UPDATE_STATUS = "namecheap.domains.transfer.updateStatus", DOMAINS_TRANSFER_GET_LIST = "namecheap.domains.transfer.getList", SSL_CREATE = "namecheap.ssl.create", SSL_GET_LIST = "namecheap.ssl.getList", SSL_PARSE_CSR = "namecheap.ssl.parseCSR", SSL_GET_APPROVER_EMAIL_LIST = "namecheap.ssl.getApproverEmailList", SSL_ACTIVATE = "namecheap.ssl.activate", SSL_RESEND_APPROVER_EMAIL = "namecheap.ssl.resendApproverEmail", SSL_GET_INFO = "namecheap.ssl.getInfo", SSL_RENEW = "namecheap.ssl.renew", SSL_REISSUE = "namecheap.ssl.reissue", SSL_RESEND_FULFILLMENT_EMAIL = "namecheap.ssl.resendfulfillmentemail", SSL_PURCHASE_MORE_SANS = "namecheap.ssl.purchasemoresans", SSL_REVOKE_CERTIFICATE = "namecheap.ssl.revokecertificate", SSL_EDIT_DCV_METHOD = "namecheap.ssl.editDCVMethod", USERS_GET_PRICING = "namecheap.users.getPricing", USERS_GET_BALANCES = "namecheap.users.getBalances", USERS_CHANGE_PASSWORD = "namecheap.users.changePassword", USERS_UPDATE = "namecheap.users.update", USERS_CREATE_ADD_FUNDS_REQUEST = "namecheap.users.createaddfundsrequest", USERS_GET_ADD_FUNDS_STATUS = "namecheap.users.getAddFundsStatus", USERS_CREATE = "namecheap.users.create", USERS_LOGIN = "namecheap.users.login", USERS_RESET_PASSWORD = "namecheap.users.resetPassword", USERS_ADDRESS_CREATE = "namecheap.users.address.create", USERS_ADDRESS_DELETE = "namecheap.users.address.delete", USERS_ADDRESS_GET_INFO = "namecheap.users.address.getInfo", USERS_ADDRESS_GET_LIST = "namecheap.users.address.getList", USERS_ADDRESS_SET_DEFAULT = "namecheap.users.address.setDefault", USERS_ADDRESS_UPDATE = "namecheap.users.address.update", WHO_IS_GUARD_CHANGE_EMAIL_ADDRESS = "Namecheap.Whoisguard.changeemailaddress", WHO_IS_GUARD_ENABLE = "Namecheap.Whoisguard.enable", WHO_IS_GUARD_DISABLE = "Namecheap.Whoisguard.disable", WHO_IS_GUARD_GET_LIST = "Namecheap.Whoisguard.getList", WHO_IS_GUARD_RENEW = "Namecheap.Whoisguard.renew" } type Command = `${Commands}`; type Payload = Record<string, string | number>; interface IResponse<T = any> { data: T; status: number; } type ICheckDomainResponse = IResponse<{ available: boolean; premium: boolean; }>; type IRegisterDomainResponse = IResponse<{ domain: string; registered: boolean; chargedAmount: number; domainID: string; orderID: string; transactionID: string; whoIsGuardEnable: boolean; freePositiveSSL: boolean; nonRealTimeDomain: boolean; }>; type IAddFundsRequestResponse = IResponse<{ tokenId: string; returnURL: string; redirectURL: string; }>; type IGetFundsStatusResponse = IResponse<{ 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<IResponse>; checkDomain(domainName: string): Promise<ICheckDomainResponse>; getDomainPrice(domainName: string, action: DomainPriceAction): Promise<IResponse<object[]>>; registerDomain(payload: Payload): Promise<IRegisterDomainResponse>; addFundsRequest(payload: AddFundsRequestPayload): Promise<IAddFundsRequestResponse>; getFundsStatus(tokenId: string): Promise<IGetFundsStatusResponse>; } export { type AddFundsRequestPayload, type Command, Commands, type DomainPriceAction, DomainPriceActions, type IAddFundsRequestResponse, type ICheckDomainResponse, type IGetFundsStatusResponse, type INamecheapConfig, type IRegisterDomainResponse, type IResponse, type Payload, Namecheap as default };