WHMCS 7.x客户端库
pywhmcs7的Python项目详细描述
Pywhmcs v.7
该项目旨在提供一个易于使用、一致且简单的客户端库和cli程序,以便与whmcs软件的http api交互。
目前只有通过命令行的接口。
安装
非常简单的过程:
$ git clone git://github.com/riesal/pywhmcs7.git $ cd pywhmcs7 $ python setup.py install
使用量
cli程序包括使用信息。标准帮助输出为:
$ pywhmcs7 --help usage: pywhmcs7 [-h] [--verbose] --url URL --username API_IDENTIFIER --password API_SECRET --accesskey ACCESSKEY --action ACTION [--params ...] pyWHMCS Client Comman Line Interface optional arguments: -h, --help show this help message and exit --verbose Activate verbose output --url URL WHMCS API endpoint URL --username API_IDENTIFIER API Identifier --password API_SECRET API Secret --accesskey ACCESSKEY API AccessKey --action ACTION Action name to invoke --params ... Parameters passed with action. (--params param1=value1 param2=value2 etc.)
如果要获取客户端列表,必须向whmcs api端点发出post请求,post body包含action=“getclients”和必要的credidentials。例如:
$ pywhmcs7 --url http://yourdomain.com/includes/api.php --username API_IDENTIFIER --password API_SECRET --accesskey ACCESSKEY --action getclients
输出如下:
{ "startnumber": 0, "clients": { "client": [ { "status": "Active", "firstname": "John", "companyname": "Does Company", "lastname": "Doe", "datecreated": "2012-11-22", "groupid": "0", "id": "1", "email": "john@doe.com" } ] }, "totalresults": "1", "result": "success", "numreturned": 1 }
对于需要额外参数(如clientid、userid等)的操作,必须使用可选的–params参数。在–params之后,必须以paramn=valuen的格式提供参数。这些参数和值将作为键值对附加到post主体并随请求一起发送。例如:
$ pywhmcs7 --url http://yourdomain.com/includes/api.php --username API_IDENTIFIER --password API_SECRET --accesskey ACCESSKEY --action addclientnote --params userid=1 notes="this is a note" { "result": "success", "noteid": 4 }
通过这种方法,您可以调用whmcs系统提供的所有acitons。您可以在这里找到开发人员api文档:https://docs.whmcs.com/API
还可以将此库安装在python路径上,并从whmcs模块导入invoke函数。它可用于与whmcs系统的内部交互。实际上,我计划在上面构建一个好的客户机,而不是实现一个可重用的django应用程序,以便在任何django应用程序和whmcs系统之间轻松通信。
故障排除
- 不推荐使用WHMCS V.7.2及以上版本的用户名,请使用API标识符
- whmcs v.7.2及以上版本不推荐使用密码,请使用api secret
- 作为–username参数提供的用户必须具有“api权限”。您或whmcs系统的管理员必须将此权限授予您的用户。
- 出于安全原因,whmcs系统只允许指定的一组ip地址发出api请求。因此,您的IP地址必须添加到WHMCS系统中允许的IP地址列表中。
- –params参数必须是最后指定的参数。因为它是“rest of”类型的参数。
新闻
1.0.1
发布日期:2018年12月17日
- 修正打字错误
1.0.0
发布日期:2018年12月17日
- 添加访问键
- 添加标识符和密码而不是用户名和密码
- 支持Python2.7和3.6
0.0.3
发布日期:2016年11月26日
- 添加到setup.py的pypi分类器
- 为请求-响应类型添加了cli参数
- SimpleJSON依赖项已删除。返回原始文本。
0.0.2
发布日期:2012年1月17日
- 自述文件的待办事项部分已更新
0.0.1
发布日期:2013年1月17日
- 准备了cli接口。
- 实现了cli参数格式和模型。
- 调用已实现的函数。现在工具可以对whmcs进行任何类型的api调用