You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor WHMCS API response models to remove Pydantic dependency and implement custom serialization methods
- Updated `WHMCSBaseResponse`, `WHMCSErrorResponse`, and `WHMCSSuccessResponse` classes to use standard Python classes instead of Pydantic models.
- Added custom `to_dict`, `to_str`, and `from_json` methods for serialization and deserialization.
- Removed unnecessary imports and simplified the structure of the response models.
- Enhanced error handling in response models to ensure required fields are validated.
- Updated `rest.py` to improve request handling and logging, including support for query parameters.
- Removed deprecated `py.typed` file.
Python client for the WHMCS API. WHMCS (Web Host Manager Complete Solution) provides a single API endpoint that handles multiple operations through different 'action' parameters. This client supports various WHMCS operations for managing clients, orders, and other resources. Authentication is handled through username/password or API credentials. All requests are sent as form-encoded data to the /api.php endpoint.
3
3
4
-
WHMCS (Web Host Manager Complete Solution) provides a single API endpoint that handles
5
-
multiple operations through different 'action' parameters. This client supports various
6
-
WHMCS operations for managing clients, orders, and other resources.
7
-
8
-
Authentication is handled through username/password or API credentials.
9
-
All requests are sent as form-encoded data to the /api.php endpoint.
10
-
11
-
12
-
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
4
+
This Python package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
domain = ['domain_example'] # List[str] | Array of domain names associated with the products/domains (optional)
128
-
billingcycle = ['billingcycle_example'] # List[str] | Array of billing cycles for the products (optional)
129
-
domaintype = ['domaintype_example'] # List[str] | For domain registrations, array of register or transfer values (optional)
130
-
regperiod = [56] # List[int] | For domain registrations, the registration periods for the domains (optional)
131
-
idnlanguage = ['idnlanguage_example'] # List[str] | For IDN domain registrations, the language codes for the domains (optional)
132
-
eppcode = ['eppcode_example'] # List[str] | For domain transfers, the EPP codes for the domains being transferred (optional)
133
-
nameserver1 ='nameserver1_example'# str | The first nameserver to apply to all domains in the order (optional)
134
-
nameserver2 ='nameserver2_example'# str | The second nameserver to apply to all domains in the order (optional)
135
-
nameserver3 ='nameserver3_example'# str | The third nameserver to apply to all domains in the order (optional)
136
-
nameserver4 ='nameserver4_example'# str | The fourth nameserver to apply to all domains in the order (optional)
137
-
nameserver5 ='nameserver5_example'# str | The fifth nameserver to apply to all domains in the order (optional)
138
-
configoptions = ['configoptions_example'] # List[str] | Array of base64 encoded serialized array of product configurable options values (optional)
139
-
priceoverride = [3.4] # List[float] | Override the price of the product being ordered (optional)
140
-
promocode ='promocode_example'# str | The promotion code to apply to the order (optional)
141
-
promooverride =True# bool | Should the promotion apply to the order even without matching promotional products (optional)
142
-
affid =56# int | The affiliate ID to associate with the order (optional)
143
-
noinvoice =True# bool | Set to true to suppress the invoice generating for the whole order (optional)
144
-
noinvoiceemail =True# bool | Set to true to suppress the Invoice Created email being sent for the order (optional)
145
-
addons = ['addons_example'] # List[str] | Array of comma separated lists of addons to create on order with the products (optional)
146
-
addonsqty = ['addonsqty_example'] # List[str] | Array of comma-separated lists of quantities for addons associated with products (optional)
147
-
hostname = ['hostname_example'] # List[str] | Array of hostnames for VPS/Dedicated Server orders (optional)
148
-
ns1prefix = ['ns1prefix_example'] # List[str] | Array of first nameserver prefixes for VPS/Dedicated servers (e.g., ns1 in ns1.hostname.com) (optional)
149
-
ns2prefix = ['ns2prefix_example'] # List[str] | Array of second nameserver prefixes for VPS/Dedicated servers (e.g., ns2 in ns2.hostname.com) (optional)
150
-
rootpw = ['rootpw_example'] # List[str] | Array of desired root passwords for VPS/Dedicated servers (optional)
151
-
contactid =56# int | The ID of the contact, associated with the client, that should apply to all domains in the order (optional)
152
-
dnsmanagement = [True] # List[bool] | Add DNS Management to the Domain Order (optional)
153
-
domainfields = ['domainfields_example'] # List[str] | Array of base64 encoded serialized array of TLD Specific Field Values (optional)
154
-
emailforwarding = [True] # List[bool] | Add Email Forwarding to the Domain Order (optional)
155
-
idprotection = [True] # List[bool] | Add ID Protection to the Domain Order (optional)
156
-
domainpriceoverride = [3.4] # List[float] | Override the price of the registration price on the domain being ordered (optional)
157
-
domainrenewoverride = [3.4] # List[float] | Override the price of the renewal price on the domain being ordered (optional)
158
-
domainrenewals =None# Dict[str, int] | A name -> value object of domainName -> renewalPeriod renewals to add an order for (optional)
159
-
addonid =56# int | The Addon ID for an Addon Only Order (optional)
160
-
addonidqty =56# int | The quantity of addons in an addon-only order (optional)
161
-
serviceid =56# int | The service ID for the addon only order (optional)
162
-
addonids = [56] # List[int] | Array of addon IDs for an Addon Only Order (optional)
163
-
addonidsqty = [56] # List[int] | Array of quantities for an addon-only order (optional)
164
-
serviceids = [56] # List[int] | Array of service IDs to associate the addons for an Addon Only order (optional)
165
-
servicerenewals = [56] # List[int] | Array of service IDs to be on-demand renewed (optional)
166
-
addonrenewals = [56] # List[int] | Array of service addon IDs to be on-demand renewed (optional)
0 commit comments