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 specification presents each action as an independent path while routing all requests to the /api.php endpoint.
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 1.0.0
- Package version: 1.0.9
- Generator version: 7.13.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
Python 3.9+
If the python package is hosted on a repository, you can install directly using:
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
(you may need to run pip
with root permission: sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
)
Then import the package:
import whmcs_client
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install
to install the package for all users)
Then import the package:
import whmcs_client
Execute pytest
to run the tests.
Please follow the installation procedure and then run the following:
import whmcs_client
from whmcs_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://your-whmcs-instance.com/includes
# See configuration.py for a list of all supported configuration parameters.
configuration = whmcs_client.Configuration(
host = "https://your-whmcs-instance.com/includes"
)
# Enter a context with an instance of the API client
with whmcs_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = whmcs_client.DefaultApi(api_client)
username = 'username_example' # str | Admin username/API identifier
password = 'password_example' # str | Admin password/API secret
firstname = 'firstname_example' # str | First name of the client
lastname = 'lastname_example' # str | Last name of the client
email = 'email_example' # str | Email address of the client
address1 = 'address1_example' # str | Address line 1
city = 'city_example' # str | City
state = 'state_example' # str | State
postcode = 'postcode_example' # str | Postal code
country = 'country_example' # str | 2 character ISO country code
phonenumber = 'phonenumber_example' # str | Phone number
accesskey = 'accesskey_example' # str | Optional API access key (optional)
responsetype = json # str | Response format (optional) (default to json)
owner_user_id = 56 # int | The ID of the user that should own the client (optional)
companyname = 'companyname_example' # str | Company name (optional)
address2 = 'address2_example' # str | Address line 2 (optional)
tax_id = 'tax_id_example' # str | Client's tax ID (optional)
password2 = 'password2_example' # str | Password for the new user account (optional)
securityqid = 56 # int | Security question ID (optional)
securityqans = 'securityqans_example' # str | Security question answer (optional)
currency = 56 # int | Currency ID (optional)
groupid = 56 # int | Client group ID (optional)
customfields = 'customfields_example' # str | Base64 encoded serialized array of custom field values (optional)
language = 'language_example' # str | Default language setting (optional)
clientip = 'clientip_example' # str | Originating IP address (optional)
notes = 'notes_example' # str | Admin only notes (optional)
marketingoptin = True # bool | Opt-in to marketing emails (optional)
noemail = True # bool | Set to true to suppress the Order Confirmation email being sent (optional)
skipvalidation = True # bool | Ignore required field validation (optional)
try:
# Add a new client
api_response = api_instance.add_client(username, password, firstname, lastname, email, address1, city, state, postcode, country, phonenumber, accesskey=accesskey, responsetype=responsetype, owner_user_id=owner_user_id, companyname=companyname, address2=address2, tax_id=tax_id, password2=password2, securityqid=securityqid, securityqans=securityqans, currency=currency, groupid=groupid, customfields=customfields, language=language, clientip=clientip, notes=notes, marketingoptin=marketingoptin, noemail=noemail, skipvalidation=skipvalidation)
print("The response of DefaultApi->add_client:\n")
pprint(api_response)
except ApiException as e:
print("Exception when calling DefaultApi->add_client: %s\n" % e)
All URIs are relative to https://your-whmcs-instance.com/includes
Class | Method | HTTP request | Description |
---|---|---|---|
DefaultApi | add_client | POST /api.php?action=AddClient | Add a new client |
DefaultApi | add_order | POST /api.php?action=AddOrder | Create a new order |
DefaultApi | get_clients | POST /api.php?action=GetClients | Get clients |
DefaultApi | get_currencies | POST /api.php?action=GetCurrencies | Get currencies |
DefaultApi | update_client | POST /api.php?action=UpdateClient | Update client details |
- AddClientResponse
- AddOrderResponse
- ClientInfo
- CurrencyInfo
- GetClientsResponse
- GetClientsResponseAllOfClients
- GetCurrenciesResponse
- GetCurrenciesResponseAllOfCurrencies
- UpdateClientResponse
- WHMCSBaseResponse
- WHMCSErrorResponse
- WHMCSSuccessResponse
Endpoints do not require authorization.